À quoi servent les encodeurs automatiques?


10

Les encodeurs automatiques sont des réseaux de neurones qui apprennent une représentation compressée de l'entrée afin de la reconstruire plus tard, de sorte qu'ils peuvent être utilisés pour la réduction de dimensionnalité. Ils sont composés d'un encodeur et d'un décodeur (qui peuvent être des réseaux de neurones séparés). La réduction de la dimensionnalité peut être utile afin de traiter ou d'atténuer les problèmes liés à la malédiction de la dimensionnalité, où les données deviennent rares et il est plus difficile d'obtenir une «signification statistique». Ainsi, les auto-encodeurs (et des algorithmes comme PCA) peuvent être utilisés pour faire face à la malédiction de la dimensionnalité.

Pourquoi nous soucions-nous de la réduction de dimensionnalité en utilisant spécifiquement les auto-encodeurs? Pourquoi ne pouvons-nous pas simplement utiliser l'ACP, si le but est la réduction de la dimensionnalité?

Pourquoi devons-nous décompresser la représentation latente de l'entrée si nous voulons simplement effectuer une réduction de dimensionnalité, ou pourquoi avons-nous besoin de la partie décodeur dans un autoencodeur? Quels sont les cas d'utilisation? En général, pourquoi devons-nous compresser l'entrée pour la décompresser plus tard? Ne serait-il pas préférable d'utiliser simplement l'entrée d'origine (pour commencer)?


1
Voir également la question suivante stats.stackexchange.com/q/82416/82135 sur CrossValidated SE.
nbro

Réponses:


6

Il est important de réfléchir au type de schémas représentés dans les données.

Supposons que vous ayez un ensemble de données d'images en niveaux de gris, de sorte que chaque image ait une intensité uniforme. En tant que cerveau humain, vous vous rendriez compte que chaque élément de cet ensemble de données peut être décrit en termes d'un paramètre numérique unique, qui est cette valeur d'intensité. C'est quelque chose pour lequel l'ACP fonctionnerait bien, car chacune des dimensions (nous pouvons considérer chaque pixel comme une dimension différente) est parfaitement corrélée linéairement.

Supposons plutôt que vous disposiez d'un ensemble de données d'images bitmap 128x128px en noir et blanc de cercles centrés. En tant que cerveau humain, vous vous rendrez rapidement compte que chaque élément de cet ensemble de données peut être entièrement décrit par un seul paramètre numérique, qui est le rayon du cercle. Il s'agit d'un niveau de réduction très impressionnant par rapport aux 16384 dimensions binaires, et peut-être plus important encore, c'est une propriété sémantiquement significative des données. Cependant, PCA ne sera probablement pas en mesure de trouver ce modèle.

Votre question était "Pourquoi ne pouvons-nous pas simplement utiliser l'ACP, si le but est la réduction de dimensionnalité?" La réponse simple est que PCA est l'outil le plus simple pour réduire la dimensionnalité, mais il peut manquer de nombreuses relations que des techniques plus puissantes telles que les encodeurs automatiques peuvent trouver.


3

Un cas d'utilisation des auto-encodeurs (en particulier, du décodeur ou du modèle génératif de l'auto-encodeur) est de débruiter l'entrée. Ce type d'auto-encodeurs, appelés auto - encodeurs de débruitage , prennent une entrée partiellement corrompue et ils tentent de reconstruire l'entrée correspondante non corrompue. Il existe plusieurs applications de ce modèle. Par exemple, si vous aviez une image corrompue, vous pouvez potentiellement récupérer l'image non corrompue à l'aide d'un encodeur automatique de débruitage.

Les encodeurs automatiques et PCA sont liés:

un autoencodeur avec une seule couche cachée entièrement connectée, une fonction d'activation linéaire et une fonction de coût d'erreur quadratique forme des poids qui couvrent le même sous-espace que celui couvert par les principaux vecteurs de chargement des composants, mais qu'ils ne sont pas identiques aux vecteurs de chargement.

Pour plus d'informations, consultez l'article Des sous-espaces principaux aux composants principaux avec auto-encodeurs linéaires (2018), par Elad Plaut. Voir aussi cette réponse , qui explique également la relation entre PCA et autoencoders.


3

PCA est une méthode linéaire qui crée une transformation capable de changer les projections des vecteurs (changement d'axe)

Puisque l'ACP recherche la direction de la variance maximale, elle a généralement une discrimination élevée MAIS cela ne garantit pas que la direction de la plus grande variance est la direction de la plus grande discrimination.

LDA est une méthode linéaire qui crée une transformation qui est capable de trouver la direction la plus pertinente pour décider si un vecteur appartient à la classe A ou B.

PCA et LDA ont des versions de noyau non linéaires qui pourraient surmonter leurs limites linéaires.

Les encodeurs automatiques peuvent effectuer une réduction de dimensionnalité avec d'autres types de fonction de perte, peuvent être non linéaires et peuvent mieux fonctionner que PCA et LDA dans de nombreux cas.

Il n'y a probablement pas de meilleur algorithme d'apprentissage automatique pour faire quoi que ce soit, parfois le Deep Learning et les réseaux neuronaux sont exagérés pour des problèmes simples et PCA et LDA peuvent être essayés avant d'autres réductions de dimensionnalité plus complexes.


1
Qu'est-ce que LDA a à voir avec la question?
nbro

LDA peut être utilisé comme réduction de dimensionnalité. L'algorithme d'origine dérive d'une seule projection, mais vous pouvez l'utiliser pour obtenir une direction discriminante de classement inférieur pour une modélisation plus précise
Pedro Henrique Monforte

PCA ne garantit pas non plus la variance maximale, car il s'agit d'un algorithme gourmand qui ne fait qu'approcher le maximum.
Mathieu Bouville

L'ACP a une solution fermée, l'axe principal sera toujours de direction de la variance maximale. Ce n'est pas un algorithme gourmand (mais il peut être implémenté comme un seul)
Pedro Henrique Monforte

1
  1. Le demi-décodeur est nécessaire pour calculer la fonction de perte pour l'apprentissage du réseau. Semblable à la façon dont l'adversaire est toujours nécessaire dans un GAN même si vous n'êtes intéressé que par la composante générative.
  2. Les encodeurs automatiques peuvent apprendre les incorporations non linéaires des données et sont donc plus puissants que la PCA vanille.
  3. Les encodeurs automatiques ont applications au-delà de la réduction de dimensionnalité:
    • Générer de nouveaux points de données ou effectuer une interpolation (voir les VAE)
    • Créer des filtres de débruitage (par exemple dans le traitement d'image)
    • Compresser / décompresser les données
    • Prédiction de liens (par exemple dans la découverte de médicaments)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.