Problemas de Optimización usando el modelo de Hopfieldlfranco/Clase5-optimizacion-Hopfield.pdf ·...
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.
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