Un autoencodeur est un type de réseau neuronal artificiel (RN) utilisé principalement pour les tâches d'apprentissage non supervisé. Son objectif principal est d'apprendre des représentations efficaces (encodages) des données d'entrée, généralement pour la réduction de la dimensionnalité ou l'extraction de caractéristiques, en entraînant le réseau à reconstruire ses propres entrées. Il y parvient en comprimant les données d'entrée dans un espace latent de dimension inférieure, puis en reconstruisant la sortie à partir de cette représentation comprimée.
Types d'auto-codeurs
Il existe plusieurs variantes d'autoencodeurs, chacune conçue à des fins spécifiques :
- Autoencodeurs de débruitage : Formés pour reconstruire l'entrée originale et propre à partir d'une version corrompue ou bruyante. Ils sont donc utiles pour les tâches de réduction du bruit.
- Autoencodeurs épars : Introduisent des contraintes d'éparpillement pendant la formation, encourageant le réseau à apprendre des représentations où seul un petit nombre de nœuds sont actifs à tout moment.
- Autoencodeurs variationnels (VAE) : Un type de modèle génératif qui apprend une distribution de probabilité sur l'espace latent, ce qui lui permet de générer de nouveaux échantillons de données similaires aux données d'apprentissage. Les VAE diffèrent considérablement des réseaux adversoriels génératifs (GAN), une autre technique générative populaire.
- Autoencodeurs contractifs : Vise à apprendre des représentations qui sont robustes aux petits changements dans les données d'entrée.
Applications dans le monde réel
Les autoencodeurs ont trouvé des applications dans divers domaines :
- Détection des anomalies : En apprenant les schémas normaux des données, les autoencodeurs peuvent identifier les anomalies ou les valeurs aberrantes en entrée qui entraînent des erreurs de reconstruction élevées. Cette technique est utilisée dans la détection des fraudes et le contrôle de la qualité industrielle. Par exemple, la détection de modèles inhabituels de trafic réseau qui pourraient indiquer une cyberattaque.
- Débruitage et compression d'images : Les autoencodeurs de débruitage peuvent nettoyer les images bruyantes, tandis que les autoencodeurs standard peuvent compresser les images en ne stockant que la représentation latente. Un exemple est la restauration de la clarté de vieilles photographies ou d'images satellites affectées par des interférences atmosphériques. Vois comment la vision par ordinateur peut être utilisée pour analyser l'imagerie satellitaire.
- Réduction de la dimensionnalité : Les représentations latentes apprises peuvent servir de caractéristiques compactes pour l'entrée dans d'autres modèles d'apprentissage automatique (ML), ce qui améliore potentiellement les performances et réduit les coûts de calcul. Cette méthode est souvent comparée à des techniques telles que l'analyse en composantes principales (ACP), bien que les autoencodeurs puissent capturer des relations plus complexes et non linéaires.
- Génération de données (VAE) : Les autoencodeurs variationnels peuvent générer de nouveaux échantillons de données synthétiques, utiles dans des domaines tels que la génération d'art ou la création d'une augmentation des données de formation. Explore davantage les données synthétiques.
Comment fonctionnent les autoencodeurs ?
Un autoencodeur se compose de deux parties principales : un encodeur et un décodeur.
Le réseau est formé en minimisant la différence entre l'entrée originale et la sortie reconstruite, souvent mesurée par une fonction de perte comme l'erreur quadratique moyenne (EQM). La couche goulot d'étranglement oblige le réseau à apprendre une représentation compacte et significative, car il doit conserver suffisamment d'informations pour reconstruire l'entrée de manière efficace.