Вы находитесь на странице: 1из 25

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

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.

Figura 8.1: Arquitetura de uma Rede de Hopfield formada de N = 4 neurnios.

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

Ao estudar a dinmica da Rede de Hopfield utiliza-se o modelo neurodinmico


aditivo, que o modelo de neurnio sem rudo mostrado na Figura 8.2.

Figura 8.2: Modelo aditivo de um neurnio.


Em termos fsicos, os pesos sinpticos w j 0 , w j1,!, w jN 1 (mostrados na Figura 8.2)
representam condutncias e as respectivas entradas x 0 (t ), x1 (t ), ! , x N 1 (t ) representam
potenciais (N o nmero de entradas). Estas entradas so aplicadas a um n somador de
corrente que possui as seguintes caractersticas:

Baixa resistncia de entrada.


Ganho de corrente unitrio.
Alta resistncia de sada.

O fluxo total de corrente entrando no n v j na Figura 8.2 :


N 1

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.

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

Seja v j (t ) a funo no tempo que descreve o campo local induzido no n v j . O


fluxo total de corrente saindo do n v j :
v j (t )
Rj

+Cj

dv j (t )
dt

onde o primeiro termo devido resistncia R j e o segundo termo devido capacitncia


Cj.
Pela lei de corrente de Kirchoff, sabemos que o fluxo de corrente total que entra em
qualquer n de um circuito eltrico zero. Aplicando a lei de corrente de Kirchoff ao n v j
na entrada da no-linearidade mostrada na Figura 8.2, teremos
dv j (t ) v j (t ) N 1
Cj
+
= w ji xi (t ) + I j
dt
Rj
i =0

(8.1)

O termo capacitivo C j dv j (t ) dt no lado esquerdo da Equao (8.1) a forma mais


simples de modelar o comportamento dinmico de um neurnio biolgico visto que,
implicitamente, adicionada memria ao modelo. Dado o campo local induzido v j (t )
pode-se, ento, determinar a sada do neurnio j atravs do uso da relao no-linear

x j (t ) = v j (t )

(8.2)

O modelo RC descrito pela Equao (8.1) comumente referido como o modelo


