Les réseaux neuronaux convolutifs utilisent des données tridimensionnelles pour les tâches de classification d’images et de reconnaissance d’objets.
Les réseaux neuronaux constituent un sous-ensemble du machine learning et sont au cœur des algorithmes d’apprentissage profond. Ils se composent de couches de nœuds contenant une couche d’entrée, une ou plusieurs couches masquées et une couche de sortie. Chaque nœud se connecte à un autre et possède un poids et un seuil associés. Si la valeur de sortie d’un nœud individuel est supérieure à la valeur de seuil spécifiée, ce nœud est activé, envoyant les données à la couche suivante du réseau. Dans le cas contraire, aucune donnée n’est transmise à la couche suivante.
Cet article se concentrait principalement sur les réseaux à propagation avant, mais il existe différents types de réseaux de neurones, utilisés pour différents cas d’utilisation et types de données. Par exemple, les réseaux de neurones récurrents sont couramment utilisés pour le traitement automatique du langage naturel et la reconnaissance vocale, tandis que les réseaux de neurones convolutifs (ConvNets ou CNN) sont plus souvent utilisés pour les tâches de classification et de vision par ordinateur. Avant les CNN, des méthodes manuelles et chronophages d’extraction des caractéristiques étaient utilisées pour identifier des objets dans les images. Cependant, les réseaux de neurones convolutifs offrent désormais une approche plus évolutive des tâches de classification des images et de reconnaissance d’objets, en exploitant les principes d’algèbre linéaire, en particulier la multiplication matricielle, pour identifier les modèles au sein d’une image. Cela dit, ils peuvent être exigeants en termes de calcul, nécessitant des unités de traitement graphique (GPU) pour entraîner les modèles.
Les réseaux neuronaux convolutifs (CNN) se distinguent des autres réseaux neuronaux par leurs performances supérieures avec des entrées de signaux d’image, de parole ou audio. Ils présentent trois principaux types de couches :
La couche de convolution est la première couche d'un réseau convolutif. Bien qu'elle puisse être suivie de couches de convolution supplémentaires ou de couches de pooling, la couche entièrement connectée est la couche finale. Avec chaque couche, le CNN augmente sa complexité, identifiant de plus grandes portions de l’image. Les couches précédentes se concentrent sur des caractéristiques simples, telles que les couleurs et les bords. À mesure que les données image progressent dans les couches du CNN, celui-ci commence à reconnaître des éléments ou des formes plus importants de l’objet jusqu’à ce qu’il identifie enfin l’objet attendu.
La couche convolutive est le bloc fonctionnel principal d’un CNN ; c’est là que se produit la majorité des calculs. Elle nécessite quelques composants, à savoir des données d’entrée, un filtre et une carte de caractéristiques (ou « feature map »). Supposons que l’entrée soit une image couleur, composée d’une matrice de pixels en 3D. Cette entrée aura alors trois dimensions (hauteur, largeur et profondeur) qui correspondent à la combinaison RVB dans une image. Nous disposons également d’un détecteur de caractéristiques, également connu sous le nom de noyau ou de filtre, qui se déplacera sur les champs réceptifs de l’image pour vérifier si la caractéristique est présente. Ce processus est appelé convolution.
Le détecteur de caractéristiques est une matrice de poids bidimensionnelle (2D), qui représente une partie de l’image. Bien que la taille puisse varier, le filtre est généralement une matrice 3x3 ; cela détermine également la taille du champ réceptif. 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 intégré dans une matrice de sortie. Puis, le filtre se décale d’un cran pour répéter le processus jusqu’à ce que le noyau ait balayé toute l’image. La sortie finale de la série de produits scalaires issus de l’entrée et du filtre est connue sous le nom de carte de caractéristiques, carte d’activation, feature map ou caractéristique convoluée.
Notez que les pondérations dans le détecteur de caractéristiques restent fixes lorsqu’il se déplace sur l’image, ce qui est également connu sous le nom de partage de paramètres. Certains paramètres, comme les valeurs de pondérations, s’ajustent pendant l’entraînement grâce au processus de rétropropagation et de descente de gradient. Cependant, il existe trois hyperparamètres qui affectent la taille du volume de sortie et qui doivent être définis avant le début de l’entraînement du réseau neuronal. On trouve notamment :
1. Le nombre de filtres affecte la profondeur de la sortie. Par exemple, trois filtres distincts donneraient trois cartes de caractéristiques différentes, créant une profondeur de trois.
2. Le pas est la distance, ou le nombre de pixels, que le noyau parcourt sur la matrice d’entrée. Bien que des valeurs de pas égales ou supérieures à deux soient rares, un pas plus grand produit une sortie plus faible.
3. La marge, ou zero-padding est généralement utilisée lorsque les filtres ne correspondent pas à l’image d’entrée. Cela met à zéro tous les éléments qui se trouvent en dehors de la matrice d’entrée, produisant une sortie plus grande ou de taille égale. Il existe trois types de marges :
Après chaque opération de convolution, un CNN applique une transformation ReLU (unité de rectification linéaire) sur la carte d'activation, ce qui permet d'introduire une non-linéarité dans le modèle.
Comme nous l’avons mentionné précédemment, une autre couche de convolution peut suivre la couche de convolution initiale. Dans ce cas, la structure du CNN peut devenir hiérarchique, car les couches suivantes peuvent voir les pixels dans les champs réceptifs des couches précédentes. Supposons par exemple que nous cherchions à déterminer si une image contient un vélo. Nous pouvons considérer le vélo comme un ensemble de parties : il est composé d’un cadre, d’un guidon, de roues, de pédales, etc. Chaque partie du vélo constitue un schéma de niveau inférieur dans le réseau neuronal, et la combinaison de ses parties représente un schéma de niveau supérieur, créant ainsi une hiérarchie de caractéristiques au sein du CNN. Enfin, la couche convolutionnelle convertit l’image en valeurs numériques, ce qui permet au réseau neuronal d’interpréter et d’extraire des modèles pertinents.
Les couches de pooling, également appelée couches de sous-échantillonnage, permettent de réduire la dimensionnalité, c'est-à-dire de réduire le nombre de paramètres d'entrée. Comme pour la couche de convolution, l'opération de pooling balaie un filtre sur toute l'entrée, à la différence que ce filtre n'a aucun poids. Au lieu de cela, le noyau applique une fonction d'agrégation aux valeurs du champ réceptif, remplissant ainsi la matrice de sortie. Il existe deux principaux types de pooling :
Bien que de nombreuses informations soient perdues dans la couche de pooling, celle-ci présente malgré tout un certain nombre d'avantages pour le CNN. Elle permet de réduire la complexité, d'améliorer l'efficacité et de limiter le risque de surajustement.
La couche entièrement connectée porte bien son nom. Comme mentionné précédemment, les valeurs de pixel de l'image d'entrée ne sont pas directement connectées à la couche de sortie dans les couches partiellement connectées. Cependant, dans la couche entièrement connectée, chaque nœud de la couche de sortie se connecte directement à un nœud de la couche précédente.
Cette couche effectue la classification en fonction des caractéristiques extraites à partir des couches précédentes et de leurs différents filtres. Alors que les couches de convolution et de pooling ont tendance à utiliser les fonctions ReLu, les couches FC exploitent généralement une fonction d'activation softmax pour classer les entrées de manière appropriée, produisant une probabilité de 0 à 1.
Kunihiko Fukushima et Yann LeCun ont respectivement posé les bases de la recherche sur les réseaux neuronaux convolutifs dans leurs travaux de 1980 (lien externe à ibm.com) et de 1989, « Backpropagation Applied to Handwritten Zip Code Recognition ». Yann LeCun est connu pour être parvenu à appliquer la rétropropagation pour entraîner les réseaux neuronaux à identifier et à reconnaître les modèles au sein d’une série de codes postaux manuscrits. Son équipe et lui ont poursuivi leurs recherches au cours des années 90, pour aboutir à « LeNet-5 », qui a permis d’appliquer les mêmes principes de recherche préalable à la reconnaissance des documents. Depuis, plusieurs architectures CNN diverses ont vu le jour avec l’introduction de nouveaux jeux de données, tels que MNIST et CIFAR-10, et de compétitions, comme l’ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Voici quelques-unes de ces architectures :
Cependant, LeNet-5 est connu comme l'architecture CNN classique.
Les réseaux neuronaux convolutifs alimentent les tâches de reconnaissance d’images et de vision par ordinateur. La vision par ordinateur est un domaine d’intelligence artificielle (IA) qui permet aux ordinateurs et aux systèmes d’extraire des informations pertinentes à partir d’images, de vidéos et d’autres entrées visuelles numériques, pour prendre des mesures selon ces entrées. Cette capacité à fournir des recommandations la distingue des tâches de reconnaissance d’images. Voici quelques domaines d’application courants de la vision par ordinateur :
Acquérez une compréhension approfondie des réseaux neuronaux, de leurs fonctions de base et des principes fondamentaux de leur construction.
IBM Granite est notre famille de modèles d’IA ouverts, performants et fiables, conçus pour les entreprises et optimisés pour dimensionner vos applications d’IA. Explorez les options de langage, de code, de séries temporelles et de garde-fous.
Nous avons interrogé 2 000 entreprises à propos de leurs initiatives d’IA pour découvrir ce qui fonctionne, ce qui ne fonctionne pas et comment progresser.
Découvrez comment intégrer en toute confiance l’IA générative et le machine learning dans votre entreprise.
Découvrez comment choisir le modèle de fondation d’IA le mieux adapté à votre cas d’utilisation.
Découvrez comment les PDG peuvent trouver un équilibre entre la valeur que l’IA générative peut créer, l’investissement qu’elle exige et les risques qu’elle introduit.
Vous voulez obtenir un meilleur retour sur vos investissements dans l’IA ? Découvrez comment la mise à l’échelle de l’IA générative dans des domaines clés favorise le changement en aidant vos meilleurs éléments à créer et à fournir de nouvelles solutions innovantes.
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.