Divergencia contrastiva explicada para expertos


La divergencia contrastiva es un procedimiento aproximado para la estimación de parámetros en modelos basados en energía, especialmente en máquinas de Boltzmann restringidas, que aproxima el gradiente de la log-verosimilitud mediante la diferencia entre la distribución de datos y la distribución del modelo.

Formalmente, la actualización de parámetros se basa en el gradiente

\[ \nabla_\theta \log p(x; \theta) = -\mathbb{E}_{p(h|x)}\left[\nabla_\theta E(x,h;\theta)\right] + \mathbb{E}_{p(x,h)}\left[\nabla_\theta E(x,h;\theta)\right] \]

que se aproxima reemplazando la segunda esperanza por una cadena corta de muestreo Gibbs con k pasos, que comienza desde los puntos de datos (CD-k):

\[ \Delta \theta \propto -\left( \mathbb{E}_{p(h|x)}\left[\nabla_\theta E(x,h;\theta)\right] - \mathbb{E}_{p(h|\tilde{x})}\left[\nabla_\theta E(\tilde{x},h;\theta)\right] \right) \]

con \( \tilde{x} \) como los ejemplos generados mediante muestreo Gibbs.

Este método permite un entrenamiento eficiente, ya que solo se necesitan pocos pasos de muestreo para obtener buenas aproximaciones.

Sin embargo, la aproximación introduce un sesgo que en la práctica es tolerable y que puede mejorarse mediante variantes como la divergencia contrastiva persistente (PCD).


Definición:
«La divergencia contrastiva es un procedimiento de aprendizaje aproximado para la estimación eficiente de parámetros de modelos en modelos basados en energía, en el que el gradiente de la log-verosimilitud se aproxima mediante la diferencia entre la distribución de datos y la distribución del modelo, aproximando la distribución del modelo mediante cadenas cortas de muestreo Gibbs.»


Fuente:
Hinton, G. E. (2002). Training products of experts by minimizing contrastive divergence. Neural Computation, 14(8), 1771–1800.