Qu'est-ce qu'un réseau neuronal ?
Un réseau neuronal est une méthode d’intelligence artificielle qui apprend à des ordinateurs à traiter les données d’une manière inspirée par le cerveau humain. Il s’agit d’un type de processus de machine learning appelé deep learning, qui exploite des nœuds, ou neurones, interconnectés dans une structure à plusieurs couches similaire au cerveau humain. Il crée un système adaptatif utilisé par les ordinateurs pour apprendre de leurs erreurs et s'améliorer en continu. Les réseaux neuronaux artificiels tentent de résoudre des problèmes complexes tels que résumer des documents ou reconnaître des visages, avec davantage de précision.
Pourquoi les réseaux neuronaux sont-ils importants ?
Les réseaux neuronaux peuvent aider les ordinateurs à prendre des décisions intelligentes avec une assistance humaine limitée. En effet, ils peuvent apprendre et modéliser les relations entre des données d'entrée et de sortie qui sont non linéaires et complexes. Par exemple, ils peuvent effectuer les tâches suivantes.
Faire des généralisations et des déductions
Les réseaux neuronaux peuvent comprendre des données non structurées et faire des observations générales sans entraînement explicite. Par exemple, ils peuvent reconnaître que deux phrases d'entrée différentes ont un sens similaire :
- Pouvez-vous me dire comment effectuer le paiement ?
- Comment transférer de l'argent ?
Un réseau neuronal saurait que ces deux phrases signifient la même chose. Ou bien il serait capable de reconnaître de manière générale que Baxter Road est un lieu, mais que Baxter Smith est le nom d'une personne.
À quoi servent les réseaux neuronaux ?
Les réseaux neuronaux ont plusieurs cas d'utilisation dans de nombreux secteurs, tels que les suivants :
- Diagnostic médical par classification d'images médicales
- Marketing ciblé par filtrage des réseaux sociaux et analyse des données comportementales
- Prédictions financières par le traitement des données historiques d'instruments financiers
- Prédiction de la charge électrique et de la demande d'énergie
- Contrôle des processus et de la qualité
- Identification des composés chimiques
Nous présentons ci-dessous quatre des applications importantes des réseaux neuronaux.
Reconnaissance d'image
La reconnaissance d'images est la capacité des ordinateurs à extraire des informations et des idées à partir d'images et de vidéos. Grâce aux réseaux neuronaux, les ordinateurs peuvent distinguer et reconnaître des images comme le font les humains. La reconnaissance d'images a plusieurs applications, dont les suivantes :
- Reconnaissance visuelle dans les voitures à conduite autonome afin qu'elles puissent reconnaître les panneaux routiers et les autres usagers de la route
- Modération du contenu pour prélever automatiquement le contenu dangereux ou inapproprié des archives d'images et de vidéos
- Reconnaissance faciale pour identifier les visages et reconnaître les attributs tels que les yeux ouverts, les lunettes et les poils du visage
- Étiquetage des images pour identifier les logos des marques, les vêtements, les équipements de sécurité et d'autres détails de l'image
Reconnaissance vocale
Les réseaux neuronaux peuvent analyser la parole humaine malgré la diversité des modèles de discours, de la hauteur ou du ton de la voix, de la langue ou encore de l'accent. Les assistants virtuels comme Amazon Alexa et les logiciels de transcription automatique utilisent la reconnaissance vocale pour effectuer ce genre de tâches :
- Assister les agents des centres d'appels et classer automatiquement les appels
- Convertir les conversations cliniques en documentation en temps réel
- Sous-titrez avec précision les vidéos et les enregistrements de réunions pour élargir la portée du contenu
Traitement du langage naturel
Le traitement du langage naturel (NLP) est la capacité de traiter du texte naturel, créé par l'homme. Les réseaux neuronaux aident les ordinateurs à rassembler des informations et du sens à partir de données textuelles et de documents. La NLP a plusieurs cas d'utilisation, notamment dans ces fonctions :
- Agents virtuels et chatbots automatisés
- Organisation et classification automatiques des données écrites
- Analyse de la Business Intelligence de documents longs comme les emails et les formulaires
- Indexation des phrases clés qui dénotent des sentiments, comme les commentaires positifs et négatifs sur les médias sociaux
- Résumé de documents et génération d'articles pour un sujet donné
Moteurs de recommandation
Les réseaux neuronaux peuvent suivre l'activité des utilisateurs pour élaborer des recommandations personnalisées. Ils peuvent également analyser tous les comportements des utilisateurs et découvrir de nouveaux produits ou services qui intéressent un utilisateur spécifique. Par exemple, Curalate, une startup basée à Philadelphie, aide les marques à convertir les posts sur les médias sociaux en ventes. Les marques utilisent le service d'étiquetage intelligent des produits (IPT) de Curalate pour automatiser la collecte et la curation (sélection, édition et partage) du contenu social généré par les utilisateurs. IPT utilise des réseaux neuronaux pour trouver et recommander automatiquement des produits pertinents par rapport à l'activité de l'utilisateur sur les médias sociaux. Les consommateurs n'ont pas besoin de parcourir les catalogues en ligne pour trouver un produit spécifique à partir d'une image sur les médias sociaux. Au lieu de cela, ils peuvent utiliser l'étiquetage automatique des produits de Curalate pour acheter le produit en toute simplicité.
Comment fonctionnent les réseaux neuronaux ?
Le cerveau humain est la source d'inspiration de l'architecture des réseaux neuronaux. Les cellules du cerveau humain, appelées neurones, forment un réseau complexe et hautement interconnecté et s'envoient des signaux électriques les unes aux autres pour aider les humains à traiter les informations. De même, un réseau neuronal artificiel est constitué de neurones artificiels qui travaillent ensemble pour résoudre un problème. Les neurones artificiels sont des modules logiciels, appelés nœuds, et les réseaux neuronaux artificiels sont des programmes logiciels ou des algorithmes qui, à la base, utilisent des systèmes informatiques pour résoudre des calculs mathématiques.
Architecture de réseau neuronal simple
Un réseau neuronal de base comporte des neurones artificiels interconnectés en trois couches :
Couche d'entrée
Les informations du monde extérieur entrent dans le réseau neuronal artificiel par la couche d'entrée. Les nœuds d'entrée traitent les données, les analysent ou les catégorisent, et les transmettent à la couche suivante.
Couche cachée
Les couches cachées prennent leurs entrées de la couche d'entrée ou d'autres couches cachées. Les réseaux neuronaux artificiels peuvent avoir un grand nombre de couches cachées. Chaque couche cachée analyse la sortie de la couche précédente, la retravaille et la transmet à la couche suivante.
Couche de sortie
La couche de sortie donne le résultat final de tous les traitements de données effectués par le réseau neuronal artificiel. Il peut avoir des nœuds uniques ou multiples. Par exemple, si nous avons un problème de classification binaire (oui/non), la couche de sortie aura un nœud de sortie qui fournira le résultat sous forme de 1 ou 0. Cependant, si nous avons un problème de classification multi-classes, la couche de sortie peut être constituée de plus d'un nœud de sortie.
Architecture de réseau neuronal profond
Les réseaux neuronaux profonds, ou réseaux de deep learning, possèdent plusieurs couches cachées avec des millions de neurones artificiels reliés entre eux. Un nombre, appelé poids, représente les connexions entre un nœud et un autre. Le poids est un nombre positif si un nœud en stimule un autre, ou négatif si un nœud réprime l'autre. Les nœuds ayant des valeurs de poids plus élevées ont plus d'influence sur les autres nœuds.
Théoriquement, les réseaux neuronaux profonds peuvent mettre en correspondance n'importe quel type d'entrée avec n'importe quel type de sortie. Cependant, elles nécessitent également beaucoup plus d'entraînement par rapport aux autres méthodes de machine learning. Ils ont besoin de millions d'exemples de données d'entraînement plutôt que les centaines ou milliers qu'un réseau plus simple pourrait nécessiter.
Quels sont les types de réseaux neuronaux ?
Les réseaux neuronaux artificiels peuvent être classés en fonction de la manière dont les données circulent du nœud d'entrée au nœud de sortie. Voici quelques exemples :
Réseaux neuronaux à action directe
Les réseaux neuronaux à action directe (feedforward) traitent les données dans une seule direction, du nœud d'entrée au nœud de sortie. Chaque nœud d'une couche est connecté à chaque nœud de la couche suivante. Un réseau à action directe utilise un processus rétroactif pour améliorer les prédictions au fil du temps.
Algorithme de rétropropagation
Les réseaux neuronaux artificiels apprennent en permanence en utilisant des boucles de rétroaction corrective pour améliorer leur analytique prédictive. En termes simples, vous pouvez imaginer que les données circulent du nœud d'entrée au nœud de sortie par plusieurs chemins différents dans le réseau neuronal. Un seul chemin est le chemin correct qui relie le nœud d'entrée au nœud de sortie correct. Pour trouver ce chemin, le réseau neuronal utilise une boucle de rétroaction, qui fonctionne comme suit :
- Chaque nœud fait une supposition sur le prochain nœud du chemin.
- Il vérifie si la supposition était correcte. Les nœuds attribuent des valeurs de poids plus élevées aux chemins qui mènent à un plus grand nombre de suppositions correctes et des valeurs de poids plus faibles aux chemins de nœuds qui mènent à des suppositions incorrectes.
- Pour le point de données suivant, les noeuds effectuent une nouvelle prédiction en utilisant les chemins de poids plus élevé, puis répètent l'étape 1.
Réseaux neuronaux convolutifs
Les couches cachées des réseaux neuronaux convolutifs exécutent des fonctions mathématiques spécifiques, comme la synthèse ou le filtrage, appelées convolutions. Ils sont très utiles pour la classification des images, car ils peuvent extraire des caractéristiques pertinentes des images qui sont utiles pour la reconnaissance et la classification des images. La nouvelle forme est plus facile à traiter sans perdre les caractéristiques qui sont essentielles pour faire une bonne prédiction. Chaque couche cachée extrait et traite différentes caractéristiques de l'image, comme les bords, la couleur et la profondeur.
Comment entraîner les réseaux neuronaux ?
L'entraînement des réseaux neuronaux est le processus consistant à apprendre à un réseau neuronal à effectuer une tâche. Les réseaux neuronaux apprennent en traitant initialement plusieurs grands jeux de données étiquetées ou non. En utilisant ces exemples, ils peuvent ensuite traiter les entrées inconnues avec plus de précision.
Apprentissage supervisé
Dans l'apprentissage supervisé, les scientifiques des données donnent aux réseaux neuronaux artificiels des jeux de données étiquetés qui fournissent la bonne réponse à l'avance. Par exemple, un réseau de deep learning s'entraînant à la reconnaissance faciale traite initialement des centaines de milliers d'images de visages humains, avec divers termes liés à l'origine ethnique, au pays ou à l'émotion décrivant chaque image.
Le réseau neuronal crée lentement des connaissances à partir de ces jeux de données, qui fournissent la bonne réponse à l'avance. Une fois le réseau entraîné, il commence à faire des suppositions sur l'origine ethnique ou l'émotion d'une nouvelle image d'un visage humain qu'il n'a jamais traitée auparavant.
Qu'est-ce que le deep learning dans le contexte des réseaux neuronaux ?
L'intelligence artificielle est le domaine de l'informatique qui étudie les méthodes permettant de donner aux machines la capacité d'effectuer des tâches nécessitant l'intelligence humaine. Le machine learning est une technique d'intelligence artificielle qui donne aux ordinateurs l'accès à de très grands jeux de données et leur enseigne à apprendre à partir de ces données. Les logiciels de machine learning trouvent des modèles dans les données existantes et appliquent ces modèles aux nouvelles données pour prendre des décisions intelligentes. Le deep learning est un sous-ensemble du machine learning qui utilise des réseaux de deep learning pour traiter les données.
Machine Learning versus Deep Learning
Les méthodes traditionnelles de machine learning nécessitent un apport humain pour que le logiciel de machine learning fonctionne adéquatement. Un scientifique des données détermine manuellement l'ensemble des caractéristiques pertinentes que le logiciel doit analyser. Cela limite la capacité du logiciel, ce qui rend sa création et sa gestion fastidieuses.
D'autre part, dans le deep learning, le scientifique des données ne donne que des données brutes au logiciel. Le réseau de deep learning dérive les fonctions par lui-même et apprend de manière plus indépendante. Il peut analyser des jeux de données non structurés comme des documents textuels, identifier les attributs de données à privilégier et résoudre des problèmes plus complexes.
Par exemple, si vous entraîniez un logiciel de machine learning à identifier correctement l'image d'un animal de compagnie, vous devriez suivre les étapes suivantes :
- Trouvez et étiquetez manuellement des milliers d'images d'animaux de compagnie, comme des chats, des chiens, des chevaux, des hamsters, des perroquets, etc.
- Indiquez au logiciel de machine learning les caractéristiques à rechercher pour qu'il puisse identifier l'image par élimination. Par exemple, il peut compter le nombre de pattes, puis vérifier la forme des yeux, des oreilles, de la queue, du pelage, etc.
- Évaluez et modifiez manuellement les jeux de données étiquetés pour améliorer la précision du logiciel. Par exemple, si votre ensemble d'entraînement comporte trop de photos de chats noirs, le logiciel identifiera correctement un chat noir mais pas un chat blanc.
- En revanche, dans le deep learning, les réseaux neuronaux traiteraient toutes les images et détermineraient automatiquement qu'ils doivent d'abord analyser le nombre de pattes et la forme du visage, puis regarder les queues en dernier pour identifier correctement l'animal dans l'image.
Quels sont les services de deep learning sur AWS ?
Les services de deep learning d’AWS exploitent la puissance du cloud computing pour vous permettre de mettre à l’échelle vos réseaux neuronaux de deep learning à moindre coût et de les optimiser en termes de vitesse. Vous pouvez également utiliser des services AWS comme ceux-ci pour gérer entièrement des applications spécifiques de deep learning :
- Amazon Rekognition, pour ajouter à votre application des fonctions de reconnaissance d'images pré-entraînées ou personnalisables.
- Amazon Transcribe pour reconnaître et transcrire automatiquement la parole avec précision.
- Amazon Lex, pour créer des chatbots intelligents qui comprennent l'intention, maintiennent le contexte conversationnel et automatisent des tâches simples dans de nombreuses langues.
Lancez-vous dans les réseaux neuronaux de deep learning sur AWS avec Amazon SageMaker et créez, entraînez et déployez des modèles à grande échelle rapidement et facilement. Vous pouvez également utiliser les AMI Deep Learning AWS pour créer des flux de travail et des environnements personnalisés pour le deep learning.
Créez un compte AWS gratuit pour commencer dès aujourd'hui !