Réseaux neuronaux convolutifs
Arrière-plan noir et bleu
Réseaux neuronaux convolutifs

Découvrez comment les réseaux neuronaux convolutifs utilisent des données tridimensionnelles pour les tâches de classification d'images et de reconnaissance d'objets.


Qu'est-ce que les réseaux neuronaux convolutifs ?

Pour rappeler l'article du Hub d'apprentissage sur les réseaux neuronaux, les réseaux neuronaux sont un sous-ensemble de l'apprentissage automatique et sont au cœur des algorithmes d'apprentissage profond. Ils sont constitués de couches de nœuds, contenant une couche d'entrée, une ou plusieurs couches cachées et une couche de sortie. Chaque nœud est relié à un autre et possède un poids et un seuil associés. Si la sortie d'un nœud est supérieure à la valeur de seuil spécifiée, ce nœud est activé et envoie des données à la couche suivante du réseau. Sinon, aucune donnée n'est transmise à la couche suivante du réseau.

Bien que nous nous soyons principalement intéressés aux réseaux à propagation avant (feedforward) dans cet article, il existe plusieurs types de réseaux neuronaux, qui sont utilisés dans différents cas et types de données. Par exemple, les réseaux neuronaux récurrents sont couramment utilisés pour le traitement du langage naturel et la reconnaissance vocale, tandis que les réseaux neuronaux convolutifs (ConvNets ou CNN) sont plus souvent utilisés pour les tâches de classification et de vision par ordinateur. Avant l'apparition des réseaux neuronaux convolutifs, des méthodes d'extraction de caractéristiques manuelles très chronophages étaient utilisées pour identifier les objets dans les images. Cependant, les réseaux de neurones convolutifs offrent désormais une approche plus évolutive des tâches de classification d'images et de reconnaissance d'objets. Pour ce faire, ils se basent sur les principes de l'algèbre linéaire, en particulier la multiplication matricielle, pour identifier les motifs dans une image. Cela dit, ils peuvent être exigeants en termes de calcul, nécessitant des processeurs graphiques (GPU) pour entraîner les modèles. 


Comment fonctionnent les réseaux neuronaux convolutifs ?

Les réseaux neuronaux convolutifs se distinguent des autres réseaux neuronaux par leurs performances supérieures en matière d'entrées de signaux d'image, de parole ou de son. Ils possèdent trois principaux types de couches, qui sont les suivants :

  • Couche convolutive
  • Couche de mise en commun (pooling)
  • Couche entièrement connectée (FC)

La couche convolutive est la première couche d'un réseau convolutif. Alors que les couches convolutives peuvent être suivies de couches convolutives supplémentaires ou de couches de mise en commun (pooling), la couche entièrement connectée est la dernière couche. Avec chaque couche, le réseau CNN gagne en complexité et identifie des portions plus importantes de l'image. Les couches précédentes se concentrent sur des caractéristiques simples, telles que les couleurs et les bords. Au fur et à mesure que les données de l'image progressent dans les couches du CNN, celui-ci commence à reconnaître des éléments ou des formes plus grandes de l'objet jusqu'à ce qu'il identifie finalement l'objet voulu.

Couche convolutive

La couche convolutive est le bloc de construction central d'un réseau neuronal convolutif. C'est dans cette couche que la majorité des calculs sont effectués. Elle nécessite plusieurs composants, à savoir des données d'entrée, un filtre et une carte de caractéristiques. Supposons que l'entrée soit une image en couleur, composée d'une matrice de pixels en 3D. Cela signifie que l'entrée aura trois dimensions - hauteur, largeur et profondeur - qui correspondent au RVB d'une image. Nous disposons également d'un détecteur de caractéristiques, aussi appelé noyau ou filtre, qui se déplace dans les champs réceptifs de l'image pour vérifier la présence de la caractéristique. Ce processus est connu sous le nom de convolution.

