Você está na página 1de 40

Universidade Federal Fluminense Instituto de Computao Ps-Graduao em Cincia da Computao

Redes Neurais Artificiais: Rede Hopfield e Redes Estocsticas


Juliana Mendes N. Silva

Estudo Orientado Lcia Drummond Roseli Suzi Wedemann

Niteri, RJ Julho de 2003

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Sumrio
1. Introduo ....................................................................................................................... 3 2. Redes Neurais Artificiais................................................................................................ 4
2.1 2.2 2.3 2.4 2.5 2.6 2.7 Introduo ................................................................................................................. 4 Histrico .................................................................................................................... 5 O modelo neural biolgico.......................................................................................... 7 O crebro Processamento Paralelo .......................................................................... 8 O Modelo de McCulloc e Pitts .................................................................................... 9 Arquiteturas das RNAs ............................................................................................ 10 Aprendizado da rede ................................................................................................ 13
Aprendizagem por correo de erros ....................................................................................................14 Aprendizado Hebbiana ............................................................................................................................14 Aprendizado de Boltzmann.....................................................................................................................15 Aprendizado competitivo........................................................................................................................15 Aplicaes Prticas ..................................................................................................................................16

2.7.1 2.7.2 2.7.3 2.7.4

2.8

Aplicaes ................................................................................................................ 16

2.8.1

3. Rede Hopfield................................................................................................................ 18
3.1 3.2 3.3 3.4 3.5 3.6 4.1 4.2 5.1 5.2 5.3 O uso da Rede Hopfield como uma memria associativa......................................... 18 O modelo de Hopfield............................................................................................... 19 Armazenando padres na rede ................................................................................. 20 Capacidade de Armazenamento............................................................................... 22 A energia funcional .................................................................................................. 23 Estados esprios ....................................................................................................... 25 Algoritmos de simulao para Redes Hopfield ......................................................... 27 Implementao......................................................................................................... 29 Mecanismos estatsticos de Sistemas magnticos ...................................................... 33 A temperatura.......................................................................................................... 34 A Rede Hopfield como uma rede estocstica ............................................................ 36

4. Algoritmos de Simulao e Implementao................................................................. 27

5. Redes Estocsticas ........................................................................................................ 33

6. Concluso...................................................................................................................... 38 7. Bibliografia ................................................................................................................... 39 8. Apndice ........................................................................................................................ 40

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

1. Introduo
O crebro humano um sistema cognitivo composto de neurnios interconectados por uma rede de sinapses e que cooperam entre si para processar informaes de maneira distribuda. As informaes so armazenadas no crebro pela forma com que os neurnios esto interligados, ou seja, pela topologia de interconexo sinptica. Existe na literatura um modelo computacional esquemtico implementado por um algoritmo seqencial de redes neuronais artificiais que simula o crebro em alguns conceitos associados patologia mental relacionada ao funcionamento da memria, conhecida como neurose [1]. O modelo de simulao consiste de uma rede neuronal artificial baseada na Mquina de Boltzmann, composta por N ns (neurnios) totalmente conectados, ou seja, existe pelo menos uma ligao sinptica associada a cada par de n. Contudo, busca-se uma melhor aproximao dos sistemas neuronais biolgicos, onde o nmero de neurnios grande e estes se conectam de maneira hierarquizada, podendo ser uma rede no totalmente conectada. Esta monografia tem como principal objetivo apresentar alguns estudos preliminares que so base para o desenvolvimento de uma verso distribuda do algoritmo de simulao da rede neuronal sendo esta mais prxima do sistemas neuronais biolgicos. O estudo baseou-se em redes neurais artificiais com nfase no modelo Hopfield e nas principais propriedades das redes estocstica que auxiliam no estudo e na implementao da Mquina de Boltzmann. Esta monografia est dividida da seguinte maneira. No segundo captulo apresentada a tcnica das redes neurais, bem como seu histrico, caractersticas, modelo computacional e como a rede capaz de aprender. No terceiro captulo so discutidas as caractersticas do modelo proposto por Hopfield, onde a rede neural vista como uma rede enderevel pelo contedo. O quarto captulo descreve os algoritmos de simulao seqencial e distribudo e implementao seqencial da Rede Hopfield. O quinto captulo apresenta uma rede neural como uma rede estocstica, destacando suas caractersticas e semelhana com o Modelo Ising. Por fim, no ltimo captulo feita uma concluso do estudo. O apndice contem o cdigo fonte a alguns dos resultados obtidos.

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

2. Redes Neurais Artificiais


Numerosos avanos tm ocorrido no desenvolvimento de sistemas inteligentes, alguns consistem em tentar simular as redes neurais biolgicas como o caso das redes neurais artificiais (RNAs). Este tipo de rede est sendo projetada por muitos pesquisadores para resolver uma variedade de problemas em padres de reconhecimento, predio, otimizao, memria associativa e controle.

2.1 Introduo
Qualquer pessoa pode perceber que o crebro humano superior a um computador digital. Um bom exemplo no processamento de informao visual que uma criana consegue reconhecer objetos e faces muito melhor e mais rpido do que um sistema de Inteligncia Artificial rodando em um supercomputador. O crebro possui muitas caractersticas que so desejadas em sistemas artificiais, o que justifica o estudo de computao neural, apesar de que uma grande RNA pode ter centenas ou milhares de unidades de processamento, j o crebro dos mamferos pode ter bilhes de neurnios. RNAs so tcnicas computacionais que apresentam um modelo matemtico inspirado na estrutura neural de organismos inteligentes. Estas redes adquirem conhecimento atravs da experincia e podem ser utilizadas na resoluo de uma grande classe de problemas encontrados em vrias reas aplicadas: classificao, identificao, diagnstico, anlise de sinais e de imagens, otimizao e controle. De forma anloga ao crebro, uma RNA composta por vrias unidades de processamento, correspondentes aos neurnios. Estas unidades so interconectadas atravs de pesos, que so valores numricos, representando as sinapses. Elas so responsveis por determinar uma sada que servir de entrada para outra unidade. O que difere este modelo de outros que a informao est armazenada na forma que os neurnios esto conectados e no em endereos de memria. Portanto, podemos destacar que a definio do estado e a forma de atualizao dos neurnios, e a topologia de uma rede caracteriza a diversidade de modelos existentes.

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

As redes neurais tm-se mostrado de fcil implementao, robusta no tratamento de dados com rudo e eficientes especialmente nos problemas em que no se tem uma formulao analtica ou um conhecimento explcito acessvel, ou se os dados "esto contaminados" por rudo ou o prprio problema modifica-se com o tempo. O emprego de uma rede neural depende da habilidade em adapt-la ao problema considerado, por meio de mudanas nos pesos sinpticos (aprendizagem), de modo a aumentar sua eficincia. O estudo das redes neurais um dos ramos da Inteligncia Artificial que mais se desenvolve, atraindo pessoas de diversas reas do conhecimento.

