Red NEURONAL de Hamming

54
FEBRERO 2003 M en C. José Luis Calderó n O. 1

Transcript of Red NEURONAL de Hamming

Page 1: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 1

Page 2: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 2

Richard P. Lippmann

Areas de interes: Reconocimiento de Voz, Desarrollo de mejoras en Redes Neuronales, Clasificacion de patrones estadísticos, Desarrollo de software portable para la clasificación de patrones, Desarrollo de redes neuronales en VLSI de baja potencia, aplicaciones de redes neuronales y patrones estadísticos a la solución de problemas de detección a través de la computadora.

Recibio el grado de Dr. en Ingenieria electrica del Instituto Tecnologico de Massachusetts (MIT) en 1978.

Page 3: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 3

Características

Page 4: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 4

Características Generales

Red Creada por Richard P. Lippmann en 1987Aprendizaje no supervisado tipo competitivoEs una de las redes mas simples de tipo competitiva.Las neuronas en la capa de salida compiten para determinar la ganadora.

Page 5: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 5

La neurona ganadora indica cual es el patron prototipo mas representativo del patron de entrada.La competencia se implementa a través de inhibiciones laterales; es decir un conjunto de conexiones negativas laterales entre las neuronas en la capa de salida.Son clasificadores adaptativos eficientes

Page 6: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 6

Arquitectura

Page 7: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 7

ARQUITECTURA

Page 8: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 8

Se le llama red de Hamming debido a que la neurona en la capa feedforward con la salida mas grande, corresponderá al patrón prototipo que este mas próximo en distancia de Hamming al patrón de entrada.

Page 9: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 9

Posee tres capas: entrada, oculta y salida.

Los pesos en las capas representan los componentes de los patrones de entrada almacenados.

Page 10: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 10

Capa oculta

Red para el calculo de la distancia de Hamming

Page 11: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 11

Red de Hamming Simple

Calcula la distancia de Hamming, sumando las entradas ponderadas a un nodo.

La distancia de Hamming es el número diferente de bits en dos vectores.

P = [1 1 -1 1],

W= [1 -1 -1 -1]

Distance de Hamming

= 0 + 1 + 0 + 1 = 2

Page 12: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 12

2a Capa: Realiza una correlación entre los vectores de entrada y los vectores prototipo.

3a Capa:Realiza una competencia para determinar cual de los vectores prototipos esta mas próximo al vector de entrada

Page 13: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 13

Consta de 3 capas:Capas de Instars & Capa competitiva

Maxnet

Page 14: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 14

Red de Hamming

Page 15: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 15

Algoritmo de Aprendizaje

Page 16: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 16

La segunda capa de las redes de Hamming, es la llamada capa de

competencia, por que cada neurona se excita e inhibe a las demás neuronas .

Para simplificar esto definiremos una función de transferencia que haga el trabajo de la capa competitiva.

a= compet (n)

Algoritmo

Page 17: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 17

Esta trabaja encontrando el índice i* de la neurona con la entrada mas grande en la red y mandando la salida de esta a 1. Todas las demás salidas serán 0.

*,0

*,1

iisi

iisia i

La capa competitiva es mostrada de la sig. Forma:

Page 18: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 18

Capa 1 (Correlación)

vectores prototipo para reconocimiento :

Primera capa de la matriz de pesos y

umbrales

La respuesta de la primera capa

es:

El prototipo mas cercano al vector de entrada produce la respuesta mas grande.

Qppp ,,, 21

TQ

T

T

TS

T

T

p

p

p

w

w

w

W2

1

2

11

R

R

R

b

1

Rpp

Rpp

Rpp

bpWa

TQ

T

T

2

1111

Page 19: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 19

Capa 2 (Competición)

a20 a1

=

a2t 1+ pos lin W2a2

t =

w ij2 1 if i j=

– otherwise

=

0 1S 1–------------

ai2t 1+ poslin ai

2t a j

2t

j i–

=La neurona con la condición inicial

más grande ganará la

competencia.

La segunda capa es inicializada con la salida de la primera capa.

Page 20: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 20

Capa Competitiva

ai1 i i=

0 i i

= ni ni i

i i ni ni=

ncompeta

ST

S

T

T

TS

T

T

L

L

L

pw

pw

pw

p

w

w

w

Wpn

cos

cos

cos

2

22

12

2

1

2

1

Page 21: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 21

Aprendizaje Competitivo

En la red competitiva, la neurona ganadora tiene una salida de 1, y las otra tienen salida 0.

Regla Instar

Regla de Kohonen

)1()()()1()( qWqpqaqWqW iT

iii

)()1(1)( ** qpqWqW Tii

)1()()1()( *** qWqpqWqW iT

ii

*)1()( iiqWqW ii

Page 22: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 22

Representación Gráfica

)()1(1)( ** qpqWqW Tii

)1()()1()( *** qWqpqWqW iT

ii

O bien

Regla de Kohonen

Page 23: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 23

Ejemplo

Page 24: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 24

Después de Cuatro Iteraciones

Page 25: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 25

Típica Convergencia (Clustering)

Antes del entrenamiento Después del entrenamiento

Pesos Vectores de entrada

Page 26: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 26

Problemas de las capas competitivas

1) Compromiso entre la velocidad de aprendizaje y estabilidad de los vectores de pesos.2) Problemas de clasificación cuando lo patrones están muy próximos.3) Neuronas muertas.

Page 27: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 27

1) Compromiso entre la velocidad de aprendizaje y

estabilidad de los vectores de pesos.

tiende a cero; aprendizaje lento. Una vez que el vector ha alcanzado el centro del “cluster” este tiende a permanecer cercano al centro del mismo.Ver figura

Page 28: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 28

tiende a uno; aprendizaje rápido. Sin embargo una vez alcanzado el cluster este continua oscilando conforme se presenten los diferentes vectores. Ver figura.Posible solución: Usar una razón de aprendizaje variable: grande para un rápido aprendizaje y luego decrementar conforme el entrenamiento progresa a alcanzar los vectores prototipos estables

Page 29: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 29

EstabilidadSi los vectores de entrada no quedan bien agrupados por un cluster, entonces para velocidades de aprendizaje grandes la presentación de cada vector de entrada puede modificar la configuración de tal forma que el sistema experimentará una evolución continua.

Page 30: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 30

Estabilidad

1w(0)

2w(0)

p1

p3

p2

p5

p6

p7

p4

p8

1w(8)

2w(8)

p1

p3

p2

p5

p6

p7

p4

p8

Page 31: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 31

2) Problemas de clasificación cuando los

patrones están muy próximos.

Un vector de pesos forma un prototipo de una clase que pudiera invadir el territorio de otro vector de pesos y por lo tanto perturbar el esquema de clasificación.Ver figuras:

Page 32: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 32

3) Neuronas muertas.

Esto es cuando una neurona del vector de pesos inicial se localiza lejos de los vectores de entrada de tal forma que nunca gana la competencia y nunca aprende.Esto produce una neurona muerta la cual resulta inútil. Ver figura.

Page 33: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 33

Neuronas Muertas

Neuronas con pesos iniciales lejos de cualquier vector de entrada podrían nunca ganar

Neurona Muerta

Solución: Agregar un umbral negativo a cada neurona, e incrementar el valor del umbral a la neurona ganadora. Esto hará mas difícil ganar a una neurona, si esta gana frecuentemente. A esto se le llama “conciencia.”

Page 34: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 34

Conciencia

La solución al problema anterior consiste en agregar un umbral negativo a la entrada de la red de cada neurona y disminuir su valor de umbral cada vez que la neurona gana.Esto hace mas difícil que una neurona gane la competencia.

Page 35: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 35

Aplicaciones

Page 36: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 36

Ejercicios

Page 37: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 37

Ejercicio 1

5812.0

8137.0,

8137.0

5812.0,

1961.0

9806.0

1961.0

9806.0,

9806.0

1961.0,

9806.0

1961.0

654

321

PPP

PPP

0.0

0.1,

7071.0

7071.0,

7071.0

7071.0321 www

Entrene una red competitiva con los siguientes parametros:

A) Calcular los pesos resultantes después del entrenamiento 5.0

Page 38: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 38

Ejercicio 2

2/1

2/1,

1

0,

0

1321 PPP

5/2

5/1,

5/1

5/2,

1

0321 www

Calcular los pesos resultantes después del entrenamiento de la capa competitivacon una razón de aprendizaje de 0.5.

Page 39: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 39

 

2/1

2/1,

1

0,

0

1321 PPP

5/2

5/1,

5/1

5/2,

1

0321 www

