Browsing Tag

reconnaissance faciale

convolutional-neural-network
Définitions

Qu’est-ce qu’un convolutional neural network ?

Le convolutional neural network est une forme spéciale du réseau neuronal artificiel. Il comporte plusieurs couches de convolution et est très bien adapté à l’apprentissage automatique et aux applications avec Intelligence artificielle (IA) dans le domaine de la reconnaissance d’images et de la parole, de la vente et du marketing ciblé et bien plus encore.

Introduction au convolutional neural network

L’appellation convolutional neural network signifie « réseau neuronal convolutif » en Français. L’abréviation est CNN. Il s’agit d’une structure particulière d’un réseau de neurones artificiels spécialement conçu pour l’apprentissage automatique et le traitement d’images ou de données audio.

Dans une certaine mesure, son fonctionnement est calqué sur les processus biologiques derrières les réflexions du cerveau humain. La structure est similaire à celle du cortex visuel d’un cerveau. Le convolutional neural network se compose de plusieurs couches. La formation d’un réseau de neurones convolutifs se déroule généralement de manière supervisée. L’un des fondateurs du réseau de neurones convolutifs est Yann Le Cun.

Mise en place d’un convolutional neural network

Des neurones selon une structure entièrement ou partiellement maillés à plusieurs niveaux composent les réseaux de neurones conventionnels. Ces structures atteignent leurs limites lors du traitement d’images, car il faudrait disposer d’un nombre d’entrées correspondant au nombre de pixels. Le nombre de couches et les connexions entre elles seraient énormes et ne seraient gérables que par des ordinateurs très puissants. Différentes couches composent un réseau neuronal convolutif. Son principe de base est un réseau neuronal à propagation avant ou feedforward neural network partiellement maillé.

couches-cnn

Les couches individuelles de CNN sont :

  • Convolutional layers ou couches de convolution (CONV)
  • Pooling layers ou couches de Pooling (POOL)
  • ReLU layers ou couches d’activation ReLU (Rectified Linear Units)
  • Fully Connected layers ou couches Fully Connected (FC)

La couche de Pooling suit la couche de convolution et cette combinaison peut être présente plusieurs fois l’une derrière l’autre. La couche de Pooling et la couche de convolution étant des sous-réseaux maillés localement, le nombre de connexions dans ces couches reste limité et dans un cadre gérable, même avec de grandes quantités d’entrées. Une couche Fully Connected forme la fin de la structure.

Les tâches individuelles de chacune des couches

La couche de convolution est le plan de pliage réel. Elle est capable de reconnaître et d’extraire des caractéristiques individuelles dans les données d’entrée. Dans le traitement d’image, il peut s’agir de caractéristiques telles que des lignes, des bords ou certaines formes. Les données d’entrée sont traitées sous la forme d’une matrice. Pour ce faire, on utilise des matrices d’une taille définie (largeur x hauteur x canaux).

La couche de Pooling se condense et réduit la résolution des entités reconnues. À cette fin, elle utilise des méthodes telles que la mise en commun maximale ou la mise en commun de la valeur moyenne. La mise en commun élimine les informations inutiles et réduit la quantité de données. Cela ne réduit pas les performances du Machine Learning. Au contraire, la vitesse de calcul augmente en raison du volume de données réduit.

La couche d’activation ReLU permet un entraînement plus rapide et plus efficace en définissant les valeurs négatives sur zéro et en conservant les valeurs positives. Seules les fonctionnalités activées passent à la couche suivante.

La couche Fully Connected forme la fin d’un convolutional neural network CNN. Elle rejoint les séquences répétées des couches de convolution et de Pooling. Toutes les caractéristiques et tous les éléments des couches en amont sont liés à chaque caractéristique de sortie. Les neurones entièrement connectés peuvent être disposés dans plusieurs plans. Le nombre de neurones dépend des classes ou des objets que le réseau de neurones doit distinguer.

La méthode de travail à l’exemple de la reconnaissance d’image

Un CNN peut avoir des dizaines ou des centaines de couches qui apprennent à détecter différentes caractéristiques d’une image. Les filtres sont appliqués à chaque image d’apprentissage à différentes résolutions. La sortie de chaque image alambiquée est utilisée comme entrée pour la couche suivante. Les filtres peuvent aller de caractéristiques très simples telles que la luminosité et les contours à des caractéristiques plus complexes comme des spécificités qui définissent l’objet de manière unique.

Fonctionnalités d’apprentissage

Comme d’autres réseaux de neurones, une couche d’entrée, d’une couche de sortie et de nombreuses couches intermédiaires cachées composent un CNN. Ces couches effectuent des opérations qui modifient les données afin d’apprendre les caractéristiques spécifiques de ces données. Ces opérations se répètent en dizaines ou centaines de couches. Ainsi, chaque couche apprenne à identifier des caractéristiques différentes.

apprentissage-convolutional-neural-network

Poids partagé et valeurs de biais

Comme un réseau de neurones traditionnel, un CNN se compose de neurones avec des poids et des biais. Le modèle apprend ces valeurs au cours du processus de formation et les met continuellement à jour à chaque nouvel exemple de formation. Cependant, dans le cas des CNN, les valeurs des poids et des biais sont les mêmes pour tous les neurones cachés dans une couche spécifique.

Cela signifie que tous les neurones cachés détectent la même caractéristique telle qu’une bordure ou un point dans différentes régions de l’image. Cela permet au réseau de tolérer la traduction d’objets dans une image. Par exemple, un réseau formé à la reconnaissance des voitures pourra le faire partout où la voiture se trouve sur l’image.

Couches de classification

Après avoir appris les fonctionnalités multicouches, l’architecture d’un CNN passe à la classification. L’avant-dernière couche est entièrement connectée et produit un vecteur K-dimensionnel. Ici, K est le nombre de classes que le réseau pourra prédire. Ce vecteur contient les probabilités pour chaque classe de toute image classée. La couche finale de l’architecture CNN utilise une couche de classification pour fournir la sortie de classification.

Avantages d’un CNN dans le domaine de la reconnaissance d’images

Comparé aux réseaux neuronaux conventionnels, le CNN offre de nombreux avantages :

  • Il convient aux applications d’apprentissage automatique et d’Intelligence artificielle avec de grandes quantités de données d’entrée telles que la reconnaissance d’images.
  • Le réseau fonctionne de manière robuste et est insensible à la distorsion ou à d’autres changements optiques.
  • Il peut traiter des images enregistrées dans différentes conditions d’éclairage et dans différentes perspectives. Les caractéristiques typiques d’une image sont ainsi facilement identifiées.
  • Il nécessite beaucoup moins d’espace de stockage que les réseaux de neurones entièrement maillés. Le CNN est divisé en plusieurs couches locales partiellement maillées. Les couches de convolution réduisent considérablement les besoins de stockage.
  • Le temps de formation d’un CNN est également considérablement réduit. Grâce à l’utilisation de processeurs graphiques modernes, les CNN peuvent être formés de manière très efficace.
  • Il est la technologie de pointe pour le Deep Learning et la classification dans la reconnaissance d’images (image recognition).

Application d’un CNN dans le domaine du marketing

Le CNN est présent dans divers domaines depuis ces dernières années. La biologie l’utilise principalement pour en savoir plus sur le cerveau. En médecine, il fonctionne parfaitement pour la prédiction de tumeurs ou d’anomalies ainsi que pour l’élaboration de diagnostics complexes et de traitements à suivre en fonction des symptômes. Un autre domaine dans lequel il est couramment utilisé est celui de l’environnement. Il permet d’analyser les tendances et les modèles ou les prévisions météorologiques. Dans le domaine de la finance, il est couramment utilisé dans tout ce qui concerne la prévision de l’évolution des prix, l’évaluation ou l’identification du risque de contrefaçon.

Un CNN a de ce fait une application directe dans de nombreux domaines. Et pour faire face à l’accroissement de la quantité de données disponibles, il est également utilisé dans le marketing. En effet, dans le domaine des affaires et plus particulièrement en marketing, il a plusieurs usages :

  • Prédiction des ventes
  • Identification des modèles de comportement
  • Reconnaissance des caractères écrits
  • Prédiction du comportement des consommateurs
  • Personnalisation des stratégies marketing
  • Création et compréhension des segments d’acheteurs plus sophistiqués
  • Automatisation des activités marketing
  • Création de contenu

 crm-convolutional-neural-network

De toutes ses utilisations, la plus grande se trouve dans l’analyse prédictive. Le CNN aide les spécialistes du marketing à faire des prédictions sur le résultat d’une campagne, en reconnaissant les tendances des campagnes précédentes.

Actuellement, avec l’apparition du Big Data, cette technologie est vraiment utile pour le marketing. Les entreprises ont accès à beaucoup données. Grâce au travail de leur équipe experte dans la data science (data scientist, data analyst, data engineer), le développement de modèles prédictifs est beaucoup plus simple et précis. Les spécialistes du marketing pourront ainsi mieux ciblés les prospects alignés sur leurs objectifs.