2.2 Histrico
A histria destas idias originou-se na psicologia com Aristteles e a base computacional ou modelo neural no artigo de McCulloch e Pitts [1943]. McCulloch e Pitts descreveram um modelo simplificado, porm poderoso, do neurnio real, que utilizado na maioria dos modelos de RNAs atualmente. O modelo, chamado MCP, baseado na neurofisiologia de um neurnio e desempenha uma funo de soma e threshold, onde o peso das conexes entre os ns corresponde as sinpses de um neurnio real. Em 1949 surgiu a primeira teoria neurofisiolgica para modificao de sinpses em neurnios reais (determinao do processo de aprendizagem do crebro) por Donald Hebb. De acordo com sua teoria, "Se um neurnio A repetidamente estimulado por um neurnio B, ao mesmo tempo em que ele esta ativo, A ficar mais sensvel aos estmulos de B, e a conexo sinptica de B para A ser mais eficiente. Deste modo, B achar mais fcil estimular A para produzir uma sada". Esse procedimento de ajuste de pesos, freqentemente chamado de regra de Hebb, tem sido adotado de formas diferentes em algoritmos de aprendizado para modelos de RNAs baseados no modelo MCP. Na dcada de 60 foi focado, por muitos pesquisadores, o problema de como encontrar os pesos apropriados para particulares tarefas computacionais. Frank Rosenblatt (1962) criou o Modelo Neural Perceptron de uma nica camada e conseguiu provar a convergncia de um algoritmo de aprendizagem. Seu modelo de rede, baseado no neurnio MCP, era capaz de classificar os padres aprendidos do ambiente atravs do ajuste gradual dos pesos entre os neurnios.

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Marvin Minsky e Seymour Papert [1969] publicavam um livro onde demonstravam as limitaes do Perceptron de uma nica camada, contrariando o conceito defendido por Rosenblatt. Seu modelo era incapaz de resolver problemas no linearmente separveis, como o "Ou Exclusivo". Rosenblatt estudou estruturas com mais camadas temendo que uma nica camada limitava o Perceptrons. Mas, de qualquer forma, no existiam algoritmos de aprendizagem capazes de determinar os pesos sinpticos para implementar alguns clculos. Com isto a comunidade de cincia da computao deixou o paradigma de redes neurais por mais de 20 anos. O surgimento de algoritmos de aprendizado mais eficientes para redes multinveis, como a descrio do modelo de Hopfield (Hopfield, 1982; 1984), das Mquinas de Boltzmann (Ackley, Hinton e Sejnowsky, 1985) e do algoritmo Backpropagation (Rumelhart, Hinton e Williams, 1986a, 1986b), contrariaram um pouco as idias de Minsky e Papert sobre Perceptrons e provocaram novamente um forte interesse pela rea com publicaes de outros modelos importantes de Redes Neuronais (Willshaw, Buneman e Longuett-Higgins, 1969; Anderson 1972; Kohonen, 1982; 1972; Fukushima 1975; Carpenter e Grossberg 1987a; 1987b; Kanerva, 1984). Destes novos algoritmos podemos destacar os seguintes. Caianiello [1961] acreditava existir uma memria no sistema e construiu uma teoria estatstica, utilizando a idia de mecanismos estatsticos, incorporando a idia de aprendizado do crebro proposta por Hebb. Hopfield [1982] tambm utilizou a mesma idia introduzindo uma energia funcional, enfatizando a noo de memria como atratores dinamicamente estveis. Em [1983,1986] Hilton e Sejnowski construram formulaes usando unidades estocsticas, mas cometeram um engano na probabilidade anloga temperatura em mecanismos estatsticos. Amit et al [1985,1989], usaram mtodos desenvolvidos na teoria randmica de sistemas magnticos chamados spin glasses [2].

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

2.3 O modelo neural biolgico


O sistema nervoso constitudo basicamente por um conjunto extremamente complexo de clulas nervosas (neurnios) que se interconectam de forma especfica e precisa, formando os chamados circuitos neurais. O neurnio o principal componente do sistema nervoso, estima-se que no crebro humano exista aproximadamente 15 bilhes destas clulas, que so responsveis por todas as funes do sistema. O neurnio [fig 2.1] destaca-se das outras clulas por ser capaz de processar informaes. Sua estrutura morfolgica consiste do corpo do neurnio (soma) constitudo de ncleo, que d suporte metablico toda clula, o axnio (fibra nervosa) prolongamento nico e grande que aparece no soma e responsvel pela conduo do impulso nervoso para o prximo neurnio e os dendritos que so prolongamentos menores em forma de ramificaes que emergem do soma e do final do axnio, sendo, na maioria das vezes, responsveis pela comunicao entre os neurnios [6].

Figura 2.1 - A clula nervosa (neurnio)

Ao receber um estmulo, a membrana do neurnio se despolariza, acontecendo a inverso das cargas eltricas: externamente, ficam as cargas negativas, e internamente, as positivas. Uma vez que um ponto em qualquer lugar do nervo se torne despolarizado, um

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

impulso nervoso propaga-se a partir dele em cada direo, e cada impulso assim mantido, propagando-se at atingir as extremidades da fibra. O percurso do impulso nervoso no neurnio sempre no sentido dendrito corpo celular axnio [fig 2.1]. A regio de passagem do impulso nervoso de um neurnio para a clula adjacente chama-se sinapse. O comportamento de uma sinapse qumica pode ser resumido da seguinte maneira: quando um potencial de ao chega a um terminal pr-sinptico, a despolarizao da membrana pode fazer com que um pequeno nmero de vesculas sinpticas secrete, na fenda sinptica, um composto qumico denominado neurotransmissor, que por sua vez, ir atuar nas protenas receptoras do neurnio seguinte produzindo alteraes na permeabilidade da membrana neural ps-sinptica, podendo excit-lo, inibi-lo ou modificar de alguma forma sua intensidade [6]. A sinapse pode ser ajustada atravs das atividades que ela participa, assim pode-se dizer que uma rede neural pode aprender. Os neurnios se comunicam atravs de uma seqncia curta de pulsos e a mensagem modulada na freqncia destes pulsos. A freqncia um milho de vezes mais lenta do que a maior velocidade de chaveamento de um circuito eltrico. Todavia, tarefas complexas so realizadas em poucos milisegundos devido a forma paralela do crebro [3].

2.4 O crebro Processamento Paralelo


Um crtex cerebral contm 1011 neurnios e no total 1014 a 1015 interconexes complexas, ou seja, a grosso modo o crebro como um sistema paralelo de 1011 processadores. Cada processador tem um programa muito simples: ele computa a soma de pesos dado de entrada por um outro processador e tem como sada um nico nmero. Esta sada enviada a um outro processador que faz o mesmo tipo de clculo. O peso sinptico e a funo so diferentes para cada neurnio o que pode ser entendido como um armazenamento local de dados pelo processador. A alta conectividade da rede no permite que a soma de poucos termos errados cause alguma conseqncia no resultado, tornando o sistema totalmente robusto.

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Fazendo uma breve comparao entre o processamento do crebro e uma situao convencional da computao, cada processador executa programas complicados e a seqncia computacional pode ser arruinada por um nico bit errado [2].
...Inmeras pesquisas comprovam que uma vida intelectual ativa fundamental para manter a cabea funcionando. Explica-se: o crebro humano possui 100 bilhes de neurnios, ou clulas nervosas, que regem o movimentado trfego eltrico e qumico do corpo humano. Toda vez que algo chama a ateno - uma viso, um som, uma idia - um grupo de neurnios ativado e deflagra milhares de impulsos eltricos nas brechas existentes entre eles, as chamadas sinapses, transformando essa elaborada rede em uma tempestade de atividades sinalizadoras. A memria humana trabalha com esse gigantesco nmero de informaes distribudas por todo o crebro e est em contnua mudana... [7]

2.5 O Modelo de McCulloc e Pitts


McCulloch e Walter Pitts desenvolveram um modelo que prope elementos computacionais, abstrados das propriedades fisiolgicas dos neurnios biolgicos e de suas conexes. O neurnio de McCulloch-Pitts, MPC [fig 2.2], um dispositivo binrio onde suas vrias entradas possuem um estado e pesos nas conexes (pesos sinpticos que podem ser hexitatrios ou inibitrios) e sua sada representa um dos dois estados possveis (1 - pulso ou 0 no pulso).

n1 n2 w11 w12 n1 ni wij


Figura 2.2 Neurnio de McCulloc e Pitts Para determinar o estado de um neurnio faz-se a integrao sinptica, ou seja, calcula-se a soma ponderada do estado das entradas com seus respectivos pesos sinpticos, positivos nos casos excitatrios e negativos nos casos inibitrios, menos o potencial limite
9

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

do neurnio. Se a soma for maior ou igual a um certo limiar ( ) inicialmente fixado, o neurnio torna-se ativo e a sada um pulso, se no permanece inativo. Esta soma pode ser vista na equao 2.1, onde ni o estado do neurnio i, nj (j = 1,2..,n) o estado dos vizinhos, wij, corresponde ao peso sinptico que conecta i em j e i o valor do limite potencial do neurnio i que ser assumido zero em todo monografia.
n

ni = ( wij nj - i )
j =1

Equao 2.1 Funo de ativao

Diante do comportamento desta equao, o discriminador linear pode ser utilizado como classificador de padres, ou seja, atravs de uma rede formada por simples neurnios, possvel modelar algumas funes ou fenmenos que podem ser representados por funes lgicas capazes de classificar padres. McCulloc e Pitts provaram que em princpio, uma escolha adequada dos pesos sinpticos permite que um funcionamento sncrono da rede realize computaes distribudas. Apesar do MPC ser muito simples quando comparado com um neurnio real, a analogia com um neurnio biolgico clara: cabos e interconexes modelam os dentritos, os pesos das conexes so as sinapses e o potencial limite aproxima a atividade no corpo celular.

2.6 Arquiteturas das RNAs


A forma de organizao dos neurnios em uma rede neural (topologia) est intrinsecamente ligada ao problema no qual se deseja solucionar e fator importante na definio do algoritmo de aprendizagem a ser utilizado. RNAs podem ser vistas como grafos direcionados onde os neurnios so os ns e as arestas a conexo entre os neurnios. A cada aresta est associado um peso que correspondente ao peso sinptico. A arquitetura das redes neurais pode ser dividida em dois grupos:

10

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

a. Redes feed-forward, onde o grafo no possui laos. Dentro desta arquitetura podemos destacar: a.1. Monocamada com alimentao unidirecional [fig 2.3]: nesse caso existe somente uma camada de neurnios ligados diretamente aos ns de entrada e eles mesmos j fornecem os dados de sada.

Entradas

Neurnios

Sadas

Pesos
Figura 2.3 - Monocamada com alimentao unidirecional

a.1. Multicamada com alimentao unidirecional [fig 2.4]: esse tipo possui uma ou mais camadas de neurnios escondidos. Sua funo processar os sinais de entrada antes de envi-los aos neurnios de sada. Apesar da maior complexidade, essa arquitetura possibilita uma melhor qualidade de treinamento, pois h maior interao entre os neurnios. Quando todos os neurnios esto conectados a todos os outros neurnios essa rede dita completamente conectada do contrrio chamada parcialmente conectada.

11

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Entradas

Neurnios Intermedirios

Sadas Sadas

Pesos
Figura 2.4 - Multicamada com alimentao unidirecional

b. Redes Recorrentes [fig 2.5] so arquiteturas neurais que possuem laos de realimentao. Desta forma, produzem um nico conjunto de valores de sada. Pode ser monocamada ou multicamada.

Entradas

Neurnios

Sadas

Pesos
Figura 2.5 - Redes Recorrentes

Conectividades diferentes levam a diferentes comportamentos da rede. As redes feed-forward so estticas, pois produzem um nico conjunto de valores de sada. Pode-se dizer que no possui memria j que sua resposta a uma entrada no depende do estado

12

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

prvio da rede. Redes recorrente, por outro lado, so sistemas dinmicos. Quando a entrada apresentada rede o neurnio de sada computado. A definio da arquitetura utilizada depende das caractersticas do sistema a ser desenvolvido [8].

2.7 Aprendizado da rede


Redes neurais aprendem por experincia, da mesma forma que uma criana aprende a andar, falar, associar objetos e nomes, atravs de exemplos ou tentativa e erro. Assim, aps a escolha de uma representao para os dados do problema, deve-se montar um conjunto de treinamento para que, atravs dele, a rede aprenda. Este conjunto gerado a partir de dados histricos, ou seja, a partir de experincias e fatos ocorridos no passado. O aprendizado, na maioria das vezes, constitui no ajuste do conjunto de pesos de modo que a rede consiga executar uma tarefa especfica. Para se construir um processo de aprendizado necessrio conhecer quais informaes estaro disponveis rede e como os pesos sero atualizados. Existem trs paradigmas de aprendizado: a. Aprendizado supervisionado : aquele que utiliza um conjunto de pares (entrada - sada), em que para cada padro de entrada especificado um padro de sada desejado (resposta desejada). O aprendizado ocorre no momento em que a sada gerada pela rede, a partir dos clculos efetuados com o padro de entrada e os pesos correntes. Se a sada for diferente da sada desejada, o algoritmo de treinamento, segundo alguns critrios, ajusta os pesos da rede de forma a reduzir o erro. Essa dinmica repetida inmeras vezes para todo conjunto de dados (entradas e sadas) at que a taxa atinja uma faixa considerada satisfatria. b. Aprendizado no-supervisionado : este tipo de aprendizado tambm conhecido como aprendizado auto-supervisionado, e classifica os padres similares sem utilizar conjunto de pares, isto , no treinamento da rede so usados apenas valores de entrada. A rede trabalha essas entradas e se organiza de modo a classific-las mediante algum critrio de semelhana. Esse tipo de rede utiliza os neurnios como classificadores, e os dados de entrada como elementos de classificao.

13

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

c. Aprendizado hbrido : combina as duas tcnicas apresentadas. Parte dos pesos so determinados pelo aprendizado supervisionado e a outra parte atravs do aprendizado no-supervisionado. Entre as questes prticas e fundamentais a respeito da aprendizagem pode-se destacar, a capacidade de armazenamento da rede e limite de decises que a rede deve tomar, a complexidade dos exemplos, onde so determinados o nmero de padres de treinamento necessrios para treinar a rede e qual ser o tempo computacional gasto para que a rede aprenda. Existem quatro tipos bsicos de regra de aprendizado.

2.7.1 Aprendizagem por correo de erros


Neste modelo a correo dos pesos sinpticos efetuada atravs da comparao da sada desejada com a sada atual, ambas medidas no mesmo instante de tempo. O erro ento definido com sendo a diferena do valor da sada desejado e a sada atual. A fim de se estimar o erro da rede define-se uma funo custo baseada na funo erro. Esta funo indica o erro instantneo da rede e procura-se em adaptar os pesos sinpticos a fim de minimizar essa funo. importante notar que a rede s aprende quando ocorre um erro. Um valor pequeno proporcionar uma aprendizagem lenta e pode acontecer da rede demorar a convergir para a soluo proposta. Por outro lado, uma taxa alta pode comprometer a estabilidade do sistema, pois a rede pode divergir da soluo.

