Réseaux neuronaux convolutifs

Effectué

Remarque

Pour plus d’informations, consultez l’onglet Texte et images !

La possibilité d’utiliser des filtres pour appliquer des effets aux images est utile dans les tâches de traitement d’images, telles que vous pouvez effectuer avec le logiciel d’édition d’images. Toutefois, l’objectif de la vision par ordinateur est souvent d’extraire de la signification, ou au moins des insights actionnables, à partir d’images ; qui nécessite la création de modèles Machine Learning formés pour reconnaître des fonctionnalités basées sur de grands volumes d’images existantes.

Conseil / Astuce

Cette unité part du principe que vous connaissez les principes fondamentaux du Machine Learning et que vous avez des connaissances conceptuelles sur l’apprentissage profond avec les réseaux neuronaux. Si vous débutez avec le Machine Learning, envisagez d’effectuer le module Présentation des concepts de Machine Learning sur Microsoft Learn.

L’une des architectures de modèle machine learning les plus courantes pour la vision par ordinateur est un réseau neuronal convolutionnel (CNN), un type d’architecture d’apprentissage profond. Les cnn utilisent des filtres pour extraire des mappages de caractéristiques numériques à partir d’images, puis alimentent les valeurs des fonctionnalités dans un modèle d’apprentissage profond pour générer une prédiction d’étiquette. Par exemple, dans un scénario de classification d’images, l’étiquette représente le sujet principal de l’image (autrement dit, qu’est-ce qu’une image de ?). Vous pouvez entraîner un modèle CNN avec des images de différents types de fruits (comme la pomme, la banane et l’orange) afin que l’étiquette prédite soit le type de fruit dans une image donnée.

Pendant le processus d’entraînement d’un CNN, les noyaux de filtre sont initialement définis à l’aide de valeurs de poids générées de manière aléatoire. Ensuite, à mesure que le processus d’entraînement progresse, les prédictions des modèles sont évaluées par rapport aux valeurs d’étiquette connues et les pondérations de filtre sont ajustées pour améliorer la précision. Finalement, le modèle de classification d’images de fruits entraîné utilise les poids de filtre qui permettent d’extraire les caractéristiques qui aident à identifier différents types de fruits.

Le diagramme suivant illustre le fonctionnement d’un cnn pour un modèle de classification d’images :

Diagramme d’un réseau neuronal convolutionnel.

  1. Les images avec des étiquettes connues (par exemple, 0 : pomme, 1 : banane, ou 2 : orange) sont transmises au réseau pour entraîner le modèle.
  2. Une ou plusieurs couches de filtres sont utilisées pour extraire des fonctionnalités de chaque image, car elles sont alimentées via le réseau. Les noyaux de filtre commencent par des pondérations attribuées de manière aléatoire et génèrent des tableaux de valeurs numériques appelées mappages de caractéristiques. Des couches supplémentaires peuvent « regrouper » ou « réduire » les cartes de caractéristiques pour créer des tableaux plus petits qui mettent en évidence les principales caractéristiques visuelles extraites par les filtres.
  3. Les mappages de caractéristiques sont aplatits en un tableau unidimensionnel de valeurs de caractéristiques.
  4. Les valeurs de fonctionnalité sont transmises à un réseau neuronal entièrement connecté.
  5. La couche de sortie du réseau neuronal utilise une fonction softmax ou similaire pour produire un résultat qui contient une valeur de probabilité pour chaque classe possible, par exemple [0.2, 0.5, 0.3].

Pendant l’entraînement, les probabilités de sortie sont comparées à l’étiquette de classe réelle , par exemple, une image d’une banane (classe 1) doit avoir la valeur [0,0, 1,0, 0,0]. La différence entre les scores de classe prédits et réels est utilisée pour calculer la perte dans le modèle, et les poids dans le réseau neuronal entièrement connecté et les noyaux de filtre dans les couches d’extraction de caractéristiques sont modifiés pour réduire la perte.

Le processus d’entraînement se répète sur plusieurs époques jusqu’à ce qu’un ensemble optimal de poids ait été appris. Ensuite, les pondérations sont enregistrées et le modèle peut être utilisé pour prédire les étiquettes pour les nouvelles images pour lesquelles l’étiquette est inconnue.

Remarque

Les architectures CNN incluent généralement plusieurs couches de filtre convolutionnelle et des couches supplémentaires pour réduire la taille des mappages de caractéristiques, limiter les valeurs extraites et manipuler les valeurs des caractéristiques. Ces couches ont été omises dans cet exemple simplifié pour se concentrer sur le concept clé, c’est-à-dire que les filtres sont utilisés pour extraire des caractéristiques numériques d’images, qui sont ensuite utilisées dans un réseau neuronal pour prédire les étiquettes d’images.