Download 7. Máquinas Estocásticas

Document related concepts

Máquina de Boltzmann wikipedia , lookup

Propagación hacia atrás wikipedia , lookup

Teoría hebbiana wikipedia , lookup

Mapa autoorganizado wikipedia , lookup

Red neuronal estocástica wikipedia , lookup

Transcript
7.
Máquinas Estocásticas
7.1 El Algoritmo de Metrópolis
P{ X n 1  x n 1 / X 0  x 0 , X 1  x1 ,...., X n 1  x n 1 , X n  x n }  P{ X n 1  x / X n  x n }
 (x) P{ X n 1  x' / X n  x}   (x' ) P{ X n 1  x / X n  x' )
 ( x) 
e

E (x)
kT
e

E

P{ X n 1  x' / X n  x)  (x' )

 e kT
P´{X n 1  x / X n  x' )  (x)
E (x)
kT
xS
P{ X n 1
1

 x / X n  x' )   - E
kT

e
si E  0
si E  0
7.
Máquinas Estocásticas
7.3. La técnica de Recocido Simulado
• Un esquema de enfriamiento que regula cómo va disminuyendo
gradualmente la temperatura.
T (k ) 
To
1  ln k
• Un algoritmo, como el algoritmo de Metropolis, que se utiliza para
encontrar la distribución de equilibrio para cada nuevo valor de la
temperatura obtenido por el esquema de enfriamiento.
7.
Máquinas Estocásticas
7.3. La técnica de Recocido Simulado
Paso 0 Elegir una configuración inicial de la red (k=0) y un esquema de
enfriamiento T(k).
Paso 1 Hacer k  k + 1
Paso 2 Elegir aleatoriamente una unidad de proceso; supongamos que su
estado es si(k) correspondiente a la configuración de la red .
Si la configuración verifica que E(k+1) < E(k) entonces se toma como nueva
configuración,
Si no, entonces
si exp(-E(k)/T(k))>rand[0,1) elegir también si (k+1) = si (k) para la
nueva configuración,
si no, la nueva configuración es la misma que la anterior, si (k+1) = si (k).
Paso 3 Si k = kmax (u otro criterio de parada se cumple que garantice que todas
las unidades de proceso han sido actualizadas varias veces) parar, la
configuración obtenida es la buscada. Si no, volver al paso 1.
7.4
Máquina de Boltzmann
Neuronas ocultas
P( S i  1) 
1
1  e  2 hi / T
Neuronas de salida
Neuronas de entrada
Cuando T es “grande” entonces
Cuando T es “pequeño” entonces
P ( S i  1) 
1
2
1
P( Si  1)  
0
si hi  0
si hi  0
que se comporta como el Modelo de Hopfield determinístico.
7.4
Máquina de Boltzmann
El proceso de aprendizaje se lleva a cabo en dos etapas: una etapa de
bloqueo o ajuste donde se ajustan las unidades visibles a los patrones de
entrenamiento mientras que las unidades ocultas evolucionan según la dinámica
de la red; en la otra etapa libre sólo se ajustan las neuronas de entrada y las
demás evolucionan libremente.
: configuración concreta de los estados de las neuronas visibles
: representan una configuración concreta de los estados de las neuronas
ocultas.
P() : probabilidad de que las neuronas visibles presenten la configuración 
cuando la red opera de forma bloqueada (ajustada a las condiciones del entorno),
es decir, la probabilidad deseada.
Q() : probabilidad de que las neuronas visibles presenten la configuración 
cuando la red opera de forma libre (depende de los pesos sinápticos de la red).
 P( ) 

H   P( ) ln 
 1
 Q( ) 
2M
7.4
Máquina de Boltzmann
 P( ) 

H   P( ) ln 
 1
 Q( ) 
2M
wij  
Q( )

wij
 e
 E ( ,  ) / T

s i ( ,  ) s j ( ,  )

TZ
 P( ,  )s ( ,  )s
i

Q( )   P ( ,  ) 
P( ) Q( )
H

wij
 Q( ) wij
T

j
( ,  )

 e

E ( ,  )
T
Z
( e  E ( ,  ) / T ) e  E (  ,  ) / T s i ( ,  ) s j ( ,  )

 ,
TZ 2
Q( ) s i s j
libre
T
wij    P( ) P(  /  ) si s j  si s j
T


 

si s j
libre 
 T
bloqueo
 si s j
libre

7.4
Máquina de Boltzmann
Paso 1: Inicio Los pesos sinápticos de la red con valores aleatorios entre –1 y 1
Paso 2: Fase de bloqueo
Ajustar las unidades visibles a los patrones de entrenamiento. Si hay varias salidas
posibles para una misma entrada entonces cada salida se debe ajustar con la
frecuencia apropiada.
Realizar un enfriamiento estadístico, T(k)=0.95·T(k-1).
Actualizar la red, para cada valor de la temperatura, eligiendo aleatoriamente una
neurona oculta, y asignarle el valor +1 con probabilidad
1
P( X i  1) 
1  e 2h / T
i
Alcanzada la temperatura final, calcular la media de los valores del producto sisj, en
cada actualización (correlación), para par de neuronas i, j.
Paso 3: Fase libre
Repetir las computaciones del paso 2 pero ajustando sólo las neuronas de entrada y
estimar también las correlaciones.
Paso 4: Actualización de los pesos sinápticos
Actualizar los pesos sinápticos según la regla de aprendizaje de Boltzmann:

donde  es la tasa de aprendizaje.
wij 
si s j
 si s j
bloqueo
libre
Paso 5:
T
Repetir los pasos anteriores hasta que el procedimiento de aprendizaje converja (es
decir, cuando no se produzcan cambios en el valor de los pesos sinápticos)

