Normalisation par lot
Pour une dernière amélioration de l'architecture du modèle, ajoutons une couche de normalisation par lot après chacune des deux couches linéaires. Cette astuce de normalisation par lot a tendance à accélérer la convergence de l'entraînement et protège le modèle contre les problèmes de gradients qui s'évanouissent ou explosent.
torch.nn et torch.nn.init ont déjà été importés pour vous sous les noms nn et init, respectivement. Une fois la modification de l'architecture du modèle effectuée, préparez-vous à répondre à une courte question sur le fonctionnement de la normalisation par lot!
Cette activité fait partie du cours
Apprentissage profond intermédiaire avec PyTorch
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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")