2.7.2 Aprendizado Hebbiana


Este processo baseado na teoria de Hebb [seo 2.2]. Hebb observou uma caracterstica dos neurnios que consiste no reforo ou enfraquecimento do sinal sinptico de acordo com certos pr-requisitos. A aplicao desta regra s redes neurais pode ser escrita da seguinte forma. Se dois neurnios, um em cada lado de uma sinapse so ativados simultaneamente, ento a fora daquela sinapse seletivamente aumentada. Todavia, se dois neurnios, um em cada lado de uma sinapse, so ativados assincronamente ento a fora daquela sinapse seletivamente enfraquecida ou eliminada.

14

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Uma importante caracterstica desta regra que o aprendizado feito localmente, ou seja, a mudana dos pesos sinpticos depende somente da atividade de dois neurnios conectados. O modelo Hebbiano possui uma base neurolgica importante: h fortes indcios de que as atividades cerebrais das clulas do hipocampo responsveis pela aprendizagem e memria funcionam de forma semelhante [2].

2.7.3 Aprendizado de Boltzmann


Esse mtodo de aprendizagem tem suas origens na teoria da computao alm de contar com algumas consideraes da teoria da termodinmica. Chamada de Mquina de Boltzmann, a rede neural formada por uma rede recorrente simtrica operando em somente dois estados, 1 e 1, e caracterizada por uma funo de energia cujo valor determinado pelos estados dos neurnios. A atualizao dos estados dos neurnios feita de forma aleatria e acontece at que um mnimo da funo de energia seja alcanado. Cada neurnio , na verdade, uma unidade estocstica que gera uma sada de acordo com a distribuio de Boltzmann dos mecanismos estatsticos. Existem dois subconjuntos de neurnios nesta estrutura, um subconjunto formado por neurnios visveis e outro formado por neurnios escondidos, sendo que este ltimo no possui contato com o exterior.

2.7.4 Aprendizado competitivo


No aprendizado competitivo os neurnios so projetados de tal forma que somente um deles est ativo aps a computao de determinada tarefa. Cada neurnio possui um mecanismo de neutralizao dos demais, logo, se um neurnio for ativado, ele o nico a fornecer uma sada do sistema, pois ele anula os demais. Existem os seguintes componentes em uma rede neural competitiva: a. Um conjunto de neurnios est interligado a diversas sinapses aleatoriamente distribudas e com pesos diferentes de forma que cada um deles possui uma resposta nica a um determinado conjunto de sinais de entrada; b. Um limite de fora a cada neurnio;

15

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

c. Um mecanismo que permite os neurnios competirem pelo direito de responder a um determinado conjunto de entradas. Esta estrutura possui a caracterstica de que cada neurnio se torna especialista em reconhecer determinados padres de entrada.

2.8 Aplicaes
Atravs da computao paralela a rede neural atua em todos os dados simultaneamente. Isto lhe d a capacidade de realizar algumas tarefas desejadas por muitos sistemas. a. Memria Associativa Distribuda : a memria de uma rede neural distribuda e ao mesmo tempo associativa. Diante de um padro de entrada, a rede capaz de recuperar um padro armazenado em sua memria, mais prximo daquele que lhe foi apresentada. b. Reconhecimento de padro : habilidade de verificar simultaneamente uma grande quantidade de informao e gerar uma sada categrica ou generalizada.

2.8.1 Aplicaes Prticas


a. Redes Neurais Lineares a.1. Telecomunicaes : modens de alta velocidade de transmisso utilizam equalizadores de linha adaptativos e canceladores de eco adaptativos. Cada um desses sistemas adaptativos utiliza uma rede neural. a.1. Controlador de acelerador de feixe de partculas : o Centro de Acelerao de Partculas Lineares de Stanford utiliza tcnicas adaptativas para cancelar pertubaes que diminuam a preciso de feixes de psitrons e eltrons durante a coliso.

b. Redes neurais no-lineares b.1. Reconhecimento de caracteres : existem diversos dispositivos comerciais disponveis. Um deles reconhece caracteres da lngua japonesa, possui 10 milhes de sinapses e seu desempenho superior a dos sistemas convencionais.

16

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

b.1. Controle de qualidade em fbricas : existem diversas redes neurais sendo utilizadas no controle de qualidade na indstria em geral. So aplicaes sobre deteco de nvel de contaminao, classificao de erros em alto-falantes e at avaliao do grau de pureza do suco de laranja. b.1. Controle no processo de fabricao de semicondutores : a utilizao de uma rede neural para determinar o momento de corte de dopagem e correo de erros de densidade promoveu uma melhora por um fator acima de dois outros mtodos convencionais.

17

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

3. Rede Hopfield
Hopfield usou uma funo de energia como ferramenta para desenhar redes recorrentes [seo 2.6] e entender seu comportamento dinmico. Assim, popularizou o uso desta arquitetura como uma memria associativa e para resolver problemas de otimizao. A Rede Hopfield emprega um princpio chamado de armazenamento de informao como atratores dinamicamente estveis. A recuperao de informao acontece via um processo dinmico de atualizao dos estados dos neurnios, sendo que, o neurnio a ser atualizado, escolhido randomicamente. Dois modelos de redes foram apresentados por Hopfield: o analgico e o binrio. Nesta monografia ser apresentado o modelo binrio.

3.1 O uso da Rede Hopfield como uma memria associativa


A memria humana funciona como uma memria endereada pelo contedo, por exemplo, muitas vezes uma pessoa pode lembrar de fatos inteiros tendo inicialmente uma pequena lembrana do acontecimento. A Rede Hopfield funciona exatamente como uma memria endereada pelo contedo tambm chamada de memria associativa. Na rea computacional uma memria associativa ou endereada pelo contedo pode ser entendida como um dispositivo que permite armazenar um conjunto p de padres i , (com = 1, 2, 3, ..., p e i = 1, 2, 3, ..., N, onde N a quantidade de neurnios da rede) de tal modo que quando apresentado um novo padro i, a rede responde produzindo o padro armazenado que possui a menor distncia (ou seja, o mais parecido) de i. A menor distncia entre dois padres medida pela distncia de Hamming [eq 3.1], que o nmero de bits que um padro difere do outro.

[ i (1 - i) + (1 - i ) i]
i

Equao 3.1 Distncia de Hamming

18

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Como ser mostrado nas prximas sees, a evoluo da rede (atualizao dos neurnios) leva estados estveis, ento, cada padro i pode ser associado a um destes
estados. Quando a rede for inicializada i , sendo este prximo de i , a rede evoluir para

este estado estvel e o padro poder ser recuperado. Por isto, a rede corrige erros [seo 2.7.1] no sentido que anula informaes inconsistentes apresentadas a ela.

3.2 O modelo de Hopfield


O estado de um neurnio i, denotado, a partir de agora, por Si, pode assumir o valor 1 (quando esto ativos) ou 1 (quando no esto ativos). Um padro , na verdade, um vetor de estados, onde o tamanho do vetor igual ao nmero de neurnios da rede. Por exemplo, um vetor 1 = [1,-1,1] consiste de uma rede com trs neurnios, onde o estado do primeiro neurnio igual a 1, o segundo igual a 1 e o terceiro igual a1. A dinmica da rede (ou seja, atualizao dos neurnios) dada pela seguinte funo:

Si := sgn( wij Sj)


j Equao 3.2 Atualizao do neurnio i

Onde a funo sgn(x) uma funo signum definida por:

sng(x) =

1 se x >= 0; -1 se x < 0;

Equao 3.3 Funo sgn(x)

Existem dois modos de atualizao dos neurnios especificados como sncrona e assncrona. A primeira apropriada para simulao e existe um relgio global alm de ser sensvel a erros de tempo. J a segunda pode ser feita escolhendo-se randomicamente um neurnio i a ser atualizado ou o prprio neurnio escolhe se atualizar segundo a regra em uma probabilidade por unidade de tempo.

19

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Os efeitos da maneira de como so realizadas as atualizaes sero discutidas no prximo captulo.

3.3 Armazenando padres na rede


Para que um padro i seja armazenado, necessrio que ele seja estvel. Um padro i estvel quando

i = sgn( wij j)
j

Equao 3.4 Estabilidade

A condio de estabilidade verdadeira porque a regra 3.2 no produz mudanas nos estados dos neurnios, portanto o estado i estvel. O valor da sinapse wij entre i e j igual a

wij = 1/N i j
Equao 3.5 Peso sinptico

A constante de proporcionalidade 1/N utilizada para simplificar a descrio matemtica de uma recuperao de informao. Quando um padro de entrada apresentado a rede, mesmo que com rudo (alguns bits diferentes do padro armazenado), o padro armazenado que for mais prximo do padro de entrada poder ser recuperado. Este fato pode ser comprovado substituindo a equao 3.5 na equao 3.4., onde hi o estado estvel do neurnio i. Pelo desenvolvimento da equao 3.6 tem-se que se Sj (estado do neurnio j ) igual j (padro j armazenado), j * Sj positivo. Se Sj diferente de j, o valor de j * Sj negativo. Por fim, pela somatria, se a maioria de bits so iguais a equao se reduz para hi = sgn( i), ou seja, o estado estvel do neurnio igual ao estado estvel do padro armazenado, assim o padro ento recuperado.

20

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Equao 3.6 Estado estvel de um neurnio i

Logo, uma configurao inicial perto (em distncia de Hamming) de i relaxar para i . A rede capaz de corrigir erros como esperado. Alm das afirmaes anteriores, pelas definies das equaes, pode-se perceber que a sada de um neurnio na rede feed-back para os outros neurnios, no existe auto feed-back (ou seja, wii = 0) e que a matriz de pesos sinpticos simtrica, pois wij = wji. At o momento, foi discutido o armazenamento de um nico padro. Mas o interessante poder armazenar uma quantidade maior de padres i , onde = 1,2,...p. Para tanto a equao 3.5 ser modifica para que o clculo dos pesos sinpticos no seja em relao a um nico padro, mas em relao p padres.

wij = 1/N i j
p =1

Equao 3.7 Peso sinptico em relao p padres

Esta regra de clculo de pesos chamada regra de Hebb por causa da similaridade com a teoria desenvolvida por Hebb [seo 2.2]. Quando aplicamos o conjunto de padres a serem armazenados durante a fase de treinamento e ajustamos os pesos sinpticos chegamos na equao 3.7. Para facilitar a anlise de estabilidade, considere padro estvel i. Para que a condio de estabilidade seja satisfeita necessrio, como no caso de um nico padro armazenado, que sgn(hi) = i. Para avaliar se esta condio realmente satisfeita, os pesos sinpticos so substitudos na equao 3.4, como feito na equao 3.6, com a diferena que os termos onde igual a e diferente de so escritos separadamente

h i =sgn( i + 1/N i j j )
j

Equao 3.8 Estabilidade de p padres

21

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Se o segundo termo da equao, chamado de Crosstalk , for igual a zero, pode-se dizer, logicamente, que o estado do neurnio i pertencente ao padro estvel (pois h i = i ) e o padro i ento recuperado. Mas isto ainda verdadeiro se este termo for menor que 1 e isto acontece quando o nmero de padres armazenados bastante pequeno. Ento, quando a rede inicializada com um padro com poucos bits diferentes de i ela relaxa para i. E exatamente por este fato que a rede de Hopfield chamada memria endereada pelo contedo. Cada padro armazenado i est associado a um estado estvel (um mnimo local) e chamado atrator. A rede quando inicializada dentro de um ponto da base de atrao influenciada por um atrator e tende a se estabilizar, dinamicamente, neste atrator.[fig 3.1].

i1 i3

i2

Figura 3.1 Configurao de um espao contendo trs atratores

3.4 Capacidade de Armazenamento


Na seo anterior, foi discutido que dado um padro prximo de i a rede estabilizar em i dependo do nmero p de padres. Nesta seo, ser apresentado qual a capacidade da rede na tentativa de se armazenar p padres. O valor da capacidade pmax da rede est ligado a aceitabilidade de erros durante a recuperao de informao. De acordo com [1], o erro, Perro, proporcional a probabilidade da capacidade ser maior que 1. A medida que tenta-se aumentar o nmero de padres armazenados, Perro aumenta, veja tabela 3.1.

22

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Perro 0,001 0,0036

pmax /N 0,105 0,138

0,01 0,185 0,05 0,37 0,1 0,61 Tabela 3.1 Capacidade da rede

A tabela mostra os valores de p/N para vrios valores de Perro admitidos. Por exemplo, se o critrio suporta que o erro seja, menor ou igual a 0.01 (ou 1%), o nmero mximo de padres armazenado, pmax , igual a 0.185N. Em um caso real, se aceitvel ainda de 1% uma rede de 50 neurnios armazenaria no mximo 9 padres. importante notar que este erro refere-se ao estado estvel inicial dos padres, ou seja, inicialmente, poucos bits estaro errados. Na prxima iterao estes bits podem alterar o valor dos demais bits corretos. E por fim, no pior caso, pode ocorrer um fenmeno avalanche e o padro poder no ser recuperado. Por outro lado se no aceitvel qualquer probabilidade de erro a capacidade da rede proporcional a N/log N.[1]

3.5 A energia funcional


A energia funcional, H, uma funo de configurao dos estados Si dos neurnios e dada por:

H = -1/2 wij Si Sj
ij

Equao 3.9 Energia funcional

com i diferente de j . Quando i igual a j no produz conseqncia no valor de H, pois Si2 =1 e portanto contribuem apenas com uma constante em H.

23

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

A principal propriedade desta energia que ela sempre decresce (ou permanece constante) medida que o sistema desenvolve segundo a equao 3.2. Os atratores (ou seja, os padres armazenados) so mnimos desta funo. Esta caracterstica da rede explorada por pesquisadores da rea de otimizao. A idia bsica transformar a energia funcional em uma funo objetivo. Para que exista uma energia funcional em um sistema as conexes devem, obrigatoriamente, ser simtricas, apesar de que esta afirmao no verdadeira nas redes neurais verdadeiras. fcil mostrar que a energia da rede decresce sempre que um bit Si invertido. Suponha que Si o novo valor de Si (Si = - Si ) e o valor da energia funcional de Si igual a H e a de Si igual a H e fazendo H- H tem-se:

H- H = - wijSiSj + wij SiSj


j i j i

H- H = wijSiSj + wij SiSj


