Le réseau neuronal convolutif est un algorithme de deep learning utilisé pour les tâches de classification et de computer vision. Il permet d’apprendre directement à partir des données sans avoir à extraire les caractéristiques manuellement.
Depuis des dizaines d’années, les chercheurs en IA s’appliquent à inculquer aux machines l’intelligence au niveau des humains. D’une certaine manière, ils ont réussi à développer des capacités cognitives comme le traitement du langage ou la perception visuelle. Et derrière toutes ces avancées se tiennent différentes techniques qui permettent aux machines d’agir sans intervention humaine.
Qu’est-ce qu’un réseau neuronal convolutif ?
Le machine learning est une catégorie d’intelligence artificielle qui permet aux machines d’apprendre par elles-mêmes. Il repose sur les réseaux neuronaux, aussi appelés les réseaux de neurones artificiels qui tiennent leur noms des neurones biologiques du cerveau. En d’autres termes, il s’agit d’une structure qui imite la manière dont les neurones transmettent les signaux entre eux. Chaque réseau de neurones artificiels correspond à des couches de nœuds qui comprennent une couche d’entrée, des couches cachées et une couche de sortie.
Maintenant, un réseau neuronal convolutif (CNN) est un algorithme de deep learning, un sous-ensemble du machine learning, généralement utilisé pour la vision par ordinateur et les tâches de classification. En termes simples, il permet d’attribuer des caractéristiques aux éléments constitutifs d’une entrée pour les différencier les uns des autres. Si auparavant l’extraction de ces caractéristiques se faisait manuellement, le CNN le fait directement à partir des données.
Un réseau neuronal convolutif, comment ça fonctionne ?
La principale distinction entre le machine learning et le deep learning est le nombre de couches. Plus ce nombre augmente, plus l’apprentissage devient complexe. De ce fait, un réseau neuronal convolutif comporte aussi plusieurs couches pouvant aller de dizaines à des centaines.
Les couches correspondent à des filtres qui modifient les données d’entrée afin d’extraire les caractéristiques spécifiques. Elles comprennent également une couche d’entrée et de sortie ainsi que des couches cachées. Un réseau neuronal convolutif peut comprendre trois types de couches : la couche convolutionnelle, la couche de pooling et la couche entièrement connectée.
La couche convolutionnelle
Il s’agit de la partie la plus importante du réseau neuronal convolutif. Entre autres, le filtre se déplace dans les champs réceptifs de l’image d’entrée pour extraire les caractéristiques afin de les cartographier. Cette carte est appelée la carte de caractéristiques ou d’activation.
Notons que la valeur de sortie de la carte d’activation ne correspond pas forcément à la valeur de l’image d’entrée. Néanmoins, la taille reste fixe et si ce n’est pas le cas, certains paramètres doivent être définis avant de former le réseau. Il s’agit notamment du nombre de filtres, de la stride (nombre de pixels la fenêtre se déplace) et du padding. Le padding consiste à ajouter une valeur zéro aux éléments de la matrice qui ne sont pas adaptés à l’image d’entrée pour pour produire une sortie de taille égale.
Rappelons également qu’un réseau neuronal peut comprendre plus d’une couche convolutionnelle. À mesure que le nombre de couches augmente, les filtres peuvent extraire des caractéristiques plus détaillées.
La couche de pooling
À la différence de la couche convolutionnelle, la couche de pooling réalise un sous-échantillonnage non linéaire. Autrement dit, elle réduit le nombre de paramètres afin de simplifier l’apprentissage par le réseau neuronal convolutif. Il s’agit donc d’effectuer une réduction de la dimensionnalité. La couche de pooling peut s’y prendre de deux manières différentes. Le max pooling consiste à sélectionner la valeur maximale pour envoyer à la matrice de sortie tandis que l’average pooling calcule la valeur moyenne dans le champ réceptif.
La couche entièrement connectée
Dans ce troisième type de couche, la valeur des pixels de l’image d’entrée est directement connectée à celle de la matrice de sortie. En d’autres termes, il s’agit d’une couche de classification qui utilise la technique Softmax. À l’instar des couches convolutionnelles et de pooling, la couche entièrement connectée peut être suivie de plusieurs couches qui répètent le même processus dans le but d’extraire plus de caractéristiques.
Utilisation d’un réseau neuronal convolutif
Vous l’aurez compris, un réseau neuronal convolutif extrait les caractéristiques pour apprendre directement à partir des données. Cela permet d’éviter une extraction manuelle. Cette capacité est particulièrement utile dans pour les tâches de classification ou de computer vision, notamment la reconnaissance d’images.
Comme exemple d’application des CNN, nous pouvons citer l’imagerie médicale, les systèmes d’aide à la conduite et de conduite autonome ou encore les systèmes de recommandation pour le marketing.
- Partager l'article :