Les réseaux neuronaux con­vo­lu­tifs, appelés en anglais Con­vo­lu­tio­nal Neural Networks et souvent abrégés en CNN ou ConvNets, sont des réseaux neuronaux ar­ti­fi­ciels dont les couches (Con­vo­lu­tio­nal Layer) sont ap­pli­quées aux données d’entrée afin d’extraire des ca­rac­té­ris­tiques et fi­na­le­ment d’iden­ti­fier un objet. Cela fait des ConvNets un élément important du Deep Learning.

Qu’est-ce qu’un Con­vo­lu­tio­nal Neural Network ?

Les Con­vo­lu­tio­nal Neural Networks sont des types spé­cia­li­sés de réseaux neuronaux ar­ti­fi­ciels qui sont par­ti­cu­liè­re­ment efficaces pour traiter et analyser des données visuelles telles que des images et des vidéos. Ces réseaux sont im­por­tants pour le Machine Learning, et en par­ti­cu­lier pour le Deep Learning.

Les ConvNets se composent de couches de nœuds qui com­pren­nent une couche d’entrée, une ou plusieurs couches cachées et une couche de sortie. Les dif­fé­rents nœuds sont reliés entre eux et disposent d’une pon­dé­ra­tion et d’une valeur seuil cor­res­pon­dantes. Dès que la sortie d’un seul nœud dépasse le seuil indiqué, celui-ci est activé et envoie des données à la couche suivante du réseau.

Il existe dif­fé­rents types de réseaux neuronaux, utilisés pour dif­fé­rentes ap­pli­ca­tions et dif­fé­rents types de données. Par exemple, les réseaux neuronaux ré­cur­rents sont souvent utilisés pour le trai­te­ment du langage naturel et la re­con­nais­sance vocale, tandis que les réseaux neuronaux con­vo­lu­tifs sont plus souvent utilisés pour des tâches de clas­si­fi­ca­tion et de vision par or­di­na­teur. Leur capacité à re­con­naître des modèles complexes dans les données en fait un outil important de l’in­tel­li­gence ar­ti­fi­cielle.

Structure et cons­truc­tion des ConvNets

Les ConvNets se dis­tin­guent des autres réseaux neuronaux par leurs per­for­mances su­pé­rieures dans le trai­te­ment des signaux d’image, vocaux ou audio. Ils ont trois types prin­ci­paux de couches et avec chacune d’elles, le CNN devient plus complexe : il identifie alors, par exemple, des parties plus grandes d’une image.

AI Model Hub
Votre pla­te­forme d'IA mul­ti­mo­dale sécurisée
  • Conforme au RGPD et hébergée en toute sécurité en Europe
  • Modèles d'IA les plus puissants
  • Open source, sans vendor lock-in

Com­pa­ti­bi­lité d’une image avec l’al­go­rithme des ConvNets

Les images sont reconnues par les or­di­na­teurs comme des com­bi­nai­sons de chiffres, ergo le nombre de pixels. C’est également le cas de l’al­go­rithme CNN : une image en noir et blanc de longueur m et de largeur n est re­pré­sen­tée par un tableau bi­di­men­sion­nel de taille m x n ; dans le cas d’une image en couleur de même taille, c’est un tableau tri­di­men­sion­nel qui est utilisé. Chaque cellule de ce tableau contient la valeur de pixel cor­res­pon­dante et chaque image est re­pré­sen­tée par les valeurs de pixel cor­res­pon­dantes dans trois canaux dif­fé­rents, ap­par­te­nant res­pec­ti­ve­ment à un canal rouge, bleu et vert.

Les prin­ci­pales ca­rac­té­ris­tiques de l’image sont ensuite iden­ti­fiées. Celles-ci sont extraites à l’aide d’une méthode connue sous le nom de con­vo­lu­tion. Il s’agit d’une opération par laquelle une fonction modifie (ou plie) la forme d’une autre fonction. Les con­vo­lu­tions dans les images sont gé­né­ra­le­ment utilisées pour diverses raisons, comme l’ac­cen­tua­tion, le lissage et le ren­for­ce­ment. Dans les ConvNets, en revanche, les con­vo­lu­tions sont utilisées pour extraire des ca­rac­té­ris­tiques mar­quantes des images.