j i j i

H- H = 2Si wijSj -2wii


j

Equao 3.10 Decrescimento da energia.

O somatrio do primeiro termo da equao sempre negativo, uma vez que Si=sgn( wijSj) e Si negativo. O segundo termo tambm ser negativo pela equao 3.7, onde, wii = p/N. Este ltimo termo omitido da equao, pois ele afeta a dinmica da rede e pode lev-la a estados esprios que no corresponde a nenhum dos padres armazenados [seo 3.6]. Vale ressaltar que o comportamento da energia funcional garantido ocorrer se, e somente se, dois neurnios, que so interconectados por um peso sinptico diferente de zero, tm seus estados atualizados concorrentemente [4].

24

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

3.6 Estados esprios


Alm dos estados estveis armazenados existem alguns outros estados, que tambm so mnimos, em que a rede se estabiliza. Dentre estes destacam-se: estados reversos, estados misturados e spin glass. Os estados reversos ocorrem por causa da simetria existente entre a dinmica da rede e a energia funcional. Estes estados i so mnimos e so recuperados (a rede se estabiliza nestes estados) quando o nmero de bits diferentes entre o padro de entrada e o padro armazenado igual a mais da metade dos bits. Veja o exemplo abaixo considerando = [1,-1,1,-1,1] o padro armazenado na memria. As setas indicam em qual padro a rede estabilizar. Padro de entrada [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]

Figura 2.2 Estados esprios

Quando apresentado o padro [1,1,1,-1,1] a rede estabiliza no padro recuperado pois a distncia de Hamming entre o padro de entrada e o padro armazenado igual a 2. Quando o padro de entrada possui uma distncia de Hamming igual a 4 ([-1,1,-1,1,1]) a resposta da rede um padro igual ao inverso do padro armazenado pela rede, ou seja igual a . Os estados misturados, imix, no so iguais a nenhum padro armazenado, eles correspondem a somatria linear de um nmero mpar de padres estveis. imix tem o mesmo sinal de i 1 da vezes em mdia. Portanto a distncia de Hamming de imix para os padres pertencentes a somatria ( i 1, i 2, i 3 , por exemplo) de N/4. A prova da

25

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

estabilidade deste estado feita do mesmo modo que na equao 3.6, substituindo o valor de i por imix para se descobrir o valor de hi. O sistema no escolhe um nmero de padres par, pois na somatria um termo pode anular o outro, assim o estado no ser estvel. Por ltimo, para um grande valor de p, existem mnimos locais que no so associados com qualquer nmero finito dos padres originais, estes estados so chamados de spin glass em analogia aos modelos spin glass do mecanismo estatstico. Uma forma de evitar estes estados executar a dinmica da rede at que um padro vlido seja recuperado [seo 4.2]. Outra forma estabelecer uma distncia de Hamming mnima segura entre o padro e os padres misturados. Se a distncia menor que o mnimo estabelecido os estados dos neurnios no so atualizados.

26

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

4. Algoritmos de Simulao e Implementao


Baseado nas caractersticas da Rede Hopfield apresentadas no Captulo 3 sero apresentados neste captulo dois algoritmos. O primeiro para uma implementao seqencial e o segundo para uma implementao paralela.

4.1 Algoritmos de simulao para Redes Hopfield


De acordo com as caractersticas da Rede Hopfield descritas nas sees anteriores, a energia que envolve a rede no pode aumentar depois de atualizaes sucessivas dos neurnios. A energia deve decrescer at que uma nova atualizao no lhe cause efeito, ou seja, ela permanea constante. No algoritmo proposto deve-se considerar a freqncia com que os estados dos neurnios so atualizados, ou seja, um neurnio deve ter a chance de atualizar seu estado com uma determinada freqncia, e a concorrncia desta atualizao, sendo que, a concorrncia de atualizao de dois neurnios requer que o peso sinptico entre eles seja diferente de zero. A cada iterao todos os neurnios tm a chance de atualizar seus estados (de acordo com a equao 3.4) em uma ordem pr-fixada at que os estados atualizados de todos os neurnios sejam iguais aos seus estados anteriores. Sendo v i0 um vetor que contm o estado inicial dos neurnios (v i0 igual ao padro de entrada, ou seja o padro a ser recuperado pela rede), v i um vetor que contm o estado atual dos neurnios e v i- um vetor que contm os estados anteriores do neurnio. No primeiro passo do algoritmo os estados atuais dos neurnios tero valores iguais v i0 , posteriormente cada neurnio ter seu estado atualizado at que tenham seus estados constantes (v i = v i-). A figura 4.1 descreve os passos do algoritmo.

27

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Algoritmo Seq_Hopfiel para i de 1 at n vi = vi0 fim_para repita para i = 1 at n vi- = vi vi = sgn( wij vj) fim_para j at vi = vi- para todo ni N fim Figura 4.1 Algoritmo Seqencial

Este algoritmo totalmente determinstico, porm isto talvez no seja de interesse para uma rede que funciona como memria associativa, onde dado um padro de entrada aproximadamente igual a vrios mnimos locais de energia a rede desenvolver para qualquer um dos mnimos da energia e no aquela mais prxima do padro de entrada. Uma forma de evitar que a produza este efeito cada neurnio ter uma probabilidade pr-definida para atualizar seu estado. Esta probabilidade dever ser a mesma para todos os neurnios, fazendo com que eles sejam atualizados com igual freqncia. Na verso paralela deste algoritmo deve-se considerar a concorrncia de atualizao dos neurnios. A convergncia da simulao ocorre quando nenhuma atualizao futura tem efeito sobre o estado atual do neurnio. O processador p0 participa como um detector desta convergncia. O algoritmo paralelo possui os procedimentos Inicializei, Updatei(MSGi),e Notifyi para cada processador pi. As mensagens trocadas entres os processadores so os estados dos neurnios que so utilizadas na atualizao.

28

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Algoritmo Dist_Hopfiel Inicialize i 1.vi = vi0 2.Envie vi para p0 3.Envie vi para todos os vizinhos pi de pj, com arestas saindo de pi para pj Updatei (MSGi ) 1.Seja vj MSGi o estado de nj para todo nj V(ni) 2.vi = step ( wij vj)
j

Notifyi 1.Envie vi para p0 2.Envie vi para todos nj tais que nj V(ni ) fim Figura 4.2 Algoritmo Dist_Hopfield

4.2 Implementao
O algoritmo seqencial [fig 4.1] foi implementado para melhor entendimento do modelo desenvolvido por Hopfield. Alm de aplicar de modo prtico a teoria desenvolvida at aqui atravs dos resultados obtidos pde-se observar e verificar as caractersticas que envolvem o dinamismo da rede. O primeiro passo da implementao consistiu em armazenar os padres na rede, ou seja, definir os pesos sinpticos, wij, segundo a regra de Hebb [eq 3.7]. Os padres so lidos de um arquivo de entrada passado como parmetro e os pesos sinpticos s so calculados se o nmero de padres a serem armazenados est de acordo com a capacidade da rede como visto na seo 3.4. A porcentagem de erro aceitvel foi de 0.36%, portanto a capacidade da rede proporcional a 0.138N. Depois dos padres armazenados a rede pode ser utilizada para recuperar padres. Para tanto, foi criada uma funo capaz de gerar padres de entrada aleatrios. Para facilitar os testes, esta funo possibilita o usurio escolher se o padro de entrada deve ser igual a

