Download Capítulo 5
Document related concepts
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 , :) Cect 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 P1 ) ) 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
zRN+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: zHlW(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: zHlW(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