Glossaire

Autoencodeur

Découvrez comment les autoencodeurs compressent les données, réduisent le bruit et permettent la détection d'anomalies, l'extraction de caractéristiques et bien d'autres choses encore grâce à des techniques d'IA avancées.

Un autoencodeur est un type de réseau neuronal artificiel (RN) utilisé principalement pour des tâches d'apprentissage non supervisé, en particulier la réduction de la dimensionnalité et l'extraction de caractéristiques. Son objectif fondamental est d'apprendre une représentation comprimée (codage) des données d'entrée, généralement en entraînant le réseau à reconstruire ses propres entrées. Il se compose de deux parties principales : un encodeur qui cartographie les données d'entrée dans un espace latent de dimension inférieure, et un décodeur qui reconstruit les données d'origine à partir de cette représentation comprimée. Ce processus oblige l'autoencodeur à capturer les caractéristiques les plus saillantes des données d'apprentissage.

Fonctionnement des autoencodeurs

Le fonctionnement d'un autoencodeur comporte deux étapes : l'encodage et le décodage.

  1. Encodeur : Cette partie prend les données d'entrée (par exemple, une image ou un vecteur) et les comprime dans une représentation de dimension inférieure appelée espace latent ou goulot d'étranglement. Cette compression oblige le réseau à apprendre des modèles significatifs et à éliminer le bruit ou la redondance. L'encodeur se compose généralement de plusieurs couches, utilisant souvent des fonctions d'activation telles que ReLU ou Sigmoïde.
  2. Goulot d'étranglement : Il s'agit de la couche centrale de l'autoencodeur où réside la représentation comprimée et de faible dimension des données d'entrée. C'est le "code" qui capture les informations essentielles. La dimensionnalité de cette couche est un hyperparamètre critique.
  3. Décodeur : Cette partie prend la représentation comprimée du goulot d'étranglement et tente de reconstruire les données d'entrée originales aussi précisément que possible. Elle reflète la structure de l'encodeur, mais en sens inverse, en rééchantillonnant les données à leurs dimensions d'origine.

L'entraînement consiste à alimenter le réseau en données d'entrée et à comparer la sortie (données reconstruites) à l'entrée originale à l'aide d'une fonction de perte, telle que l'erreur quadratique moyenne (MSE) pour les données continues ou l'entropie croisée binaire pour les données binaires. Les poids du réseau sont ajustés à l'aide de la rétropropagation et d'un algorithme d'optimisation tel qu'Adam ou SGD afin de minimiser cette erreur de reconstruction.

Types d'auto-codeurs

Il existe plusieurs variantes de l'architecture de base de l'autoencodeur, chacune étant conçue pour des tâches spécifiques :

  • Autoencodeurs de débruitage : Formés pour reconstruire une version propre d'une entrée qui a été corrompue par du bruit. Cela les rend robustes pour des tâches telles que le débruitage d'images. En savoir plus sur les autoencodeurs de débruitage.
  • Autoencodeurs épars : Introduire une pénalité de rareté (une forme de régularisation) sur la couche de goulot d'étranglement, forçant le réseau à apprendre des représentations où seuls quelques nœuds sont actifs à la fois.
  • Autoencodeurs variationnels (VAE) : Un modèle d'IA génératif qui apprend une cartographie probabiliste de l'espace latent, ce qui lui permet de générer de nouveaux échantillons de données similaires aux données d'apprentissage. Lire l'article sur les VAE.
  • Autoencodeurs contractifs : Ajouter un terme de pénalité à la fonction de perte pour encourager le codeur à apprendre des représentations qui sont robustes aux petits changements dans l'entrée.

Applications dans le monde réel

Les autoencodeurs sont des outils polyvalents utilisés dans diverses applications d'apprentissage automatique :

  • Détection des anomalies : En apprenant les schémas normaux des données, les autoencodeurs peuvent identifier les valeurs aberrantes ou les anomalies. Si l'erreur de reconstruction pour un point de données spécifique est élevée, cela suggère que l'entrée est significativement différente des données d'apprentissage, ce qui peut indiquer une anomalie comme des transactions frauduleuses dans le domaine financier ou un équipement défectueux dans le domaine de la fabrication. Pour en savoir plus sur la détection des anomalies.
  • Compression et débruitage d'images : Les autoencodeurs peuvent apprendre des représentations compactes d'images, ce qui permet d'effectuer une compression efficace. Les autoencodeurs de débruitage sont spécifiquement utilisés pour supprimer le bruit des images, ce qui est utile dans l'analyse d'images médicales (par exemple, pour améliorer les IRM ou les tomodensitogrammes) ou pour restaurer de vieilles photographies. Voir les solutions d'imagerie médicale.
  • Réduction de la dimensionnalité : Semblables à l'analyse en composantes principales (ACP), les autoencodeurs réduisent les dimensions des données mais peuvent capturer des relations complexes et non linéaires, ce que l'ACP ne peut pas faire. Cela est utile pour la visualisation des données et comme étape de prétraitement pour d'autres modèles ML.
  • Apprentissage des caractéristiques : La partie encodeur peut être utilisée comme extracteur de caractéristiques pour des tâches en aval telles que la classification d'images ou la détection d'objets, fournissant souvent des caractéristiques plus robustes que les données brutes. Alors que des modèles comme Ultralytics YOLO utilisent des structures de base spécialisées, les principes de l'autoencodeur influencent l'apprentissage de la représentation.

Autoencodeurs et concepts connexes

  • ACP : si les deux réduisent la dimensionnalité, l'ACP est limitée aux transformations linéaires. Les autoencodeurs, qui sont des réseaux neuronaux, peuvent apprendre des correspondances non linéaires complexes, ce qui permet souvent d'obtenir de meilleures représentations pour des ensembles de données complexes.
  • GANs : Les réseaux adversoriels génératifs (GAN) sont principalement conçus pour générer de nouvelles données très réalistes. Si les VAE (un type d'autoencodeur) peuvent également générer des données, ils se concentrent souvent sur l'apprentissage d'un espace latent bien structuré, tandis que les GAN excellent dans la fidélité des résultats, parfois au détriment de l'interprétabilité de l'espace latent.
  • CNN et transformateurs : Les autoencodeurs définissent un modèle architectural (codeur-décodeur). Ils utilisent souvent d'autres types de réseaux tels que les réseaux neuronaux convolutifs (CNN) pour les données d'image ou les transformateurs pour les données séquentielles comme blocs de construction dans le codeur et le décodeur.

Outils et mise en œuvre

Les autoencodeurs peuvent être mis en œuvre à l'aide de cadres populaires d'apprentissage profond (DL) :

Des plateformes comme Ultralytics HUB facilitent le flux de travail global de ML, y compris la gestion des données et l'entraînement des modèles, bien qu'elles soient principalement axées sur des tâches supervisées telles que la détection et la segmentation plutôt que sur l'entraînement d'autoencodeurs non supervisés.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers