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.
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.
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.
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.
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 :
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.
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.
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 :
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.
Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.