CommencezCommencez gratuitement

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

Voir le cours

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