29

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

um dos padres armazenados (distncia de Hamming = 0 ou N), ou se ele deve ser gerado totalmente aleatrio. Como na figura 4.1, um lao permite que todos os neurnios pertencentes rede tenham seus estados atualizados at que, perante uma atualizao, nenhum neurnio tenha seu estado alterado. A cada atualizao, ou seja, todas as vezes que um neurnio tem seu estado atualizado a energia da rede calculada pela equao 3.9. A energia alcana seu valor mnimo quando a condio de parada do algoritmo satisfeita e os estados dos neurnios no sofrem mais alteraes. Os resultados obtidos nos testes mostraram que quando a rede armazena padres que possuem pequena distncia de Hamming uns dos outros a rede alcana um mnimo que no corresponde ao mnimo do padro mais perto em distncia de Hamming do padro de entrada. Por exemplo, em uma rede com 30 neurnios foram armazenados os seguintes padres: 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 } 2 = {-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 } 3 = {-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 } Se apresentado o padro
1

como entrada a rede recuperar o padro 2 . Isto

acontece porque o padro dado de entrada muito prximo de todos os padres armazenados na rede, portanto a rede alcana uma energia mnima porm diferente do mnimo desejado. Para tentar resolver este problema os neurnios no so mais atualizados seqencialmente, mas como sugerido na seo 4.1, os neurnios tm seus estados atualizados em uma seqncia aleatria. Como resultado, o problema descrito acima foi eliminado. Porm a rede muitas vezes estabiliza em estados esprios. Este fato acontece, na maioria das vezes, quando o padro de entrada prximo em distncia de Hamming de todos os padres armazenados. O resultado da execuo do algoritmo descrito abaixo exemplifica esta situao.

Padres armazenados entrada30.txt 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} 2 = {-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}

30

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

3 = {-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} O numero de bits diferentes do padrao de entrada e de 1 e 16 O numero de bits diferentes do padrao de entrada e de 2 e 15 O numero de bits diferentes do padrao de entrada e de 3 e 13 Estado Esprio encontrado depois de 500 atualizaes ***************** Padrao Recuperado *****************

Para a entrada:

-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

O padrao recuperado e:-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 A energia da rede e: -22.099918

Como pode-se perceber o padro que deveria ter sido recuperado o 3, portanto, o padro recuperado no corresponde a nenhuma dos padres armazenados. Ele um estado esprio que tambm faz parte do conjunto de mnimos da funo de energia. Para tentar evitar a recuperao de estados esprios foi permitido ao algoritmo que executasse um nmero x de iteraes. A cada iterao a sada da rede dada como entrada para que os estados sejam novamente atualizados tentando-se assim fugir destes estados que provocam uma certa instabilidade na rede. Bons resultados foram alcanados. Em muitos dos casos, depois de um determinado nmero de iteraes a rede conseguia alcanar uma novo estado estvel, retornando um dos padres armazenados na rede. Por muitas vezes este retorno exatamente o padro que possui a menor distncia do padro de entrada. Uma outra anlise pode ser feita em cima dos estados reversos. Estes estados so simtricos aos padres armazenados, portanto quando a rede inicializada com mais da metade de bits diferentes de um determinado padro ela estabiliza em seu estado reverso. Por exemplo, considere os seguintes padres armazenados: 1 = {-1 -1 -1 1 1 1 1 1 1 -1} ={-1 -1 -1 -1 -1 -1 -1 1 1 -1}
2

31

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Dado um padro de entrada igual a {1 1 1 1 1 1 1 1 1 -1}, a distncia de Hamming do padro de entrada para o padro 1 maior do que a distncia do padro de entrada do estado reverso do padro 2 , portanto o padro recuperado ser o - 2 . Como o padro - 2 simtrico ao 2 esta recuperao no considerada um erro, mas um particularidade da Rede Hopfield devido a simetria de suas conexes.

32

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

5. Redes Estocsticas
Quando uma unidade da rede (um neurnio) considerada uma unidade estocstica e adicionado a idia de temperatura, a Rede Hopfield anloga a um modelo simples de material magntico em fsica estatstica. Uma descrio simples do material magntico consiste de um conjunto de spins, chamados de magnetos atmicos, distribudos em uma latncia regular. O spin pode apontar para vrias direes, sendo que, o nmero de direes possveis depende do tipo atmico considerado. Em um caso mais simples possui duas direes. Estas direes so representadas pela varivel Si, onde cada estado i pode assumir o valor igual a 1, se o spin est apontado para cima e 1 se apontado para baixo. Neste captulo, sero discutidas as particularidades deste material magntico chamado de Modelo Ising e comparado com o modelo estudado at agora. Novos conceitos sero inseridos e estes serviro de base no entendimento da Mquina de Boltzmann.

5.1 Mecanismos estatsticos de sistemas magnticos


Em um material magntico um spin influenciado por uma campo magntico que consiste de um campo externo, hext, aplicado pela experincia e um campo interno produzido por um outro spin. A influncia de um spin em um campo interno proporcional a sua localizao em relao a outro spin, ou seja, o estado de um spin depende do estado de todos os outros vizinhos, como acontece na Rede Hopfield. Todavia, podemos utilizar a equao 3.2 para descrever o estado do spin, onde wij a influncia de um spin Sj sobre um spin Si e hi o estado (chamado de campo magntico) de Si sob a influncia do campo interno (dos outros spins) mais do campo externo.

hi = wij Sj + hext
j

Equao 5.1 Estado de spin

33

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

O campo magntico hi no spin Si corresponde ao estado estvel de Si, como na Rede Hopfield. A estabilidade de um campo acontece quando os spins alinham-se ao campo magntico hi que age sobre eles, ou seja, Si = sgn(hi ). Isto normalmente acontece quando a temperatura que influencia o sistema baixa. Por fim, a energia funcional descrita na equao 3.9 tambm pode ser utilizada para especificar a interao.

5.2 A temperatura
Na seo anterior, foi destacado que a estabilidade alcanada a baixas temperaturas. Porm o sistema influenciado por flutuaes trmicas e quando est sob temperaturas altas, os spins alternam seu estado, corrompendo, assim, o seu alinhamento. Se a temperatura for suficientemente alta as oscilaes dominam e os spins se opem aos seus campos. Devido esta propriedade, a dinmica determinstica da equao 3.3 substituda pela dinmica de Glauber:

Si =

1 com a probabilidade g(hi); -1 com a probabilidade 1-g(hi);

Equao 5.3- Dinmica de Glauber

Onde a funo sigmide g(h) :

g (h) = f (h) =

1 1+ exp( - 2 h)

Seja a temperatura absoluta T e k B a constante de Boltzmann igual a 1.38 x 1016 erg/K. O valor de :
1

= k T

34

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

A regra dinmica de uma rede pode ser escrita em sua forma simtrica como:

