Qu'est-ce qu'un réseau de neurones convolutif ?

Un réseau de neurones convolutif (CNN) est un type de réseau de neurones artificiel spécialement conçu pour analyser des données visuelles. Inspiré de notre propre système visuel, un réseau CNN apprend à "voir" le monde en identifiant des tendances dans les données visuelles. Mais sa principale force ne réside pas seulement dans la reconnaissance d'images. Elle est aussi capable d'identifier des schémas dans n'importe quel type de données présentant une structure en grille, qu'il s'agisse de spectrogrammes audio ou de scans médicaux en 3D.

Comment fonctionnent les réseaux de neurones convolutifs ?

Les CNN traitent les images d'entrée en les faisant passer par plusieurs couches. Les premières couches identifient des caractéristiques simples comme les bords et les lignes, tandis que les couches plus profondes reconnaissent des motifs et des formes plus complexes, et enfin des objets entiers. Cette méthode d'extraction hiérarchique des caractéristiques est ce qui rend les CNN si efficaces pour la reconnaissance d'images et d'autres tâches de vision par ordinateur.

Les couches CNN

Imaginez un CNN comme une équipe de spécialistes qui analysent une photographie pour identifier un objet. Chaque couche a un rôle spécifique dans une chaîne de montage de reconnaissance.

1. Couche convolutive : les scanners de caractéristiques

Il s'agit du premier groupe de spécialistes. Chacun doit rechercher une caractéristique simple, comme un bord droit, une courbe ou une couleur spécifique. Ils font glisser une petite loupe (le "filtre") sur l'ensemble de l'image et notent chaque fois qu'ils trouvent la caractéristique qui leur a été attribuée. Cela crée un ensemble de "cartes de caractéristiques", qui sont essentiellement des cartes indiquant où se trouvent les caractéristiques de base.

2. Couche d'activation (ReLU) : le filtre de signification

Après le balayage initial, un administrateur (la fonction ReLU) examine les cartes de caractéristiques. Son rôle est simple : conserver les signaux forts et écarter les signaux faibles. Cela introduit la non-linéarité, ce qui garantit que seules les caractéristiques les plus importantes et clairement identifiées sont transmises pour une analyse plus approfondie. Cela évite que le bruit ne vienne perturber le processus.

3. Couche de pooling : les résumeurs

La couche de pooling agit comme un responsable régional. Au lieu d'examiner chaque détail, la couche de pooling résume les résultats obtenus à partir de petits patchs de la carte de caractéristiques. Par exemple, une couche de pooling maximal examine une zone 2x2 d'une carte de caractéristiques et ne signale que le signal le plus fort. Cela réduit la taille globale des données, ce qui rend le réseau plus efficace et l'aide à reconnaître un objet, quelle que soit sa position dans l'image (un concept appelé "invariance par translation").

4. Couche entièrement connectée : le détective en chef

Après plusieurs cycles d'analyse et de synthèse, les rapports finaux sur les caractéristiques sont transmis au détective en chef. Cette couche examine la combinaison de caractéristiques de haut niveau ("a des moustaches", "a des oreilles pointues", "a une texture de fourrure") et prend la décision finale. Il relie toutes les conclusions résumées pour tirer une conclusion, par exemple : "D'après toutes les preuves, l'objet de cette image est un chat." Le résultat est ensuite transmis à une couche de sortie finale (comme softmax) qui donne une probabilité pour chaque classification possible.

CNN et réseaux de neurones traditionnels

Bien que les réseaux de neurones convolutionnels et traditionnels soient conçus pour traiter des données et faire des prédictions, ils diffèrent considérablement dans leur architecture, leur application et d'autres caractéristiques clés.

Fonctionnalité


Réseaux de neurones convolutifs (CNN)

Réseaux de neurones traditionnels

Architecture de base


Composé de couches convolutives, de couches d'activation, de couches de pooling et de couches entièrement connectées.

Se compose principalement de couches entièrement connectées (denses).

Type de données d'entrée

Idéal pour les données structurées en grille (par exemple, les images, les vidéos, les séquences 1D comme le texte).

Flexibilité pour différents types de données, généralement des données tabulaires ou des vecteurs aplatis

Extraction de caractéristiques

Apprend automatiquement les caractéristiques hiérarchiques (arêtes, textures, formes) à l'aide de filtres.

Apprend les caractéristiques par le biais de connexions directes, souvent moins efficace pour l'apprentissage des caractéristiques spatiales.

Relations spatiales

