Autoencoders

Los autoencoders (AE) son redes neuronales que aprenden a comprimir datos y luego reconstruirlos. Nacieron como herramienta de representación no supervisada y hoy abarcan desde reducción de dimensionalidad hasta modelos generativos de secuencias, grafos o incluso activos 3D. En este post recorreremos fugazmente su historia, explicaremos por qué un AE puede degenerar en la función identidad, dibujaremos una taxonomía simplificada de los principales tipos de arquitectura con referencias y comentaremos su papel en detección de anomalías, en particular en mantenimiento predictivo (PdM) sin fallos etiquetados.

TL;DR:

Breve historia

Orígenes: auto-asociación y backpropagation sin profesor

El concepto de auto-asociador aparece en el marco de Parallel Distributed Processing (PDP): Rumelhart, Hinton y Williams (1986) propusieron aprender representaciones internas propagando el error entre entrada y salida utilizando la propia entrada como señal objetivo, es decir, sin etiquetas externas, usando los propios datos como “profesor”. El objetivo es el mismo que hoy: transformar \(\mathbf{x}\) en \(\hat{\mathbf{x}}\) con la menor distorsión posible, pero extrayendo estructura en capas ocultas mediante backpropagation.

Renacimiento del aprendizaje profundo (2006–2010)

Tras años en los que entrenar redes profundas desde pesos aleatorios era inestable, Hinton et al. (2006) popularizaron el preentrenamiento capa a capa con Restricted Boltzmann Machines (RBM). Bengio et al. (2007) demostraron que el mismo principio greedy layer-wise funciona sustituyendo cada capa por un AE: cada nivel aprende una representación comprimida y alimenta al siguiente. Vincent et al. (2008) introdujeron el denoising autoencoder (DAE), obligando a reconstruir la entrada limpia a partir de una versión corrupta; Vincent et al. (2010) apilaron varios stacked DAE como bloques de representación profunda.

Regularización explícita y modelos generativos (2011–2015)

Rifai et al. (2011) propusieron el contractive autoencoder (CAE), penalizando la sensibilidad del codificador a pequeñas perturbaciones. Ng (2011) formalizó la dispersión en capas sobredimensionadas. Kingma y Welling (2013) publicaron el variational autoencoder (VAE), que modela el latente como distribución y optimiza un límite variacional (ELBO [Evidence Lower Bound]). Makhzani et al. (2015) añadieron un discriminador adversarial autoencoder (AAE) para alinear el latente con un prior arbitrario.

Especialización por dominio (2016–hoy)

Desde entonces la literatura explota variantes por tipo de dato: convolucionales para imagen, recurrentes para series, en grafos (GAE/VGAE), con máscaras, e.g. MAE de He et al., 2022, tabulares (TVAE), dinámicos para secuencias (DVAE) y compresión estructurada para generación 3D con Sparse Compression VAE. La revisión de Berahmand et al. (2024) ofrece una taxonomía actualizada; este post condensa esa línea temporal en una guía concisa.

El autoencoder básico (vanilla AE)

Un AE consta de tres piezas:

  1. Encoder \(f_\theta\): comprime la entrada \(\mathbf{x}\) en \(\mathbf{z} = f_\theta(\mathbf{x})\).
  2. Cuello de botella (bottleneck): almacena la representación latente.
  3. Decoder \(g_\theta\): reconstruye \(\hat{\mathbf{x}} = g_\theta(\mathbf{z})\).

El entrenamiento minimiza una pérdida de reconstrucción, típicamente el error cuadrático medio (MSE) u otra más robusta:

\[\mathcal{L}_{\mathrm{AE}}(\theta) = \frac{1}{n}\sum_{i=1}^{n} \|\mathbf{x}_i - \hat{\mathbf{x}}_i\|^2 = \frac{1}{n}\sum_{i=1}^{n} \|\mathbf{x}_i - g_\theta(f_\theta(\mathbf{x}_i))\|^2.\]

Para datos binarios o probabilísticos se usa la entropía cruzada binaria (BCE). El stacked autoencoder (SAE) encadena varios AE entrenados capa a capa: la salida del nivel \(k\) alimenta el nivel \(k+1\), lo que permite extraer jerarquías multiescala de características sin etiquetas.

Por qué un AE puede aprender la función identidad

La función identidad ocurre cuando la red reconstruye \(\mathbf{x}\) copiándolo casi literalmente, sin capturar estructura estadística útil. No es un fallo de implementación, sino el mínimo trivial de \(\mathcal{L}_{\mathrm{AE}}\) cuando la capacidad del modelo es demasiado alta respecto a la restricción impuesta.

Subcompleto vs. sobredimensionado

Tipo Dimensión del latente Riesgo de identidad Mecanismo de control
Subcompleto (undercomplete) \(\dim(\mathbf{z}) < \dim(\mathbf{x})\) Bajo si el cuello es estrecho La compresión fuerza a descartar información; no puede memorizar todo
Sobredimensionado (overcomplete) \(\dim(\mathbf{z}) > \dim(\mathbf{x})\) Alto sin regularización Hace falta esparsidad, ruido, contracción u otra penalización

En un AE subcompleto, el cuello de botella actúa como regularizador estructural: la red debe elegir qué conservar. En uno sobredimensionado, hay suficientes grados de libertad para que encoder y decoder aprendan un paso casi invertible “neurona a neurona”. Por eso Berahmand et al., 2024 y Sakar & Kocaman, 2022 insisten en que la capacidad debe ir acompañada de restricciones explícitas.

Otras causas prácticas

Las variantes que siguen son, esencialmente, respuestas que afrontan este problema.

Taxonomía de tipos de autoencoders

La siguiente tabla resume las familias más citadas. Cada fila apunta al mecanismo que evita la identidad trivial o amplía las capacidades del modelo de AE base.

Familia Idea clave Pérdida / restricción extra Referencia representativa
Vanilla AE Reconstrucción directa Cuello estrecho (subcompleto) Rumelhart et al. (1986)
Stacked AE AE apilados capa a capa Preentrenamiento no supervisado Bengio et al. (2007)
Sparse AE Pocas neuronas activas a la vez Penalización KL de esparsidad Ng (2011)
k-sparse AE Solo las \(k\) activaciones mayores Top-\(k\) en capa oculta Makhzani & Frey (2014)
Denoising AE (DAE) Reconstruir \(\mathbf{x}\) desde \(\tilde{\mathbf{x}}\) corrupto \(\mathcal{L}(\mathbf{x}, g(f(\tilde{\mathbf{x}})))\) Vincent et al. (2008)
Marginalized DAE (mDAE) Corrupción analítica marginalizada Múltiples vistas ruidosas Chen et al. (2012)
Contractive AE (CAE) Representación estable ante \(\delta\mathbf{x}\) \(|J_f(\mathbf{x})|_F^2\) Rifai et al. (2011)
Laplacian AE Suavidad en el manifold Grafo laplaciano sobre muestras Yang et al. (2010)
Orthogonal AE Filas de pesos casi ortogonales \(|WW^\top - I|\) Wang et al. (2015)
\(L_{2,1}\) robust AE Esparsidad + robustez a outliers Norma \(L_{2,1}\) en latente Li et al. (2018)
Variational AE (VAE) Latente probabilístico \(q(\mathbf{z}|\mathbf{x})\) ELBO = reconstrucción + KL Kingma & Welling (2013)
\(\beta\)-VAE Factorizar factores en latente Peso \(\beta\) en término KL Higgins et al. (2017)
Adversarial AE (AAE) Discriminador en el latente GAN-style en \(z\) Makhzani et al. (2015)
Wasserstein AE (WAE) Distancia de transporte al prior Wasserstein en latente Tolstikhin et al. (2018)
Bayesian AE (BAE) Incertidumbre en todos los pesos Prior gaussiano en parámetros Yong & Brintrup (2022)
Diffusion AE Denoising progresivo en latente Pérdida tipo difusión Preechakul et al. (2022)
Convolutional AE (CAE) Convoluciones en encoder/decoder Preserva localidad espacial Masci et al. (2011)
Conv-VAE VAE + capas convolucionales ELBO con convoluciones Sohn et al. (2015)
ConvLSTM AE Espacio + tiempo Pérdida en secuencia 3D Shi et al. (2015)
LSTM / GRU AE Series temporales MSE por paso temporal Nguyen et al. (2021)
Bidirectional RNN AE Contexto pasado y futuro MSE bidireccional Marchi et al. (2015)
Semi-supervised VAE Latente condicionado a etiqueta \(y\) ELBO con \(q(y|\mathbf{x})\) Kingma et al. (2014)
Disentangled VAE Factores independientes Estructura gráfica en latente Higgins et al. (2017)
Graph AE (GAE) Reconstrucción de aristas \(\sigma(ZZ^\top)\) vs. \(A\) Kipf & Welling (2016)
VGAE VAE en grafos ELBO sobre adyacencia Kipf & Welling (2016)
Adversarial GAE AAE en grafos Reconstrucción + adversarial Pan et al. (2018)
Graph attention AE Atención sobre vecinos Coeficientes \(a_{ij}\) Salehi & Davulcu (2019)
Masked AE (MAE) Reconstruir parches enmascarados MSE solo en tokens ocultos He et al. (2022)
Graph MAE MAE en nodos de grafo Error coseno en features Hou et al. (2022)
Contrastive MAE Rama online + objetivo contrastivo Reconstrucción + InfoNCE Huang et al. (2022)

Autoencoders regularizados (detalle)

Sparse AE: añade un término que empuja la activación media de las neuronas ocultas hacia un objetivo bajo, e.g. divergencia KL respecto a un prior de esparsidad. Obliga a repartir la información entre pocas unidades activas.

Denoising AE: durante el entrenamiento se corrompe \(\mathbf{x}\) con ruido gaussiano, dropout de entradas o masking, y la red debe predecir la versión limpia. La reconstrucción ya no es trivial porque la entrada vista por el encoder difiere de la meta del decoder.

Contractive AE: penaliza la norma del jacobiano \(J_f(\mathbf{x}) = \partial f / \partial \mathbf{x}\), haciendo el codificador insensible a perturbaciones locales, útil para representaciones que capturan el manifold de los datos normales.

Autoencoders generativos

VAE: el encoder produce parámetros de \(q_\phi(\mathbf{z} \mid \mathbf{x})\) (típicamente gaussiana); se muestrea \(\mathbf{z}\) y el decoder modela \(p_\theta(\mathbf{x} \mid \mathbf{z})\). La pérdida combina reconstrucción y \(\mathrm{KL}\bigl(q_\phi \,\|\, p(\mathbf{z})\bigr)\). Permite muestrear del prior y estimar densidad aproximada (ventaja frente al AE determinista en detección de anomalías basada en probabilidad).

β-VAE: escala el término KL con \(\beta > 1\) para favorecer representaciones más factorizadas (disentangled).

AAE / WAE: imponen que el histograma de códigos latentes se parezca a un prior (gaussiano u otro) mediante un discriminador o una métrica de transporte, sin la penalización KL cerrada del VAE.

Autoencoders por estructura de datos

Variantes tabulares y temporales (mencionadas en aplicaciones industriales)

TVAE (tabular VAE): Xu et al. (2019), dentro del ecosistema Synthetic Data Vault, adaptan el VAE a columnas mixtas (continuas y categóricas) con transformaciones por feature y capas específicas de salida. Se usa para síntesis de datos tabulares y, por extensión, modelado de variables de proceso. Para detección de anomalías en tablas con outliers en entrenamiento, RTVAE de Akrami et al., 2020 sustituye divergencias estándar por β-divergence (familia paramétrica de funciones de costo utilizada para medir la discrepancia entre dos distribuciones de probabilidad o matrices, que mediante un parámetro continuo β unifica métricas clásicas como la distancia euclídea y las divergencias de Kullback-Leibler e Itakura-Saito), manteniendo robustez frente a contaminación en los datos “normales”.