Prob(S i = + - hi) = - 1) = f ( +

1 - 2 h) 1+ exp( +

Equao 5.4 Dinmica de Glauber

Desta equao pode-se perceber que a altas temperaturas (valor pequeno) f (hi) passa de 0 para 1 quase em linha reta, ou seja, a subida do sigmide de 0 para 1 muito pequena. A baixa temperatura a subida do sigmide de 0 para 1 repentina, ou seja, sua distncia do eixo h pequena e proporcional a k T. Contudo, no limite T tendendo para 0 e tendendo para infinito, f (hi) se reduz a uma funo determinstica, Si = sgn(hi). Caso contrrio, o valor de Si completamente randmico. Para aplicar esta regra, considere um spin nico influenciado pelo campo externo e para descobrir a probabilidade (mdia de magnetizao) do seu estado <S> utilizada a equao 5.4. Note que o estado de um spin igual a probabilidade de seu estado ser igual a 1 ou 1, pois, devido as flutuaes trmicas, o estado no mais determinstico. O valo de <S> igual a tangente hiperblica de h (tanh (h)), que tem o mesmo tipo de f (hi). Portanto, entre os valores do intervalo ]+1,1[ (k T > 0 ), o spin pode assumir o valor 1 ou 1 (ou seja, o estado do spin inconstante). Considerando um conjunto de spins e lembrando que para o valor de um spin hi (a evoluo de Si) depende da evoluo dos outros spins (as evolues dos Sjs). Para calcular o valor de hi aplica-se a teoria do campo mdio, que consiste em substituir a flutuao verdadeira de hi por um valor mdio. A equao 5.5 descreve o valor mdio do estado de um spin:

<Si> = tanh (<hi>) = tanh ( wij <Sj> + hext )


j

Equao 5.5 Teoria do campo mdio

35

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

O modelo de um sistema magntico pode ser exemplificado pelas propriedades do ferromagntico, onde todos os wijs so positivos fazendo com que os spins alinhem para cima uns com os outros, enquanto flutuaes trmicas, que ocorrem quando a temperatura est maior do que uma temperatura crtica Tc, tendem a corromper este alinhamento fazendo <S> = 0. temperatura igual a zero, portanto, os valores de <Si> so iguais (o sistema est em equilbrio), correspondendo diretamente a um padro armazenado em Hopfield ( i = 1 para todo i ). Para vrios padres armazenados, cada padro corresponde magnetizao estvel local.

5.3 A Rede Hopfield como uma rede estocstica


Como o modelo descrito na seo anterior anlogo a Rede de Hopfield, pode-se, considerar uma Rede Hopfield como uma rede estocstica, utilizando a idia de temperatura e fazendo com que cada unidade da rede corresponda a uma unidade estocstica (com seu comportamento correspondente ao do spin [eq 3.5] e a escolha da unidade a ser atualizada feita randomicamente). Nas redes neurais biolgicas, os neurnios ativam com pesos diferentes e ocorrem flutuaes na liberao dos neurotransmissores atrasando a sinapse. Este fenmeno equivalente as flutuaes trmicas. A varivel (que a partir de agora igual a 1/T ) nas redes estocsticas controla estas flutuaes que tambm so conhecidas como rudo alm de no permitir que a equao 3.1 seja violada. A utilizao deste tipo de rede justificada, pois elas conseguem eliminar os estados esprios que impedem que um padro seja recuperado com sucesso. Uma exigncia das redes estocstica que exista um valor mnimo de energia da rede. Todavia, isto j foi mostrado na seo anterior atravs do comportamento da energia funcional que sempre chega em um mnimo, se a rede tiver conexes simtricas. Logo, agora no se tem mais uma configurao do estados de todas as unidades i estveis da rede, mas sim uma mdia dos estados em equilbrio.

36

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

Para um nmero p<<N, temos uma equivalncia direta com a equao 5.5. Por hiptese, pela similaridade com o ferromagntico, pode-se analisar a mdia dos estados das unidades estocsticas, produzindo:

mi = tanh (/N wij i j mj )


j,

Equao 5.6 Mdia dos estado Si Considerando m i o estado de <Si> em T = 0 (m = 1), esta equao pode ser analisada separando os termos onde = e como em foi feito na equao 3.8. Se o nmero de padres pequeno, o crosstalk pode ser eliminado e temos que m = tanh (m) garantindo que os estados de memria sero estveis a temperaturas menores que 1, ou seja, Tc = 1 para p<<N.

37

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

6. Concluso
Neste trabalho pode-se perceber o funcionamento da Rede Hopfield como uma memria associativa, pois, devido a seu dinamismo, a rede sempre alcana um valor mnimo da funo de energia, que representa um padro armazenado. Como mostrado ao longo da monografia, a Rede de Hopfield tolerante a falhas, ou seja, dado um padro de entrada parecido com o padro armazenado, ela consegue recuperar este padro armazenado. Pode-se dizer que a rede artificial estudada possui caractersticas do crebro, pois o crebro tambm funciona como uma memria endereada pelo contedo. O que se deve destacar em relao ao seu funcionamento a quantidade de estados esprios recuperados pela rede no lugar de um padro armazenado. Baseando-se nas caractersticas da rede estes no so estados errados, o que acontece que a rede no desenvolve em direo do padro desejado. Estes estados tambm fazem parte do conjunto de mnimos da funo de energia da rede, portanto este fato deve ser considerado e contabilizado perante a aplicao para que a rede ser projetada. Os estudo das redes neurais prosseguir at o entendimento minucioso da Mquina de Boltzmann que possui caractersticas das Redes de Hopfield associadas com as caractersticas dos mecanismos estatsticos apresentadas no captulo 5. Alm do estudo das redes neurais ser feito em paralelo um estudo do algoritmo distribudo apresentado e qual seriam as modificaes deste algoritmo para que os neurnios tenham um hierarquia em suas conexes contando com as caractersticas da Mquina de Boltzmann.

38

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

7. Bibliografia
[1] Hertz J.,Krogh A. e Palmer R. G. Introduction to the Theory of Neural Computation. Addison Wesley Plublishing Company, 1991. [2] Jain A. K. e Mao J. Artificial Neural Networks : A tutorial. Computer, volume 29 nmero 3, Mar 1966. [3] Langkjer A. S. e Marins E. R. Estudo de Redes Neurais na Implementao de Memrias Associativas. Departamento de Informtica, UERJ. [4] Babosa V. C. Massively Parallel Models of Computation: Distributed Parallel Processing in Artificial Intelligence and Optimization. Ellis Horwood Limited, West Sussex, Inglaterra 1993. [5] Wedmann, R.S. et al. Memory Functioning in Psychopathology. IME, Universidade do Estado do Rio de Janeiro. [6] Vilela A. L. M. Anatomia e Fisiologia Humana Coordenao e Regulao . Disponvel em: <http :/ /www.afh.bio.br/basicos/Nervoso1.htm>, Junho de 2004. [7] Ludeig A. e Canpolim S.Esquecer to bom quanto lembrar. Revista poca/Nacional, 25 de janeiro de 1999. [8] Menezes C. C. Redes Neurais. Instituto de Informtica, Universidade do rio Grande do Sul, outubro de 2001.

39

Redes Neurais Artificiais: Modelo Hopfield e Redes Estocsticas

8. Apndice
O cdigo desenvolvido durante o estudo foi escrito na linguagem C e apresentado no ANEXO I. Os arquivos de testes possuem a seguinte forma: a primeira linha contm o nmero de neurnios da rede, a segunda o nmero de padres a serem armazenados e por fim os padres a serem armazenados. Um script de algumas execues (de uma rede com 30 neurnios) apresentado no ANEXO II. Analisando os resultados pode-se entender melhor o dinamismo da rede discutido ao longo desta monografia. Apesar de nem sempre a rede responder com o padro esperado ela sempre alcana um mnimo da funo de energia.

40