menu EXPLOREZ
history RÉCENT

Que sont les auto-encodeurs

Les auto-encodeurs sont un type d'architecture de réseau neuronal qui appartient au groupe des méthodes d'apprentissage non supervisées. Cette architecture extrait les caractéristiques les plus importantes de l’entrée, éliminant le reste peu pertinent.

Cela permet aux auto-encodeurs d’apprendre une représentation réduite des informations, ce qui en fait une méthode parfaite pour compresser les informations.

L'information complète peut être reconstruite grâce à l'architecture de l'auto-encodeur. Cela en fait un algorithme génératif.

Modèles génératifs et discriminants

Les algorithmes statistiques utilisés en intelligence artificielle peuvent être classés en méthodes génératives et méthodes discriminatives.

Les algorithmes discriminants sont ceux qui apprennent la représentation de la fonction qui mappe les variables indépendantes à la variable dépendante d'intérêt. Autrement dit, un classificateur de voitures et de motos est un modèle discriminant puisque, compte tenu de certaines variables d'entrée, en l'occurrence les pixels de l'image, il est capable de discriminer s'il s'agit d'une voiture ou d'une moto.

Un modèle de prévision des ventes est également un modèle discriminant puisque, à partir de certaines variables, il est capable de prédire la valeur des ventes à un instant donné.

En d’autres termes, les algorithmes discriminants apprennent la probabilité de Y étant donné X : P(Y|X)

D'autre part, les auto-encodeurs variationnels, l'allocation latente de Dirichlet ou les machines de Boltzmann génèrent des informations à partir d'une représentation interne appelée espace latent. Dans ce cas, le modèle apprend la probabilité conjointe P(X,Y).

Les auto-encodeurs comme modèles génératifs et discriminants

Comme nous l’avons vu, l’un des points forts des auto-encodeurs est l’apprentissage d’une nouvelle représentation plus compressée de l’information.

Pour effectuer cette tâche, l'auto-encodeur apprend à générer sa propre entrée. Cela peut sembler trivial, mais si nous ajoutons du bruit ou limitons la taille de la représentation interne, nous pouvons générer un modèle qui apprend les caractéristiques les plus importantes de nos informations et peut être compressé efficacement.

La plupart des auto-encodeurs ne sont pas considérés comme des modèles génératifs. Cependant, comme nous le verrons plus tard, il en existe un en particulier appelé auto-encodeur variationnel ou VAE qui est capable d'apprendre la distribution de variables indépendantes capables de générer avec une forte probabilité une sortie très similaire à nos données d'entraînement. Dans ce cas, les VAE sont considérés comme des algorithmes génératifs.

Pièces et architecture de l'auto-encodeur

Comme nous le verrons dans la section suivante, il existe différents types d’auto-encodeurs. Cependant, ils partagent tous une architecture de base.

La première partie est ce qu'on appelle l'encodeur ou l'encodeur et est responsable de la compression des informations. Ceci est réalisé en empilant différentes couches de neurones, réduisant ainsi le nombre de neurones utilisés dans chacune d’elles.

La deuxième partie de l'architecture est l'espace latent, qui est l'espace minimum dans lequel les informations sont représentées au sein du réseau neuronal.

La dernière partie est connue sous le nom de décodeur ou décodeur et a la même forme que l'encodeur mais de manière opposée. Dans chaque couche du réseau, le nombre de neurones augmente jusqu'à ce que la dernière couche ait le même nombre de neurones que la première couche.

architecture de l'encodeur automatique

Types d'auto-encodeurs

Il existe différentes structures que les auto-encodeurs peuvent adopter. Chacun d’eux porte un nom spécifique et se spécialise dans une tâche spécifique.

Encodeur automatique empilé

Les auto-encodeurs empilés ou auto-encodeurs profonds sont simplement l'architecture qui utilise différentes couches de neurones pour apprendre des représentations d'informations plus complexes.

Ils ont une structure symétrique par rapport à la couche d’espace latent et sont très efficaces pour reconstruire l’information.

Encodeur automatique variationnel

Les auto-encodeurs variationnels ou VAE sont des algorithmes génératifs dans lesquels une distribution continue de données d'entraînement est déduite via un domaine de statistiques connu sous le nom d'inférence variationnelle.

Le codeur génère une moyenne et un écart type avec lesquels une distribution gaussienne peut être générée à partir de laquelle le décodeur peut obtenir des échantillons et générer l'espace latent. A partir de là, le décodeur peut créer des données fictives très similaires aux données réelles.

Encodeur automatique clairsemé

Cette architecture vise à limiter le nombre de neurones activés pour forcer l'algorithme à apprendre des modèles plus complexes. Ceci est réalisé grâce à la contrainte de parcimonie, où un terme est ajouté à la fonction de coût qui oblige l'auto-encodeur à diminuer le nombre de neurones actifs pendant l'entraînement.

Encodeurs automatiques débruitants

Une technique de régularisation pour éviter un apprentissage trivial et forcer le réseau à apprendre des modèles complexes consiste à ajouter du bruit provenant d'une distribution gaussienne aléatoire pour modifier les données d'entrée, forçant ainsi l'obtention de modèles pertinents à partir des informations.

Applications d'encodeur automatique

Les auto-encodeurs ont de multiples utilisations dans différents secteurs. Nous en citerons quelques-uns, mais il y en a bien d’autres. De nombreux problèmes peuvent être abordés de telle manière qu’une architecture d’auto-encodeur soit capable de les résoudre.

  1. Compression des informations : La principale caractéristique de ce type d'algorithme est qu'ils sont capables d'extraire les caractéristiques les plus importantes de l'information et d'en créer une nouvelle représentation dans une dimension réduite.
  2. Détection de fraude - Les encodeurs automatiques ont été utilisés par des sociétés comme PayPal pour créer des systèmes de détection de fraude en extrayant les caractéristiques clés qui déterminent si une certaine transaction est frauduleuse ou non.
  3. Génération d'images : Une autre application possible est la génération d'images. Cela peut être très utile pour les tâches de conception et pour la génération de nouveaux ensembles de données d'images librement distribués.