DVAE (dynamical variational autoencoder): Girin et al. (2021) unifican modelos que combinan VAE con dinámica temporal, e.g. VRNN de Chung et al., 2015, SRNN, DMM y KVAE, para secuencias de voz, movimiento o señales industriales muestreadas en el tiempo. El latente evoluciona según un modelo de estados; la reconstrucción captura dependencias que un AE estático por ventana ignora. Más material en el tutorial DVAE.

Sparse Compression VAE: Xiang et al. (2025), en el trabajo TRELLIS.2, aprenden un latente estructurado y muy comprimido sobre voxeles sparse 3D (representación O-Voxel), con downsampling espacial \(16\times\). Ilustra la tendencia actual: VAE no como MLP genérico, sino como compresor alineado con la geometría del dominio (aquí, generación 3D nativa).

Detección de anomalías con autoencoders

Principio

En detección de anomalías no supervisada, el AE se entrena solo con datos normales (transacciones legítimas, piezas sin defecto, régimen estable de máquina). Aprende el manifold del comportamiento habitual. Ante una observación anómala, el decoder (que nunca vio ese patrón) produce una reconstrucción pobre y el error de reconstrucción crece.

Pasos típicos:

  1. Entrenamiento normal: minimizar \(\mathcal{L}\) sobre el conjunto de referencia sano.
  2. Score: \(s(\mathbf{x}) = \|\mathbf{x} - \hat{\mathbf{x}}\|^2\), o MAE, BCE o log-likelihood del VAE.
  3. Umbral: se fija con un cuantil del score en validación (e.g. percentil 95 de datos normales).
  4. Alarma: \(s(\mathbf{x}_{\mathrm{nuevo}}) > \tau\).

Ventajas en mantenimiento predictivo (PdM)

Cuando no hay fallos etiquetados pero sí un período largo de operación estable, un AE (o VAE) multivariante modela correlaciones entre decenas o cientos de sensores, qué combinaciones de temperatura, presión, vibración, velocidad… son coherentes en cada modo de trabajo y características complejas de alto nivel que abstraen la naturaleza intrínseca de los datos, que son difíciles de ver de otra manera o a simple vista. El error de reconstrucción actúa como indicador de condición sin clasificar tipos de fallo.

Ventajas frecuentemente citadas:

Limitaciones a tener en cuenta:

Elección de variante según el dato

Dominio Variante habitual Motivo
Series temporales multivariantes LSTM-AE, GRU-AE, DVAE Dependencias temporales
Tablas de sensores / SCADA AE denso, VAE, TVAE, RTVAE Mix continuo/categórico; robustez a outliers
Imagen (inspección) Conv-AE, Conv-VAE Localidad espacial
Red de sensores con topología GAE / VGAE Estructura de grafo
Señal con régimen cambiante DVAE, ventanas + reentrenamiento Dinámica explícita en latente

Resumen y línea temporal

timeline
    title Hitos de los autoencoders
    1986 : Auto-asociadores PDP (Rumelhart et al.)
    2006-2007 : Preentrenamiento profundo (RBM / AE greedy)
    2008-2010 : Denoising y stacked DAE (Vincent et al.)
    2011 : Sparse y contractive AE
    2013-2015 : VAE, AAE y variantes generativas
    2016-2020 : Grafos, desentanglement, tabulares (TVAE)
    2021+ : DVAE, MAE, compresión estructurada (3D)

Los autoencoders no son un único algoritmo sino una familia funamentada en la base de la reconstrucción de datos. El progreso en esta línea consiste en añadir restricciones que impidan la identidad trivial y en adaptar la arquitectura al tipo de dato. Para detección de anomalías y PdM, el AE clásico sigue siendo la referencia conceptual; en la práctica, DAE, VAE, variantes tabulares robustas o dinámicas suelen ofrecer mejor comportamiento cuando el ruido, la temporalidad o la mezcla de tipos de variable lo exigen.

Referencias