Cet article fait partie de démystifier L’IA, une série de messages qui (tentent de) désambiguiser le jargon et les mythes entourant L’IA.
Depuis les années 1950, les premiers jours de l’intelligence artificielle, les informaticiens tentent de construire des ordinateurs capables de donner un sens aux données visuelles., Dans les décennies qui ont suivi, le domaine, qui est devenu connu sous le nom de vision par ordinateur, a connu des progrès progressifs. En 2012, la vision par ordinateur a fait un bond en avant lorsqu’un groupe de chercheurs de L’Université de Toronto a mis au point un modèle D’IA qui surpassait largement les meilleurs algorithmes de reconnaissance d’image.
Le système D’IA, connu sous le nom D’AlexNet (du nom de son créateur principal, Alex Krizhevsky), a remporté le concours de vision par ordinateur ImageNet 2012 avec une précision incroyable de 85%. Le finaliste a obtenu un modeste 74 pour cent sur le test.,
Au cœur de L’AlexNet se trouvait un réseau de neurones convolutifs (CNN), un type spécialisé de réseau de neurones artificiels qui imite grossièrement le système de vision humaine. Ces dernières années, les CNN sont devenus essentiels à de nombreuses applications de vision par ordinateur. Voici ce que vous devez savoir sur l’histoire et le fonctionnement des CNN.
une brève histoire des réseaux de neurones convolutionnels
Les réseaux de neurones convolutionnels, également appelés ConvNets, ont été introduits pour la première fois dans les années 1980 par Yann LeCun, chercheur postdoctoral en informatique., LeCun s’était appuyé sur les travaux de Kunihiko Fukushima, un scientifique japonais qui, quelques années plus tôt, avait inventé le neocognitron, un réseau neuronal de reconnaissance d’image très basique.
la première version de CNNs, appelée LeNet (D’après LeCun), pouvait reconnaître des chiffres manuscrits. Les CNN ont trouvé un marché de niche dans les services bancaires et postaux et bancaires, où ils lisent les codes postaux sur les enveloppes et les chiffres sur les chèques.
Mais malgré leur ingéniosité, les ConvNets sont restés en marge de la vision par ordinateur et de l’intelligence artificielle car ils étaient confrontés à un grave problème: ils ne pouvaient pas évoluer., Les CNN avaient besoin de beaucoup de données et de ressources de calcul pour fonctionner efficacement pour les grandes images. À l’époque, la technique n’était applicable qu’aux images à faible résolution.
en 2012, AlexNet a montré que le moment était peut-être venu de revisiter le deep learning, la branche de L’IA qui utilise des réseaux de neurones multicouches. La disponibilité de grands ensembles de données, à savoir L’ensemble de données ImageNet avec des millions d’images étiquetées, et de vastes ressources de calcul ont permis aux chercheurs de créer des CNN complexes capables d’effectuer des tâches de vision par ordinateur qui étaient auparavant impossibles.
Comment fonctionnent les CNN?,
Les réseaux de neurones convolutionnels sont composés de plusieurs couches de neurones artificiels. Les neurones artificiels, une imitation approximative de leurs homologues biologiques, sont des fonctions mathématiques qui calculent la somme pondérée de plusieurs entrées et sorties d’une valeur d’activation.
Le comportement de chaque neurone est définie par son poids., Lorsqu’ils sont alimentés avec les valeurs de pixels, les neurones artificiels D’un CNN sélectionnent diverses caractéristiques visuelles.
lorsque vous entrez une image dans un ConvNet, chacune de ses couches génère plusieurs cartes d’activation. Les cartes d’Activation mettent en évidence les caractéristiques pertinentes de l’image. Chacun des neurones prend un patch de pixels en entrée, multiplie leurs valeurs de couleur par ses poids, les résume et les exécute à travers la fonction d’activation.
la première couche (ou la couche inférieure) du CNN détecte généralement les fonctionnalités de base telles que les bords horizontaux, verticaux et diagonaux., La sortie de la première couche est alimentée en entrée de la couche suivante, qui extrait des entités plus complexes, telles que les Coins et les combinaisons d’arêtes. Lorsque vous vous enfoncez plus profondément dans le réseau de neurones convolutifs, les couches commencent à détecter des fonctionnalités de niveau supérieur telles que des objets, des visages, etc.
l’opération consistant à multiplier les valeurs de pixels par des poids et à les additionner est appelée” convolution » (d’où le nom de réseau de neurones convolutifs). CNN est généralement composé de plusieurs couches de convolution, mais il contient également d’autres composants. La couche finale D’un CNN est une couche de classification, qui prend la sortie de la couche de convolution finale en entrée (rappelez-vous, les couches de convolution supérieures détectent des objets complexes).,
sur la base de la carte d’activation de la couche de convolution finale, la couche de classification génère un ensemble de scores de confiance (valeurs comprises entre 0 et 1) qui spécifient la probabilité que l’image appartienne à une classe ».” Par exemple, si vous avez un ConvNet qui détecte les chats, les chiens et les chevaux, la sortie de la couche finale est la possibilité que l’image d’entrée contienne l’un de ces animaux.,
formation du réseau de neurones convolutifs
l’un des grands défis du développement de CNN consiste à ajuster le poids des neurones individuels pour extraire les bonnes caractéristiques des images. Le processus d’ajustement de ces poids est appelé « entraînement » du réseau neuronal.
Au début, le CNN commence avec des poids aléatoires., Pendant la formation, les développeurs fournissent au réseau neuronal un grand ensemble de données d’images annotées avec leurs classes correspondantes (chat, chien, cheval, etc.). Le ConvNet traite chaque image avec ses valeurs aléatoires, puis compare sa sortie avec l’étiquette correcte de l’image. Si la sortie du réseau ne correspond pas à l’étiquette—ce qui est probablement le cas au début du processus d’entraînement—il effectue un petit ajustement des poids de ses neurones afin que la prochaine fois qu’il verra la même image, sa sortie sera un peu plus proche de la bonne réponse.,
Les corrections sont faites par une technique appelée backpropagation (ou backprop). Essentiellement, la rétropropagation optimise le processus de réglage et permet au réseau de décider plus facilement quelles unités ajuster au lieu d’effectuer des corrections aléatoires.
chaque exécution de l’ensemble de données de formation est appelée « epoch. »Le ConvNet traverse plusieurs époques pendant l’entraînement, ajustant ses poids en petites quantités. Après chaque époque, le réseau neuronal devient un peu meilleur pour classer les images d’entraînement., À mesure que le CNN s’améliore, les ajustements qu’il apporte aux poids deviennent de plus en plus petits. À un moment donné, le réseau « converge”, ce qui signifie qu’il devient essentiellement aussi bon que possible.
Après avoir formé le CNN, les développeurs utilisent un jeu de données de test pour vérifier sa précision. L’ensemble de données de test est un ensemble d’images étiquetées qui ne faisaient pas partie du processus de formation. Chaque image est exécutée à travers le ConvNet, et la sortie est comparée à l’étiquette réelle de l’image. Essentiellement, l’ensemble de données de test évalue la qualité du réseau neuronal pour classer les images qu’il n’a jamais vues auparavant.,
Si un CNN obtient de bons résultats sur ses données d’entraînement mais de mauvais résultats sur les données de test, il est dit qu’il a été « suréquipé.” Cela se produit généralement lorsqu’il n’y a pas assez de variété dans les données d’entraînement ou lorsque le ConvNet traverse trop d’époques sur l’ensemble de données d’entraînement.
Le succès des réseaux de neurones convolutifs est largement dû à la disponibilité d’énormes ensembles de données d’images développés au cours de la dernière décennie. ImageNet, le concours mentionné au début de cet article, tire son titre d’un jeu de données homonyme avec plus de 14 millions d’images étiquetées., Il existe d’autres jeux de données plus spécialisés, tels que le MNIST, une base de données de 70 000 images de chiffres manuscrits.
Vous n’avez cependant pas besoin de former tous les réseaux de neurones convolutifs sur des millions d’images. Dans de nombreux cas, vous pouvez utiliser un modèle pré-entraîné, tel que AlexNet ou ResNet de Microsoft, et le peaufiner pour une autre application plus spécialisée. Ce processus est appelé apprentissage par transfert, dans lequel un réseau neuronal entraîné est recyclé un plus petit ensemble de nouveaux exemples.,
les limites des réseaux de neurones convolutifs
malgré leur puissance et leur complexité, les réseaux de neurones convolutifs sont, par essence, des machines de reconnaissance de formes. Ils peuvent tirer parti de ressources de calcul massives pour extraire des motifs visuels minuscules et discrets qui pourraient passer inaperçus à l’œil humain. Mais quand il s’agit de comprendre la signification du contenu des images, ils fonctionnent mal.
Considérer l’image suivante. Un ConvNet bien entraîné vous dira que c’est l’image d’un soldat, d’un enfant et du drapeau américain., Mais une personne peut donner une longue description de la scène et parler du service militaire, des tournées dans un pays étranger, du sentiment de nostalgie de la maison, de la joie de retrouver la famille, etc. Les réseaux de neurones artificiels n’ont aucune notion de ces concepts.
Ces limites deviennent plus évidentes dans les applications pratiques des réseaux de neurones convolutifs. Par exemple, les CNN sont maintenant largement utilisés pour modérer le contenu sur les réseaux sociaux., Mais malgré les vastes dépôts d’images et de vidéos sur lesquels ils sont formés, ils ont toujours du mal à détecter et à bloquer le contenu inapproprié. Dans un cas, l’IA de modération du contenu de Facebook a interdit la photo d’une statue de 30 000 ans comme Nudité.
de plus, les réseaux neuronaux commencent à se briser dès qu’ils sortent un peu de leur contexte. Plusieurs études ont montré que les cn formés sur ImageNet et d’autres ensembles de données populaires ne parviennent pas à détecter les objets lorsqu’ils les voient sous différentes conditions d’éclairage et sous de nouveaux angles.,
Une étude récente menée par des chercheurs du MIT-IBM Watson AI Lab met en évidence ces lacunes. Il introduit également ObjectNet, un ensemble de données qui représente mieux les différentes nuances de la façon dont les objets sont vus dans la vie réelle. Les CNN ne développent pas les modèles mentaux que les humains ont sur différents objets et leur capacité à imaginer ces objets dans des contextes inédits.
Un autre problème avec les réseaux de neurones convolutifs est leur incapacité à comprendre les relations entre différents objets. Considérons l’image suivante, connue sous le nom de « problème de Bongard”, du nom de son inventeur, L’informaticien russe Mikhail Moiseevich Bongard. Les problèmes de Bongard vous présentent deux ensembles d’images (six à gauche et six à droite), et vous devez expliquer la différence clé entre les deux ensembles., Par exemple, dans l’exemple ci-dessous, des images de la gauche contient un objet et les images dans le bon ensemble contient deux objets.
Il est facile pour les humains de tirer de telles conclusions à partir de si petites quantités d’échantillons. Si je vous montre ces deux ensembles et ensuite vous fournir une nouvelle image, vous serez en mesure de décider rapidement si elle doit aller dans l’ensemble gauche ou droit.
Mais il n’y a toujours pas de réseau neuronal convolutif qui puisse résoudre les problèmes de Bongard avec si peu d’exemples d’entraînement. Dans une étude menée en 2016, des chercheurs en IA ont formé un CNN sur 20 000 échantillons de Bongard et l’ont testé sur 10 000 autres. La performance du CNN était beaucoup plus faible que celle des humains moyens.
Les particularités des ConvNets les rendent également vulnérables aux attaques contradictoires, perturbations dans les données d’entrée qui passent inaperçues à l’œil humain mais affectent le comportement des réseaux neuronaux., Les attaques contradictoires sont devenues une source majeure de préoccupation car l’apprentissage en profondeur et en particulier les CNN sont devenus une composante intégrante de nombreuses applications critiques telles que les voitures autonomes.
cela signifie-t-il que les CNN sont inutiles?, Malgré les limites des réseaux de neurones convolutifs, on ne peut nier qu’ils ont provoqué une révolution dans l’intelligence artificielle. Aujourd’hui, les CNN sont utilisés dans de nombreuses applications de vision par ordinateur telles que la reconnaissance faciale, la recherche et l’édition d’images, la réalité augmentée, etc. Dans certains domaines, tels que le traitement d’images médicales, des ConvNets bien formés pourraient même surpasser les experts humains pour détecter les modèles pertinents.,
comme le montrent les progrès des réseaux de neurones convolutifs, nos réalisations sont remarquables et utiles, mais nous sommes encore très loin de reproduire les composants clés de l’intelligence humaine.