XYZNOT

Articles · arXiv 1502.03167

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Publié le cs.LG arXivPDF

Lire avec traduction et IA

Résumé en trois lignes

  1. 🎯 L'entraînement des réseaux profonds est freiné par l'internal covariate shift, c'est-à-dire le changement continu de la distribution des entrées des couches causé par la mise à jour des couches précédentes.
  2. 🔧 Introduction de Batch Normalization (BN), une couche architecturale qui standardise les activations d'un mini-lot à une moyenne nulle et une variance unitaire, suivies d'une mise à l'échelle et d'un décalage affines appris (γ et β).
  3. 📈 Égale la précision de validation de 72,2 % d'une référence Inception en 14 fois moins d'étapes et atteint 4,82 % d'erreur top-5 sur le jeu de test ImageNet avec un ensemble de modèles.

Résumé

L'entraînement des réseaux de neurones profonds est rendu complexe par le fait que la distribution des entrées de chaque couche varie au cours de l'apprentissage, à mesure que les paramètres des couches précédentes changent. Cela ralentit l'entraînement en imposant des taux d'apprentissage plus faibles et une initialisation minutieuse des paramètres, et rend notoirement difficile l'apprentissage de modèles dotés de non-linéarités saturantes. Nous désignons ce phénomène sous le terme de dérive interne des covariables (internal covariate shift) et résolvons ce problème en normalisant les entrées des couches. La force de notre méthode repose sur l'intégration de la normalisation au sein même de l'architecture du modèle et son application à chaque mini-lot (mini-batch) d'entraînement. Batch Normalization nous permet d'utiliser des taux d'apprentissage nettement plus élevés et d'être moins stricts sur l'initialisation. Elle agit également comme un régulariseur, éliminant dans certains cas la nécessité du Dropout. Appliquée à un modèle de classification d'images à l'état de l'art, Batch Normalization atteint la même précision avec 14 fois moins d'étapes d'entraînement et surpasse le modèle original avec une marge significative. En utilisant un ensemble de réseaux normalisés par lots, nous améliorons le meilleur résultat publié sur la classification ImageNet : nous atteignons 4,9 % d'erreur top-5 en validation (et 4,8 % d'erreur de test), dépassant la précision des évaluateurs humains.

Résumé original (anglais)

Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful parameter initialization, and makes it notoriously hard to train models with saturating nonlinearities. We refer to this phenomenon as internal covariate shift, and address the problem by normalizing layer inputs. Our method draws its strength from making normalization a part of the model architecture and performing the normalization for each training mini-batch. Batch Normalization allows us to use much higher learning rates and be less careful about initialization. It also acts as a regularizer, in some cases eliminating the need for Dropout. Applied to a state-of-the-art image classification model, Batch Normalization achieves the same accuracy with 14 times fewer training steps, and beats the original model by a significant margin. Using an ensemble of batch-normalized networks, we improve upon the best published result on ImageNet classification: reaching 4.9% top-5 validation error (and 4.8% test error), exceeding the accuracy of human raters.

Guide de lecture

Problème et motivation

Lors de l'optimisation des réseaux profonds par SGD, les modifications des paramètres des premières couches modifient la distribution des entrées des couches suivantes. Les auteurs nomment ce phénomène l'Internal Covariate Shift.

L'internal covariate shift engendre deux difficultés majeures :

  1. Les sous-réseaux doivent s'adapter en permanence à des distributions d'activations changeantes.
  2. Les activations dérivent facilement vers les régimes de saturation des fonctions non linéaires (telles que les sigmoïdes), ce qui provoque la disparition du gradient (vanishing gradient) et requiert des taux d'apprentissage faibles ainsi qu'une initialisation méticuleuse des paramètres.

Bien que le blanchiment (décorrélation et standardisation) des entrées de chaque couche sur l'ensemble du jeu de données puisse stabiliser les distributions, le calcul des matrices de covariance complètes et de l'inverse de leurs racines carrées à chaque mise à jour est prohibitif sur le plan computationnel et peut provoquer une explosion des gradients si la normalisation n'est pas intégrée dans la rétropropagation.

Idées clés

  • Couche de normalisation différentiable : Au lieu de standardiser les activations en dehors de l'optimisation, la normalisation est directement intégrée dans l'architecture du modèle, garantissant que la rétropropagation prenne en compte les dépendances entre les activations de la couche et les statistiques du mini-lot.
  • Normalisation par dimension : Plutôt qu'un blanchiment conjoint complet, chaque dimension scalaire des caractéristiques est normalisée indépendamment pour avoir une moyenne nulle et une variance unitaire.
  • Restauration de la capacité de représentation : Afin de s'assurer que la normalisation ne détruise pas la capacité expressive d'une couche (comme forcer une sigmoïde à fonctionner uniquement dans sa zone linéaire), des paramètres apprenables (échelle) et (décalage) sont introduits pour permettre à la couche de retrouver la transformation identité si nécessaire.
  • Inférence déterministe : Durant l'entraînement, les statistiques sont calculées sur chaque mini-lot . Lors du test, des statistiques globales fixes sur la population (calculées par moyennes glissantes ou sur l'ensemble des lots d'entraînement) remplacent les statistiques de mini-lot, garantissant une inférence déterministe échantillon par échantillon.
  • Invariance à l'échelle des paramètres : Les changements d'échelle des poids d'une couche vérifient , ce qui signifie que des poids plus élevés conduisent à des gradients effectifs plus faibles, évitant ainsi l'explosion du gradient.

Méthode (avec les équations clés)

Pour un mini-lot correspondant à une seule dimension d'activation :

  1. Calculer la moyenne du mini-lot :
  2. Calculer la variance du mini-lot :
  3. Normaliser les activations (avec une constante de stabilité ) :
  4. Appliquer le changement d'échelle et le décalage via les paramètres apprenables et :

Application aux couches

  • Positionnement : Appliqué immédiatement avant les non-linéarités : . Le biais original de la couche est omis car la soustraction de la moyenne l'annule (son rôle est repris par ).
  • Couches convolutionnelles : Pour préserver la propriété d'équivariance par translation, la normalisation est appliquée par carte de caractéristiques (feature map) plutôt que par position spatiale. Pour une taille de lot et une résolution spatiale , la taille effective du mini-lot devient , avec une seule paire partagée par carte de caractéristiques.

Transformation lors de l'inférence

Au moment du test, la transformation devient une opération linéaire statique utilisant les statistiques de population et :

Résultats (avec les chiffres les plus importants)

  • MNIST avec sigmoïdes : Les réseaux dotés de Batch Normalization ont conservé des distributions d'activation stables tout au long de l'entraînement, accélérant la convergence et atteignant une meilleure précision de test par rapport aux réseaux non normalisés.
  • Vitesse d'entraînement sur ImageNet (modèle unique) :
    • Inception sans normalisation a atteint 72,2 % de précision de validation après étapes.
    • Inception avec Batch Normalization de base a atteint 72,2 % en étapes.
    • Avec un taux d'apprentissage 5 fois plus élevé (BN-x5), il a atteint 72,2 % en étapes, soit une réduction d'un facteur 14 du nombre d'étapes d'entraînement requises, pour plafonner finalement à 73,0 %.
    • Avec un taux d'apprentissage 30 fois plus élevé (BN-x30), le modèle a atteint une précision maximale de 74,8 % après étapes.
  • Non-linéarités saturantes : Alors qu'Inception non normalisé avec des activations sigmoïdes a échoué à converger (restant proche du niveau du hasard à 0,1 %), BN-x5-Sigmoid a obtenu une précision top-1 de 69,8 %.
  • Ensemble SOTA sur ImageNet : Un ensemble de 6 réseaux normalisés par lots a obtenu une erreur top-5 de validation de 4,9 % et une erreur de test de 4,82 % sur le serveur d'évaluation ILSVRC, surpassant les performances d'évaluateurs humains.

Limites et questions ouvertes

  • Dépendance à la taille du lot : La normalisation reposant sur les statistiques empiriques du mini-lot, des tailles de lot très réduites peuvent dégrader la précision de l'estimation de la moyenne et de la variance.
  • Réseaux récurrents : L'article teste des modèles feedforward et convolutionnels, désignant les réseaux de neurones récurrents (RNN) comme une piste non explorée où l'internal covariate shift pourrait également s'avérer critique.
  • Fondements théoriques : Les auteurs formulent l'hypothèse que Batch Normalization amène les jacobiens des couches à avoir des valeurs singulières proches de 1, mais soulignent qu'une démonstration théorique rigoureuse du comportement des gradients reste un sujet de recherche futur.

Termes clés

Internal Covariate Shift
Modification de la distribution des activations internes d'un réseau pendant l'apprentissage, provoquée par les mises à jour des paramètres des couches précédentes.
Batch Normalization
Mécanisme qui standardise les entrées de couche d'un mini-lot pour leur donner une moyenne nulle et une variance unitaire, avant de leur appliquer une mise à l'échelle et un décalage via des paramètres appris.
Scale and Shift Parameters (γ and β)
Paramètres apprenables par dimension d'activation permettant de restaurer la capacité expressive du réseau, notamment la capacité à reproduire la transformation identité.
Whitening
Transformation appliquée à des entrées pour obtenir une moyenne nulle, une variance unitaire et des dimensions de caractéristiques mutuellement décorrélées.
Batch Normalizing Transform
Algorithme différentiable exact calculant la moyenne et la variance d'un mini-lot, normalisant les entrées, puis appliquant la mise à l'échelle et le décalage affines appris.
Population Statistics
Moyenne empirique globale et variance non biaisée estimées sur l'ensemble des mini-lots d'entraînement afin de fixer les paramètres de normalisation pour une inférence déterministe.
Feature Map Normalization
Application de la normalisation conjointement sur les éléments du mini-lot et les positions spatiales, de sorte que toutes les activations d'une carte de caractéristiques convolutionnelle partagent les mêmes statistiques et paramètres affines.

Questions

Où est appliquée la Batch Normalization par rapport aux activations et aux biais ?

Elle est appliquée immédiatement avant la non-linéarité (). Le paramètre de biais de la transformation linéaire précédente est omis car la soustraction de la moyenne l'annule, laissant jouer le rôle de biais.

En quoi le comportement de la Batch Normalization diffère-t-il entre l'entraînement et l'inférence ?

Pendant l'entraînement, la moyenne et la variance sont calculées directement sur le mini-lot en cours pour standardiser les activations. Durant l'inférence, elles sont remplacées par des statistiques de population fixes (moyennes mobiles non biaisées calculées pendant l'entraînement), transformant la couche en une opération linéaire statique.

Pourquoi la Batch Normalization permet-elle d'utiliser des taux d'apprentissage plus élevés ?

La normalisation des activations empêche que de petites variations de paramètres ne dégénèrent en régimes de saturation ou en explosion de gradients. De plus, le gradient rétropropagé à travers une couche est invariant à l'échelle des poids : des poids plus grands produisent des gradients proportionnellement plus petits, ce qui prévient l'instabilité.

La Batch Normalization peut-elle remplacer le Dropout ?

Oui, dans de nombreuses configurations. Comme l'activation normalisée d'un échantillon individuel dépend des autres exemples présents aléatoirement dans le mini-lot, cela introduit un bruit stochastique qui agit comme un régulariseur efficace, permettant de réduire voire de supprimer le Dropout.

La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.

Lire avec traduction et IA