Le détecteur de caractéristiques est un tableau de poids bidimensionnel (2-D) qui représente une partie de l'image. Bien que leur taille puisse varier, la taille du filtre est généralement une matrice de 3 x 3. Elle détermine également la taille du champ récepteur. Le filtre est ensuite appliqué à une zone de l'image, et un produit scalaire est calculé entre les pixels d'entrée et le filtre. Ce produit scalaire est ensuite introduit dans une matrice de sortie. Ensuite, le filtre se décale d'un pas, répétant le processus jusqu'à ce que le noyau ait balayé toute l'image. La sortie finale de la série de produits scalaires de l'entrée et du filtre est appelée carte de caractéristiques, carte d'activation ou caractéristique convoluée.

Après chaque opération de convolution, un réseau neuronal convolutif applique une transformation ReLU (Rectified Linear Unit - Unité Linéaire Rectifiée) à la carte de caractéristiques, ce qui introduit une non-linéarité dans le modèle.

Comme on l'a vu, une autre couche de convolution peut faire suite à la couche de convolution initiale. Lorsque cela se produit, la structure du réseau neuronal convolutif peut devenir hiérarchique, car les couches ultérieures peuvent voir les pixels situés dans les champs réceptifs des couches précédentes.  Par exemple, supposons que nous essayons de déterminer si une image contient un vélo. Vous pouvez considérer le vélo comme une somme de pièces. Il est composé d'un cadre, d'un guidon, de roues, de pédales, etc. Chaque partie individuelle du vélo constitue un motif de niveau inférieur dans le réseau neuronal. La combinaison de ses parties représente un motif de niveau supérieur, créant ainsi une hiérarchie de caractéristiques dans le réseau neuronal convolutif.

Couche de mise en commun (pooling)

Les couches de mise en commun ou de pooling, également appelées sous-échantillonnage, effectuent une réduction de la dimensionnalité, en réduisant le nombre de paramètres en entrée. Comme pour la couche convolutive, l'opération de mise en commun applique un filtre sur l'ensemble de l'entrée, mais la différence est que ce filtre ne comporte pas de poids. Au lieu de cela, le noyau applique une fonction d'agrégation aux valeurs situées dans le champ réceptif, remplissant ainsi le tableau de sortie. Il existe deux types principaux de mise en commun :

  • Mise en commun maximale : Au fur et à mesure que le filtre traite l'entrée, il sélectionne le pixel ayant la valeur maximale pour l'envoyer au tableau de sortie. Cette approche a tendance à être utilisée plus souvent que la mise en commun moyenne.
  • Mise en commun moyenne : Au fur et à mesure que le filtre traite l'entrée, il calcule la valeur moyenne dans le champ réceptif pour l'envoyer au tableau de sortie.

Bien qu'une grande quantité d'informations soit perdue dans la couche de mise en commun, elle présente également un certain nombre d'avantages pour le réseau neuronal convolutif. Cette couche réduit la complexité, améliore l'efficience et limite le risque de surajustement. 

Couche entièrement connectée

Le nom de la couche entièrement connectée parle de lui-même. Comme mentionné précédemment, les valeurs des pixels de l'image d'entrée ne sont pas directement connectées à la couche de sortie dans les couches partiellement connectées. En revanche, dans la couche entièrement connectée, chaque nœud de la couche de sortie est directement connecté à un nœud de la couche précédente.

Cette couche effectue la tâche de classification sur la base des caractéristiques extraites par les couches précédentes et leurs différents filtres. Alors que les couches convolutives et de mise en commun ont tendance à utiliser des fonctions ReLu, les couches FC utilisent en général une fonction d'activation softmax pour classer les entrées de manière appropriée, en générant une probabilité de 0 à 1.


Types de réseaux de neurones convolutifs

