Download Capítulo 5

Document related concepts

Propagación hacia atrás wikipedia , lookup

Redes neuronales probabilísticas wikipedia , lookup

Perceptrón multicapa wikipedia , lookup

Aprendizaje de cuantificación vectorial wikipedia , lookup

Perceptrón wikipedia , lookup

Transcript
Capítulo 5
Counterpropagation Networks (CPN)
Redes de Contrapropagación
Robert Hecht-Nielsen ( 1987)
Creación de Subredes mediante memorias
Hetereoasociativas
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
1
La Arquitectura CPN
• Dado el conjunto de pares de vectores (x1,y1),..,(xP,yP),
donde xi  RN ; yi  RK estos clasifican en diferentes
clases: C1,C2,…. ,CH.
• El CPN asocia un vector de la capa de entrada x, con un
<y>k Ck, k= 1,..H para el cúal el correspondiente <x>k es
el más cercano a x.
• <x>k e <y>k son los promedios de xp e yp que pertenecen a
una misma clase.
• CPN puede trabajar tb en reversa: dado y se obtiene <x>k
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
2
La Arquitectura CPN
• Consiste en 5 capas y 3 niveles:
– El nivel de entrada contiene dos capas x e y:
• El 1er nivel normaliza el vector de entrada.
– El nivel medio contiene la capa oculta:
• Clasifica el vector de entrada, eligiendo uno de los K códigos
de clasificación.
• Las salidas de todas las neuronas de la capa escondida son
ceros excepto una, y dicha salida clasifica al correspondiente
vector de entrada con una clase Ck.
– El nivel de salida tienen dos capas x’ e y’:
• Basado en la clasificación efectuada en la capa oculta, la capa
de salida recupera el vector representativo.
• Las tres subredes son cuasi-independientes y el entrenamiento de un
nivel se ejecuta solo cuando se ha terminado el nivel anterior.
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
3
La Arquitectura CPN
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
4
La Arquitectura CPN
• Forma de trabajar:
– Considerar que se tiene una red entrenada, tal
que cuando se aplican vectores: x e y = 0 ,en el
nivel de entrada, entonces se obtiene <y>k.
– En forma inversa (reversa), cuando se aplican
vector y , x = 0, y se obtiene <x>k
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
5
La capa de entrada
•
•
•
•
Sea la entrada x.
Sea N la dimensión de x y K la dimensión de y.
Sea zx la salida de la capa de entrada x.
El nivel de entrada realiza normalización de la entrada:
– Cada neurona recibe una exitación positiva proporcional a su
entrada correspondiente. +B xi, B>0.
– Cada neurona recibe una excitación negativa de todas las neuronas
de la misma capa, incluyendosé, igual a –zxixj
– La entrada x es aplicada en el tiempo t = 0 y retirada en
el tiempo t=t’
– En ausencia de xi, la salida zxi decrece a cero
exponencialmente,i.e., zxi  e-At
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
6
La Capa de Entrada
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
7
La Capa de Entrada
• Comportamiento:
dz xi
dt
dz xi
N
  Az xi  Bx i  z xi  x j para t  [0, t ' )
j 1
  Az xi
dt
en notación matricial :
dz x
  Az x  Bx  z x ( x T 1̂)1̂
dt
dz x
  Az x
dt
para t  [t ' , )
para t  [0, t ' )
para t  [t ' , )
Condicione s de borde : z x (0)  0̂  lim t  z x (t )  0̂.
Continuida d del proceso : lim t t ' z x (t )  lim t t ' z x (t )
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
8
La Capa de entrada
Sol:





Bx
T
zx 
1

exp

(
A

x
1̂)t
para t  [0, t ' )
T
A  x 1̂
Bx
T
- A(t - t')
zx 
1

exp

(
A

x
1̂
)
t
'
e
para t  [t ' , )
T
A  x 1̂

• La salida es acotada y proporcional a la entrada.
Bx
Bx T 1̂
z xmax 
 x(
)  x
T
T
A  x 1̂
A  x 1̂
xi
donde  xi  N
 xi
 xj
j 1
 x es un vector normalizado llamado patrón de
reflectancia i.e.
N

j 1
Profesor: Dr. Héctor Allende
xj
1
Redes Neuronales Artificiales
9
La Capa de Entrada
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
10
La Capa oculta
• El Instar:
– La capa oculta consta de un conjunto de Instar.
– Los Instar pueden clasificar la dirección de los vectores de
entrada.
– El vector de entrada es z ={zi}I=1,..,N+K, contiene los outputs de
xey
– Sea H la dimensión de la capa oculta: zH={ZHk}k=1,H , el output
del vector de la capa oculta.
– Sea W la matriz peso, W= {wki}k=1,H ;
i=1,N+K
, tal que la
entrada a la neurona k de la capa oculta es W(k,:) z = Neto
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
11
La Capa oculta
• Comportamiento del neuron k-ésimo
dz H k
dt
dz H k
 az H k  bW (k , :) z
para t  [0, t ' )
 az H k
para t  [t ' , )
dt
a, b   
Condicione s de borde : z H k (0)  0, lim t  z H k (t )  0
Condicione s de continuida d : lim t t ' z H k (t )  lim t t ' z H k (t )
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
12
La Capa oculta
• Comportamiento: La matriz peso cambia de acuerdo a:
T


c
[
W
(
k
,
:)

z
] si z k  0
dW ( k , :)

dt
si z k  0
0
condición de borde : W(k, :)(0)  0̂.
Segundo caso se usa para evitar proceso de olvido.
– En ausencia del vector de entrada z = 0 si el proceso de
aprendizaje continuara, entonces:
dW (k , :)

 cW (k , :)  W (k , :)  Cect t
 0
dt
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
13
La Capa oculta
• Comportamiento:
• Si la matriz de peso cambia más lentamente que la salida de
la neurona, entonces W(k,:) z  cte. La solución obtenida
es.
zHk
zHk
b
 at
 W (k , :) z (1  e )
para t  [0, t ' )
a
b
 W (k , :) z (1  e  at ' )e  a (t t ') para t  [t ' , )
a
z H k max
b
 W (k , :) z
a
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
14
La Capa oculta
• Si se asume que z se aplica por un tiempo
suficientemente largo, entonces:
W (k , :)  z T (1  e ct )
es decir, W(k,:) se mueve hacia z.
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
15
La Capa oculta
• Proceso de aprendizaje: Sea el conjunto de vectores de
entrada {zp}p=1,.,P aplicados de la siguiente manera: z1 entre
[0,t1),…, zP entre [tP-1,tP). El proceso parte
i) Inicilizando la matriz peso: W(k,:) = 0
– Si t0= 0, calcular los pesos:
W (k , :)( t1 )  z1 (1  e  ct1 )
W (k , :)( t 2 )  z 2 (1  e c ( t 2 t1 ) )  W (k , :)( t1 ),....
W (k , :)( t P )  z P (1  e c ( t P t P1 ) )  W ( k , :)( t P 1 )
P
  z p (1  e
 c ( t p  t p 1 )
)
p 1
– W(k,:) apunta a la dirección promedio apuntada por
{zp}p=1,.,P
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
16
La Capa Oculta
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
17
La Capa oculta
• La Red Competitiva: La capa oculta de CPN consta de
instars interconectados que clasifican cualquier vector
zRN+K ,i.e. se inhiben todos los Instars menos el ganador.
– La capa oculta clasifica un vector de entrada z (la instar
con mayor respuesta es la ganadora)
– Salida del tipo 1 de k.
– El vector peso se mueve hacia el promedio de las
entradas.
– Se agrega feedback para asegurar salida.
– Debe existir por lo menos una neurona instar por cada
clase Ck, ; k=1,..H.
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
18
La Capa Oculta
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
19
La Capa Oculta
• Sea f=f (zHk) (ej. :f(z)=zr r>1) la función de
feedback. dz H
k
dt
 az H k  b[ f ( z H k )  W (k , :) z ]
 zH k
dz H k
dt
N K
[ f ( z
t 1
Hl
)  W (l , :) z ]
 az H k
donde W(k,:) z 
para t  [0, t ' )
para t  [t ' , )
N K
 f (z
l 1
Hl
) es la entrada total a la neurona l.
Notación matricial :
dz H
  az H  b[ f ( z H )  Wz ]  z H  [ f ( z H )  Wz ] para t  [0, t ' )
dt
dz H
  az H
para t  [t ' , )
dt
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
20
La Capa de salida
• Outstars:
– Neuronas de la capa de salida.
– Existen 2 capas: x’ de dimensión N e y’ de
dimensión K.
– Matriz peso : W’
– Objetivo: Recuperar el par {<x>k,<y>k}, donde
<x>k es cercano a la entrada x
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
21
La Capa de salida
• Comportamiento:
dx'i
  A' xi ' B ' xi  C 'W ' (i, :) z H para t  [0, t ' )
dt
dx'i
  A' xi 'C 'W ' (i, :) z H
para t  [t ' , )
dt
A' , B ' , C '  
en modo matricial :
dx'
  A' x' B ' x  C 'W ' (1 : N , :) z H
dt
dx'
  A' x'C 'W ' (1 : N , :) z H
dt
para t  [0, t ' )
para t  [t ' , )
condición de borde : x' (0)  0̂
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
22
La Capa de salida
• Cambio en la matriz peso:
dW ' (1 : N , k ) 
 D 'W ' (1 : N , k )  E ' x

dt

0̂
si z H k  0
si z H k  0
Condición de borde W ' (1 : N , k )(0)  0̂
– Solo una columna de W’ cambia.
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
23
La Capa de salida
• Si se asume que la matriz peso cambia más
lentamente,i.e., W(i,:)zH  cte. Entonces se tiene la
siguiente solución:
C'
 B'

x'   x  W ' (1 : N , :) z H  (1  e  A't )
A'
 A'

• La solución para los pesos es:
W ' (1 : N , k ) 
Profesor: Dr. Héctor Allende
E'
x(1  e  A't )
D'
Redes Neuronales Artificiales
24
La Capa de salida
• Comportamiento Asintótico:
B'
C'
lim t  x ' 
x
W (1 : N , :) z H
A'
A'
E'
lim t  W ' (1 : N , k ) 
x
D'
– Después del entrenamiento los pesos serán
W’(1:N,k)  <x>k
Profesor: Dr. Héctor Allende

W’(N+1:N+K,k)  <y>k
Redes Neuronales Artificiales
25
Dinámica de la CPN
• Ejecución de la red:
– Capa de entrada: Normalización de la entrada.
Sea x, y  0̂
z (1 : N ) 
x
T
z ( N  1 : N  K )  0̂
x x
– La capa oculta es del tipo ganador se lleva todo.
• Se calcula las salidas de las neuronas ocultas: zHlW(l,:)z.
• Sea k tal que W (k , :) z  max l W (l , :) z
• z H  0̂, luego hacer z H  1  z H T  (0.....1.....0)
k
– Capa de Salida
B'
C'
x

W (1 : N , :) z H
• La ecuación :
A'
A'
E'
lim t  W ' (1 : N , k ) 
x
D'
• Hacer y = 0, C’=A’ y E’=D’, entonces la salida de la capa y’ es
y’ =W’(N+1,N+K,k)
Profesor: Dr. Héctor Allende
lim t  x' 
Redes Neuronales Artificiales
26
Dinámica de la CPN
• Algoritmo de aprendizaje:
– Un vector de entrada se elige aleatoriamente.
– La capa de entrada normaliza la entrada:
z (1 : N ) 
Profesor: Dr. Héctor Allende
x
xT x  y T y
z ( N  1, N  K ) 
Redes Neuronales Artificiales
y
xT x  y T y
27
Dinámica de la CPN
• Algoritmo de aprendizaje:
– Entrenamiento de la capa oculta:
• Pesos se inicializan aleatoriamente con vectores de entrada
normalizados.
• Capa oculta es del tipo ganador se lleva todo.
• Se calcula las salidas de las neuronas ocultas: zHlW(l,:)z.
• Sea k tal que W (k , :) z  max l W (l , :) z
T
•
z H  0̂, luego hacer z H  1  z H  (0.....1.....0)
• Actualizacion del peso de la neurona ganadora:
k
dt  t  1 y dW (k , :)  W (k , :)  W (k , :)( t  1)  W (k , :)( t )
 W (k , :)( t  1)  W (k , :)( t )  c[ z T  W (k , :)( t )]
• Repetir para todas las entradas hasta que
• Testear el resultado con entradas no usadas en el
entrenamiento.
cos(Wˆ (k , :), z )  
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
28
Dinámica de la CPN
• Algoritmo de aprendizaje:
– Entrenamiento de la capa oculta:
• Se aplica una entrada x , e y se obtiene la neurona ganadora k
de la capa oculta.
• El peso de la neurona k se actualiza:
dt  t  1 y dW ' (k , :)  W ' (k , :)  W ' (k , :)( t  1)  W ' (k , :)( t )
 W ' (1 : N , k )(t  1)  W ' (1 : N , k )(t )  E '[ x  W ' (1 : N , k )(t )]
W ' ( N  1 : N  K , k )(t  1)  W ' ( N  1 : N  K , k )(t )  E '[ y  W ' ( N  1 : N  K , k )(t )]
• Se repite para todas las entradas hasta que los vectores de
entradas se reconocen correctamente: w’ik-xi< para i=1,..,N
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
29
Dinámica de la CPN
Profesor: Dr. Héctor Allende
Redes Neuronales Artificiales
30