Autoencoder/es

    From Marovi AI
    This page is a translated version of the page Autoencoder and the translation is 100% complete.
    Other languages:
    Article
    Topic area Deep Learning
    Prerequisites Neural Networks, Backpropagation


    Resumen

    Un autocodificador es una red neuronal entrenada para reconstruir su entrada a través de una representación intermedia de baja capacidad. Consta de un codificador que asigna una entrada $ x \in \mathbb{R}^d $ a un código latente $ z \in \mathbb{R}^k $, y un decodificador que asigna $ z $ de vuelta a una reconstrucción $ \hat{x} \in \mathbb{R}^d $. Al forzar el paso de la información por un cuello de botella, se obliga a la red a descubrir características compactas y estructuradas de los datos sin etiquetas supervisadas. Los autocodificadores se utilizan para el aprendizaje de representaciones, la reducción de dimensionalidad, la eliminación de ruido, la detección de anomalías y como bloques de construcción de modelos generativos como el autocodificador variacional y los modernos modelos de difusión.

    El marco del autocodificador es anterior al aprendizaje profundo. Se estudió ya en la década de 1980 en relación con las memorias asociativas y el análisis no lineal de componentes principales, y reapareció en la década de 2000 como una técnica de preentrenamiento por capas que ayudó a revivir el interés por las redes profundas. Hoy en día los autocodificadores se utilizan con mayor frecuencia de extremo a extremo, y su principal valor es la representación latente en lugar de la reconstrucción en sí.

    Intuición

    Una función identidad perfecta reconstruiría cualquier entrada, pero sería inútil: no almacenaría nada sobre la estructura de los datos. Para que el codificador aprenda algo interesante, la arquitectura o la pérdida deben imponer una restricción. Son comunes dos estrategias generales.

    La primera es el escenario subcompleto (undercomplete), en el que la dimensión latente $ k $ es menor que la dimensión de entrada $ d $. Entonces, la reconstrucción exige que el codificador descubra la variedad de baja dimensión sobre la que viven los datos. La segunda es el escenario regularizado, en el que $ k $ puede ser tan grande como $ d $ o mayor, pero una penalización sobre el código latente, los pesos o la entrada empuja a la red hacia características útiles. Algunos ejemplos son las penalizaciones por dispersión, las penalizaciones de contracción sobre la jacobiana del codificador y la inyección de ruido durante el entrenamiento.

    Un modelo mental útil es que el codificador aprende un atlas de la variedad de datos y el decodificador aprende su inverso. El cuello de botella hace que el atlas pierda información en las direcciones ortogonales a la variedad, pero sea preciso a lo largo de ella.

    Formulación

    Sea el codificador $ f_\theta : \mathbb{R}^d \to \mathbb{R}^k $ con parámetros $ \theta $, y el decodificador $ g_\phi : \mathbb{R}^k \to \mathbb{R}^d $ con parámetros $ \phi $. Dado un conjunto de datos $ \{x_i\}_{i=1}^N $, los parámetros se aprenden minimizando una pérdida de reconstrucción

    $ {\displaystyle \mathcal{L}(\theta, \phi) = \frac{1}{N} \sum_{i=1}^N \ell\big(x_i, g_\phi(f_\theta(x_i))\big),} $

    donde $ \ell $ es típicamente el error cuadrático para entradas continuas o entropía cruzada para entradas binarias o categóricas. El latente $ z = f_\theta(x) $ es la representación extraída por el modelo.

    Un autocodificador lineal con pérdida cuadrática y pesos atados recupera el subespacio principal: el decodificador óptimo abarca el mismo subespacio que los $ k $ primeros vectores propios de la covarianza de los datos, aunque los ejes individuales no necesitan alinearse con las componentes principales. La no linealidad en $ f_\theta $ y $ g_\phi $ permite a la red capturar variedades curvadas que el análisis de componentes principales no puede.

    Entrenamiento e inferencia

    Los autocodificadores se entrenan con descenso de gradiente estocástico y retropropagación como cualquier otra red feedforward. Las entradas pasan por el codificador y el decodificador, la pérdida de reconstrucción se calcula respecto a la propia entrada, y los gradientes fluyen hacia atrás por ambas mitades. No se requieren etiquetas, lo que hace que los autocodificadores sean atractivos para dominios con abundantes datos sin etiquetar.

    En el momento de la inferencia, la red puede dividirse. El codificador por sí solo proporciona un extractor de características: un clasificador o regresor posterior consume $ z $ en lugar del $ x $ original. El decodificador por sí solo, alimentado con códigos muestreados o interpolados, puede sintetizar nuevos ejemplos, aunque los autocodificadores convencionales no ofrecen ninguna garantía probabilística de que las entradas del decodificador situadas fuera de la distribución de entrenamiento produzcan salidas razonables. Esta limitación motiva el autocodificador variacional, que dota al espacio latente de un prior explícito y de un codificador estocástico.

    Variantes

    Los autocodificadores con eliminación de ruido (denoising) corrompen la entrada con ruido $ \tilde{x} = x + \epsilon $ y piden a la red que reconstruya el $ x $ limpio. El objetivo se convierte en $ \mathbb{E}_\epsilon \, \ell(x, g_\phi(f_\theta(\tilde{x}))) $. Esto obliga al codificador a proyectar entradas fuera de la variedad de vuelta a la variedad y tiende a producir características más robustas.

    Los autocodificadores dispersos (sparse) añaden una penalización L1 o un término KL con una activación objetivo al código latente, de modo que solo una pequeña fracción de las unidades esté activa para una entrada dada. El resultado es un diccionario de características en el que distintas unidades se especializan en diferentes regiones del espacio de entrada. Los autocodificadores dispersos han recobrado recientemente atención como herramienta para la interpretabilidad mecanicista de grandes modelos transformer, donde se utilizan para descomponer activaciones densas en características interpretables.

    Los autocodificadores contractivos añaden una penalización de norma de Frobenius sobre la jacobiana del codificador, $ \lVert \partial f_\theta / \partial x \rVert_F^2 $, lo que fomenta la invariancia local frente a pequeñas perturbaciones de la entrada.

    Los autocodificadores variacionales reemplazan el codificador determinista por una distribución $ q_\phi(z \mid x) $ y se entrenan optimizando el límite inferior de la evidencia. Son propiamente modelos generativos, aunque sus muestras suelen ser más borrosas que las de las redes generativas adversariales o los modelos de difusión.

    Los autocodificadores enmascarados enmascaran aleatoriamente una gran fracción de los parches de entrada y reconstruyen las partes faltantes. El autocodificador enmascarado para visión, aplicado a parches de imagen, se convirtió en un objetivo sólido de preentrenamiento autosupervisado para los vision transformers.[1]

    Comparaciones

    Los autocodificadores suelen compararse con el PCA. Un autocodificador lineal con pérdida cuadrática es matemáticamente equivalente al PCA en cuanto al subespacio que aprende. Una vez introducidas las no linealidades, el autocodificador puede capturar variedades curvadas, pero el entrenamiento es más difícil, más sensible a la inicialización, y produce una representación que no es ortogonal ni está ordenada por varianza.

    En comparación con los métodos contrastivos autosupervisados, que aprenden acercando vistas emparejadas y alejando vistas no emparejadas, los autocodificadores aprenden mediante reconstrucción. Los métodos contrastivos suelen producir características más discriminativas semánticamente, mientras que los métodos basados en reconstrucción conservan más detalle de bajo nivel y tienden a ser más sencillos de escalar.

    En el ámbito del modelado generativo, los autocodificadores simples no son generativos: no tienen una distribución definida sobre $ z $. El autocodificador variacional añade esa pieza. Los modelos de difusión pueden verse como una jerarquía de autocodificadores con eliminación de ruido entrenados a muchos niveles de ruido.[2]

    Limitaciones

    La pérdida de reconstrucción es una señal de entrenamiento gruesa. El error cuadrático a nivel de píxel trata todas las dimensiones de salida por igual, lo que a menudo produce reconstrucciones borrosas e ignora la estructura perceptualmente importante. Sustituirla por una pérdida perceptual o adversarial mitiga este problema, pero añade complejidad.

    Los autocodificadores convencionales no son modelos generativos en ningún sentido riguroso. Muestrear un código al azar y decodificarlo puede producir salidas poco realistas, ya que no existe restricción alguna sobre la distribución latente. Tampoco ofrecen ningún mecanismo integrado para desenredar los factores de variación; las unidades latentes suelen ser polisémicas y enredadas, lo que limita su interpretabilidad directa.

    Por último, un autocodificador con demasiada capacidad en relación con la regularización de su cuello de botella puede memorizar el conjunto de entrenamiento, aprendiendo una función casi identidad mediante un enrutamiento ingenioso en lugar de una estructura significativa. Ajustar la capacidad, el ancho del cuello de botella y la fuerza de la regularización es esencial.

    Aplicaciones

    Los autocodificadores se utilizan ampliamente para el aprendizaje de representaciones no supervisado, en el que el codificador se entrena con un gran corpus sin etiquetar y el código latente alimenta un modelo supervisado más pequeño aguas abajo. También son herramientas estándar para la detección de anomalías, donde un alto error de reconstrucción sobre una nueva entrada la marca como fuera de distribución, y para la eliminación de ruido en imágenes y audio. En sistemas modernos, los autocodificadores aparecen con frecuencia como la etapa de compresión perceptual de grandes pipelines generativos: los modelos de difusión latentes, por ejemplo, entrenan el proceso de difusión en el espacio latente comprimido de un autocodificador preentrenado en lugar de hacerlo en el espacio de píxeles.[3]

    Referencias

    1. Template:Cite arxiv
    2. Vincent, P., A connection between score matching and denoising autoencoders, 2011.
    3. Template:Cite arxiv