Kunihiko Fukushima et Yann LeCun ont jeté les bases de la recherche sur les réseaux neuronaux convolutifs dans leurs travaux de 1980 (PDF, 1,1 Mo) (lien externe au site d'IBM) et de 1989 (PDF, 5,5 Mo) (lien externe au site d'IBM), respectivement. Plus célèbre, Yann LeCun a appliqué avec succès la rétropropagation pour entraîner des réseaux neuronaux à identifier et reconnaître des motifs dans une série de codes postaux écrits à la main. Il a poursuivi ses recherches avec son équipe tout au long des années 1990, pour aboutir à "LeNet-5" (PDF, 933 ko) (lien externe au site d'IBM), qui a appliqué les mêmes principes que ses travaux de recherche précédents à la reconnaissance de documents. Depuis cette époque, plusieurs variantes d'architectures de réseaux neuronaux convolutifs ont vu le jour avec l'introduction de nouveaux jeux de données, tels que MNIST et CIFAR-10, et l'apparition de concours, comme ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Voici quelques-unes de ces autres architectures :

  • AlexNet (PDF, 1,4 Mo) (lien externe au site d'IBM)
  • VGGNet (PDF, 195 ko) (lien externe au site d'IBM)
  • GoogLeNet (PDF, 1,3 Mo) (lien externe au site d'IBM)
  • ResNet (PDF, 800 ko) (lien externe au site d'IBM)
  • ZFNet

LeNet-5 reste cependant connu comme l'architecture CNN classique.


Les réseaux neuronaux convolutifs et la vision par ordinateur

Les réseaux neuronaux convolutifs permettent d'effectuer des tâches de reconnaissance d'images et de vision par ordinateur. La vision par ordinateur est un domaine de l'intelligence artificielle (IA) qui permet aux ordinateurs et aux systèmes de dériver des informations significatives à partir d'images numériques, de vidéos et d'autres données visuelles, et de prendre des mesures en fonction de ces données. Cette capacité à fournir des recommandations la distingue des tâches de reconnaissance d'image. Certaines applications courantes de la vision par ordinateur sont les suivantes :

  • Marketing : Les plateformes de médias sociaux fournissent des suggestions sur les personnes susceptibles de figurer sur une photo publiée sur un profil, ce qui facilite l'étiquetage des amis dans les albums photo. 
  • Soins de santé : La vision par ordinateur a été intégrée à la technologie de radiologie, permettant aux médecins de mieux identifier les tumeurs cancéreuses dans un organisme sain.
  • Distribution : La recherche visuelle a été intégrée à certaines plateformes d'e-commerce, permettant aux marques de recommander des articles pour compléter une garde-robe existante.   
  • Automobile : Si l'ère des voitures autonomes sans conducteur n'est pas encore tout à fait arrivée, la technologie sous-jacente a commencé à faire son chemin dans les automobiles, améliorant la sécurité du conducteur et des passagers grâce à des fonctions telles que la détection de la signalisation au sol.

Les réseaux neuronaux convolutifs et IBM

Depuis des décennies, IBM est un pionnier dans le développement des technologies d'IA et des réseaux neuronaux, comme en témoigne le développement et l'évolution d'IBM Watson. Watson est désormais une solution fiable pour les entreprises qui cherchent à appliquer des techniques avancées de traitement du langage naturel et d'apprentissage en profondeur à leurs systèmes en utilisant une approche par étapes éprouvée pour l'adoption et la mise en œuvre de l'IA.

IBM Watson Visual Recognition permet d'extraire facilement des milliers d'étiquettes des images de votre organisation et de détecter des contenus spécifiques prêts à l'emploi. Vous pouvez également créer des modèles personnalisés pour détecter des contenus spécifiques dans les images au sein de vos applications. Pour plus d'informations sur la façon d'étiqueter, de classer et de rechercher rapidement et précisément du contenu visuel à l'aide de l'apprentissage automatique, explorez IBM Watson Visual Recognition.

Inscrivez-vous pour obtenir un IBMid et créer votre compte IBM Cloud.

Solutions connexes

IBM SPSS Neural Networks

IBM SPSS Neural Networks peut vous aider à découvrir des relations complexes et à tirer davantage de valeur de vos données.