Sauter au menu Sauter au contenu
PraedictIA

Comment l’apprentissage profond fonctionne-t-il ?

L’apprentissage profond englobe l’ensemble des techniques d’apprentissage machine se basant sur l’utilisation des réseaux de neurones artificiels profonds. Rappelons qu’un réseau de neurones est une représentation informatique et approximative des réseaux de neurones biologiques qui permettent de traiter les informations pour capturer des caractéristiques. Voir la section sur les réseaux de neurones pour plus de détails.

En résumé, un réseau de neurones artificiels profond est constitué :

  • D’une couche d’entrée composée d’un ensemble de neurones qui favoriseront la propagation des informations dans le réseau neuronal. Elle comprend un nombre de neurones généralement égal au nombre de caractéristiques constituant l’enregistrement en entrée (p. ex. une image, une transaction, etc.). Ainsi, pour un réseau de neurones qui traitera des images de 32 pixels sur 32 pixels, le nombre de neurones de la couche d’entrée serait 32 X 32 X 3, soit une valeur de 1024 pixels X 3 (représentant les nuances RGB, soit du rouge, du vert et du bleu). Le nombre de neurones à la couche d’entrée équivaudra donc à 3072 neurones ;
  • D’une couche de sortie formée d’un ensemble de neurones représentant les différentes classes de résultat. Dans une problématique de classification, les classes sont les différentes possibilités que le résultat peut offrir. Par exemple, dans un réseau de neurones profond qui sert à classer une collection de photos en une classe « photos de chats » et une classe « photos de chiens », la couche de sortie comportera deux neurones ;
  • De couches intermédiaires servant à traiter l’information propagée dans le réseau de neurones pour capturer les caractéristiques de son apprentissage. Par exemple, pour un réseau de neurones dont l’objectif est d’identifier les chats sur des images, les patrons regrouperont les caractéristiques communes qui permettront d’identifier un chat sur une image.

Un réseau de neurones profond comprend plusieurs couches intermédiaires (autres que les couches d’entrée et de sortie). Chaque couche comporte un ensemble de neurones représentant les caractéristiques capturées. Généralement, chaque couche d’un réseau de neurones profond offre un niveau d’abstraction plus élevé représentant l’observation avec des caractéristiques plus déterminantes. Supposons un réseau de neurones profond permettant de reconnaître les images de chat. Les premières couches montreront des caractéristiques de formes plus abstraites (silhouettes, lignes, couleurs de base, etc.) tandis que les neurones des couches proches de la couche de sortie représenteront des caractéristiques plus déterminantes (les oreilles, etc.).

Les différents types de réseaux de neurones artificiels profonds

Il existe plusieurs types de réseaux de neurones artificiels profonds qui se distinguent par leurs morphologies (disposition des neurones et des couches) et les approches qui leur permettent de traiter les données :

Les réseaux de neurones à convolutions (CNNs – Convolutional Neural Networks)

Les réseaux de neurones à convolutions ont été initialement créés pour améliorer la performance de reconnaissance d’images. Ils possèdent plusieurs couches de convolutions permettant de compresser et d’extraire les caractéristiques à partir des données d’entrée.

Introduction aux réseaux neuronaux convolutionnels

Les réseaux de neurones à mémoire court et long terme (LSTMs – Long Short-Term Memory Networks)

Les réseaux de neurones à mémoire court et long terme sont un type de réseaux de neurones récurrents. Ils se distinguent par leur capacité à garder en mémoire (de manière sélective) les informations propagées dans le temps.

Prenons le cas d’un réseau de neurones régulier. La prédiction du réseau de neurones ne tient généralement pas compte des résultats qui l’ont immédiatement précédée. La reconnaissance d’une image Y à un temps T n’a pas été directement affectée par l’image X traitée par le réseau juste auparavant. La possibilité de tenir compte des enregistrements précédents est très utile pour des données à caractère temporel avec effet comme le texte ou la vidéo. La reconnaissance du sens d’un mot nécessite souvent la prise en considération des quelques mots qui le précèdent. Quant aux données vidéo, pour reconnaître l’action qui se produit lors d’une séquence, il est important de considérer les quelques images qui la précèdent. L’architecture des réseaux de neurones à mémoire court et long terme est adaptée au traitement des données à caractère temporel.

Comprendre les LSTM – Réseaux de neurones récurrents

Les réseaux adverses génératifs (GANs – Generative Adversarial Networks)

Au-delà des différences morphologiques, il existe deux modèles de réseaux de neurones artificiels :

  • Les modèles discriminatifs réfèrent aux algorithmes d’apprentissage machine (ou apprentissage profond) dont l’objectif est d’associer un enregistrement en entrée à un résultat prédéterminé en sortie (p. ex. assigner une image à une catégorie, déterminer si une transaction est frauduleuse ou non, prévoir le prix futur d’un bien immobilier, etc.).
  • Les modèles génératifs réfèrent aux algorithmes d’apprentissage machine dont le résultat est un autre contenu généré par la machine (p. ex. générer une voix synthétisée à partir d’un texte ou des images réalistes à partir d’une description, etc.)

Les réseaux antagonistes génératifs sont un modèle de réseaux de neurones profonds génératifs qui permet de générer du contenu à partir des données historiques. Par exemple, l’entraînement d’un réseau antagoniste génératif à générer des images de visages humains hyper réalistes se fera grâce à plusieurs images réelles pour lui apprendre à créer d’autres images similaires. Concrètement, ce réseau de neurones fonctionne selon l’existence de deux modèles interreliés :

  • Un modèle génératif ayant pour tâche de générer du nouveau contenu à partir de bruits aléatoires (valeurs complètement aléatoires) ;
  • Un modèle discriminatif ayant pour tâche de déterminer si l’image du visage générée par le précédent modèle est réelle ou artificielle. S’il détermine que l’image est artificielle, il propage un signal d’erreur permettant au modèle génératif de mettre à jour ses paramètres afin de produire une meilleure image.

Ce mécanisme itératif permet donc à la partie générative du modèle apprenant d’affiner sa capacité à fabriquer des données qui se rapprochent des données réelles.

Les réseaux adversariaux (GAN)