Pour extraire des ca­rac­té­ris­tiques im­por­tantes d’une image, on utilise un filtre ou un noyau. Un filtre est un tableau qui re­pré­sente la ca­rac­té­ris­tique à extraire. Ce filtre est placé sur le tableau d’entrée et le tableau résultant est un tableau bi­di­men­sion­nel contenant la cor­ré­la­tion de l’image par rapport au filtre utilisé. La matrice de sortie est appelée Feature Map (carte des ca­rac­té­ris­tiques).

Ca­rac­té­ris­tiques des dif­fé­rentes couches de con­vo­lu­tion

Pendant le processus de con­vo­lu­tion, le champ d’entrée est trans­formé en un champ plus petit, tout en con­ser­vant la cor­ré­la­tion spatiale entre les pixels grâce à l’ap­pli­ca­tion de filtres. Les trois prin­ci­paux types de couches con­vo­lu­tives sont présentés ci-dessous :

  • Con­vo­lu­tio­nal Layer : la couche de con­vo­lu­tion est la première couche d’un réseau con­vo­lu­tif. Elle utilise des filtres (petites matrices de poids) qui glissent sur l’image pour détecter des ca­rac­té­ris­tiques locales telles que les bords, les coins et les textures. Chaque filtre crée une carte de ca­rac­té­ris­tiques qui met en évidence des motifs spé­ci­fiques. Une autre couche de con­vo­lu­tion peut suivre la première couche de con­vo­lu­tion, rendant ainsi la structure du CNN hié­rar­chique, puisque les couches ul­té­rieures peuvent voir les pixels à l’intérieur des champs réceptifs des couches pré­cé­dentes.
  • Pooling Layer : la couche de pooling réduit la taille des Feature Maps en re­grou­pant les zones locales et en rejetant les in­for­ma­tions non per­ti­nentes. Cela réduit la com­plexité des calculs tout en con­ser­vant les in­for­ma­tions les plus im­por­tantes.
  • Fully Connected Layer : cette couche « en­tiè­re­ment connectée » relie tous les neurones entre eux, comme dans un réseau neuronal naturel. Elle sert à la clas­si­fi­ca­tion finale et combine les ca­rac­té­ris­tiques extraites pour prendre une décision, jusqu’à ce qu’elle identifie fi­na­le­ment l’objet souhaité.

Il­lus­tra­tion du processus de con­vo­lu­tion

Imaginons : vous essayez de dé­ter­mi­ner si une image contient un visage humain. Vous pouvez vous re­pré­sen­ter le visage comme une somme de ses parties : il a deux yeux, un nez, une bouche, deux oreilles et ainsi de suite. Le processus de con­vo­lu­tion se dé­rou­le­rait comme suit :

  1. Première couche de con­vo­lu­tion : les premières couches de con­vo­lu­tion utilisent des filtres pour re­con­naître les ca­rac­té­ris­tiques à partir des pixels in­di­vi­duels. Par exemple, un filtre peut détecter une arête verticale qui pourrait re­pré­sen­ter le bord d’un œil. Comme nous l’avons déjà mentionné, les ca­rac­té­ris­tiques locales forment des modèles qui sont en­re­gis­trés lors de la con­vo­lu­tion dans une Feature Map. Dans ce cas, une Feature Map pourrait re­pré­sen­ter les bords des yeux, du nez et de la bouche.
  2. Couches de con­vo­lu­tion sup­plé­men­taires : les couches de con­vo­lu­tion peuvent être suivies par d’autres couches de con­vo­lu­tion ou couches de re­grou­pe­ment. Les dif­fé­rentes couches de con­vo­lu­tion combinent les ca­rac­té­ris­tiques simples en motifs plus complexes. Ainsi, les bords et les coins pour­raient être combinés pour former des formes re­pré­sen­tant des yeux. Ces couches voient des zones plus grandes de l’image (champs réceptifs) et re­con­nais­sent ainsi des struc­tures composées, appelées hié­rar­chies de ca­rac­té­ris­tiques, au sein des couches de con­vo­lu­tion. Une couche ul­té­rieure pourrait re­con­naître que deux yeux et une bouche dans une certaine dis­po­si­tion forment un visage.
  3. Couches de pooling : elles réduisent la taille des Feature Maps et rendent les ca­rac­té­ris­tiques plus abs­traites. Ce faisant, les ca­rac­té­ris­tiques es­sen­tielles sont con­ser­vées et le nombre de données à traiter est réduit.
  4. Couche fully connected : enfin, la dernière couche du ConvNet, la couche fully connected, est créée. Dans notre exemple, elle donnerait l’image d’un visage humain qui, grâce à la con­vo­lu­tion, pourrait être clai­re­ment distingué d’un autre visage.
