Articles · arXiv 1512.03385
Deep Residual Learning for Image Recognition
Résumé en trois lignes
- 🎯 Les réseaux de neurones simples (plain) plus profonds souffrent d'une dégradation de l'optimisation, où l'augmentation de la profondeur entraîne une erreur d'entraînement accrue malgré l'absence de disparition du gradient.
- 🔧 Reformulation des couches empilées pour ajuster une fonction résiduelle en utilisant des connexions de saut d'identité sans paramètres .
- 📈 Permet l'entraînement de réseaux allant jusqu'à 152 couches sur ImageNet (atteignant 3,57 % d'erreur top-5 en ensemble) et a remporté la 1ère place aux compétitions ILSVRC et COCO 2015.
Résumé
Les réseaux de neurones plus profonds sont plus difficiles à entraîner. Nous présentons un cadre d'apprentissage résiduel pour faciliter l'entraînement de réseaux substantiellement plus profonds que ceux utilisés auparavant. Nous reformulons explicitement les couches comme apprenant des fonctions résiduelles par rapport aux entrées de couche, plutôt que d'apprendre des fonctions non référencées. Nous fournissons des preuves empiriques complètes montrant que ces réseaux résiduels sont plus faciles à optimiser et peuvent gagner en précision grâce à une profondeur considérablement accrue. Sur le jeu de données ImageNet, nous évaluons des réseaux résiduels d'une profondeur allant jusqu'à 152 couches, soit 8 fois plus profonds que les réseaux VGG tout en conservant une complexité moindre. Un ensemble de ces réseaux résiduels atteint un taux d'erreur de 3,57 % sur l'ensemble de test ImageNet. Ce résultat a remporté la 1ère place de la tâche de classification ILSVRC 2015. Nous présentons également une analyse sur CIFAR-10 avec 100 et 1000 couches. La profondeur des représentations est d'une importance centrale pour de nombreuses tâches de reconnaissance visuelle. Uniquement grâce à nos représentations extrêmement profondes, nous obtenons une amélioration relative de 28 % sur le jeu de données de détection d'objets COCO. Les réseaux résiduels profonds sont au fondement de nos soumissions aux compétitions ILSVRC et COCO 2015, où nous avons également remporté la 1ère place sur les tâches de détection ImageNet, localisation ImageNet, détection COCO et segmentation COCO.
Résumé original (anglais)
Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with reference to the layer inputs, instead of learning unreferenced functions. We provide comprehensive empirical evidence showing that these residual networks are easier to optimize, and can gain accuracy from considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers---8x deeper than VGG nets but still having lower complexity. An ensemble of these residual nets achieves 3.57% error on the ImageNet test set. This result won the 1st place on the ILSVRC 2015 classification task. We also present analysis on CIFAR-10 with 100 and 1000 layers. The depth of representations is of central importance for many visual recognition tasks. Solely due to our extremely deep representations, we obtain a 28% relative improvement on the COCO object detection dataset. Deep residual nets are foundations of our submissions to ILSVRC & COCO 2015 competitions, where we also won the 1st places on the tasks of ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.
Guide de lecture
Problème et motivation
La profondeur des réseaux est critique pour les représentations en reconnaissance visuelle, mais empiler davantage de couches met en évidence un problème de dégradation (degradation problem) fondamental : à mesure que la profondeur augmente, la précision sature puis se dégrade rapidement. Crucialement, cette dégradation n'est pas causée par le surapprentissage : les réseaux plus profonds produisent une erreur d'entraînement plus élevée que leurs homologues moins profonds, bien que des techniques comme la Batch Normalization et l'initialisation normalisée garantissent que les activations avant et les gradients rétropropagés ne s'évanouissent pas.
En théorie, un modèle plus profond possède une solution d'application identité par construction : copier le modèle moins profond déjà entraîné et assigner des transformations identité aux couches supplémentaires. Cependant, les algorithmes d'optimisation conventionnels ne parviennent pas à trouver cette solution lorsqu'ils apprennent directement des applications non linéaires non référencées.
Idées maîtresses
- Cadre d'apprentissage résiduel (Residual Learning Framework) : Au lieu d'optimiser des couches empilées pour approximer une transformation visée , nous contraignons explicitement les couches à approximer la fonction résiduelle . L'application initiale est récupérée via .
- Connexions de saut d'identité (Identity Shortcut Connections) : Réaliser via des connexions directes (shortcuts) qui sautent une ou plusieurs couches. Les sauts d'identité ne requièrent aucun paramètre supplémentaire et n'ajoutent pratiquement aucun coût computationnel.
- Optimisation et préconditionnement facilités : Si les applications identités sont optimales, les optimiseurs peuvent simplement pousser les poids résiduels vers zéro. En pratique, les réponses des fonctions résiduelles présentent de faibles magnitudes, ce qui indique que les connexions d'identité agissent comme un préconditionnement efficace.
- Architecture Bottleneck : Pour les variantes très profondes (ResNet-50, ResNet-101, ResNet-152), chaque bloc résiduel à 2 couches est remplacé par un bloc bottleneck à 3 couches (convolutions , , ), réduisant le calcul tout en préservant la capacité de représentation.
Méthode
Pour un bloc de construction résiduel où les dimensions d'entrée et de sortie coïncident : où et sont les vecteurs d'entrée et de sortie, et pour un bloc à 2 couches ( désignant ReLU, et les biais étant omis pour simplifier). L'addition terme à terme est effectuée avant d'appliquer la seconde activation ReLU .
Lorsque les dimensions des cartes de caractéristiques changent (par exemple, lors d'un sous-échantillonnage spatial ou d'un doublement de canaux) : Ici, désigne soit :
- Option A : Un remplissage par zéros (zero-padding) pour les dimensions supplémentaires associé à des raccourcis d'identité (stride 2 pour le sous-échantillonnage), n'introduisant aucun paramètre supplémentaire.
- Option B : Une projection par convolution linéaire employée uniquement lors de l'augmentation des dimensions, tout en utilisant des connexions d'identité pures pour le reste.
- Option C : Des raccourcis de projection linéaire appliqués à tous les blocs résiduels.
L'article retient l'Option B pour les modèles ImageNet (ResNet-50/101/152) car l'Option C entraîne un gonflement du nombre de paramètres sans gain significatif de précision, et les connexions d'identité pures sont essentielles au maintien de l'efficacité des structures bottleneck.
Résultats
- Classification ImageNet :
- ResNet-34 surpasse plain-34 de 3,5 % d'erreur top-1 (25,03 % contre 28,54 % d'erreur de validation à 10-crop) et résout le problème de dégradation de l'entraînement.
- ResNet-152 atteint une erreur de validation top-5 sur modèle unique de 4,49 % (11,3 milliards de FLOPs, une complexité inférieure à celle de VGG-16 à 15,3 milliards de FLOPs).
- Un ensemble de modèles ResNet a obtenu 3,57 % d'erreur top-5 sur l'ensemble de test, remportant la 1ère place du défi de classification ILSVRC 2015.
- CIFAR-10 : La profondeur des ResNet s'échelonne sans accroc sur 20, 32, 44, 56 et 110 couches, ResNet-110 atteignant 6,43 % d'erreur de test. Un réseau expérimental de 1202 couches a été entraîné sans aucun échec d'optimisation (erreur d'entraînement ).
- Transfert et tâches en aval : Remplacer VGG-16 par ResNet-101 dans Faster R-CNN a fait passer la mAP@[.5, .95] sur MS COCO de 21,2 % à 27,2 % (une progression relative de 28 %) et la mAP de test PASCAL VOC 2007 de 73,2 % à 76,4 %. Les réseaux résiduels profonds ont également remporté la 1ère place en détection ImageNet, localisation ImageNet, détection COCO et segmentation COCO.
Limites et questions ouvertes
- Surapprentissage sur les architectures ultra-profondes : Sur CIFAR-10, le modèle à 1202 couches a affiché une erreur de test plus élevée (7,93 %) que ResNet-110 (6,43 %) malgré une erreur d'entraînement , en raison du manque de régularisation sur ce petit jeu de données.
- Cause théorique de la dégradation : L'article montre empiriquement que la disparition du gradient n'est pas le problème, suggérant que les réseaux classiques souffrent de taux de convergence exponentiellement faibles, mais laisse les preuves théoriques de la dynamique d'optimisation aux travaux futurs.
- Résiduels à couche unique : La formulation résiduelle ne procure aucun avantage perceptible lorsque ne comporte qu'une seule couche (se réduisant à ).
Termes clés
- degradation problem (problème de dégradation)
- Phénomène contre-intuitif par lequel l'ajout de couches à un réseau de neurones profond entraîne une erreur d'entraînement plus élevée, malgré l'absence d'évanouissement ou d'explosion du gradient.
- residual learning (apprentissage résiduel)
- Reformulation des couches empilées d'un réseau de neurones pour leur faire apprendre explicitement une fonction résiduelle relative à leurs entrées, plutôt que d'ajuster directement une transformation non référencée .
- identity shortcut connection (connexion de saut d'identité)
- Connexion de saut sans paramètre qui transmet le vecteur d'entrée ou la carte de caractéristiques sans modification et l'ajoute terme à terme à la sortie des couches convolutives empilées.
- projection shortcut (raccourci de projection)
- Connexion de saut utilisant une matrice de transformation linéaire ou une convolution () pour faire correspondre les dimensions lorsque le nombre de canaux ou la résolution spatiale diffèrent entre l'entrée et la sortie.
- bottleneck design (architecture en goulot d'étranglement)
- Bloc résiduel à 3 couches comprenant des convolutions , et , dans lequel les couches compressent puis restaurent la dimension des caractéristiques afin de diminuer la complexité de calcul.
- plain network (réseau simple)
- Architecture de réseau convolutif de référence qui empile simplement des couches classiques de convolution et de pooling sans raccourcis ni connexions résiduelles.
Questions
Pourquoi le problème de dégradation n'est-il pas causé par l'évanouissement du gradient ?
Les réseaux ont été entraînés avec la Batch Normalization et une initialisation normalisée des poids, dont le rôle garantissant des variances de signal non nulles en propagation avant et des normes de gradient saines en rétropropagation a été vérifié. De plus, les réseaux classiques plus profonds comme plain-34 convergeaient bien vers des solutions non triviales, mais avec une erreur d'entraînement plus élevée que les modèles moins profonds.
Quelle est la différence entre les sauts d'identité de ResNet et les Highway Networks ?
Les Highway Networks utilisent des fonctions de porte paramétrées et dépendantes des données, capables de se fermer et de rendre les couches non résiduelles, tandis que les sauts de ResNet sont des applications d'identité sans paramètres qui ne se ferment jamais, assurant un apprentissage résiduel permanent.
Quand utilise-t-on une projection à la place d'un saut d'identité ?
La projection (au moyen de convolutions ) est principalement utilisée lorsque les dimensions des caractéristiques en entrée et en sortie ne correspondent pas (par exemple, lors d'un doublement des canaux combiné à une division par deux de la résolution spatiale avec un stride de 2). Dès que les dimensions concordent, le saut d'identité suffit, se révèle plus économique et évite l'inflation du nombre de paramètres dans les blocs bottleneck.
Pourquoi ResNet-1202 a-t-il obtenu de moins bons résultats que ResNet-110 sur CIFAR-10 ?
ResNet-1202 a souffert de surapprentissage plutôt que d'un défaut d'optimisation. Il a bien atteint une erreur d'entraînement , mais ses 19,4 millions de paramètres se sont révélés excessifs pour le jeu de données restreint qu'est CIFAR-10 en l'absence de techniques de régularisation complémentaires comme 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.