Suivez nous sur

Que sont les CNN (Convolutional Neural Networks) ?

AI 101

Que sont les CNN (Convolutional Neural Networks) ?

mm

Peut-être vous êtes-vous demandé comment Facebook ou Instagram sont capables de reconnaître automatiquement les visages dans une image, ou comment Google vous permet de rechercher des photos similaires sur le Web simplement en téléchargeant votre propre photo. Ces fonctionnalités sont des exemples de vision par ordinateur et sont alimentées par réseaux de neurones convolutifs (CNN). Mais que sont exactement les réseaux de neurones convolutifs ? Plongeons en profondeur dans l'architecture d'un CNN et comprenons comment ils fonctionnent.

Que sont les rĂ©seaux de neurones ?

Avant de commencer Ă  parler de rĂ©seaux de neurones convolutionnels, prenons un moment pour dĂ©finir le rĂ©seau de neurones rĂ©gulier. Il y a un autre article sur le sujet des rĂ©seaux de neurones disponibles, nous n'allons donc pas les approfondir ici. Cependant, pour les dĂ©finir brièvement, il s'agit de modèles informatiques inspirĂ©s du cerveau humain. Un rĂ©seau de neurones fonctionne en prenant des donnĂ©es et en manipulant les donnĂ©es en ajustant les « poids Â», qui sont des hypothèses sur la façon dont les caractĂ©ristiques d'entrĂ©e sont liĂ©es les unes aux autres et Ă  la classe de l'objet. Au fur et Ă  mesure que le rĂ©seau est entraĂ®nĂ©, les valeurs des pondĂ©rations sont ajustĂ©es et, espĂ©rons-le, elles convergeront vers des pondĂ©rations qui capturent avec prĂ©cision les relations entre les entitĂ©s.

C'est ainsi qu'un rĂ©seau de neurones Ă  anticipation fonctionne, et les CNN sont composĂ©s de deux moitiĂ©s : un rĂ©seau de neurones Ă  anticipation et un groupe de couches convolutionnelles.

Que sont les rĂ©seaux de neurones Ă  convolution (CNN) ?

Quelles sont les « convolutions Â» qui se produisent dans un rĂ©seau neuronal convolutif ? Une convolution est une opĂ©ration mathĂ©matique qui crĂ©e un ensemble de poids, crĂ©ant essentiellement une reprĂ©sentation de parties de l'image. Cet ensemble de poids est appelĂ© un noyau ou un filtre. Le filtre créé est plus petit que l'intĂ©gralitĂ© de l'image d'entrĂ©e et ne couvre qu'une sous-section de l'image. Les valeurs du filtre sont multipliĂ©es par les valeurs de l'image. Le filtre est ensuite dĂ©placĂ© pour former une reprĂ©sentation d'une nouvelle partie de l'image, et le processus est rĂ©pĂ©tĂ© jusqu'Ă  ce que l'image entière ait Ă©tĂ© couverte.

Une autre façon de penser Ă  cela est d'imaginer un mur de briques, les briques reprĂ©sentant les pixels de l'image d'entrĂ©e. Une "fenĂŞtre" est glissĂ©e d'avant en arrière le long du mur, qui est le filtre. Les briques visibles Ă  travers la fenĂŞtre sont les pixels dont la valeur est multipliĂ©e par les valeurs dans le filtre. Pour cette raison, cette mĂ©thode de crĂ©ation de pondĂ©rations avec un filtre est souvent appelĂ©e technique des « fenĂŞtres glissantes Â».

Le rĂ©sultat des filtres dĂ©placĂ©s sur l'ensemble de l'image d'entrĂ©e est un tableau bidimensionnel reprĂ©sentant l'image entière. Ce tableau est appelĂ© « carte des caractĂ©ristiques Â».

Pourquoi les convolutions sont essentielles

Quel est le but de créer des convolutions de toute façon? Les convolutions sont nécessaires car un réseau de neurones doit pouvoir interpréter les pixels d'une image comme des valeurs numériques. La fonction des couches convolutives est de convertir l'image en valeurs numériques que le réseau de neurones peut interpréter, puis extraire des modèles pertinents. Le travail des filtres dans le réseau convolutif est de créer un tableau bidimensionnel de valeurs qui peuvent être transmises aux couches ultérieures d'un réseau de neurones, celles qui apprendront les motifs de l'image.

Filtres et canaux

Photo : cecebur via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

Les CNN n'utilisent pas un seul filtre pour apprendre des modèles à partir des images d'entrée. Plusieurs filtres sont utilisés, car les différents tableaux créés par chacun d'eux produisent une représentation plus complexe et plus riche de l'image d'entrée. Les nombres courants de filtres pour les CNN sont 32, 64, 128 et 512. Plus le nombre de filtres est élevé, plus le CNN a de possibilités d'analyser les données d'entrée et d'en tirer des enseignements.

Un CNN analyse les différences de valeurs de pixels afin de déterminer les frontières des objets. Dans une image en niveaux de gris, le CNN ne regarderait que les différences en termes de noir et blanc, de clair à foncé. Lorsque les images sont des images couleur, non seulement le CNN prend en compte l'obscurité et la lumière, mais il doit également prendre en compte les trois canaux de couleur différents - rouge, vert et bleu. Dans ce cas, les filtres possèdent 3 canaux, tout comme l'image elle-même. Le nombre de canaux d'un filtre est appelé sa profondeur, et le nombre de canaux dans le filtre doit correspondre au nombre de canaux dans l'image.

Réseau neuronal convolutif (CNN) Architecture

Examinons l'architecture complète d'un réseau de neurones convolutifs. Une couche convolutive se trouve au début de chaque réseau convolutif, car elle est nécessaire pour transformer les données d'image en tableaux numériques. Cependant, les couches convolutives peuvent également être placées après d'autres couches convolutives, ce qui signifie qu'elles peuvent être empilées les unes sur les autres. La présence de plusieurs couches convolutives permet aux sorties d'une couche de subir d'autres convolutions et d'être regroupées selon des motifs pertinents. Concrètement, cela signifie qu'à mesure que les données d'image progressent à travers les couches convolutives, le réseau commence à « reconnaître » des caractéristiques plus complexes de l'image.

Les premières couches d'un ConvNet sont responsables de l'extraction des fonctionnalités de bas niveau, telles que les pixels qui composent des lignes simples. Les couches ultérieures du ConvNet réuniront ces lignes en formes. Ce processus de passage d'une analyse superficielle à une analyse approfondie se poursuit jusqu'à ce que le ConvNet reconnaisse des formes complexes telles que des animaux, des visages humains et des voitures.

Une fois que les données ont traversé toutes les couches convolutionnelles, elles passent dans la partie densément connectée du CNN. Les couches densément connectées sont à quoi ressemble un réseau de neurones à rétroaction traditionnelle, une série de nœuds disposés en couches connectées les unes aux autres. Les données passent par ces couches densément connectées, qui apprennent les modèles qui ont été extraits par les couches convolutionnelles, et ce faisant, le réseau devient capable de reconnaître des objets.

Blogueur et programmeur spécialisé dans Machine Learning et L'apprentissage en profondeur les sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.