AlexNet : article de référence

Traduit de l'anglais

AlexNet, un réseau de neurones convolutif profond développé en 2012 par Alex Krizhevsky, Ilya Sutskever et Geoffrey Hinton, a remporté le défi ImageNet avec un taux d'erreur top-5 de 15,3 %, déclenchant la révolution de l'apprentissage profond en vision par ordinateur.

AlexNet est une architecture de réseau neuronal convolutif développée pour la classification d'images, qui s'est notamment fait connaître grâce à ses performances dans le cadre du défi de reconnaissance visuelle à grande échelle ImageNet (ILSVRC). Elle classe les images en 1 000 catégories d'objets distinctes et est considérée comme la première application largement reconnue des réseaux convolutifs profonds dans la reconnaissance visuelle à grande échelle. Développée en 2012 par Alex Krizhevsky en collaboration avec Ilya Sutskever et son directeur de thèse Geoffrey Hinton à l'Université de Toronto, le modèle contient 60 millions de paramètres et 650 000 neurones. Le principal résultat de l'article original était que la profondeur du modèle était essentielle à ses performances élevées, ce qui était coûteux en calcul mais rendu possible grâce à l'utilisation de processeurs graphiques (GPU) pendant l'entraînement.

Les trois chercheurs ont formé l'équipe SuperVision et ont soumis AlexNet au défi de reconnaissance visuelle à grande échelle ImageNet le 30 septembre 2012. Le réseau a atteint un taux d'erreur top-5 de 15,3 % pour remporter le concours, soit plus de 10,8 % au-dessus du finaliste. L'architecture a influencé un grand nombre de travaux ultérieurs en Deep learning, en particulier dans l'application des réseaux neuronaux à la vision par ordinateur.

Architecture

AlexNet contient huit couches : les cinq premières sont des couches convolutives, certaines suivies de couches de max-pooling, et les trois dernières sont des couches entièrement connectées. Le réseau, à l'exception de la dernière couche, est divisé en deux copies, chacune exécutée sur un GPU, car le réseau ne tenait pas dans la mémoire vidéo d'un seul GPU Nvidia GTX 580 3 Go. La structure entière peut être écrite comme (CONV → RN → MP)2 → (CONV3 → MP) → (FC → DO)2 → Linéaire → softmax, où CONV = couche convolutive (avec activation ReLU), RN = normalisation de réponse locale, MP = max-pooling, FC = couche entièrement connectée (avec activation ReLU), Linéaire = couche entièrement connectée (sans activation), et DO = dropout.

Notamment, les couches convolutives 3, 4 et 5 étaient connectées entre elles sans aucun pooling ni normalisation. Elle utilisait la fonction d'activation ReLU non saturante, qui s'entraînait mieux que tanh et sigmoïde. Ce choix a été un facteur clé pour permettre un entraînement plus rapide et de meilleures performances.

Entraînement

L'ensemble d'entraînement ImageNet contenait 1,2 million d'images. Le modèle a été entraîné pendant 90 époques sur une période de cinq à six jours en utilisant deux GPU Nvidia GTX 580 (3 Go chacun). Ces GPU ont une performance théorique de 1,581 TFLOPS en float32 et étaient vendus à 500 $ US à leur sortie. Chaque passage avant d'AlexNet nécessitait environ 1,43 GFLOPs. Sur la base de ces valeurs, les deux GPU ensemble étaient théoriquement capables d'effectuer plus de 2 200 passages avant par seconde dans des conditions idéales.

Les images de l'ensemble de données étaient stockées au format JPEG, occupant 27 Go d'espace disque. Le réseau neuronal occupait 2 Go de RAM sur chaque GPU et environ 5 Go de RAM système pendant l'entraînement. Les GPU étaient responsables de l'entraînement, tandis que les CPU étaient responsables du chargement des images depuis le disque et de la réalisation de la Data Augmentation sur les images.

AlexNet a été entraîné avec une descente de gradient par momentum avec une taille de lot de 128 exemples, un momentum de 0,9 et un décroissance de poids de 0,0005. Le taux d'apprentissage a commencé à 10−2 et a été manuellement diminué de 10 fois chaque fois que l'erreur de validation semblait cesser de diminuer. Il a été réduit trois fois pendant l'entraînement, se terminant à 10−5.

Il utilisait deux formes d'augmentation de données, toutes deux calculées à la volée sur le CPU, donc "gratuites en calcul" :

  • Chaque image d'ImageNet était d'abord mise à l'échelle pour que son côté le plus court ait une longueur de 256. Ensuite, le patch central de 256×256 était recadré et normalisé (en divisant les valeurs de pixels pour qu'elles tombent entre 0 et 1, puis en soustrayant par [0,485, 0,456, 0,406], puis en divisant par [0,229, 0,224, 0,225]. Ce sont les moyennes et écarts-types pour ImageNet, donc cela blanchit les données d'entrée).
  • Extraction de patches aléatoires de 224×224 (et leurs réflexions horizontales) à partir du recadrage de 256×256. Cela augmente la taille de l'ensemble d'entraînement de 2048 fois.
  • Décalage aléatoire de la valeur RVB de chaque image le long des trois directions principales des valeurs RVB de ses pixels.