Calcular los pesos resultantes después del entrenamiento de la capa competitivacon una razón de aprendizaje de 0.5.      Primero combinamos el vector de pesos en la matriz W.

5/25/1

5/15/2

10

W

Solución

Page 40: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 40

      Luego calculamos con el primer vector de entrada p1.

0

1

0

447.0

894.0

0

0

1

5/25/1

5/15/2

10

)( 1 competcompetWpcompeta

224.0

947.0

5/1

5/2

0

15.0

5/1

5/2)( 2122

oldoldnew wpww

•La segunda neurona respondió, así que 2w es la más cercana a p1. Después, actualizamos los pesos 2w.

Page 41: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 41

      Ahora repetimos este proceso con p2.

1

0

0

894.0

224.0

1

1

0

5/25/1

224.0947.0

10

)( 2 competcompetWpcompeta

•La tercera neurona ganó, así que sus pesos se mueven más cerca de p2

947.0

224.0

5/2

5/1

1

05.0

5/2

5/1)( 3233

oldoldnew wpww

Page 42: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 42

•Ahora pasamos con p3.

1

0

0

512.0

512.0

707.0

2/1

2/1

947.0224.0

224.0947.0

10

)( 3 competcompetWpcompeta

•La tercera neurona volvió a ganar.

8272.0

2417.0

947.0

224.0

2/1

2/15.0

947.0

224.0)( 3233

oldoldnew wpww

Page 43: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 43

•Después de pasar de p1 a p3 otra vez, la neurona 2 ganará una vez más y la neurona 3 dos veces. Así que los pesos finales son:

8103.0414.0

118.0974.0

10

W

Hay que notarse que que el vector 1w, nunca se actualizó. Aquella neurona como la primera que nunca gana una competición, se conoce como una neurona muerta.

Page 44: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 44

Código en Matlab/NNT

Page 45: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 45

Aprendizaje Competitivo

Donde:

R= Numero de entradasS= Numero de neuronas

Page 46: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 46

Inicialización W= initc (P,S);W= initc (P,S);La función initc toma una matriz de vectores de entrada P y un numero de neuronas S y regresa los pesos para una capa competitiva sin umbrales.Ejemplo:W= initc ([0 10; -3 3],5);La funcion initc fija los umbrales en cero y para cada peso wij asocia una entrada i en el centro del intervalo de i.

Page 47: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 47

Entrenamiento

Las redes competitivas se pueden entrenar con vectores de entrada con la regla de aprendizaje instar. Cada neurona compite para responder a un vector de entrada P. Si los umbrales son todos cero,la neurona cuyo vector de peso este mas próximo a P obtiene la mas alta entrada de red y gana la competencia

A= simuc (p,W); dW= learnis (p,a,lr,W); W= W + dW;

Page 48: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 48

EntrenamientoPuesto que la salida del vector a contiene solo 1/0. Se puede sustituir la regla instar (learnis) por la regla de Kohonen (learnk) disminuyendo el numero de cálculos y haciendo el código anterior mas eficiente. A= simuc (p,W,b); dW= learnk (p,a,lr,W); W= W + dW;

Page 49: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 49

La funcion trainc entrena una capa competitiva con vectores de entrada en orden aleatorio. Tp= [disp_freq max_pres lr ]; [W,b]= trainc (W,p,tp);Donde: disp_freq = 25 max_pres =100 lr = 0.01

Page 50: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 50

Trainc toma el peso W y el umbral b de una capa competitiva, una matriz de vectores de entrada P y los parámetros de entrenamiento tp y regresa nuevos pesos

Page 51: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 51

Ejemplo 1

P= [0.5827 0.6496 -0.7798; 0.8127 0.7603 0.6260]Se entrenará una red competitiva con 3 entradas.[W,b] = initc (P,3);[W,b] = trainc (W,P,[10 100 0.5]);a = simuc(P,W)

Page 52: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 52

Ejemplo 2

clear;echo on;clc;nntwarn off;

P= [ -0.1961 0.1961 0.9806 0.9806 -0.5812 -0.8137; 0.9806 0.9806 0.1961 -0.1961 -0.8137 -0.5812];

[W]= initc(P,3)[W]= trainc(W,P,[2 100 0.5])a= simuc(P,W)echo off

Page 53: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 53

Dudas ???

Page 54: Red   NEURONAL    de Hamming

FEBRERO 2003 M en C. José Luis Calderón O. 54

Hasta la próxima !!!