Академический Документы
Профессиональный Документы
Культура Документы
Captulo 8
Redes de Hopfield
O texto apresentado neste captulo segue basicamente Haykin em [1], sendo uma
traduo e interpretao livres e resumidas dos contedos l apresentados.
Uma Rede de Hopfield consiste de um conjunto de neurnios e um correspondente
conjunto de unidades de atraso, formando um sistema de realimentao mltiplo.
A Figura 8.1 apresenta a arquitetura de uma Rede de Hopfield formada de N = 4
neurnios. Observe que o nmero de laos de realimentao igual ao nmero de
neurnios. Basicamente, a sada de cada neurnio realimentada atravs de um elemento
de atraso, para cada um dos outros neurnios da rede, sem haver auto-realimentao.
w x (t ) + I
ji
i =0
onde o primeiro termo da soma devido aos estmulos x0 (t ), x1 (t ),!, x N 1 (t ) atuando sobre
os pesos sinpticos (condutncias) w j 0 , w j1,!, w jN 1 , respectivamente, e o segundo termo
devido fonte de corrente I j que representa um bias aplicado externamente.
+Cj
dv j (t )
dt
(8.1)
x j (t ) = v j (t )
(8.2)
contexto de uma rede de neurnios biolgicos), pode-se definir a dinmica da rede pelo
seguinte sistema de equaes diferenciais de primeira ordem:
Cj
dv j (t )
dt
v j (t )
Rj
N 1
+ w ji xi (t ) + I j ,
i =0
(8.3)
j = 0 ,1,! ,N 1
(v j ) =
1
;
1 + exp( v j )
(8.4)
j = 0,1,! ,N 1
Uma condio necessria para que uma Rede de Hopfield seja capaz de aprender
que a rede recorrente descrita pelas Equaes (8.2) e
denominados Atratores.
Reconhecendo que x i (t ) = i (vi (t )) , pode-se reescrever a (8.3) sob a forma
Cj
v j (t ) N 1
d
v j (t ) =
+ w ji i (vi (t )) + I j ,
dt
Rj
i =0
(8.5)
j = 0,1, ..., N 1 .
i, j
(8.6)
(8.7)
(8.8)
(8.9)
v =0
1 1 x
ln
ai 1 + x
(8.10)
1+ x
(8.11)
i1 (x ) =
1 1
(x )
ai
(8.12)
Figura 8.3: Grficos representativos de (a) no-linearidade sigmoidal padro e (b) o seu
inverso.
5
E=
N 1
1
1 N 1 N 1
+
w
x
x
ji i j
2 i =0 j =0
j =0 R j
xj
N 1
j 1 (x )dx I j x j
(8.13)
j =0
x1 ! x N 1 ]
dt
dt
Rj
j =0 i = 0
(8.14)
dx j
dt
(8.15)
d 1
j (x j )
dx j
(8.16)
( )
( )
d 1
j xj 0
dx j
para todo x j
(8.17)
dt
para todo x j
(8.18)
para todo j
(8.19)
A Equao (8.19) prov base para o seguinte postulado: "A Funo de Energia de
Lyapunov E de uma Rede Hopfield uma funo monotonicamente decrescente do tempo."
Assim, a Rede de Hopfield global e assintoticamente estvel com os mnimos de E
ocorrendo para coordenadas do vetor de estado x = [x0
x1 ! x N 1 ] que correspondam
T
(8.20)
j (0) = 0
De forma correspondente, pode-se fazer o bias I j igual a zero para todo j.
(8.21)
E = w ji xi x j
j=0
2 i=0 j =0
i
N 1
1 x j 1
j (x )dx
R j o
(8.22)
E = w ji xi x j +
2 i=0 j =0
i
N 1
j=0
1
a jR j
(x )dx
(8.23)
A integral
xj
1 (x )dx
tem a forma padro mostrada na Figura 8.4. Seu valor zero para x j = 0 e positivo em
todos os outros casos. Ainda, a integral assume um valor muito grande medida que x j se
aproxima de 1 .
xj
1 (x )dx .
x1 ! x N 1 ]
E = w ji xi x j
(8.24)
2 i=0 j =0
i
10
Figura 8.5: Mapa dos Contornos de Energia (linhas slidas) para uma Rede de Hopfield
composta de dois neurnios. A ordenada x1 e a abscissa x0 so as componentes do vetor
t =0
Observe que cada Atrator constitui um sumidouro (sink) para o campo vetorial formado
pelas setas do state flow.
11
12
t =0
seja prximo ao Atrator que representa a memria a ser recuperada (isto , desde que x(0 )
esteja dentro da bacia de atrao de um dos Atratores), o sistema deve evoluir com o tempo
e finalmente convergir para o prprio Atrator que representa a memria. Neste instante de
tempo a memria inteira recuperado pela rede. Conseqentemente, a Rede de Hopfield
tem uma propriedade emergente, a qual a auxilia a recuperar informao e a lidar com
erros.
Com o modelo de Hopfield utilizando o neurnio formal de McCulloch e Pitts
(1943) como unidade bsica de processamento, cada neurnio tem dois estados
determinados pelo nvel do campo local induzido que atua sobre ele. O estado ligado do
13
x1 ! x N 1 ] .
T
v j = w ji xi + b j
(8.25)
i =0
x j = sgn [v j ]
onde sgn () retorna o sinal do argumento. Se v j zero, o neurnio j permanece em seu
estado anterior, desconsiderando se est ligado ou desligado. O significado de assumir esta
conveno que o diagrama de fluxo resultante simtrico, como ser ilustrado
posteriormente.
H duas fases para a operao da rede discreta de Hopfield como uma CAM,
chamadas:
!
14
1.
Storage
Suponha que desejamos armazenar um conjunto de vetores Ndimensionais (palavras
binrias), denotado por { = 0, 1, ..., M 1 }. Chamamos estes M vetores de
memrias fundamentais, representando os padres a serem memorizados pela rede.
Seja ,i o isimo elemento da memria fundamental .
De acordo com a regra do produto externo de armazenamento, ou seja, a
generalizao do postulado de aprendizado de Hebb, o peso sinptico do neurnio i
para o neurnio j definido por
1
N
w ji =
M 1
=0
(8.26)
, j , i
para todo i
(8.27)
W=
1
N
M 1
=0
(8.28)
MI
T
15
(8.29)
2.
Retrieval
Durante a Recuperao, um vetor Ndimensional sonda imposto Rede de Hopfield
como seu estado. O vetor sonda tem os seus elementos iguais a 1. Tipicamente, o
vetor representa uma verso incompleta ou ruidosa de uma memria fundamental da
rede.
A recuperao de informao acontece de acordo com uma regra dinmica iterativa,
na qual, a cada iterao, um neurnio j da rede aleatoriamente escolhido e
examinado o campo local induzido v j (incluindo qualquer bias no nulo b j ).
Se, a qualquer instante de tempo v j > 0 o neurnio j ir trocar seu estado para + 1 , ou
permanecer naquele estado se j estiver l.
De forma similar, se v j < 0 , o neurnio j ir trocar seu estado para 1 , ou
permanecer neste estado se j estiver l.
Se v j = 0 , o neurnio j deixado no seu estado prvio, no importando se estava
ligado ( x j = +1 ) ou desligado ( x j = 1 ).
A atualizao do estado de uma iterao para a prxima , portanto, determinstica,
mas a seleo de um neurnio para que seja executada a atualizao aleatria.
O procedimento de atualizao assncrona (serial) aqui descrito continuado at que
no haja mais mudanas a reportar. Isto , comeando com o vetor sonda x , a rede
finalmente produz um vetor de estado y invariante no tempo, cujos elementos
individuais satisfazem a condio para a estabilidade:
N 1
yi = sgn w ji yi + b j ,
i =0
j = 1, 2, ..., N
(8.30)
(8.31)
y = sgn W y + b ,
16
Aprendizado
Seja
{ 0 , 1 , !, M 1 }
um
conjunto
conhecido
de
memrias
w ji = N
0,
M 1
=0
,j
, i
ji
j=i
Inicializao
Seja sonda um vetor de entrada Ndimensional desconhecido (sonda)
apresentado rede.
"
x j (0) = j , sonda
com
j = 0,1, !, N 1 .
17
3.
Iterao at a convergncia
"
x j (n + 1) = sgn w ji xi (n ),
i =0
"
4.
j = 0,1,! , N 1 .
Sada
Seja x sink o vetor que representa as coordenadas do Atrator computado
ao final do passo trs.
"
y = x sink
S. Haykin, Neural Networks, 2nd ed., Prentice Hall, Upper Saddle River, New Jersey,
1999.
[2]
C. T. Chen, Linear System Theory and Design, Harcourt Brace College Publishers,
1984.
[3]
[4]
18
( HopfieldVector
1)
2
Hop( BinWord )
2 .BinWord
Not ( BinWord )
SpectrDist( Code )
BinWord
nn
cols( Code )
CodSize
cc
rows( Code )
for ia 0 .. CodSize
for ib ia
acc
1 .. CodSize
for j 0 .. nn
acc
Distcc
cc
cc
acc
1 if Codeia , j Codeib , j
acc
1
Dist
Figura 1: Rede de Hopfield com 4 neurnios
e respectivos hard limiters.
0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Hop( BinSpace )
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
o =
1 1 1 1 1 1 1
1 1 1
1
1 1
1 1 1 1
1 1
1 1
1 1 1 1 1 1 1 1
1 1 1 1
1 1
1 1
1 1 1 1
1 1
1 1
rows( )
cols( )
1.
N
M .identity( N )
i=0
return W
WeightMatrix( o )
W=
0.25 0
0.25 0.25
0.25 0.25 0
0.25
cols( )
rows( )
for j 0 .. M 1
<j >
Y W .
for k 0 .. N
Sk
0
1 if Y k < 0
Sk
1 if Y k > 0
Sk
if
S
<i >
Ss
i
<j >
return Ss
0 0 0 1 1 1
Ss
StableStates( o , W )
Bin ( Ss ) =
0 1 1 0 0 1
1 0 1 0 1 0
1 1 0 1 0 0
WeightMatrix( Ss)
W=
0 0 0 1 1 1
0.5 0
0.5 0.5
0.5 0.5 0
Bin ( StableStates( Ss , W ) ) =
0.5
0 1 1 0 0 1
1 0 1 0 1 0
1 1 0 1 0 0
T
Ss
Ss_New
Bin ( ) =
0 0 1 1
0 1 0 1
0.667 0
0.667 0
0.667 0
1 0 1 0
0.667 0
1 1 0 0
0.667 0
0 1 1 0
1 0 0 1
StableStates( , W )
WeightMatrix( )
Bin ( Ss_New ) =
W=
0 0 1 1
0 0 1 1
0 1 0 1
0 1 0 1
0 1 1 0
0 1 1 0
1 0 0 1
Bin ( ) =
1 0 0 1
1 0 1 0
1 0 1 0
1 1 0 0
1 1 0 0
0.667
espur
Bin ( espur ) =
1 1 0 0
0 0 1 1
1 0 1 0
0 1 0 1
1 0 0 1
Bin ( ) =
0 1 1 0
0 1 1 0
1 0 0 1
0 1 0 1
1 0 1 0
0 0 1 1
1 1 0 0
Observe que o conjunto de Atratores Esprios espur tambm obedece a Condio de Alinhamento
1 1 0 0
1 0 1 0
0.667 0
0.667 0
0.667 0
0 1 0 1
0.667 0
0 0 1 1
0.667 0
1 0 0 1
W=
0 1 1 0
0.667
iguais (nulos ou no), como o caso em questo, para o qual temos 2 grupos de 3 autovalores iguais:
T
eigenvals( W ) =
0.667 0.667
0.667 0.667
0.667 0.667
0.75
Retrieval( x , W , CheckWindow )
MaxIter
1000
rows( x )
<0 >
xnext
x
for n 1 .. MaxIter
j
floor( rnd( N ) )
N
1
Wi , j .xi
vj
i=0
xj
xj
1 if vj < 0
1 if vj > 0
<n >
xnext
CheckWindow
Test
<n
xnext
k= 0
<n>
return xnext
if Test 0
return xnext
k>
<n
xnext
1>
if n > CheckWindow
Codificando e decodificando:
0 0 0 1 1 1
Bin ( Ss ) =
0 1 1 0 0 1
1 0 1 0 1 0
1 1 1 0 0 0
Not ( Bin ( Ss ) ) =
1 1 0 1 0 0
1 0 0 1 1 0
0 1 0 1 0 1
0 0 1 0 1 1
Observe do conjunto de vetores Ss acima que a Rede de Hopfield em questo gera um cdigo binrio
NO LINEAR (no existe a palavra-cdigo 0 ) e Sistemtico com mensagens de k=2 bits e
palavras-cdigo resultantes de n=6 bits.
T
(1 1 0 1 1 0 )
A rede pode convergir para o Atrator mais prximo em termos da Distncia de Hamming:
T
Decoded Bin( Retrieval( Hop( Received ) , W , 10 .rows( Ss ) ) )
Decoded = 1 1 0 1 0 0
Ou pode convergir para o Atrator Esprio mais prximo em termos da Distncia de Hamming:
Decoded
T
Decoded = 1 0 0 1 1 0
Uma possvel soluo para a ambiguidade gerada pelos Atratores Esprios , ocorrendo convergncia
para um estado estvel que no pertence ao conjunto de Atratores , executa-se novamente o processo
Uma outra possvel soluo para a ambigidade gerada pelos Atratores Esprios conduzir as
iteraes na fase de Retrieval da Rede de Hopfield de modo que, se a distncia de Hamming entre o
vetor de estado x e os vetores do conjunto de Atratores Esprios espur cair abaixo de um valor dmin
considerado seguro , a iterao descartada e o vetor x no atualizado.