En el mundo real, los datos se distribuyen de acuerdo con una probabilidad desconocida . En este contexto, se asume la existencia de un modelo latente que gobierna estos datos, expresado como . Para aprender este modelo, se propone una distribución alternativa, más tractable, , que puede ser efectivamente estimada utilizando algún método de optimización, en nuestro caso, el descenso de gradiente implementado a través de una red neuronal. Para completar la explicación, presentamos nuevamente el criterio de optimización:
Volvamos a desglosar lo que tenemos aquí. Siguiendo la idea del VAE, corresponde al decodificador y al codificador. Nuestras redes neuronales serán entrenadas para maximizar el ELBO, lo que implica dos tareas separadas: (1) Maximizar la probabilidad de los datos , obtenidos de los estados latentes codificados por nuestra red codificadora, y (2) Minimizar la distancia de Kullback-Leibler (KL) entre los estados latentes encontrados por nuestro codificador y la distribución prioritaria del estado latente en el mundo real (recordemos: esta distribución prioritaria es nuestra suposición de modelado). Así, tenemos criterios de entropía cruzada aplicados a la salida del VAE y criterios de KL aplicados para estimar la parte estocástica del codificador. Este enfoque para derivar una función objetiva de aprendizaje es conocido como el principio variacional para estimar modelos generativos. Además, dado que ELBO puede escribirse como energía libre, también se le conoce como la energía libre variacional.
Para facilitar el retropropagación, la implementación de VAE se realiza mediante un truco denominado "reparametrización", que ha sido clave para la popularidad moderna del VAE. En lugar de estimar el codificador por métodos de muestreo, la distribución normal del prior latente se distribuye con una media y varianza . Esto se puede escribir como una transformación de una variable gaussiana de media cero y varianza unitaria , es decir, . Este proceso se implementa eficazmente dibujando una variable aleatoria y luego multiplicando su valor por la varianza y añadiendo la media. La figura 6.1 ilustra este proceso de reparametrización.
Este truco de reparametrización se puede generalizar para distribuciones gaussianas multivariantes con un vector de medias y una matriz de covarianzas. Los parámetros de la distribución prior son estimados minimizando la distancia KL entre la codificación y el prior. La expresión KL puede escribirse explícitamente como:
La implementación de VAE utiliza dos redes neuronales como aproximaciones funcionales para estimar los parámetros de media y varianza, donde la expresión de KL sirve como función de pérdida para el procedimiento de retropropagación. Un aspecto importante a señalar sobre lo que precede a estas redes es que los datos de entrada se codifican mediante una red neuronal que mapea a , y luego la media y varianza se obtienen mediante dos redes completamente conectadas que implementan el truco de reparametrización. El tipo de codificación de a depende del tipo de datos, y puede ser tan simple como una capa densa o tan compleja como una red convolucional profunda. Además, dado que en la salida de la red es una distribución gaussiana, la entropía cruzada en la salida puede aproximarse promediando la distancia euclidiana entre los valores decodificados y los valores reales de los datos, una expresión que aparece en el exponente de la función de probabilidad gaussiana.
En este sentido, dado que , podemos estimar el parámetro de la media promediando sobre los datos reconstruidos por el decodificador . Por lo tanto, para estimar , tomamos una media aproximada promediando sobre múltiples muestras de reconstrucción codificación-decodificación :
El código de ejemplo que sigue muestra cómo implementar un VAE simple utilizando un Perceptrón Multicapa (MLP) en PyTorch.
En cuanto a la estimación de los parámetros del modelo mediante ELBO, la codificación de datos de manera no supervisada se realiza con frecuencia utilizando VAE. Alemi et al. (2018) demostraron que la maximización del ELBO es equivalente a la minimización de para el codificador VAE, con un requisito adicional de minimización del error de reconstrucción del decodificador . Consideremos los pasos que conducen a esta equivalencia. Consideramos la codificación en términos de la aproximación variacional para el codificador y la probabilidad verdadera para los datos . En consecuencia, la información mutua entre los datos y los estados latentes , cuando se utiliza el codificador, se convierte en una medida para la distribución conjunta, expresada a través del codificador , o a través del decodificador . Suponemos que , por lo que los utilizamos de manera intercambiable.
En resumen, la implementación de un VAE no solo depende de la reparametrización de las distribuciones gaussianas, sino también de cómo se organiza y entrena la red neuronal para maximizar el ELBO. La clave del VAE radica en la capacidad de aprender representaciones latentes útiles sin la necesidad de supervisión explícita. Es fundamental comprender que la eficiencia de este enfoque se debe a la optimización simultánea de la reconstrucción y la regularización de las representaciones latentes.
¿Por qué el aprendizaje profundo supera a los modelos lineales tradicionales?
En el ámbito del aprendizaje automático, el objetivo esencial es encontrar patrones relevantes en los datos para generar modelos que permitan realizar predicciones eficaces. Estos modelos, en esencia, son funciones que transforman entradas en salidas significativas. En su forma más básica, como en el caso de un regresor lineal, el modelo busca una relación directa entre las variables de entrada y la salida, ajustando parámetros como pesos y sesgos para representar la mejor función lineal posible dada la información disponible.
Este enfoque, sin embargo, impone una limitación fundamental: la linealidad. Supone que la relación entre variables es siempre una combinación lineal, lo cual rara vez refleja la complejidad del mundo real. Si bien estos modelos son útiles por su simplicidad y capacidad de interpretación, fallan estrepitosamente ante relaciones no lineales intrínsecas en datos complejos. Un ejemplo clásico que ilustra este fallo es la función lógica XOR. Dados cuatro puntos en el plano —(0,0), (0,1), (1,0), (1,1)— con salidas deseadas 0, 1, 1, 0 respectivamente, cualquier modelo estrictamente lineal es incapaz de separar correctamente las clases. Ninguna recta puede dividir el plano de manera que separe los puntos asignados al valor 1 de aquellos asignados al 0. La geometría de la linealidad impone un sesgo estructural que impide la representación fiel de estos patrones.
Para superar esta barrera, se requiere un cambio de paradigma. Aquí es donde entra el aprendizaje profundo, el cual consiste en construir redes de funciones simples (capas) apiladas de forma jerárquica. Cada capa actúa como una transformación no lineal de los datos, permitiendo que el sistema completo se convierta en un aproximador universal de funciones. Esta capacidad se basa en un principio profundamente relacionado con la solución de Kolmogórov al decimotercer problema de Hilbert: la idea de que cualquier función multivariable continua puede representarse como una superposición de funciones univariadas. De forma análoga, las redes neuronales profundas logran representar funciones complejas combinando capas simples de manera compuesta.
La diferencia clave entre los modelos “poco profundos” y las redes profundas no está solo en la cantidad de capas, sino en la capacidad de abstraer características jerárquicas del input. En una red profunda típica, las capas iniciales aprenden patrones locales (como bordes en una imagen), mientras que las capas más profundas combinan esas señales para formar conceptos de mayor nivel (como formas, objetos, categorías). Este enfoque ha sido catalizado por avances técnicos en procesamiento paralelo, especialmente mediante GPUs, que hacen viable entrenar redes con millones de parámetros sobre conjuntos de datos masivos.
El hito representado por AlexNet en 2012 consolidó este enfoque al demostrar que una red profunda entrenada con suficiente datos y capacidad de cómputo podía superar a los métodos tradicionales de visión por computadora en tareas de clasificación de imágenes. Su estructura de múltiples capas convolucionales permitía una extracción automática de características, desplazando métodos anteriores que dependían de ingeniería manual de atributos. A partir de este momento, el aprendizaje profundo se convirtió en el paradigma dominante en tareas perceptivas como visión, audio y procesamiento de lenguaje natural.
Sin embargo, esta potencia no está exenta de desafíos. Las redes profundas tienen un número elevado de parámetros, lo que implica tanto una necesidad significativa de datos como un riesgo latente de sobreajuste. Mientras que un modelo lineal simple puede generalizar bien con pocos ejemplos, una red profunda requiere mecanismos como regularización, normalización, y validación cruzada para evitar capturar ruido en lugar de estructura real. Además, su naturaleza opaca dificulta la interpretación de sus decisiones, lo que ha dado lugar al surgimiento de una subdisciplina completa centrada en la interpretabilidad y la explicabilidad de modelos de caja negra.
Es crucial entender que la razón del éxito del aprendizaje profundo no radica solamente en su complejidad arquitectónica, sino en su capacidad de ajustar la representación de los datos a través del entrenamiento. Mientras que un modelo lineal opera sobre la representación original de los datos, una red profunda aprende simultáneamente la representación y la función de predicción. Esta característica permite que los modelos profundos se adapten a dominios diversos sin requerir una formulación manual de los atributos relevantes, como se hacía en el aprendizaje automático clásico.
Una implicación central de esta evolución es la necesidad de reformular el diseño de algoritmos de aprendizaje: ya no se trata de elegir manualmente las características adecuadas para un modelo simple, sino de diseñar arquitecturas capaces de aprender representaciones útiles directamente desde los datos. Esto marca un cambio epistemológico en la manera de abordar problemas computacionales: de la ingeniería explícita a la abstracción aprendida.
Es importante comprender que el poder del aprendizaje profundo no se limita al tamaño de las redes ni al volumen de los datos, sino a la naturaleza de la composición funcional que permite representar estructuras complejas. Las capas no solo transforman datos: construyen significados. Esta noción transforma completamente nuestra relación con la modelización estadística, abriendo caminos antes inexplorados y replanteando qué significa realmente “aprender” en el contexto de la inteligencia artificial.
¿Cómo generan muestras los modelos de difusión mediante score matching y dinámica de Langevin?
El enfoque de score matching surge como una alternativa elegante al problema de modelar distribuciones complejas sin requerir la estimación directa de la constante de normalización, que suele ser intratable. Inspirado en la física estadística y los procesos de Langevin, este enfoque se centra en aprender el gradiente del logaritmo de la distribución de datos, conocido como función score, a través de una red neuronal paramétrica . Esta red se entrena para aproximar el campo vectorial que apunta hacia las regiones de alta probabilidad de la distribución, sin necesidad de definir explícitamente dicha distribución.
El procedimiento se fundamenta en la observación de que, si uno conoce el gradiente del logaritmo de una distribución de probabilidad, puede generar muestras de esa distribución utilizando una dinámica estocástica conocida como dinámica de Langevin. Esta dinámica simula una caminata aleatoria guiada por el gradiente de la densidad, permitiendo al modelo recorrer el espacio de datos desde cualquier punto inicial hacia las regiones de mayor densidad de probabilidad.
Este proceso se formaliza como una secuencia iterativa , donde representa ruido gaussiano. La presencia de este ruido es crucial: impide que las trayectorias se vuelvan deterministas, lo cual sería problemático en regiones donde múltiples modos de la distribución compiten. Gracias a este mecanismo, el modelo evita colapsar en un único modo y mantiene diversidad en las muestras generadas.
Uno de los avances clave es el uso del denoising score matching, en el cual el modelo aprende la función score no directamente desde los datos, sino desde muestras corruptas generadas mediante la adición de ruido gaussiano. Este enfoque redefine el objetivo de entrenamiento para que coincida con el gradiente del logaritmo de la distribución condicional , donde es una versión ruidosa de . Dado que este gradiente tiene una forma cerrada en el caso gaussiano, , se facilita el aprendizaje supervisado de la función score.
Sin embargo, el score matching tradicional enfrenta limitaciones importantes. Cuando los datos se encuentran sobre una variedad de baja dimensión incrustada en un espacio de alta dimensión, la función score puede volverse indefinida fuera de la variedad, lo que lleva a una estimación inestable. Además, en regiones de baja densidad de datos, el modelo tiene dificultades para aprender representaciones precisas debido a la escasez de ejemplos durante el entrenamiento.
Estas deficiencias son abordadas mediante el uso de niveles múltiples de ruido, lo que da origen al procedimiento conocido como annealed Langevin dynamics. En este enfoque, se define una secuencia de niveles de ruido , y se entrena una red neuronal para aproximar la función score en cada uno de esos niveles. De esta forma, el modelo aprende a aproximarse progresivamente desde distribuciones altamente ruidosas hacia la distribución original de los datos, replicando de manera inversa un proceso de difusión.
El muestreo se realiza de manera secuencial: se inicia con un nivel de ruido alto, generando muestras con una dinámica de Langevin correspondiente, y luego se reduce el nivel de ruido en cada etapa, utilizando como punto de partida las muestras obtenidas anteriormente. Este procedimiento asegura que las muestras converjan hacia los modos de la distribución de datos con mayor fidelidad, y refleja de forma natural el proceso inverso de los modelos de difusión variacional.
El paralelismo entre este enfoque y los modelos de difusión deterministas como DDIM es evidente. Mientras que DDIM permite interpolaciones semánticamente coherentes manipulando directamente el espacio latente inicial, el score matching con dinámica de Langevin recorre el espacio de manera probabilística, orientado por la geometría de la distribución de datos. Ambos enfoques comparten el principio fundamental de la reversibilidad estocástica, pero divergen en el mecanismo de inferencia: uno determinista y directo, el otro probabilístico y adaptativo.
El análisis matemático de estos enfoques muestra que, pese a sus diferencias técnicas, convergen hacia un objetivo común: la aproximación eficiente de distribuciones de alta dimensión mediante mecanismos de inversión del ruido. En particular, el uso de múltiples niveles de ruido en score matching logra replicar exactamente el objetivo variacional de los modelos de difusión, unificando conceptualmente ambos marcos bajo una misma formulación probabilística.
Es importante entender que, aunque la dinámica de Langevin proporciona una vía poderosa para la generación de muestras, su eficacia depende críticamente de la calidad de la función score estimada. Errores en su aproximación pueden conducir a trayectorias que no convergen o que exploran regiones irrelevantes del espacio de datos. Por esta razón, entrenar redes de score robustas a múltiples escalas de ruido es fundamental para obtener resultados satisfactorios.
Asimismo, la interpretación geométrica del campo vectorial inducido por la función score aporta una intuición visual poderosa: en cada punto del espacio de datos, la red indica la dirección en la que crece la probabilidad. Este campo, si se estima con precisión, encapsula todo el conocimiento de la distribución subyacente, sin requerir una forma explícita de la misma. Esta propiedad lo convierte en una herramienta esencial para tareas de generación, restauración e interpolación de datos en dominios complejos.
¿Cómo se realiza la retropropagación y la normalización por lotes en redes neuronales?
El cálculo de las derivadas en redes neuronales es un proceso fundamental que se basa en la regla de la cadena. En cálculo, esta regla permite computar la derivada de una función compuesta aplicando secuencialmente las derivadas de sus funciones constituyentes. Para ilustrarlo, consideremos un caso simple con funciones compuestas: si tenemos y , donde , , y son escalares, entonces la derivada de respecto a es:
De manera más general, si tratamos con vectores , , y , la derivada de con respecto a se puede escribir como el producto de los jacobianos de las funciones intermedias:
donde es la matriz jacobiana, cuya entrada es la derivada parcial de respecto a .
Este proceso tiene una interpretación directa en el contexto de redes neuronales. Si consideramos como la entrada a la red, como la salida y como las activaciones de las capas ocultas, el cálculo de la derivada de la salida respecto a la entrada implica una travesía hacia atrás a través de la red. En esta travesía, calculamos las derivadas intermedias y luego tomamos su producto. Esto se conoce como la retropropagación del error.
Para entender mejor cómo se realiza este proceso, consideremos una red neuronal sencilla. En el gráfico computacional de la red, el nodo de entrada está conectado a dos nodos de peso y . Estos pesos se multiplican con la entrada para generar los nodos intermedios y , respectivamente. Luego, estos nodos intermedios son pasados a través de una función de activación , generando los nodos y . Finalmente, y se suman para obtener la salida .
Supongamos que deseamos calcular la derivada de la salida respecto a uno de los pesos, por ejemplo, . Primero realizamos un pase hacia adelante, obteniendo los valores numéricos de todos los nodos. Luego, comenzamos a calcular la derivada a partir de la salida y seguimos el camino de retropropagación:
-
De a , calculamos .
-
De a , calculamos .
-
De a , calculamos .
Finalmente, el producto de las derivadas es:
Este es el valor de la derivada de la salida respecto al peso . Si queremos calcular la derivada de la salida respecto a la entrada , debemos tener en cuenta los dos caminos que existen en la red: y . Para cada camino, calculamos las derivadas intermedias y sumamos las contribuciones de ambos caminos.
Para el primer camino, tenemos:
Y para el segundo camino:
La derivada total es entonces:
Este proceso de retropropagación es fundamental para el entrenamiento de redes neuronales, ya que nos permite ajustar los pesos de manera eficiente usando el descenso por gradiente.
Además de la retropropagación, otro concepto esencial en el entrenamiento de redes neuronales es la normalización por lotes (batch normalization). Esta técnica fue propuesta por Ioffe y Szegedy (2015) para mejorar la eficiencia y estabilidad del entrenamiento. La normalización por lotes tiene como objetivo reducir el problema del cambio de covariables internas, que ocurre cuando las activaciones de la red cambian a medida que los parámetros de la red se actualizan durante el entrenamiento.
El proceso de normalización por lotes consiste en centrar y reescalar las salidas de las capas de la red neuronal. Para cada mini-lote de activaciones , se calcula la media y la varianza del lote. Luego, las activaciones se "blanquean" de acuerdo con la siguiente fórmula:
Una vez que las activaciones han sido normalizadas, se aprenden dos parámetros adicionales: la escala y el centro , que permiten controlar la reescalación y el desplazamiento de las activaciones normalizadas. La salida de la normalización por lotes es entonces:
Este proceso ayuda a estabilizar el entrenamiento, ya que las activaciones de la red se mantienen dentro de un rango controlado, evitando que las distribuciones de las activaciones cambien demasiado durante el entrenamiento. Es común considerar la normalización por lotes como una capa adicional dentro de la red neuronal.
Es fundamental para el lector entender que la retropropagación y la normalización por lotes son técnicas interdependientes en el contexto del entrenamiento de redes neuronales. Mientras que la retropropagación permite calcular los gradientes necesarios para ajustar los pesos, la normalización por lotes ayuda a que el proceso de entrenamiento sea más estable y eficiente. Sin estas técnicas, el entrenamiento de redes neuronales profundas podría volverse extremadamente lento y propenso a fallos de convergencia. Además, las redes neuronales modernas, como las que utilizan redes convolucionales o redes recurrentes, también se benefician enormemente de estas técnicas.

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский