¿Cuáles son los propósitos de los autoencoders?


10

Los autoencoders son redes neuronales que aprenden una representación comprimida de la entrada para luego reconstruirla, de modo que puedan usarse para reducir la dimensionalidad. Están compuestos por un codificador y un decodificador (que pueden ser redes neuronales separadas). La reducción de la dimensionalidad puede ser útil para tratar o atenuar los problemas relacionados con la maldición de la dimensionalidad, donde los datos se vuelven escasos y es más difícil obtener "significancia estadística". Por lo tanto, los codificadores automáticos (y algoritmos como PCA) se pueden usar para lidiar con la maldición de la dimensionalidad.

¿Por qué nos importa la reducción de dimensionalidad específicamente usando autoencoders? ¿Por qué no podemos simplemente usar PCA, si el propósito es la reducción de dimensionalidad?

¿Por qué necesitamos descomprimir la representación latente de la entrada si solo queremos realizar la reducción de dimensionalidad, o por qué necesitamos la parte del decodificador en un autoencoder? ¿Cuáles son los casos de uso? En general, ¿por qué necesitamos comprimir la entrada para luego descomprimirla? ¿No sería mejor usar la entrada original (para empezar)?


1
Consulte también la siguiente pregunta stats.stackexchange.com/q/82416/82135 en CrossValidated SE.
nbro

Respuestas:


6

Es importante pensar qué tipo de patrones en los datos se representan.

Suponga que tiene un conjunto de datos de imágenes en escala de grises, de modo que cada imagen tenga una intensidad uniforme. Como cerebro humano, se daría cuenta de que cada elemento de este conjunto de datos puede describirse en términos de un único parámetro numérico, que es ese valor de intensidad. Esto es algo para lo que PCA funcionaría bien, porque cada una de las dimensiones (podemos pensar en cada píxel como una dimensión diferente) está perfectamente correlacionada linealmente.

Supongamos, en cambio, que tiene un conjunto de datos de imágenes de mapa de bits en blanco y negro de 128x128px de círculos centrados. Como cerebro humano, se daría cuenta rápidamente de que cada elemento de este conjunto de datos puede describirse completamente mediante un único parámetro numérico, que es el radio del círculo. Ese es un nivel muy impresionante de reducción de 16384 dimensiones binarias, y quizás lo más importante es una propiedad semánticamente significativa de los datos. Sin embargo, PCA probablemente no podrá encontrar ese patrón.

Su pregunta fue "¿Por qué no podemos simplemente usar PCA, si el propósito es la reducción de dimensionalidad?" La respuesta simple es que PCA es la herramienta más simple para la reducción de dimensionalidad, pero puede perder muchas relaciones que podrían encontrar técnicas más potentes como los autoencoders.


3

Un caso de uso de autoencoders (en particular, del decodificador o modelo generativo del autoencoder) consiste en eliminar la entrada. Este tipo de autoencoders, llamados autoencoders de eliminación de ruido , toman una entrada parcialmente corrupta e intentan reconstruir la entrada no corrupta correspondiente. Hay varias aplicaciones de este modelo. Por ejemplo, si tenía una imagen dañada, podría recuperarla sin daños utilizando un autoencoder de eliminación de ruido.

Los autoencoders y PCA están relacionados:

un autoencoder con una sola capa oculta completamente conectada, una función de activación lineal y una función de costo de error al cuadrado entrena pesos que abarcan el mismo subespacio que el que abarcan los vectores de carga de componentes principales, pero que no son idénticos a los vectores de carga.

Para obtener más información, eche un vistazo al documento De subespacios principales a componentes principales con codificadores automáticos lineales (2018), de Elad Plaut. Vea también esta respuesta , que también explica la relación entre PCA y autoencoders.


3

PCA es un método lineal que crea una transformación que es capaz de cambiar las proyecciones de vectores (cambio de eje)

Dado que PCA busca la dirección de la varianza máxima, generalmente tiene una alta discriminación, PERO no garantiza que la dirección de la mayor varianza sea la dirección de la mayor discriminación.

LDA es un método lineal que crea una transformación que es capaz de encontrar la dirección más relevante para decidir si un vector pertenece a la clase A o B.

PCA y LDA tienen versiones de Kernel no lineales que pueden superar sus limitaciones lineales.

Los autoencoders pueden realizar reducciones de dimensionalidad con otros tipos de funciones de pérdida, pueden ser no lineales y podrían funcionar mejor que PCA y LDA en muchos casos.

Probablemente no exista el mejor algoritmo de aprendizaje automático para hacer algo, a veces el aprendizaje profundo y las redes neuronales son excesivas para problemas simples y PCA y LDA pueden probarse antes de otras reducciones de dimensionalidad más complejas.


1
¿Qué tiene que ver LDA con la pregunta?
nbro

LDA puede usarse como reducción de dimensionalidad. El algoritmo original solo deriva una proyección, pero puede usarlo para obtener una dirección discriminatoria de menor rango para un modelado más preciso
Pedro Henrique Monforte

PCA tampoco garantiza la máxima variación, ya que es un algoritmo codicioso, solo se aproxima al máximo.
Mathieu Bouville el

PCA tiene una solución cerrada, el eje principal siempre será la dirección de la varianza máxima. No es un algoritmo codicioso (pero se puede implementar como uno solo)
Pedro Henrique Monforte

1
  1. La mitad del decodificador es necesaria para calcular la función de pérdida para entrenar la red. Similar a cómo el 'adversario' sigue siendo necesario en una GAN, incluso si solo está interesado en el componente generativo.
  2. Los codificadores automáticos pueden aprender incrustaciones no lineales de los datos y, por lo tanto, son más potentes que PCA de vainilla.
  3. Los autoencoders tienen aplicaciones más allá de la reducción de dimensionalidad:
    • Generar nuevos puntos de datos, o realizar interpolación (ver VAE)
    • Crear filtros de eliminación de ruido (por ejemplo, en el procesamiento de imágenes)
    • Comprimir / descomprimir datos
    • Predicción de enlaces (p. Ej. En descubrimiento de fármacos)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.