Problemas de Optimización usando el modelo de Hopfieldlfranco/Clase5-optimizacion-Hopfield.pdf ·...

24
Problemas de Optimización usando el modelo de Hopfield CLASE 5 11 de Marzo de 2008 Unidad 2 Modelo de Hopfield continuo Problemas de optimización: Convertidor A/D, Problema del viajante, etc.

Transcript of Problemas de Optimización usando el modelo de Hopfieldlfranco/Clase5-optimizacion-Hopfield.pdf ·...

Problemas de Optimización usando el modelo de Hopfield

CLASE 5 11 de Marzo de 2008

Unidad 2

Modelo de Hopfield continuoProblemas de optimización: Convertidor A/D, Problema del viajante, etc.

Redes autoasociativas

Auto-asociativa

Red de Hopfield

+1

-1+1

wij = cte Si Sj

Regla de HEBB

Cte= 1/N

N: número de neuronas

<

=

>

=+

=

=

=

N

jijij

N

jijiji

N

jijij

i

ksw

kswks

ksw

ks

1

1

1

)( si 1-

)( si )(

)( si 1

)1(

θ

θ

θ

Capacidad de almacenamiento de la red de Hopfield

– Considerando patrones almacenados (p) y total de neuronas (N)

NpC = = 0.138

Porcentaje de errores en la red de Hopfield en función del nivel de almacenamiento (Patrones aleatorios, 50% de 1 , 50% de -1)

• ¿ Es capaz la red de recuperar un patrón distorsionado (con ruido) ? Modifiquemos en un patrón n componentes

n: componentes modificadasN: número de componentes = número de neuronasp: patrones almacenados

hpi = (1− 2nN )S

pi +O(

p(p−1N ))

De donde si p<<N y n << N los patrones son estables y podremos recuperarlos aún si los modificamos con cierto nivel de ruido

Capacidad

• Una posibilidad es utilizar un número de neuronas (N) muy elevado en comparación con el número de patrones que queremos memorizar (p). Esto no nos asegura resultados excentos de error, pero sí “aceptables”.

• Si los patrones se escogen ortogonales, el estado de la neurona se mantiene. Por tanto, la red se estabiliza y nos devuelve el patrón correcto

Patrones ortogonales

Y1= [+ - + -]

Y2= [+ + - -]

Y3= [+ - - + ]

2 patrones, Y1 e Y2, son ortogonales si

Y1.Y2= Producto escalar (Y1, Y2) =

Un conjunto es ortogonal si todos los posibles pares de vectores son ortogonales entre sí.

Existen N patrones ortogonales de longitud N.

[ Y1(1)*Y2(1) + Y1(2)*Y2(2) + Y1(3)*Y2(3) + Y1(4)*Y2(4) ] = 0

El modelo de Hopfield continuoEl modelo de Hopfield continuo

x1

x2

x3

<−≥

= 0 1

0 1 )sgn(

uu

u

θ h

{ } { }1,11,1 : −→− nf

-1

1

• Estado discreto si ∈ {-1, 1}

• Tiempo (actualización) discreto, k = 1,2,3,…

• Estado continuo xi ∈ [-1, 1]

• Tiempo (actualización) continuo, t ∈ (0,∞ ]

uu

uu

eeeeuf ββ

ββ

+−

=)(

Tangente hiperbólica

El modelo de Hopfield continuoEl modelo de Hopfield continuo

−∈

<

−−=

>

−=

=

=

=

=

)1,1()( si )(

0)(y 1)( si 0

0)(y 1)( si 0

)(

1

1

1

txtxwf

txwftx

txwftx

dttdx

i

N

jijij

N

jijiji

N

jijiji

i

θη

θ

θ

∑∑ ∑= = =

+−=N

i

N

j

N

iiijiij txtxtxwtE

1 1 1)()()(

21)( θ

DinDináámica de la computacimica de la computacióónn

FunciFuncióón de energn de energíía computacionala computacional

Diferencias entre el modelo de Hopfielddiscreto y continuo.

-- Cualitativamente hay pocas diferencias.

-- Ambos modelos convergen a mínimos y son estables.

-- Puede definirse la función energía en ambos casos.

-- El modelo continuo es útil para posibles implementaciones en circuitos digitales y es biológicamente más realista.

-- El modelo continuo tiene una superficie de energía más suave, con menos estados espurios y por lo tanto la convergencia es mejor.

Resumen Red de Hopfield

Podemos almacenar patrones y recuperarlos usando la regla de Hebb

Modelo de red recurrente para memoria asociativa

La definición de una función energía es útil para demostrar la convergencia de la dinámica

La capacidad de almacenamiento no es demasiado elevada (p=0.138 N) pero puede mejorarse (usando otras reglas, patrones ortogonales)

Existen estados espurios no deseados.

Pausa

Problemas de Optimización

Adaptar la función de energía del Modelo de Hopfield a otro problema, para encontrar su solución utilizando el hecho de que la dinámica conduce a un mínimo.

¡ Cuidado ! Puede pasar que la solución encontrada no sea muy buena (Mínimo local con una energía alta).

Usaremos un modelo de neurona de acuerdo al problema :

UmbralModelo DiscretoModelo Continuo

<

=

>

=+

=

=

=

N

jijij

N

jijiji

N

jijij

i

ksw

kswks

ksw

ks

1

1

1

)( si 1-

)( si )(

)( si 1

)1(

θ

θ

θ

∑∑ ∑= = =

+−=N

i

N

j

N

iiijiij txtxtxwtE

1 1 1)()()(

21)( θ

Energía del modelo de Hopfield (umbral ≠ 0)

Intentaremos usar esta función de energía para representar y resolver problemas de optimización.

Para ello, hay que buscar una función Energía cuyo mínimo se corresponda con la solución al problema deseado y calcular los pesos sinápticos Wij correspondientes.

Aproximar una señal continua (analógica) Z(t) : [0, 3]

Convertidor análogico – digital A/D

por medio de una representación binaria de 2 bits (X0, X1)

Z ≈ x0 + 2 x1

Podemos tomar E1 = [Z – (x0 + 2 x1)]2

Dado que será igual a 0 cuando ocurra Z = x0 + 2 x1 y que es menor cuanto menor es la diferencia entre el valor real análogico y el aproximado discreto.

Convertidor análogico – digital A/D

R1= λ0 [x0(x0 -1)] R2= λ1[ x1(x1 -1) ]

Utilizaremos un modelo de Hopfield continuo y como queremos que x0 y x1 tomen valores [0,1] utilizamos las restricciones adicionales:

E = [Z – (x0 + 2 x1)]2 + λ0 [x0(1-x0)] + λ1[ x1(1-x1) ]

Y la función energía a minimizar queda entonces:

Convertidor análogico – digital A/D

De donde por comparación con la función Energía del modelo de Hopfield

Desarrollando Obtenemos :E = z2 + x0

2 (1-λ0) + x12 (4-λ1) + x0 (λ0-2z) + x1 (λ1-4z) + 4x0x1

λ0 = 1 λ1 = 4 para anular los términos x02 y x1

2

Vemos que no hay términos cuadráticos

Convertidor análogico – digital A/D

Comparando los otros términos, nos lleva a determinar:

W01 = -4

-4.5 -6

W10 = -4

Ej.: Z=2.75

Problemas de las Problemas de las NN TorresTorres

=torreunahaynocolumnayfilalaen si0

torreunahaycolumnayfilalaen si1)(

jiji

ksij

Problemas de las Problemas de las NN TorresTorres

=torreunahaynocolumnayfilalaen si0

torreunahaycolumnayfilalaen si1)(

jiji

ksij

∑=

==

=+++

=+++=+++

N

jij

NNNN

N

N

Nis

sss

ssssss

1

21

22221

11211

,,1;1 decir, es

1

11

K

K

M

K

K

∑=

==

=+++

=+++=+++

N

iij

NNNN

N

N

Njs

sss

ssssss

1

21

22212

12111

,,1;1 decir, es

1

11

K

K

M

K

K

Problemas de las Problemas de las NN TorresTorres

∑ ∑∑ ∑= == =

−+

N

j

N

iij

N

i

N

jij ss

1

2

11

2

111Función de energía:

∑ ∑∑∑∑ ∑= ==== =

⋅−+

=

N

i

N

jij

N

kik

N

jij

N

i

N

jij ssss

1 1111

2

1211

∑∑∑ ∑∑= = = = =

−+⋅=N

i

N

j

N

k

N

i

N

jijikij sNss

1 1 1 1 12

∑∑ ∑∑∑∑∑= = = == =

≠=

−++⋅=N

i

N

j

N

i

N

jij

N

i

N

jij

N

jkk

ikij sNsss1 1 1 11 1

2

12

∑∑∑∑∑= == =

≠=

−+⋅=N

i

N

jij

N

i

N

j

N

jkk

ikij sNss1 11 1 1

. sij

Problemas de las Problemas de las NN TorresTorres

∑ ∑∑∑∑∑∑∑∑∑= = == =

≠=== =

≠=

−+⋅+−+⋅N

i

N

j

N

iij

N

j

N

i

N

irr

rjij

N

jij

N

i

N

j

N

jkk

ikij sNsssNss1 1 11 1 111 1 1

E =

∑∑∑∑∑∑∑∑= == =

≠== =

≠=

+⋅−+⋅⋅−−⋅⋅−−N

i

N

jij

N

i

N

j

N

irr

rjij

N

i

N

j

N

jkk

ikij Nsssss1 11 1 11 1 1

2)2()2(21)2(

21

wij,ik θijwij,rj

Problemas de las Problemas de las N N TorresTorres

Cada neurona está conectada con otras neuronas de su misma fila y neuronas de su misma columna.

El problema del viajante de comercioEl problema del viajante de comercio

=caso. otroen 0

día el visitase ciudad la si 1 kisik

Arquitectura: N unidades de proceso

∑ −+ +N

kjikjkjikij sssd

,,)1()1( )(

21Minimizar

∑=

=N

jij ,...,N, i=s

1

.21 ,1

∑==

=N

iij ,...,N,j=s

1

.21 ,1

Sujeto a

Fin