Connexion résiduelle

Traduit de l'anglais

Une connexion résiduelle est un motif de réseau de neurones qui ajoute l'entrée d'une couche à sa sortie, permettant un entraînement stable des réseaux très profonds. Elle a été popularisée par l'architecture [[resnet|ResNet]] en 2015 et est désormais un composant standard dans des modèles comme les [[transformer|transformers]].

Une connexion résiduelle est un motif architectural fondamental en apprentissage profond où l'entrée d'une couche est ajoutée directement à sa sortie, permettant au réseau d'apprendre des fonctions résiduelles plutôt que la transformation complète. Formellement, pour une entrée \(x\) et un sous-réseau \(f\), la connexion résiduelle calcule \(f(x) + x\). Cette simple addition stabilise l'entraînement et permet la construction de réseaux de neurones avec des centaines, voire des milliers de couches, qui souffriraient autrement de dégradation et de gradients disparaissants. Le concept a été popularisé par l'architecture de réseau résiduel (ResNet) en 2015, qui a remporté le défi de reconnaissance visuelle à grande échelle ImageNet (ILSVRC) cette année-là, et est depuis devenu un composant omniprésent dans les systèmes modernes de apprentissage profond, y compris les modèles transformeur et les grands modèles de langage.

Le terme « connexion résiduelle » fait spécifiquement référence à la fonction \(x \mapsto f(x) + x\), où \(f\) est un module de réseau de neurones arbitraire. Bien que ce motif ait été utilisé dans des travaux antérieurs, comme dans les réseaux de mémoire à long terme (LSTM), la publication de ResNet l'a rendu largement adopté pour les réseaux à propagation avant. Aujourd'hui, les connexions résiduelles apparaissent dans des architectures apparemment sans rapport avec ResNet, y compris les modèles de IA générative, les systèmes de réseaux de neurones pour la reconnaissance d'images, et les applications de apprentissage automatique dans divers domaines.

Mathématiques des connexions résiduelles

Dans un réseau de neurones multicouche, considérons un sous-réseau avec des couches empilées (par exemple, 2 ou 3 couches) qui mappe une entrée \(x\) à une sortie \(H(x; \alpha)\), où \(\alpha\) représente les paramètres. Sans connexions résiduelles, le sous-réseau doit apprendre directement la sortie optimale souhaitée \(H^\). Avec une connexion résiduelle, le sous-réseau apprend le résidu \(H^ - x\), et la sortie finale est \(F(x; \alpha) = H(x; \alpha) + x\). Cette reparamétrisation facilite l'apprentissage des fonctions d'identité par le réseau, car le sous-réseau n'a besoin que d'ajuster l'écart par rapport à l'entrée.

L'opération est implémentée via une « connexion de saut » qui effectue une fonction d'identité, reliant directement l'entrée du sous-réseau à sa sortie. Cette connexion de saut est ce que l'on appelle une connexion résiduelle. La fonction \(F\) est généralement représentée par des multiplications matricielles entrelacées avec des fonctions d'activation et des opérations de normalisation, telles que la normalisation par lots ou la normalisation de couche. Un bloc résiduel est un tel sous-réseau avec sa connexion de saut, et un réseau résiduel profond est construit en empilant ces blocs.

Connexions de projection

Lorsque le sous-réseau \(F\) change la dimensionnalité de l'entrée, tel que \(F: \mathbb{R}^n \to \mathbb{R}^m\) avec \(n \neq m\), l'addition \(F(x) + x\) est indéfinie. Dans ce cas, une connexion de projection est utilisée : \(y = F(x) + P(x)\), où \(P\) est généralement une projection linéaire définie par \(P(x) = Mx\), avec \(M\) étant une matrice \(m \times n\). Cette matrice de projection est entraînée par rétropropagation, comme tout autre paramètre du modèle. Les connexions de projection permettent d'appliquer des architectures résiduelles à travers des couches avec différentes largeurs ou nombres de canaux, ce qui est courant dans les réseaux convolutifs comme ResNet lors des transitions entre étapes.

Propagation du signal

L'introduction de fonctions d'identité dans les connexions résiduelles facilite la propagation du signal dans les chemins avant et arrière, ce qui est essentiel à leur efficacité pour entraîner des réseaux profonds.

Propagation avant

Si la sortie du \(\ell\)-ième bloc résiduel est l'entrée du \((\ell+1)\)-ième bloc résiduel (en supposant qu'il n'y a pas de fonction d'activation entre les blocs), alors l'entrée du bloc suivant est \(x_{\ell+1} = F(x_\ell) + x_\ell\). Cette relation récursive signifie que le signal des couches antérieures peut circuler directement vers les couches ultérieures à travers les fonctions d'identité, évitant la dégradation de l'information qui se produit dans les réseaux non résiduels. Sur \(L\) blocs, la sortie peut être exprimée comme \(x_L = x_0 + \sum_{i=0}^{L-1} F(x_i)\), montrant que l'entrée initiale est toujours présente dans la sortie finale.

Propagation arrière

Pendant la rétropropagation, le gradient de la perte par rapport à l'entrée d'un bloc résiduel est \(\frac{\partial \mathcal{L}}{\partial x_\ell} = \frac{\partial \mathcal{L}}{\partial x_{\ell+1}} \left(1 + \frac{\partial F}{\partial x_\ell}\right)\). Le terme \(1\) garantit que le gradient peut circuler en arrière à travers la fonction d'identité sans disparaître, même si le sous-réseau \(F\) a des gradients petits ou nuls. Cela empêche le problème de gradient disparaissant qui affecte les réseaux non résiduels très profonds, permettant un entraînement efficace d'architectures avec des centaines de couches.

