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