CommencerCommencer gratuitement

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

Afficher le cours

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")
Modifier et exécuter le code