Certains cookies sont utilisés pour le fonctionnement de notre site. Si vous cliquez sur "tout refuser", seul les cookies pour le fonctionnement seront conservés.

Tout refuser Tout accepter
Consentement

Cookies


Le MAG

MORPHAIUS

L’actualité IA (blog)

Qu’est-ce qu’un auto-encodeur ?

Qu’est-ce qu’un auto-encodeur ?

Qu'est-ce qu'un auto-encodeur ?

Un auto-encodeur est un modèle fondamental en intelligence artificielle, utilisé pour apprendre à représenter une image ou toute autre data de manière compacte et efficace. Ce type particulier d’encodeur fait partie des réseaux de neurones dits non supervisés, car il est capable d’apprendre à partir d’une seule entrée sans nécessiter d’étiquetage.

L’objectif principal d’un auto-encodeur est de coder l’entrée dans un espace de plus faible dimension, souvent appelé espace latente cachée, et de décoder cette représentation compressée pour reconstruire l’image ou la data initiale aussi fidèlement que possible. Cette capacité est utilisée en réduction de dimension, nettoyage de données, détection d’anomalies, voire génération de contenu.

L’architecture d’un auto-encodeur : couches, encodeur et espaces cachés 

L’auto-encodeur est constitué d’une succession de couches qui forment d’une part l’encodeur, d’autre part le décodeur. Chaque couche est composée d’un ensemble de neurones artificiels qui traitent et transforment l’information.

L’encodeur : extraire une représentation latente cachée

L’encodeur est la première partie du réseau. Il prend en entrée une image ou un autre type de data, souvent représentés sous forme de vecteur ou matrice (\mathbf), et la transforme à travers plusieurs couches jusqu’à obtenir une représentation latente cachée dans un espace caché de plus faible dimension. Cette étape correspond au codage de la donnée. La couche latente cachée est intermédiaire entre l’entrée complexe (par exemple, une image haute résolution) et la donnée compressée.

Cette couche cachée encode les informations essentielles — les points clés ou caractéristiques de la donnée — en éliminant le superflu. Par exemple, dans une image, le réseau apprendra à extraire des contours, motifs ou textures importants et à condenser ces informations en un nombre réduit de variables.

Le décodeur : reconstruire l’image via la couche cachée

Le décodeur agit en sens inverse de l’encodeur. Il reçoit la représentation latente cachée et cherche à la transformer à nouveau à travers une série de couches cachées pour reconstruire la forme complète de l’image ou de la data d’entrée. L’objectif est de minimiser la différence entre l’entrée initiale et la sortie reconstruite, celle-ci étant évaluée par une fonction de perte.

La qualité de la reconstruction dépend directement de la capacité de l’encodeur à extraire une représentation latente pertinente et complète.

Une figure classique illustre ce concept où l’encodeur agit comme une fonction d’encodage de l’entrée dans un espace caché et le décodeur fait le chemin inverse. Cet auto-encodeur est un parfait exemple d’apprentissage non supervisé.

Le fonctionnement : apprentissage, codage, et optimisation

L’auto-encodeur est entraîné avec un ensemble de data, généralement non labellé. Le processus d’apprentissage utilise un algorithme d’optimisation qui ajuste progressivement les poids des neurones des différentes couches cachées.

La fonction de perte mesure la différence entre l’entrée (représentée par \mathbf) et sa reconstruction. Classiquement, cette différence est évaluée par l’erreur quadratique moyenne (MSE, Mean Squared Error), qui calcule la moyenne des carrés des écarts entre les points correspondants, comme chaque pixel. Cet indicateur quantifie l’efficacité du modèle à coder et reconstituer fidèlement.

Pourquoi utiliser un auto-encodeur ?

L’intérêt d’un auto-encodeur vient de sa capacité à créer une représentation compacte et utile :

  • Réduction de dimension : La couche latente cachée projette l’image haute dimension dans un espace latent plus petit, ce qui facilite l’analyse, la visualisation, ou la reconnaissance plus rapide sur des machines avec ressources limitées.
  • Nettoyage (denoising) : En utilisant un auto-encodeur entraîné avec des images bruitées, le réseau apprend à restituer une version propre, améliorant ainsi la qualité visuelle ou la précision pour un traitement en aval.
  • Détection d’anomalies : Le modèle est entraîné sur des images (ou data) normales. Il reconstruira mal les anomalies, qui apparaissent dans les résidus de reconstruction, facilitant leur identification.
  • Génération de contenu : Des variantes comme les variational autoencoders exploitent la couche latente cachée pour générer de nouvelles images réalistes, en naviguant dans l’espace caché appris.

Exemples concrets pour mieux comprendre

L’exemple d’un auto-encodeur appliqué à des images de chiffres manuscrits (MNIST) est révélateur. L’encodeur reçoit chaque image sous forme d’un vecteur de pixels, la compresse en un code latent dans la couche latente cachée – beaucoup plus petit que le nombre total de pixels. Puis le décodeur tente de reconstruire l’image originale. Lors de l’entraînement, le modèle ajuste ses poids pour minimiser la fonction de perte.

Dans un second exemple, un auto-encodeur peut apprendre la structure d’images médicales pour extraire des caractéristiques importantes, en supprimant le bruit et facilitant ainsi le diagnostic.

Structure détaillée des couches cachées et rôle des neurones

Chaque couche dans l’encodeur et le décodeur est constituée de plusieurs neurones artificiels, connectés entre eux, qui réalisent des transformations non linéaires des données. Ces transformations sont guidées par des fonctions d’activation (ReLU, sigmoid, tanh, etc.) donnant au réseau la capacité à modéliser des relations complexes.

La couche latente cachée correspond souvent à la couche dont le nombre de neurones est le plus faible, forçant le réseau à compresser l'information sans trop la disperser. Cette compression est le cœur du pouvoir d’un auto-encodeur.

Limitations, variantes et algorithmes d’entraînement

Un auto-encodeur simple peut parfois apprendre un codage trop spécifique, adapté à l’entraînement mais peu généralisable. Pour pallier cela, plusieurs variantes existent, notamment :

  • Les Variational Autoencoders (VAE), qui modélisent explicitement une distribution probabiliste dans la couche latente cachée.
  • Les auto-encodeurs convolutifs, adaptés aux images, utilisent des couches cachées spécialisées qui exploitent la structure spatiale des données et favorisent un apprentissage plus efficace.

L’algorithme d’entraînement repose sur la rétropropagation du gradient, optimisant la fonction de perte par descente de gradient stochastique ou ses variantes.

Conclusion 

L’auto-encodeur est une architecture puissante, qui existe sous plusieurs formes différentes. Il permet de transformer une image ou autre type de data en une représentation réduite via l’encodeur, en conservant les points clés de l’information dans une couche latente cachée. Ensuite, il reconstruit cette donnée d’entrée grâce au décodeur. Cette méthode est au cœur de nombreuses applications modernes, du nettoyage au diagnostic en passant par la génération.

Une figure explicative simple représente bien le flux de données à travers l’auto-encodeur, mettant en avant la couche latente cachée et les points essentiels extraits dans l’espace caché.

 

Partager cet article :

LinkedIn

Contactez-nous !

Si vous souhaitez obtenir plus d'informations sur nos outils ou découvrir des exemples concrets d'utilisation, n'hésitez pas à nous envoyer un email. Nous vous répondrons dans les plus brefs délais.

Nos partenaires