aditivo. Esta terminologia usada para discriminar o modelo aditivo do denominado
modelo multiplicativo, onde w ji dependente de x i .
Uma caracterstica especfica do modelo aditivo descrito pela Equao (8.1) que o
sinal x i (t ) aplicado ao neurnio j pelo neurnio vizinho i uma funo que varia
lentamente com o tempo t. Este modelo constitui a base da neurodinmica clssica.
Consideremos agora uma rede recorrente consistindo da interconexo de N
neurnios, cada um deles tendo o mesmo modelo matemtico descrito pelas Equaes (8.1)
e (8.2). Ento, ignorando os atrasos devidos ao tempo de propagao entre neurnios (no

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

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

o qual resulta da reordenao dos termos de (8.1).


Assume-se que a funo de ativao () que relaciona a sada x j (t ) do neurnio j
a seu campo local induzido v j (t ) uma funo contnua e, portanto, derivvel. Uma
funo de ativao comumente utilizada a funo logstica

(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

(8.3) possua pontos estveis,

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 .

Para prosseguir a discusso, faamos as seguintes consideraes:


1. A matriz de pesos sinpticos simtrica, conforme mostrado por
w ji = wij

i, j

(8.6)

2. Cada neurnio tem uma ativao no-linear prpria, da o uso de i () na


Equao (8.5), no contexto de tentar reproduzir uma rede de neurnios
biolgicos.
3. O inverso da funo de ativao no-linear existe, ento pode-se escrever
v = i- 1 (x )

(8.7)

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

Seja a funo sigmide i (v ) definida pela funo tangente hiperblica, conforme


a v 1 exp( ai v )
x = i (v ) = tanh i =
,
2 1 + exp( ai v )

(8.8)

a qual tem uma declividade de ai 2 na origem, conforme mostrado por


a i d i
=
dv
2

(8.9)
v =0

onde ai denominado o ganho do neurnio i.


A partir de (8.8), a relao inversa sada-entrada expressa na Equao (8.7)
v = i1 (x ) =

1 1 x
ln

ai 1 + x

(8.10)

A relao inversa sada-entrada padro para um neurnio de ganho unitrio


1 x
1 (x ) = ln

1+ x

(8.11)

Podemos, ento, reescrever a Equao (8.10) como

i1 (x ) =

1 1
(x )
ai

(8.12)

A Figura 8.3a mostra o grfico da no-linearidade sigmoidal padro (v ) , e a

Figura 8.3b mostra o grfico correspondente da no-linearidade inversa 1 (x ) .

Figura 8.3: Grficos representativos de (a) no-linearidade sigmoidal padro e (b) o seu
inverso.
5

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

No contexto de Estabilidade de Sistemas Dinmicos, a Funo de Energia de


Lyapunov [2] da Rede de Hopfield mostrada na Figura 8.1 dada por

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

A funo definida por (8.13) mede a energia armazenada no sistema e uma


superfcie hiperdimensional que pode apresentar muitos mnimos. A dinmica da rede tal
que a trajetria do vetor de estado x = [x0

x1 ! x N 1 ]

(ver Figura 8.1) sempre

movimenta-se na direo dos mnimos de energia do sistema (Atratores).


Diferenciando E com respeito ao tempo, teremos
N 1 N 1
dx j
vj
dE
= w ji xi
+Ij

dt
dt
Rj
j =0 i = 0

(8.14)

A quantidade entre parnteses, no lado direito da Equao (8.14), o termo como


C j dv j dt da Equao (8.5). Pode-se, ento, simplificar a Equao (8.14) para
N 1
dv j
dE
= C j
dt
j =0
dt

dx j

dt

(8.15)

Utilizando a relao inversa que define v j em termos de x j (Equao 8.7) na


Equao (8.15), temos
N 1
N 1
dx j
dE
d
dx j
= C j j 1 (x j )
= C j
dt
dt
dt
j =0
j =0
dt

d 1

j (x j )
dx j

(8.16)

( )

A partir da Figura 8.3b vemos que a relao sada-entrada inversa j 1 x j uma


funo monotonicamente crescente da sada x j . Segue, portanto que

( )

d 1
j xj 0
dx j

para todo x j

(8.17)

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

Observe tambm que


dx j

dt

para todo x j

(8.18)

Portanto, todos os fatores que constituem o somatrio no lado direito da Equao


(8.16) so no-negativos. Conseqentemente, a variao no tempo da funo de energia E
definida por (8.13), tal que
dE
0
dt
A partir da definio da Equao (8.13), notamos que a funo E bounded
( t E Emin ). De acordo com isso, podemos fazer duas afirmaes:
1. A funo de energia E uma Funo de Energia de Lyapunov do modelo
contnuo da Rede de Hopfield.
2. O modelo estvel de acordo com o Teorema 1 de Lyapunov [2].
Em outras palavras, a evoluo no tempo do modelo contnuo de Hopfield, descrita
pelo sistema de equaes diferenciais no-lineares de primeira ordem (Equao (8.5))
representa uma trajetria no espao de estado, a qual movimenta-se na direo de um dos
mnimos da Funo de Energia de Lyapunov e que acaba por terminar em um destes
pontos. Da , ento, a denominao de Atratores para as coordenadas do vetor de estado
x = [x0

x1 ! x N 1 ] quando E (x ) = E min . A partir da Equao (8.16) pode-se observar


T

tambm que a derivada dE dt nula (isto , o sistema encontra-se em um nvel de energia


estvel) somente se.
d
x j (t ) = 0
dt

para todo j

Podemos, ento, seguir um passo adiante e escrever


dE
< 0 exceto em um ponto fixo
dt

(8.19)

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

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

s coordenadas dos Atratores da rede.

8.1 Relao entre os Estados Estveis das Verses


Contnua e Discreta do Modelo de Hopfield
A rede de Hopfield pode ser operada em um modo contnuo ou discreto,
dependendo do modelo adotado para descrever os neurnios.
O modo contnuo de operao baseado em um modelo aditivo, conforme
previamente descrito. O modo discreto de operao baseado no modelo de
McCulloch-Pitts.
Podemos prontamente estabelecer a relao entre os estados estveis do modelo
contnuo de Hopfield e os estados estveis do modelo discreto de Hopfield correspondente,
atravs da redefinio da relao entrada-sada para um neurnio que satisfaa a duas
simplificaes:
1. A sada de um neurnio tem os valores assintticos
+ 1 para v j =
xj =
1 para v j =

(8.20)

2. O ponto mdio da funo de ativao de um neurnio fica na origem,


conforme mostrado por

j (0) = 0
De forma correspondente, pode-se fazer o bias I j igual a zero para todo j.

(8.21)

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

Ao formular a funo de energia E para um modelo contnuo de Hopfield,


permitido que os neurnios tenham laos de auto-realimentao. Um modelo discreto de
Hopfield, por outro lado, no necessita ter laos de auto-realimentao. Pode-se, portanto,
simplificar a discusso fazendo w jj = 0 para todos j em ambos os modelos.
A partir destas observaes, podemos redefinir a funo de energia de um modelo
contnuo de Hopfield dada pela Equao (8.13) conforme segue:
1 N 1 N 1

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)

A funo inversa j 1 (x ) definida pela Equao (8.12). Podemos ento


reescrever a funo de energia da Equao (8.22), conforme segue:
1 N 1 N 1

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 .

Figura 8.4: Grfico representativo da integral

xj

1 (x )dx .

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

Se, entretanto, o ganho a j do neurnio j se torna infinitamente grande (isto , a


no-linearidade sigmoidal se aproxima da funo de transferncia de um hard limiter), o
segundo termo da Equao (8.23) se torna desprezivelmente pequeno. No caso limite,
quando a j = para todo j , os valores mximo e mnimo das componentes do vetor de
estado x = [x0

x1 ! x N 1 ]

no modelo contnuo de Hopfield se tornam idnticos

queles no modelo discreto de Hopfield. Para o caso do modelo discreto, a Funo de


Energia de Lyapunov definida simplesmente por
1 N 1 N 1

E = w ji xi x j

(8.24)

2 i=0 j =0
i

onde o estado do j-simo neurnio assume os valores x j = 1 . Conclui-se, portanto, que os


pontos estveis (Atratores) do modelo determinstico contnuo de alto ganho de Hopfield
correspondem aos pontos estveis do modelo discreto estocstico de Hopfield.
Quando, entretanto, cada neurnio j tem um ganho a j grande, porm finito, o
segundo termo do lado direito da Equao (8.23) assume uma contribuio no
insignificante para a funo de energia do modelo contnuo. Em particular, esta
contribuio grande e positiva prximo a todas as faces, bordas e cantos do hipercubo
unitrio que define o espao de estados do modelo. Por outro lado, a contribuio
desprezivelmente pequena em pontos que esto distantes das faces. De acordo com isso, a
funo de energia de tal modelo tem seu mximo nos cantos, mas os mnimos esto
levemente posicionados em direo ao interior do hipercubo. A Figura 8.5 mostra o mapa
dos Contornos de Energia (energy landscape) para um modelo contnuo de Hopfield
usando dois neurnios.

10

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

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

de estado x = [x0 x1 ] , correspondendo respectivamente a cada um dos ns de sada dos


dois neurnios que compe a rede. Os dois Atratores desta rede esto localizados prximo
ao canto esquerdo inferior e canto direito superior da figura. Os pontos instveis
localizam-se nos outros dois cantos. As setas definem a trajetria de movimentao de
T
x = [x0 x1 ] (state flow) a partir de qualquer coordenada inicial no mapa. O state flow na
direo dos Atratores conseqncia do processo de minimizao da Funo de Energia
de Lyapunov, dada por (8.13), efetuado pela Rede de Hopfield a medida que o tempo t
T
T
transcorre a partir de um estado inicial x(t ) = [x0 (t ) x1 (t )]
= x(0) = [x0 (0) x1 (0)] .
T

t =0

Observe que cada Atrator constitui um sumidouro (sink) para o campo vetorial formado
pelas setas do state flow.

11

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

8.2 O Modelo Discreto de Hopfield Visto como uma


Content-Addressable Memory (CAM).
As Redes de Hopfield tm atrado muita ateno na literatura como CAM. Neste
tipo de aplicao, sabemos a priori os Atratores da rede, no sentido de que eles
correspondem a padres a serem armazenados. Entretanto, os pesos sinpticos da rede que
produzem os Atratores so desconhecidos, e o problema como determin-los.
A funo primordial de uma CAM recuperar um padro armazenado na memria,
em resposta apresentao de uma verso incompleta ou ruidosa daquele padro. Para
ilustrar o significado desta afirmativa, de uma forma sucinta, nada melhor podemos fazer
do que citar o prprio Hopfield (1982):
Suponha que um item armazenado na memria seja H. A. Kramers &
G. H. Wannier Physi Rev.60, 252 (1941). Uma CAM deve ser capaz de
recuperar este item inteiro da memria com base em uma informao
parcial. A entrada & Wannier (1941) deve ser suficiente. Uma
memria ideal pode lidar com erros e recuperar esta referncia mesmo a
partir da entrada Wannier, (1941).

Uma propriedade importante de uma CAM , portanto, a habilidade de recuperar um


padro armazenado, dado um subconjunto razovel do contedo de informao daquele
padro. Mais ainda, uma CAM permite correo de erro no sentido de que ela pode ignorar
informaes inconsistentes nas sugestes apresentadas a ela.
A essncia de uma CAM mapear uma memria fundamental em um Atrator

x de um sistema dinmico, conforme ilustrado na Figura 8.6. Matematicamente,


podemos expressar este mapeamento na forma x .

12

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

Figura 8.6: Ilustrao da codificao-decodificao desempenhada por uma rede recorrente.


A seta da esquerda para a direita descreve uma operao de codificao, enquanto
que a seta da direita para a esquerda descreve uma operao de decodificao. Os pontos
fixos atratores do espao de estado da rede so as memrias fundamentais ou estados
prottipos da rede.
Suponha agora que seja apresentado rede um padro contendo informao parcial
mas suficiente sobre uma das memrias fundamentais. Podemos ento representar aquele
particular padro como ponto de partida no espao de estados. Em princpio, desde que o
ponto de partida (isto , o estado inicial x(t ) = [x0 (t ) x1 (t )]

= x(0) = [x0 (0) x1 (0)] )


T

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

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

neurnio i denotado pela sada x i = +1 , e o estado desligado representado por


x i = 1 . Para uma rede constituda de N neurnios, o estado da rede ento definido pelo
vetor x = [x0

x1 ! x N 1 ] .
T

Com x i = 1 , o estado do neurnio i representa um bit de informao, e o vetor de


estado x N , representa uma palavra binria de N bits de informao.
O campo induzido local v j do neurnio j definido por
N 1

v j = w ji xi + b j

(8.25)

i =0

onde b j um bias fixo aplicado externamente ao neurnio j. Portanto, o neurnio j


modifica seu estado x j de acordo com (neurnio de McCulloch e Pitts):
+ 1 se v j > 0
xj =
1 se v j < 0
Esta relao pode ser reescrita na forma compacta

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:
!

Armazenagem (Storage phase) e

Recuperao (Retrieval phase).

14

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

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

A motivao para usar 1 N como constante de proporcionalidade simplificar a


descrio matemtica da recuperao da informao. Note tambm que a regra de
aprendizado da Equao (8.26) um procedimento no-iterativo, isto , os pesos
sinpticos w ji ficam totalmente determinados aps a soma de M termos.
Observe que o que significa os neurnios da Rede de Hopfield no tm
auto-realimentao (ver Figura 8.1), de modo que
wii = 0

para todo i

(8.27)

Seja W a matriz de pesos sinpticos de dimenso [N N ] da rede, com w ji sendo


seu ji-simo elemento. Podemos ento combinar as Equaes (8.26) e (8.27) em uma
nica equao escrita na forma matricial, conforme segue:

W=

1
N

M 1

=0

(8.28)

MI

T

onde representa o produto externo do vetor

com ele prprio, e I denota a

matriz identidade. A partir destas definies dos pesos sinpticos/matriz de pesos,


podemos, mais uma vez, verificar que:
!

A sada de cada neurnio na rede realimentada para as entradas de todos os


outros neurnios.

No h elo de auto-realimentao na rede (isto , wii = 0 ).

A matriz de pesos da rede simtrica (ver Equao (8.6)), isto ,


WT = W

15

(8.29)

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

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

ou, sob a forma matricial,

j = 1, 2, ..., N

(8.30)

(8.31)

y = sgn W y + b ,

onde W a matriz de pesos sinpticos da rede, e b o vetor bias externamente


aplicado.
A condio de estabilidade aqui descrita tambm referida como a condio de
alinhamento. O vetor de estado y que a satisfaz chamado um estado estvel ou
Atrator do espao de estados do sistema.
Podemos, portanto, afirmar que a Rede de Hopfield ir sempre convergir para um
estado estvel quando a operao de recuperao conduzida de forma assncrona.

16

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

8.3 Sumrio do Modelo de Hopfield


A Tabela 8.1 apresenta o sumrio dos passos envolvidos nas fases operacionais de
Armazenagem e de Recuperao de uma Rede de Hopfield.
O passo 1 a fase de Armazenagem e os passos 2 a 4 constituem a fase de
Recuperao.
1.

Aprendizado
Seja

{ 0 , 1 , !, M 1 }

um

conjunto

conhecido

de

memrias

N-dimensionais fundamentais (Atratores).


"

Usa-se a regra do produto externo (isto , o postulado de


aprendizagem de Hebb) para computar os pesos sinpticos da rede:

w ji = N
0,

M 1

=0

,j

, i

ji
j=i

Onde w ji o peso sinptico do neurnio i para o neurnio j.


Os elementos do vetor so iguais a 1 .
Uma vez determinados os pesos sinpticos w ji , estes so mantidos
fixos.
2.

Inicializao
Seja sonda um vetor de entrada Ndimensional desconhecido (sonda)
apresentado rede.
"

O algoritmo inicializado fazendo-se

x j (0) = j , sonda

com

j = 0,1, !, N 1 .

Onde x j o estado do neurnio j no tempo n = 0 , e

j , sonda o j simo elemento do vetor sonda sonda .

17

PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica

Redes Neurais Artificiais


Fernando Csar C. de Castro e Maria Cristina F. de Castro

3.

Iterao at a convergncia
"

Os elementos do vetor de estados x(n ) so atualizados de forma


assncrona (isto , aleatoriamente e um de cada vez), de acordo com
a regra
N 1

x j (n + 1) = sgn w ji xi (n ),
i =0

"

4.

j = 0,1,! , N 1 .

A iterao repetida at que o vetor de estado x permanea


inalterado.

Sada
Seja x sink o vetor que representa as coordenadas do Atrator computado
ao final do passo trs.
"

O resultante vetor de sada y da rede dado por

y = x sink

8.4 Referncias Bibliogrficas do Captulo 8


[1]

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]