Image: Schéma d’un réseau neuronal convolutionnel
Les ConvNets extraient au­to­ma­ti­que­ment les ca­rac­té­ris­tiques per­ti­nentes et iden­ti­fient les objets dans les images.

Des tech­niques telles que le dropout et la ré­gu­la­ri­sa­tion op­ti­mi­sent les réseaux en empêchant la su­ra­dap­ta­tion. Les fonctions d’ac­ti­va­tion telles que ReLU (Rectified Linear Unit ou Unité Linéaire Rectifiée) assurent la non-linéarité et aident le réseau à re­con­naître des modèles plus complexes en ne faisant pas effectuer les mêmes calculs à tous les neurones. De plus, la nor­ma­li­sa­tion par lots stabilise et accélère l’ap­pren­tis­sage en traitant les données de manière plus régulière.

Domaines d’ap­pli­ca­tion des Con­vo­lu­tio­nal Neural Networks

Avant l’ap­pa­ri­tion des CNN, des méthodes manuelles et fas­ti­dieuses d’ex­trac­tion de ca­rac­té­ris­tiques étaient utilisées pour iden­ti­fier des objets dans des images. Les réseaux neuronaux con­vo­lu­tifs offrent une approche plus évolutive pour les tâches de clas­si­fi­ca­tion d’images et de re­con­nais­sance d’objets. Ils utilisent les principes de l’algèbre linéaire, notamment la mul­ti­pli­ca­tion ma­tri­cielle, pour iden­ti­fier des motifs dans une image. Les ConvNets trouvent aujourd’hui de nom­breuses ap­pli­ca­tions dans :

  • La re­con­nais­sance d’images et de la parole : ils servent à la re­con­nais­sance au­to­ma­tique d’objets ou de personnes dans des images et des vidéos, pour les services de tag photo sur les smart­phones, pour les systèmes de re­con­nais­sance faciale ou encore pour les as­sis­tants vocaux comme Siri ou Alexa.
  • Le diag­nos­tic médical : ils sont utiles pour l’analyse d’images médicales grâce à la re­con­nais­sance d’images par IA pour aider à établir un diag­nos­tic, dans le cadre de ra­dio­gra­phies, de scanners et ou d’IRM.
  • Les véhicules autonomes : ils per­met­tent la re­con­nais­sance des ca­rac­té­ris­tiques de la route et des obstacles, notamment pour les voitures à conduite au­to­ma­tique.
  • Les réseaux sociaux : les Con­vo­lu­tio­nal Neuronal Networks peuvent être utilisés dans le cadre de text mining sur les réseaux pour modérer au­to­ma­ti­que­ment le contenu et créer des pu­bli­ci­tés per­son­na­li­sées.
  • Le marketing et la vente au détail : par exemple, la recherche visuelle de produits et placement de produits grâce au data mining.
Outils d'IA
Exploitez toute la puissance de l'in­tel­li­gence ar­ti­fi­cielle
  • Créez votre site Web en un temps record
  • Boostez votre activité grâce au marketing par IA
  • Gagnez du temps et obtenez de meilleurs résultats

Les avantages et in­con­vé­nients des Con­vo­lu­tio­nal Neural Networks

Les ConvNets peuvent extraire au­to­ma­ti­que­ment des ca­rac­té­ris­tiques per­ti­nentes des données et atteindre une grande précision. Cependant, les entraîner ef­fi­ca­ce­ment nécessite des res­sources in­for­ma­tiques con­si­dé­rables, car ils ont besoin de grandes quantités de données éti­que­tées et de puissants GPU pour fournir de bons résultats.

Avantages In­con­vé­nients
Ex­trac­tion au­to­ma­ti­sée de ca­rac­té­ris­tiques Charge de calcul né­ces­saire élevée
Précision élevée Requiert de grands ensembles de données
En résumé

Les CNN ont ré­vo­lu­tionné le domaine de l’in­tel­li­gence ar­ti­fi­cielle et offrent d’immenses avantages dans dif­fé­rents domaines. Les dé­ve­lop­pe­ments futurs, tels que les amé­lio­ra­tions ma­té­rielles, les nouvelles méthodes de collecte de données ou les ar­chi­tec­tures avancées telles que les réseaux cap­su­laires, pour­raient permettre une op­ti­mi­sa­tion et une in­té­gra­tion plus poussées dans dif­fé­rentes tech­no­lo­gies, ce qui per­met­trait une uti­li­sa­tion encore plus large des CNN.

Aller au menu principal