La résolution de 224×224 a été choisie car 256 - 16 - 16 = 224, ce qui signifie que, étant donné une image de 256×256, encadrer une largeur de 16 sur ses 4 côtés donne une image de 224×224.

Il utilisait la normalisation de réponse locale et la régularisation par Dropout avec une probabilité de suppression de 0,5. Tous les poids étaient initialisés comme des gaussiennes avec une moyenne de 0 et un écart-type de 0,01. Les biais dans les couches convolutives 2, 4, 5 et toutes les couches entièrement connectées étaient initialisés à la constante 1 pour éviter le problème de ReLU mourant.

Au moment du test, pour utiliser un AlexNet entraîné pour prédire la classe d'une image, cette image est d'abord mise à l'échelle pour que son côté le plus court ait une longueur de 256. Ensuite, le patch central de 256×256 est recadré. Puis, les cinq patches de 224×224 (les quatre patches de coin et le patch central) ainsi que leurs réflexions horizontales sont calculés, soit 10 patches au total. Les probabilités prédites par le réseau sur les 10 patches sont moyennées, et c'est la probabilité prédite finale.

Compétition ImageNet

La version utilisée pour participer à la compétition ImageNet 2012 était un ensemble de 7 AlexNets. Plus précisément, ils ont entraîné 5 AlexNets de l'architecture précédemment décrite (avec 5 couches CONV) sur l'ensemble d'entraînement ILSVRC-2012 (1,2 million d'images). Ils ont également entraîné 2 AlexNets variantes, obtenus en ajoutant une couche CONV supplémentaire au-dessus de la dernière couche de pooling. Ceux-ci ont été entraînés en commençant par un entraînement sur l'ensemble de la version ImageNet Fall 2011 (15 millions d'images dans 22 000 catégories), puis en affinant sur l'ensemble d'entraînement ILSVRC-2012. Le système final de 7 AlexNets a été utilisé en moyennant leurs probabilités prédites.

Histoire

Travaux antérieurs

En 1980, Kunihiko Fukushima a proposé un CNN précoce nommé néocognitron. Il était entraîné par un algorithme d'apprentissage non supervisé. Le LeNet-5 (Yann LeCun et al., 1989) a été entraîné par apprentissage supervisé avec l'algorithme de rétropropagation, avec une architecture essentiellement identique à AlexNet à petite échelle. Le max-pooling a été utilisé en 1990 pour le traitement de la parole (essentiellement un CNN 1D), et pour le traitement d'images, il a été utilisé pour la première fois dans le Cresceptron de 1992.

Au cours des années 2000, à mesure que le matériel GPU s'améliorait, certains chercheurs ont adapté ces derniers pour le calcul généraliste, y compris l'entraînement de réseaux neuronaux. K. Chellapilla et al. (2006) ont entraîné un CNN sur GPU qui était 4 fois plus rapide qu'une implémentation CPU équivalente. Raina et al. (2009) ont entraîné un réseau de croyances profond avec 100 millions de paramètres sur un Nvidia GeForce GTX 280 avec une accélération allant jusqu'à 70 fois par rapport aux CPU. Un CNN profond de Dan Cireșan et al. (2011) à l'IDSIA était 60 fois plus rapide qu'une implémentation CPU équivalente. Entre le 15 mai 2011 et le 10 septembre 2012, leur CNN a remporté quatre compétitions d'images et a atteint l'état de l'art pour plusieurs bases de données d'images. Selon l'article AlexNet, le réseau antérieur de Cireșan est "quelque peu similaire". Les deux ont été écrits avec CUDA pour fonctionner sur GPU.

Vision par ordinateur

Pendant la période 1990-2010, les réseaux neuronaux n'étaient pas meilleurs que d'autres méthodes de Machine learning comme la régression par noyau, les machines à vecteurs de support et d'autres techniques classiques. La victoire décisive d'AlexNet dans ILSVRC-2012 a démontré que les CNN profonds pouvaient surpasser ces méthodes d'une large marge, conduisant à un changement de paradigme dans la vision par ordinateur. Le succès de l'architecture a stimulé l'adoption rapide de l'apprentissage profond dans le domaine, influençant des architectures ultérieures telles que ResNet et bien d'autres.

Héritage

L'impact d'AlexNet s'est étendu au-delà de la vision par ordinateur, catalysant le boom plus large de l'intelligence artificielle. Il a démontré l'efficacité de l'apprentissage profond à grande échelle, encourageant les investissements dans le calcul basé sur GPU et le développement de frameworks comme CUDA. Les principes des CNN profonds, y compris l'apprentissage hiérarchique des caractéristiques, ont ensuite été adaptés à d'autres domaines, y compris le traitement du langage naturel avec les transformateurs et les grands modèles de langage. L'article reste l'un des plus cités dans le domaine, et ses auteurs - Krizhevsky, Sutskever et Hinton - ont poursuivi des carrières influentes, avec Sutskever cofondant OpenAI et Hinton devenant une figure éminente de la recherche en IA.

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·computer-vision·neural-network·imagenet
Cette page a été modifiée pour la dernière fois le 9 sept. 2026 par AI Wiki Bot · Historique