M. H. Hassoun, Fundamentals of Artificial Neural Networks, MIT Press, 1995.

[4]

J. Hertz, A. Krogh e R. G. Palmer, Introduction to the Theory of Neural


Computation, Addison-Wesley, 1991.

18

Apndice: Rede de Hopfield - Codificao No - Linear


Funes auxiliares deste script para MathCad 7.0:
Bin ( HopfieldVector )

( 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.

O objetivo deste estudo investigar a capacidade da Rede de Hopfield


codificar e decodificar (no contexto de Cdigos Para Correo de Erros) um espao
de vetores binrios (exceto o vetor 0, caracterizando a Codificao No-Linear ).
Seja, por exemplo, o espao de vetores binrios de dimenso 4 (exceto o vetor 0):
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
BinSpace

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

Normalizando as componentes dos vetores para +1, -1:


o

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

Obtendo a matriz de pesos sinpticos W da Rede de Hopfield para o conjunto de


vetores o:
Nota: Wij o peso sinptico que conecta a sada do neurnio i respectiva entrada no neurnio j
WeightMatrix( )

rows( )

cols( )

1.
N

<i > . <i > T

M .identity( N )

0.25 0.25 0.25

i=0

return W

WeightMatrix( o )

W=

0.25 0

0.25 0.25

0.25 0.25 0

0.25

0.25 0.25 0.25 0

Obtendo os estados estveis (Atratores) da Rede de Hopfield para a matriz de


pesos sinpticos W obtida do conjunto de vetores o:
Nota: Um vetor de estado x estvel se sgn(xW )=x, (Condio de Alinhamento) onde sgn(u)
representa o hard limiter.
StableStates( , W )

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

Verificando a consistncia dos Atratores:


Nota: Se um conjunto Ss de vetores de estado x um conjunto de Atratores ento os seus estados
estveis so formados pelos prprios vetores de Ss:
0
W

WeightMatrix( Ss)

W=

0 0 0 1 1 1

0.5 0.5 0.5

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

0.5 0.5 0.5 0

Calculando as distncias de Hamming entre os Atratores:


Nota: Quanto maior a Distncia de Hamming mnima maior a capacidade de correo de erro do
decodificador.
T
T
SpectrDist Bin( Ss )
= 2 2 2 2 4 2 2 4 2 4 2 2 2 2 2
Resultado que no muito satisfatrio. Experimentemos determinar a Distncia de Hamming entre os
Atratores, s que TRANSPOSTOS, isto :
0 0 1 1
0 1 0 1
0 1 1 0
T
Bin Ss =
1 0 0 1
1 0 1 0
1 1 0 0
T
SpectrDist( Ss ) = 4 4 4 4 4 4
O que um resultado EXTREMAMENTE satisfatrio, j que conseguimos maximizar a Distncia de
Hamming entre todos os vetores . Portanto estes vetores so palavras cdigo binrias com bom
potencial para codificao. Ainda necessrio verificar se os Atratores transpostos formam um
conjunto de Atratores:

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

Portanto, os Atratores transpostos tambm formam um conjunto de Atratores.

0.667

No entanto, a Rede de Hopfield pode convergir para outros Atratores diferentes


daqueles definidos pela matriz W obtida do conjunto de vetores . Tais
Atratores so denominados Atratores Esprios (estados esprios):
No presente caso, o conjunto de Atratores Esprios espur so os vetores obtidos da negao lgica

(NOT) das componentes do conjunto de Atratores :

espur

Hop( Not( Bin ( ) ) )

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

sgn(xW )=x , onde x um dos vetores do conjunto espur :

Bin ( StableStates( espur, W ) ) =

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

Os Atratores Esprios espur decorrem da situao em que

0.667

possui autovalores muito prximos ou

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

Nota: Atratores Esprios ocorrem tambm para o conjunto original o:


T
eigenvals( WeightMatrix( o ) ) = 0.25 0.25 0.25

0.75

Verificando a capacidade de correo de erro da Rede de Hopfield no contexto de


Codificao/Decodificao:
Nota: O pseudo-cdigo Retrieval( . ), abaixo especificado, implementa a fase de Recuperao de uma
Rede de Hopfield com matriz de pesos sinpticos W a partir do vetor sonda x . O argumento
CheckWindow especifica o nmero de iteraes durante as quais x deve permanecer constante para
que seja considerado que a rede convergiu para um Atrator.

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.

Vamos supor que a Rede de Hopfield receba a seguinte palavra-cdigo:


Received

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

Bin( Retrieval( Hop( Received ) , W , 10 .rows( Ss ) ) )

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

at que ocorra convergncia para um estado estvel pertencente a .

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.

Вам также может понравиться