El algoritmo de vigilia-sueño [1] es un algoritmo de aprendizaje no supervisado para modelos generativos profundos , especialmente máquinas de Helmholtz . [2] El algoritmo es similar al algoritmo de maximización de expectativas [ 3] y optimiza la probabilidad del modelo para los datos observados. [4] El nombre del algoritmo deriva de su uso de dos fases de aprendizaje, la fase de "vigilia" y la fase de "sueño", que se realizan de forma alternada. [1] Puede concebirse como un modelo para el aprendizaje en el cerebro, [5] pero también se está aplicando para el aprendizaje automático . [6]
El objetivo del algoritmo de vigilia-sueño es encontrar una representación jerárquica de los datos observados. [7] En una representación gráfica del algoritmo, los datos se aplican al algoritmo en la parte inferior, mientras que las capas superiores forman representaciones gradualmente más abstractas. Entre cada par de capas hay dos conjuntos de pesos: pesos de reconocimiento, que definen cómo se infieren las representaciones a partir de los datos, y pesos generativos, que definen cómo se relacionan estas representaciones con los datos. [8]
El entrenamiento consta de dos fases: la fase de “vigilia” y la fase de “sueño”. Se ha demostrado que este algoritmo de aprendizaje es convergente. [3]
Las neuronas se activan mediante conexiones de reconocimiento (de lo que sería una entrada a lo que sería una salida). Las conexiones generativas (que van de las salidas a las entradas) se modifican para aumentar la probabilidad de que vuelvan a crear la actividad correcta en la capa inferior, más cercana a los datos reales de la entrada sensorial. [1]
El proceso se invierte en la fase de “sueño”: las neuronas son activadas por conexiones generativas mientras que las conexiones de reconocimiento se modifican para aumentar la probabilidad de que vuelvan a crear la actividad correcta en la capa superior, en función de los datos reales de la entrada sensorial. [1]
Dado que la red de reconocimiento tiene una flexibilidad limitada, es posible que no pueda aproximarse bien a la distribución posterior de las variables latentes. [6] Para aproximarse mejor a la distribución posterior, es posible emplear un muestreo de importancia , con la red de reconocimiento como distribución propuesta. Esta aproximación mejorada de la distribución posterior también mejora el rendimiento general del modelo. [6]