Normalisation par lots
Comme dernière amélioration de l'architecture du modèle, ajoutons la couche de normalisation des lots après chacune des deux couches linéaires. L'astuce de la norme par lot tend à accélérer la convergence de l'apprentissage et protège le modèle des problèmes de disparition et d'explosion des gradients.
Les deux sites torch.nn
et torch.nn.init
ont déjà été importés pour vous en tant que nn
et init
, respectivement. Une fois que vous aurez mis en œuvre le changement dans l'architecture du modèle, soyez prêt à répondre à une courte question sur le fonctionnement de la normalisation des lots !
Cet exercice fait partie du cours
Deep learning intermédiaire avec PyTorch
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
class Net(nn.Module):
def __init__(self):
super().__init__()
self.fc1 = nn.Linear(9, 16)
# Add two batch normalization layers
____ = ____
self.fc2 = nn.Linear(16, 8)
____ = ____
self.fc3 = nn.Linear(8, 1)
init.kaiming_uniform_(self.fc1.weight)
init.kaiming_uniform_(self.fc2.weight)
init.kaiming_uniform_(self.fc3.weight, nonlinearity="sigmoid")