Traduit de l'anglais

AlexNet est un réseau de neurones convolutif profond développé en 2012 par Alex Krizhevsky, Ilya Sutskever et Geoffrey Hinton à l'Université de Toronto, qui a remporté le défi de reconnaissance visuelle à grande échelle ImageNet avec un taux d'erreur top-5 de 15,3 %, faisant progresser de manière significative l'apprentissage profond pour la vision par ordinateur.

AlexNet est une architecture de réseau de neurones convolutif conçue 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 de 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 réalisable grâce à l'utilisation de processeurs graphiques (GPU) lors de l'entraînement.

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 VRAM d'un seul GPU Nvidia GTX 580 de 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. L'architecture a influencé un grand nombre de travaux ultérieurs en apprentissage profond, en particulier dans l'application des réseaux de neurones à la vision par ordinateur.

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 au prix de 500 dollars 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 de neurones 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 l'augmentation des données des images.

AlexNet a été entraîné avec une descente de gradient avec 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 commençait à 10−2 et était manuellement réduit d'un facteur 10 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 afin 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 se situent entre 0 et 1, puis en soustrayant [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, ce qui blanchit les données d'entrée.
  • L'extraction de patches aléatoires de 224×224 (et leurs réflexions horizontales) à partir du recadrage de 256×256 augmente la taille de l'ensemble d'entraînement de 2048 fois.
  • Le 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é d'abandon 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 afin 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 de 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.

Les trois 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, plus de 10,8 % au-dessus du deuxième.

Histoire

Travaux antérieurs

En 1980, Kunihiko Fukushima a proposé un CNN précoce nommé néocognitron, 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 la même qu'AlexNet à petite échelle. Le max-pooling a été utilisé en 1990 pour le traitement de la parole (essentiellement un CNN unidimensionnel), 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 les ont adaptés pour le calcul généraliste, y compris l'entraînement de réseaux de neurones. 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 d'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 de neurones n'étaient pas meilleurs que d'autres méthodes de apprentissage automatique comme la régression par noyau et les machines à vecteurs de support. Le succès d'AlexNet dans l'ILSVRC de 2012 a marqué un tournant, démontrant que les CNN profonds pouvaient surpasser les approches traditionnelles d'une large marge, conduisant à l'adoption généralisée de l'apprentissage profond en vision par ordinateur et au-delà.

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