Initialisation et normalisation

2 min

Objectif : maintenir des activations et gradients dans une zone exploitable.

Tous les poids ne doivent pas être initialisés à zéro : les neurones d'une même couche resteraient symétriques et apprendraient la même chose. L'initialisation aléatoire brise cette symétrie, mais son échelle doit préserver le signal.

Xavier et He

  • Xavier/Glorot convient aux activations symétriques comme tanh.
  • He/Kaiming est conçu pour ReLU et ses variantes.

PyTorch initialise déjà les couches usuelles raisonnablement. Une initialisation manuelle doit avoir une justification et être consignée.

Batch Normalization

BatchNorm normalise les activations avec des statistiques de mini-batch, puis apprend une échelle et un décalage. En validation, elle utilise des moyennes mobiles apprises. Voilà pourquoi l'oubli de model.eval() change les résultats.

Aperçu — la suite de la leçon est réservée aux inscrits.

Déjà inscrit avec un code ?

Votre accès est rattaché à votre compte, pas à ce lien. Connectez-vous avec le même courriel qu'en classe : votre cours vous attend, inutile de ré-entrer le code.

Se connecterPas encore de compte ? En créer un
Cette leçon fait partie du module « Faire apprendre le réseau »

Les premiers modules du cours sont en accès libre. Pour la suite, trois possibilités : acheter ce cours une fois pour toutes, vous abonner pour tout ouvrir, ou entrer le code si vous suivez le cours en classe.

M’abonner — 19 $ US/moisRetour au plan
Vous êtes étudiant du cours ?

Le code se rattache à votre compte : connectez-vous ou créez un compte, il sera validé automatiquement au retour.

Pas encore de compte ? En créer un