Un réseau de neurones convolutif, ou CNN, est une architecture de réseau de neurones construite autour de couches convolutives qui appliquent de petits filtres partagés sur une entrée, ce qui le rend particulièrement efficace pour les données structurées en grille, comme les images, où les pixels voisins sont liés et où des motifs utiles, tels que les bords ou les textures, peuvent apparaître n'importe où dans le cadre. En réutilisant les mêmes poids de filtres à chaque position spatiale, les CNN nécessitent beaucoup moins de paramètres qu'un réseau entièrement connecté de taille comparable et encodent naturellement l'hypothèse que le sens d'une image est largement inchangé par la translation de son contenu, une propriété connue sous le nom d'invariance par translation.
Histoire
Les racines conceptuelles de l'architecture remontent au néocognitron de Kunihiko Fukushima, un modèle hiérarchique du cortex visuel datant de 1980, décrit par Kunihiko Fukushima, qui a introduit la détection de caractéristiques en couches sans encore utiliser la rétropropagation pour l'entraînement. Yann LeCun a combiné les couches convolutives avec la rétropropagation à la fin des années 1980, produisant LeNet, qui, au milieu des années 1990, pouvait lire les chiffres manuscrits sur les chèques bancaires en déploiement commercial, l'un des premiers succès pratiques du apprentissage profond. Les CNN sont restés un outil spécialisé pendant environ deux décennies jusqu'en 2012, lorsque AlexNet, conçu par Alex Krizhevsky avec Ilya Sutskever et Geoffrey Hinton, a remporté le concours ImageNet 2012 (AlexNet moment) ImageNet avec une large marge en utilisant un CNN profond entraîné sur des GPU, un événement largement crédité d'avoir déclenché le boom moderne de l'apprentissage profond.
Architecture
Un CNN typique empile des couches convolutives alternées, qui détectent des motifs locaux à l'aide de filtres appris, et des couches de pooling, qui réduisent la résolution spatiale tout en conservant les caractéristiques les plus fortes détectées, construisant progressivement des motifs de bas niveau comme les bords et les couleurs dans les premières couches jusqu'à des concepts sémantiques de haut niveau comme les visages ou les objets dans les couches plus profondes. Les dernières couches sont généralement entièrement connectées, mappant les caractéristiques extraites aux classes de sortie. Des architectures ultérieures telles que VGGNet, ResNet et Inception ont poussé la profondeur beaucoup plus loin, avec l'introduction en 2015 par ResNet des connexions résiduelles, ou de saut, résolvant le problème du gradient vanishing qui rendait auparavant les CNN très profonds difficiles à entraîner avec le descente de gradient ordinaire.
Applications
Les CNN sont devenus l'architecture par défaut pour les tâches de vision par ordinateur, y compris la classification d'images, la détection d'objets, la segmentation sémantique et la reconnaissance faciale, et ils sous-tendent des composants des systèmes de perception pour la conduite autonome, l'analyse d'images médicales et les premières conceptions de réseaux antagonistes génératifs, où les CNN formaient généralement à la fois le générateur et le discriminateur. Ils ont également été appliqués en dehors de la vision, par exemple aux spectrogrammes audio et à certaines tâches de classification de texte, partout où les données ont une structure locale en grille qu'un filtre partagé peut exploiter.
Déclin de la dominance relative
Depuis environ 2020, les Vision Transformers, qui adaptent l'architecture transformeur et son mécanisme d'attention aux patchs d'images au lieu de filtres convolutifs, ont égalé ou dépassé les performances des CNN sur de nombreux benchmarks de vision à grande échelle, en particulier lorsqu'ils sont entraînés sur de très grands ensembles de données, suscitant un débat sur la question de savoir si les hypothèses spatiales intégrées de la convolution restent nécessaires une fois que suffisamment de données et de calcul sont disponibles. Les CNN restent néanmoins largement utilisés en pratique, en particulier dans les contextes à ressources limitées ou d'IA de périphérie, car leurs biais inductifs les rendent plus efficaces en termes de données que les transformeurs lorsque les données d'entraînement sont limitées, et ils continuent de servir d'encodeurs dans des systèmes multimodaux plus vastes.