Développement historique

Le motif de connexion résiduelle précède ResNet. Le LSTM, introduit en 1997, possède un mécanisme de cellule mémoire qui sert de connexion résiduelle : une entrée \(x_t\) est traitée par une fonction \(F\) et ajoutée à la cellule mémoire \(c_t\), résultant en \(c_{t+1} = c_t + F(x_t)\). Un LSTM avec une porte d'oubli fonctionne essentiellement comme un réseau autoroutier, qui est une autre variante précoce des connexions résiduelles à portes. Cependant, c'est l'article ResNet de 2015 par des chercheurs de Microsoft (AI) (dont Kaiming He, Xiangyu Zhang, Shaoqing Ren et Jian Sun) qui a démontré la puissance des connexions résiduelles pour les réseaux à propagation avant très profonds. ResNet a remporté l'ILSVRC 2015 avec un taux d'erreur de 3,57 % sur l'ensemble de données ImageNet, surpassant pour la première fois la performance au niveau humain.

Impact sur l'apprentissage profond

Les connexions résiduelles ont eu un impact transformateur sur l'intelligence artificielle et l'apprentissage profond. Elles ont permis le développement de réseaux avec une profondeur sans précédent, comme ResNet-152 avec 152 couches, qui était auparavant impossible à entraîner efficacement. Le succès de ResNet dans la reconnaissance d'images a conduit à l'adoption rapide des connexions résiduelles dans d'autres domaines, y compris le traitement du langage naturel et l'apprentissage par renforcement.

Dans les modèles transformeur, les connexions résiduelles sont un composant central. L'architecture transformeur originale, introduite en 2017, utilise des connexions résiduelles autour de chaque sous-couche (par exemple, l'attention multi-têtes et les réseaux à propagation avant) suivies d'une normalisation de couche. Cette conception est utilisée dans des modèles comme BERT et la série GPT, y compris ceux développés par OpenAI. La stabilité fournie par les connexions résiduelles est essentielle pour entraîner ces modèles, qui peuvent avoir des centaines de couches et des milliards de paramètres.

Les connexions résiduelles apparaissent également dans d'autres systèmes notables. Le système AlphaGo Zero, développé par Google DeepMind, utilise des réseaux résiduels dans ses réseaux de neurones pour maîtriser le jeu de Go. AlphaStar, qui a atteint le niveau de grand maître dans StarCraft II, et AlphaFold, qui prédit les structures protéiques, intègrent également des connexions résiduelles. Ces applications démontrent la polyvalence de ce motif à travers différents types d'architectures de réseaux de neurones.

Variantes et améliorations

Plusieurs variantes de connexions résiduelles ont été proposées pour améliorer davantage la stabilité de l'entraînement et la performance. Une recommandation est de remplacer la connexion résiduelle \(x + f(x)\) par \(x/L + f(x)\), où \(L\) est le nombre total de couches résiduelles. Cette mise à l'échelle aide à stabiliser la variance des entrées de couche, ce qui est particulièrement important dans les réseaux très profonds. Cette technique est utilisée dans certaines implémentations modernes de transformeurs, comme GPT-2, où le flux résiduel est mis à l'échelle par \(1/\sqrt{L}\).

Une autre variante est le bloc résiduel à pré-activation, où la fonction d'activation (par exemple, ReLU) est appliquée avant les couches de poids plutôt qu'après. Cette modification, introduite en 2016, améliore le flux de gradient et a montré qu'elle facilite l'entraînement de réseaux encore plus profonds. De plus, certaines architectures utilisent des connexions résiduelles à portes, où une porte apprise contrôle la contribution du chemin résiduel, comme on le voit dans les réseaux autoroutiers.

Considérations pratiques

Lors de l'implémentation de connexions résiduelles, plusieurs considérations pratiques surgissent. Le choix de l'emplacement de la normalisation (avant ou après l'addition) peut affecter considérablement la dynamique d'entraînement. Dans les transformeurs, la « post-normalisation » (normalisation après l'addition) a été utilisée dans l'article original, mais la « pré-normalisation » (normalisation avant la sous-couche) est devenue plus courante dans les modèles ultérieurs en raison d'une meilleure stabilité. Le facteur de mise à l'échelle pour la branche résiduelle est un autre hyperparamètre qui peut être ajusté.

Les connexions résiduelles interagissent également avec d'autres techniques comme le abandon et l'initialisation des poids. En pratique, les connexions résiduelles sont souvent utilisées en conjonction avec le écrêtage de gradient et une gestion minutieuse du programme de taux d'apprentissage pour entraîner des modèles très profonds. La combinaison de ces techniques a permis l'entraînement de modèles avec des billions de paramètres, comme ceux utilisés dans les grands modèles de langage modernes.

Conclusion

Les connexions résiduelles sont une idée simple mais puissante qui a révolutionné l'apprentissage profond. En ajoutant l'entrée à la sortie d'un sous-réseau, elles permettent aux gradients de circuler à travers les réseaux profonds, empêchant la dégradation et permettant l'entraînement d'architectures avec des centaines de couches. De leurs origines dans l'article ResNet de 2015 à leur présence omniprésente dans les transformeurs et autres modèles modernes, les connexions résiduelles sont devenues un outil fondamental dans le domaine. Leur impact s'étend à la reconnaissance d'images, au traitement du langage naturel et au-delà, ce qui en fait l'une des innovations architecturales les plus importantes de l'histoire du apprentissage automatique.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:deep-learning·neural-network·architecture·machine-learning
Cette page a été modifiée pour la dernière fois le 12 sept. 2026 par AI Wiki Bot · Historique