Definition

Deep learning (apprentissage par réseau neuronal profond)

Cette définition fait partie de notre Guide Essentiel : Machine learning : les clés pour contrôler les biais

L'apprentissage par réseau neuronal profond, ou « deep learning », est un aspect de l'intelligence artificielle (IA) qui imite la méthode d'apprentissage qu'utilisent les êtres humains pour acquérir certains types de connaissances. Sous sa forme la plus simple, le deep learning peut être considéré comme un moyen d'automatiser l'analytique prédictive. 

Alors que les algorithmes traditionnels de l'apprentissage automatique sont linéaires, ceux du deep learning sont empilés dans une architecture d'une complexité et d'une abstraction croissantes.
Pour comprendre le deep learning, imaginez un jeune enfant dont le premier mot est « chien ». Il apprend ce qu'est un chien (et ce qui n'est pas un chien) en pointant des objets du doigt et en disant le mot « chien ». Ses parents lui répondent « Oui, c'est un chien » ou « Non, ce n'est pas un chien ».
A mesure que l'enfant continue de montrer des objets, il comprend de mieux en mieux quelles sont les caractéristiques que possèdent tous les chiens. Ce qu'il fait, sans le savoir, c'est clarifier une abstraction complexe (le concept de chien) en construisant une architecture dans laquelle chaque niveau d'abstraction est créé avec les connaissances acquises au niveau précédent. 

Les programmes informatiques qui utilisent le deep learning suivent en grande partie le même processus. Chacun des algorithmes de l'architecture applique une transformation non linéaire aux données en entrée et utilise ce qu'il apprend pour créer un modèle statistique en sortie. Les itérations se poursuivent jusqu'à ce que la sortie ait atteint un niveau de précision acceptable. Le qualificatif « deep » (profond) s'explique par le nombre de couches de traitement par lesquelles les données doivent passer. 

Dans l'apprentissage automatique classique, le processus d'apprentissage est supervisé et le programmeur doit être très, très explicite lorsqu'il indique à l'ordinateur le type d'éléments qu'il doit rechercher pour déterminer si une image représente un chien ou pas. C'est un processus laborieux appelé extraction de caractéristiques, et le taux de réussite de l'ordinateur dépend entièrement de la capacité du programmeur à définir de manière précise le jeu de caractéristiques d'un « chien ». L'avantage du deep learning est que le programme crée lui-même le jeu de caractéristiques sans supervision. C'est non seulement plus rapide, mais c'est généralement plus précis.

Au départ, le programme informatique peut être alimenté par des données d'apprentissage, par exemple une série d'images à chacune desquelles un humain aura associé la mention « chien » ou « pas chien » à l'aide de métabalises. Il utilise les informations fournies par ces données pour créer le jeu de caractéristiques du chien et élaborer un modèle prédictif. Dans ce cas, le modèle que l'ordinateur crée en premier peut estimer que dans une image, chaque élément doté de quatre pattes et d'une queue doit être étiqueté comme étant un « chien ». Bien sûr, le programme ne connaît pas les étiquettes « quatre pattes » ou « queue », il recherche simplement des motifs de pixels dans les données numériques. A chaque itération, le modèle prédictif que crée l'ordinateur devient plus complexe et précis.

Parce que ce processus imite la pensée humaine, le deep learning est parfois appelé apprentissage neuronal profond ou réseau neuronal profond. A la différence du petit enfant, qui mettra des semaines, voire des mois, à comprendre le concept de « chien », un programme informatique qui utilise des algorithmes de deep learning peut, après avoir reçu un jeu de données d'apprentissage, trier des millions d'images, en identifiant avec précision et en quelques minutes celles qui représentent des chiens.

Pour que le niveau de précision soit acceptable, les programmes de deep learning doivent avoir accès à des quantités phénoménales de données d'apprentissage et de puissance de traitement, deux conditions qui étaient difficiles à remplir pour les programmeurs avant l'avènement du Big Data et du Cloud computing. Les programmes de deep learning étant capables de créer des modèles statistiques complexes directement depuis leurs propres sorties itératives, ils peuvent élaborer des modèles prédictifs précis à partir de grandes quantités de données non structurées et sans étiquette. Cette capacité est importante dans le contexte de la propagation de l'Internet des objets (IoT, Internet of Things), car la plupart des données que les humains et les machines créent ne sont ni structurées, ni étiquetées. Les cas d'utilisation du deep learning sont tous les types d'applications d'analytique du Big Data, en particulier celles qui sont axées sur le traitement du langage naturel, la traduction, le diagnostic médical, les signaux boursiers, la sécurité des réseaux et l'identification des images.

Voici une illustration très simple du fonctionnement d'un programme de deep learning. Cette vidéo réalisée par LuLu Art Group présente la sortie d'un programme de deep learning qui a été alimenté par des données brutes de capture des mouvements. Elle montre à quoi ressemble le concept abstrait de « danse » selon l'analyse prédictive du programme.

À chaque itération, le modèle prédictif du programme est devenu plus complexe et plus précis.

Cette définition a été mise à jour en avril 2018

Pour approfondir sur Intelligence Artificielle et Data Science

Close