Préserve et exploite explicitement les relations spatiales (par exemple, l'adjacence des pixels dans les images).

Traite chaque caractéristique d'entrée indépendamment ; les relations spatiales sont perdues si l'entrée est aplatie.

Partage de paramètres


Oui, les pondérations (filtres/noyaux) sont partagées entre les différents emplacements de l'entrée.

Non, chaque connexion a son propre poids unique.

Nombre de paramètres

Généralement, moins de paramètres en raison du partage de pondérations et du pooling, en particulier pour les entrées de grande dimension comme les images.

Peut comporter un très grand nombre de paramètres, en particulier pour les entrées de grande dimension.

Invariance par translation

Elles sont intrinsèquement efficaces pour reconnaître les caractéristiques, quelle que soit leur position exacte dans l'entrée.

Plus sensible aux changements dans les caractéristiques d'entrée, sauf si le modèle est explicitement entraîné sur des données augmentées.

Efficacité de calcul

Plus efficace pour les données d'image/spatiales en raison de la réduction des paramètres et des opérations spécialisées.

Peut être coûteux en termes de calcul pour les entrées de grande dimension en raison des connexions denses.

Principales applications

Classification d'images, détection d'objets, segmentation d'images, analyse de vidéos, imagerie médicale, certaines tâches de traitement du langage naturel

Classification/régression de données tabulaires, reconnaissance simple de formes, approximation de fonctions, quelques tâches de NLP.

Principaux avantages

Excellent pour les données visuelles, apprend les caractéristiques hiérarchiques, invariance translationnelle, paramètres réduits, moins sujet au surapprentissage sur les données d'image.

Flexible pour différents types de données, adapté aux données tabulaires non spatiales, plus simple à comprendre conceptuellement pour les tâches de base.

Principales limites

La conception peut être complexe, nécessite généralement de grands ensembles de données pour l'entraînement, moins efficace pour les données tabulaires non spatiales.

Cette approche n'est pas idéale pour les données spatiales à haute dimensionnalité, car elle ignore les relations spatiales et est sujette au surapprentissage avec de nombreux paramètres sur des entrées complexes.

Fonctionnalité


Réseaux de neurones convolutifs (CNN)

Réseaux de neurones traditionnels

Architecture de base


Composé de couches convolutives, de couches d'activation, de couches de pooling et de couches entièrement connectées.

Se compose principalement de couches entièrement connectées (denses).

Type de données d'entrée

Idéal pour les données structurées en grille (par exemple, les images, les vidéos, les séquences 1D comme le texte).

Flexibilité pour différents types de données, généralement des données tabulaires ou des vecteurs aplatis

Extraction de caractéristiques

Apprend automatiquement les caractéristiques hiérarchiques (arêtes, textures, formes) à l'aide de filtres.

Apprend les caractéristiques par le biais de connexions directes, souvent moins efficace pour l'apprentissage des caractéristiques spatiales.

Relations spatiales

Préserve et exploite explicitement les relations spatiales (par exemple, l'adjacence des pixels dans les images).

Traite chaque caractéristique d'entrée indépendamment ; les relations spatiales sont perdues si l'entrée est aplatie.

Partage de paramètres


Oui, les pondérations (filtres/noyaux) sont partagées entre les différents emplacements de l'entrée.

Non, chaque connexion a son propre poids unique.

Nombre de paramètres

Généralement, moins de paramètres en raison du partage de pondérations et du pooling, en particulier pour les entrées de grande dimension comme les images.

Peut comporter un très grand nombre de paramètres, en particulier pour les entrées de grande dimension.

Invariance par translation

Elles sont intrinsèquement efficaces pour reconnaître les caractéristiques, quelle que soit leur position exacte dans l'entrée.

Plus sensible aux changements dans les caractéristiques d'entrée, sauf si le modèle est explicitement entraîné sur des données augmentées.

Efficacité de calcul

Plus efficace pour les données d'image/spatiales en raison de la réduction des paramètres et des opérations spécialisées.

Peut être coûteux en termes de calcul pour les entrées de grande dimension en raison des connexions denses.

Principales applications

Classification d'images, détection d'objets, segmentation d'images, analyse de vidéos, imagerie médicale, certaines tâches de traitement du langage naturel

Classification/régression de données tabulaires, reconnaissance simple de formes, approximation de fonctions, quelques tâches de NLP.

Principaux avantages

Excellent pour les données visuelles, apprend les caractéristiques hiérarchiques, invariance translationnelle, paramètres réduits, moins sujet au surapprentissage sur les données d'image.

Flexible pour différents types de données, adapté aux données tabulaires non spatiales, plus simple à comprendre conceptuellement pour les tâches de base.

Principales limites

La conception peut être complexe, nécessite généralement de grands ensembles de données pour l'entraînement, moins efficace pour les données tabulaires non spatiales.

Cette approche n'est pas idéale pour les données spatiales à haute dimensionnalité, car elle ignore les relations spatiales et est sujette au surapprentissage avec de nombreux paramètres sur des entrées complexes.

CNN et vision par ordinateur

Les CNN ont transformé la vision par ordinateur, permettant aux machines de "voir" et de comprendre les images avec précision. Leur capacité à apprendre des représentations hiérarchiques de données visuelles a permis de réaliser des progrès majeurs dans diverses tâches de vision par ordinateur, y compris :

Classification d'images

La classification d'images, une tâche de vision par ordinateur essentielle, consiste à étiqueter une image entière en fonction de son contenu. Les CNN excellent dans ce domaine et obtiennent d'excellents résultats sur des ensembles de données comme ImageNet. Leur capacité à apprendre des caractéristiques complexes à partir de données de pixels brutes les rend très efficaces pour reconnaître des objets, des scènes et même des émotions dans des images.

Détection d'objets

La détection d'objets va au-delà de la classification en identifiant les objets dans une image et en indiquant leur emplacement. Les CNN sont essentiels dans les algorithmes de détection d'objets. Ils permettent aux applications, comme les voitures autonomes, de percevoir leur environnement, aux robots de se déplacer dans des environnements complexes et aux systèmes de sécurité de détecter les menaces.

Applications des CNN

Les applications des CNN vont bien au-delà des tâches liées aux images. Leur capacité à apprendre les hiérarchies spatiales de caractéristiques les rend utiles dans divers domaines, y compris :

  • Traitement du langage naturel : les CNN peuvent analyser du texte en traitant les phrases comme des "images" unidimensionnelles où chaque mot ou caractère est une caractéristique. Cela leur permet d'identifier des schémas et des relations dans les données textuelles, ce qui les rend utiles pour des tâches telles que l'analyse des sentiments (classification du texte comme positif, négatif ou neutre) et la traduction linguistique (mise en correspondance de phrases d'une langue à une autre).
  • Analyse d'images médicales : dans le domaine de la santé, les CNN peuvent être entraînés sur de grands ensembles de données d'images médicales (radiographies, IRM, tomodensitométries) pour détecter des schémas et des anomalies subtils révélateurs de maladies. Cela peut aider les radiologues à détecter des tumeurs dans des mammographies, à identifier des fractures dans des radiographies ou à segmenter des organes dans des tomodensitométries, ce qui améliore la précision et l'efficacité des diagnostics, et facilite la planification de traitements personnalisés.
  • Découverte de médicaments : les CNN peuvent potentiellement accélérer la découverte de médicaments en analysant les structures moléculaires. En apprenant les relations entre la structure d'une molécule et ses propriétés, les CNN peuvent prédire l'efficacité, la toxicité et d'autres caractéristiques de candidats-médicaments potentiels. Ce criblage "in silico" de vastes bibliothèques chimiques peut réduire le temps et les coûts associés aux méthodes traditionnelles de découverte de médicaments.
  • Modélisation financière : grâce à leur capacité à analyser des données séquentielles, les CNN peuvent également être adaptés à des utilisations financières. En traitant les données financières de séries temporelles (cours des actions, taux de change, indicateurs économiques) comme des "images" unidimensionnelles, les CNN peuvent identifier des tendances, des modèles et des anomalies que les méthodes statistiques traditionnelles pourraient manquer. Cela peut aider les institutions financières à prendre des décisions d'investissement plus éclairées, à prédire la volatilité du marché et à gérer les risques plus efficacement.

Utiliser les CNN avec Google Cloud

Google Cloud fournit un écosystème complet pour appliquer les CNN, que vous ayez besoin d'une solution prête à l'emploi ou d'une plate-forme puissante pour créer la vôtre.

Pour les fonctionnalités de vision pré-entraînées : si vous devez ajouter des fonctionnalités de vision puissantes à votre application sans créer de modèle à partir de zéro, des services comme Vision AI vous donnent accès à des modèles basés sur des réseaux de neurones convolutifs (CNN) via une API simple pour des tâches telles que la détection d'objets et la reconnaissance de texte. De même, Document AI utilise des CNN pour comprendre et extraire des données à partir de documents complexes.

Pour créer, entraîner et déployer des modèles personnalisés : lorsque vous devez entraîner un réseau de neurones convolutif (CNN) sur vos propres données, Vertex AI fournit une plate-forme unifiée. Il gère l'intégralité du cycle de vie du ML, de la préparation des données et de l'entraînement au déploiement et à la surveillance à grande échelle de vos modèles CNN personnalisés.

Pour accélérer l'entraînement hautes performances : l'entraînement de grands CNN de pointe nécessite beaucoup de ressources de calcul. Les Cloud TPU sont des accélérateurs matériels conçus sur mesure par Google pour accélérer l'entraînement des modèles de deep learning, ce qui vous permet d'innover plus rapidement.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud