Download - 1926024727_reconhecimento-de-caracter2.pdf
-
Redes Neurais Artificiais
Thomas Walter RauberDepartamento de Informtica
Universidade Federal do Esprito SantoAv. F. Ferrari, 29065-900 Vitria - ES, BRASIL
Tel.: (+55)(27) 3352654 Fax: (+55)(27) 3352850E-mail: [email protected] WWW-homepage: http://www.inf.ufes.br/~thomas
Resumo: Este documento apresenta uma introduo para a rea de redes neuraisartificiais (RNA). Em primeiro lugar motiva-se o paradigma da neurocomputao pelascapacidades cognitivas de redes neurais biolgicas, inspirado pelo conhecimento daneurocincia. Os fundamentos das RNA so o modelo de um neurnio, a topologia darede e os paradigmas de aprendizagem. O modelo de McCulloch e Pitts serve comomodelo bsico de um neurnio artificial. Propagao para frente e redes comrealimentao constituem as principais topologias de redes. Paradigmas deaprendizagem apresentados so a aprendizagem supervisionada e aprendizagem no-supervisionada. Em relao s regras para a adaptao dos pesos distingue-se entre aregra de Hebb, a regra de delta e a aprendizagem competitiva.
A classe de redes de propagao para frente representada pelo perceptron, oADALINE e o perceptron com uma camada escondida. Nas regras de aprendizagem doADALINE apresentam-se duas tcnicas principais para adaptar os pesos, a soluodeterminstica linear pela pseudoinversa e a descida de gradiente. O algoritmo deretropropagao do erro a ferramenta fundamental para treinar o perceptron multi-camada.
Redes com realimentao que apresentam um comportamento dinmico sorepresentadas pelo modelo de Hopfield. Motiva-se a topologia e funcionalidade da redee analisa-se a estabilidade dos pesos. A introduo de uma funo de energia porHopfield junto com pesos simtricos garante a estabilidade da rede. Um exemplo deaplicao desse tipo de rede o armazenamento e recuperao de imagens binrias.
Redes competitivas concluem a apresentao. Dentro de uma camada competitivaexiste um vencedor que mostra a maior coincidncia com o sinal de entrada. O mapa depreservao topolgica de Kohonen adicionalmente ao uso da aprendizagemcompetitiva impe uma ordem topolgica sobre os neurnios individuais.
-
NDICE
I INTRODUOI.1 A Inspirao da NeurocinciaI.2 Histria da NeurocomputaoI.3 Referncias para Aprofundamento na Matria de Redes Neurais
II FUNDAMENTOS
II.1 Modelo de Neurnio ArtificialII.2 Topologia de Redes de Neurnios ArtificiaisII.3 Paradigmas de Aprendizagem
II.3.1 Aprendizagem supervisionadaII.3.2 Aprendizagem no-supervisionada
II.4 Regras de Adaptao dos PesosII.4.1 Aprendizagem pela Regra de HebbII.4.2 Aprendizagem pela Regra de DeltaII.4.3 Aprendizagem Competitiva
II.5 Taxinomia de Redes
III REDES DE PROPAGAO PARA FRENTEIII.1 PerceptronIII.2 ADALINE
III.2.1 O erro quadrtico mnimoIII.2.2 Soluo determinsticaIII.2.3 Soluo iterativa: Descida de Gradiente
III.3 Perceptron Multi-Camada e Retropropagao de ErroIII.3.1 ArquiteturaIII.3.2 Adaptao dos pesos
IV REDES COM REALIMENTAOIV.1 Modelo de HopfieldIV.2 Associatividade de Padres na Rede de HopfieldIV.3 Estabilidade e Aprendizagem de PesosIV.4 Relaxao, Minimizao de EnergiaIV.5 Aplicao: Recuperao de Imagens
V REDES COMPETITIVAS
V.1 Determinao do VencedorV.2 Adaptao dos PesosV.3 O Mapa de Preservao Topolgica de Kohonen
VI CONCLUSES
BIBLIOGRAFIA
-
I. INTRODUOUma das reas de pesquisa mais fascinante presentemente a simulao de capacidadescognitivas de um ser humano. Projetam-se mquinas capazes de exibir um comportamentointeligente, como se fossem reaes humanas. A inteligncia do ser humano a mais avanadadentro do universo das criaturas e o local dessa inteligncia dentro do corpo humano ocrebro. As entidades bsicas so os neurnios, interconectados em redes o que permite a trocade informao entre eles, criando a inteligncia biolgica. Uma ambio bvia que surgedesses fatos a tentativa de copiar a estrutura e o funcionamento do crebro em um ambientetcnico. Isso significa que a pesquisa tenta entender o funcionamento da inteligncia residentenos neurnios e mape-la para uma estrutura artificial, por exemplo uma combinao dehardware e software, assim transformando as redes neurais biolgicas em redes neuraisartificiais.Foram definidas uma quantidade extensa de modelos de redes neurais artificiais e os mtodosassociados para adapt-los s tarefas a serem resolvidas. Um aviso prvio o fato que osmodelos artificiais tm pouco em comum com as redes neurais reais. Por outro lado existemparalelos entre os dois mundos que prometem que as redes neurais artificiais sejam umaaproximao apropriada para resolver problemas cognitivos complexos.Neste material tenta-se dar uma breve introduo ao campo de computao neural. Asrestries de espao permitem unicamente a apresentao de alguns dos modelos e algoritmosde redes neurais artificiais. Tenta-se dar uma idia bsica sobre as capacidades e limitaesdesse rea de pesquisa e engenharia. Para o leitor interessado do-se referncias para oaprofundamento da matria.
I.1 A Inspirao da NeurocinciaQuais so as qualidades do crebro humano que o capacitam de um comportamentointeligente? Os seguintes tpicos refletem as mais importantes caractersticas que soespecialmente atrativas para serem simuladas em uma rede neural artificial:
Robustez e tolerncia a falhas: A eliminao de alguns neurnios no afeta afuncionalidade global.
Capacidade de aprendizagem: O crebro capaz de aprender novas tarefas que nuncaforam executadas antes.
Processamento de informao incerta: Mesmo que a informao fornecida estejaincompleta, afetada por rudo ou parcialmente contraditria, ainda um raciocniocorreto possvel.
Paralelismo: Um imenso nmero de neurnios est ativo ao mesmo tempo. No existe arestrio de um processador que obrigatoriamente trabalhe uma instruo aps aoutra.
O processamento local de informao no crebro efetua-se em cerca de unidades (osneurnios) que tm uma estrutura relativamente simples. Na Figura 1 apresenta-se o modelosimplificado de um nico neurnio real. O neurnio uma clula com ncleo e corpo (soma)onde reaes qumicas e eltricas representam o processamento de informao. A sada dainformao do soma realizada por impulsos eltricos que se propagam atravs do axnio. Nofinal do axnio existem inmeras ramificaes que distribuem a informao para outrosneurnios vizinhos. A ligao com outros neurnios realizada atravs de sinapses que estoconectadas a um dendrite do neurnio receptor. A sinapse dispara uma substncia qumica
1011
-
quando for excitada pelo impulso do axnio. A substncia se transmite entre sinapse e dendriterealizando a conexo entre dois neurnios vizinhos. Conforme as excitaes (ou inibies) queclulas vizinhas transmitem para a clula em considerao ela processa a informaonovamente e a transmite via seu axnio.
Figura 1 - Neurnio biolgico
I.2 Histria da NeurocomputaoUm ponto marcante na histria das redes neurais artificiais foi a apresentao de um modelo deum neurnio artificial por [McCulloch and Pitts, 1943]. As atividades nessa linha de pesquisaculminaram na concepo do perceptron por [Rosenblatt, 1958] e em um modelo parecido, oadaline por [Widrow and Hoff, 1960]. O perceptron capaz de classificar entre classes que solinearmente separveis. Foi usado para reconhecer por exemplo caracteres. Essa aplicao foirealizada em uma mquina chamada MARK I PERCEPTRON e causou uma grande euforiacertamente exagerada em relao a imaginao das capacidades de futuros robs inteligentes.A caracterstica importante do perceptron foi a apresentao de um algoritmo de aprendizagemcapaz de adaptar os pesos internos do neurnio de maneira que seja capaz de resolver oproblema de classificao linear, em caso da separabilidade linear das classes.O caso exemplar das limitaes do perceptron o problema Ou exclusivo (XOR)( , ) que prova que uma funo to simples declassificao no pode ser calculada pelo perceptron. Essa crtica centrou-se no livroPerceptrons de [Minsky and Papert, 1969]. O impacto dessa crtica foi to grande que acomunidade cientfica abandonou a rea das redes neurais artificiais, com a exceo de algunspesquisadores por exemplo Fukushima, Grossberg, Hopfield e Kohonen.A soluo para o problema XOR j era conhecida. Bastava acrescentar mais uma camada deneurnios na rede (uma camada escondida). O que faltava era um algoritmo que fosse capaz detreinar os pesos dessa rede multi-camada para que pudesse classificar corretamente problemasmais complexos. Vrias solues equivalentes foram descobertas durante os anos seguintes,ms s a publicao do algoritmo de retropropagao de erro (error backpropagation) por[Rumelhart et al., 1986] popularizou uma soluo de carcter universal para esse tipo deproblema. A partir desse momento, surgiram os modelos que foram desenvolvidos durante osanos tranquilos da pesquisa e inmeros outros modelos de redes neurais artificiais junto comalgoritmos de aprendizagem foram apresentados. Espera-se para o futuro que o paradigma daneurocomputao prove ser uma ferramenta potente para resolver problemas complexos.
soma
ncleo
dendrites
sinapse
axnio
f 0 0,( ) f 1 1,( ) 0= = f 0 1,( ) f 1 0,( ) 1= =
-
I.3 Referncias para Aprofundamento na Matria de Redes NeuraisAlm de uma idia superficial, este texto no pode transmitir muita informao sobre essetema altamente interessante e desafiador. O leitor interessado deve ser dirigido para umaescolha boa de livros de texto e recursos eletrnicos. Leitores com acesso a Internet deveriamler as Questes mais perguntadas (FAQ Frequently Asked Questions) do grupo dediscusses USENET com o endereo news:comp.ai.neural-nets. Nessas questes do-serecomendaes de livros e artigos para uma maior especializao. Recomenda-se [Hinton,1992] como artigo de introduo mais popular na rea. Livros para iniciantes, parcialmentejunto com cdigo, incluem [Masters, 1994], [Fausett, 1994] e [Anderson, 1995], de nvelintermedirio e avanado [Bishop, 1995], [Hertz et al., 1991], [Haykin, 1994] e [Ripley, 1996].Alm das recomendaes de livros encontram-se explicaes bsicas relacionadas aos tpicosde redes neurais artificiais (RNA), por exemplo respostas s perguntas: O que uma redeneural?, O que se pode fazer com redes neurais artificiais e o que no?, Quais so asaplicaes possveis?, entre outras.A maioria das implementaes de RNA feita em software. Existem uma srie de simuladorespublicamente disponveis, com cdigo fonte e manual. Um simulador especialmente potentepara o sistema operacional UNIX, que cobre a maioria das arquiteturas e algoritmos deaprendizagem o Stuttgart Neural Network Simulator (SNNS). O programa estimplementado em C e possui uma interface grfica extensa. O endereo na internet dessesoftware ftp://ftp.informatik.uni-stuttgart.de/pub/SNNS.
II. FUNDAMENTOSUma rede neural artificial (RNA) tem duas facetas elementares: a arquitetura e o algoritmo deaprendizagem. Essa diviso surge naturalmente pelo paradigma como a rede treinada. Aocontrrio de um computador com arquitetura de von Neumann que programado, a rede treinada por exemplos de treino. O conhecimento sobre o problema em considerao estguardado dentro dos exemplos que tm que estar obrigatoriamente disponveis. O algoritmo deaprendizagem generaliza esses dados e memoriza o conhecimento dentro dos parmetrosadaptveis da rede, os pesos. Assim o construtor de um sistema baseado em RNA tem doisgraus de liberdade, a definio sobre o tipo de rede para resolver o problema em consideraoe o algoritmo para treinar a rede, i.e. para adaptar os pesos da rede.A composio da rede feita pelos neurnios. Normalmente o tipo de processamento de umnico neurnio a combinao linear das entradas com os pesos seguida pela passagem dacombinao linear por uma funo de ativao.A natureza do problema a ser resolvido normalmente define restries em relao aos tipos deredes e algoritmos de aprendizagem possveis. Neste texto distinguem-se redes compropagao do fluxo de informao para frente, redes recorrentes (com realimentao dassadas para as entradas) e redes competitivas. Em relao aos algoritmos de adaptao, vamosdistinguir entre aprendizagem supervisionada e aprendizagem no-supervisionada.
II.1 Modelo de Neurnio ArtificialEm primeiro lugar, vamos introduzir o modelo simplificado de um neurnio e as capacidadesde processamento associadas. Na Figura 2 mostra-se o modelo de um neurnio artificial de[McCulloch and Pitts, 1943]. Este modelo tenta simular as realidades biolgicas que ocorremdentro de uma clula do sistema nervoso, compare Figura 1. A informao fornecida por
-
outros neurnios entra em entradas (=sinapses) no neurnio processador. Oprocessamento consiste de uma combinao linear das entradas
. A cada entrada est associada um
peso que reflete a importncia da entrada . O resultado dessa combinao linear o valor. Se esse valor ultrapassar um limiar , o neurnio dispara o valor 1 na sada binria ,
se no ultrapassar o limiar a sada fica passiva em . A comparao de com o limiar realizada pela funo de Heaveside (funo de escada) se e
caso contrrio.
(1)
Figura 2 - Modelo de um neurnio de McCulloch e Pitts
A funo de ativao no caso do modelo de [McCulloch and Pitts, 1943] no a nica maneirade produzir o valor de sada do neurnio. Figura 3 mostra diferentes tipos de funes deativao. A funo linear produz uma sada linear contnua, a funo de escada, uma sadabinria (no-linear discreta) e a funo sigmoidal, uma sada no-linear contnua.
Figura 3 - Funes de Ativao
A definio da funo sigmoidal
Funo sigmoidal: (2)
e tem um conjunto de propriedades que se mostraro muito teis nos clculos relacionados aprendizagem dos pesos e ao mapeamento realizado pela rede:
D x j
net w1x1 w2x2 wDxD+ + + w jx jj 1=D wT x= ==
w j x jnet y
y 0= net x( ) 1= x 0 x( ) 0=
y w jx jj 1=D ( )=
COMBINAOLINEAR
FUNO DEATIVAO
SADA
x1
xD
x2
w1
wD
w2
LIMIAR
PESOS
ENTRADASy
NEURNIO ARTIFICIAL
net
net
y net( )
net
y net( )
net
y net( )
LINEAR ESCADA SIGMOIDAL
g z( ) 11 e z+----------------=
-
No linear Contnua e diferenivel em todo o domnio de Derivada tem forma simples e expressa pela prpria funo: Estritamente montona:
Em termos do domnio dos valores calculados distingue-se basicamente entre sadasbinrias com ou e sadas contnuas com .
Eventualmente o neurnio possui uma memria local, i.e. o estado de ativao anterior tomado em considerao no clculo da ativao atual. Esse tipo de processamento dinmicoest fora do mbito desse texto.
II.2 Topologia de Redes de Neurnios ArtificiaisAcabamos de definir uma entidade de processamento relativamente simples que calcula umafuno de sada a partir das entradas e dos pesos , com uma funo de ativaopredefinida. O potencial e flexibilidade do clculo baseado em redes neurais vm da criao deconjuntos de neurnios que esto interligados entre si. Esse paralelismo de elementos comprocessamento local cria a inteligncia global da rede. Um elemento da rede recebe umestimulo nas suas entradas, processa esse sinal e emite um novo sinal de sada para fora quepor sua vez recebido pelos outros elementos.
Figura 4 - Topologias principais de redes neurais artificiais
Uma categorizao fundamental da topologia dos neurnios pode ser feita em relao aomtodo de propagao da informao recebida, veja Figura 4. Pode-se distinguir entre redes depropagao para frente (feedforward) e redes realimentadas (recurrent). No caso das redes depropagao para frente o fluxo de informao unidirecional. Neurnios que recebem ainformao simultaneamente agrupam-se em camadas. Camadas que no esto ligadas sentradas e nem s sadas da rede chamam-se camadas escondidas. Exemplos para esse tipo derede so o perceptron [Rosenblatt, 1958], o perceptron multi-camada [Rumelhart et al., 1986] e
Rg' z( ) g z( ) 1 g z( )( )=
z1 z2 g z1( ) g z2( )
yiyi 0 1,{ } yi 1 1,{ } yi R
y x j w j
ENTRADAS
SADAS
CAMADASESCONDIDAS
Propagao para Frente Realimentao
-
o ADALINE [Widrow and Hoff, 1960]. Uma rede que adicionalmente tem uma relaotopolgica de vizinhana entre os neurnios o mapa auto-organizvel de Kohonen [Kohonen,1972], [Kohonen, 1990].Redes realimentadas tm ligaes entre os neurnios sem restries. Ao contrrio das redessem realimentao, o comportamento dinmico desempenha o papel fundamental nessemodelo. Em alguns casos os valores de ativao da rede passam por um processo de relaxaoat chegarem a um estado estvel. O modelo que se apresentar como representante a redeauto-associativa de [Hopfield, 1982].
II.3 Paradigmas de AprendizagemUma vez definida a rede neural, essa tem que ser treinada. Isso significa que os graus deliberdade que a rede dispe, para solucionar a tarefa em considerao, tm que ser adaptadosde uma maneira tima. Normalmente, isso significa que temos que modificar os pesosentre o neurnio e o neurnio , segundo um algoritmo. Um conjunto finito de exemplosde treino est nossa disposio para adaptar os pesos durante a fase de treinamento da rede.Uma distino principal em relao ao paradigma de aprendizagem que vlido para todo tipode sistemas com capacidade de adaptao aprendizagem supervisionada e aprendizagemno-supervisionada.
II.3.1 Aprendizagem supervisionadaNa aprendizagem supervisionada cada exemplo de treino est acompanhado por um valor que o valor desejado. Isso significa que o conjunto de treino est composto por pares deexemplos onde . A dimenso do vetor de entrada , i.e. as
variveis de entrada esto agrupadas em um valor multidimensional (vetor de coluna),normalmente do domnio dos nmeros reais: , . (Atransposio usada para economizar espao escrevendo um vetor em uma linha). Asvariveis de sada esto agrupadas em um vetor de sada .
Figura 5 - Regresso linear
Um exemplo de uma tarefa de aprendizagem supervisionada a regresso linear. Usamos ocaso unidimensional para facilitar a ilustrao, veja Figura 5. Nesse problema o conjunto detreino consiste em pares de nmeros reais . O objetivo da aprendizagem adeterminao de coeficientes e da reta . O algoritmo de aprendizagem
wiji j T n
T n
xp yp,( ) T xp yp,( ){ }p 1=n
= D
x x1 x j xD, , , ,( )T= x j R.( )T
y y1 yi yc, , , ,( )T=
x
y
**
*
**
**
x1 y1,( )
xn yn,( )
y w0 w1x+=
xp yp,( )w0 w1 y w0 w1x+=
-
tenta minimizar a discrepncia entre o valor desejado e o valor que a resposta do sistema, e isso em mdia para cada exemplo .
II.3.2 Aprendizagem no-supervisionadaQuando a nica informao disponvel so os valores a tarefa de aprendizagem
descobrir correlaes entre os exemplos de treino . O nmero de categorias
ou classes no est definido a priori. Isso significa que a rede tem que achar atributosestatsticos relevantes, ela tem que desenvolver uma representao prpria dos estmulos queentram na rede. Um sinnimo para aprendizagem no-supervisionada aglomerao(clustering).Um exemplo da rea de medicina a deteco de doenas a partir de imagens, por exemploimagens de raio-X. Existem vrias regies dentro da imagem que se deixam atribuir ao mesmomaterial, por exemplo osso. O nmero dos materiais (das aglomeraes) no conhecido apriori. O objetivo do sistema descobrir o nmero dos materiais diferentes e ao mesmo tempocategorizar cada ponto da imagem para o respectivo material. A entrada para a rede seriam ospontos da imagem, por exemplo uma pequena janela de 5 por 5 pontos. A resposta ideal darede seria o material a qual pertence essa regio da imagem.
II.4 Regras de Adaptao dos PesosDurante o processo de aprendizagem os pesos normalmente percorrem uma modificaoiterativa. O peso entre neurnio e neurnio seja , veja Figura 6. Na iterao o peso
influencia a funo calculada pela rede. O algoritmo de aprendizagem julga a qualidadedo peso e eventualmente determina se o peso deve sofrer uma modificao no seu valor de umadiferena na prxima iterao . Assim, se define a regra bsica de adaptao dospesos:
Adaptao de peso: (3)Costuma-se inicializar os pesos aleatoriamente. O algoritmo de aprendizagem percorre umnmero fixo de iterao e/ou at que uma condio de parada seja atingida, por exemplo numaaprendizagem supervisionada a discrepncia entre o valor calculado e o valor desejadodesaparece para todos os exemplos de treino.
Figura 6 - Pesos entre neurnios, caso geral com realimentao
II.4.1 Aprendizagem pela Regra de HebbUm dos trabalhos pioneiros nos estudos de sistemas capazes de aprender foi feito por [Hebb,1949]. Ele criou uma hiptese de que o peso de ligao entre dois neurnios que esto ativos
ypy' w0 w1xp+= xp yp,( )
xp( )
T xp( ){ }p 1=n
=
i j wij lwij
l( )
wijl( ) l 1+
wijl 1+( )
wijl( ) wij
l( )+=
w jjwiiwij
w ji
Neurnio i Neurnio j
-
aos mesmo tempo deve ser reforado. Para o nosso modelo essa lei traduz-se para aRegra de aprendizagem de Hebb: (4)
onde a taxa de aprendizagem um fator de escala positivo que determina a velocidade daaprendizagem. A definio dessa regra baseia-se em estudos biolgicos do crebro, mas comoj foi constatado, a correspondncia do modelo matemtico com a realidade biolgica somente uma idealizao aproximada. A regra de Hebb define um algoritmo de adaptao dospesos, porm sem a definio de um objetivo a atingir, por exemplo, minimizar um erro entreum valor desejado e calculado. No estudo da rede de Hopfield voltaremos regra de Hebb evamos provar que tem utilidade prtica.
II.4.2 Aprendizagem pela Regra de DeltaUma regra de adaptao dos pesos com um objetivo bem visvel a regra de delta ou regra deWidrow-Hoff [Widrow and Hoff, 1960]. A rede calcula na sada (no neurnio ) uma funo
. Na aprendizagem supervisionada conhece-se o valor desejado que a rede deve calcular.Assim pode-se calcular o erro entre o calculado e o desejado. O peso entre oneurnio e o neurnio que responsvel por esse erro ento deve ser modificadoproporcional ativao e ao erro, outra vez escalado por uma taxa de aprendizagem :
Regra de Delta: (5)Neste caso, o objetivo do algoritmo de aprendizagem est bem claro, nomeadamenteminimizar o erro entre os valores calculados pela rede e desejados pelos exemplos fornecidosnum problema de aprendizagem supervisionada.
II.4.3 Aprendizagem CompetitivaConsideram-se as redes de neurnios onde um nico neurnio pode ser ativo ao mesmo tempo.Isso significa que todos os outros neurnios tm uma ativao igual a zero para e
somente o vencedor emite um sinal de ativao .
Aprendizagem Competitiva: (6)O efeito dessa regra que os pesos se deslocam em direo do estmulo (entrada) da rede .Vamos considerar a rede de Kohonen como exemplo de uma rede neural artificial que usaaprendizagem competitiva para adaptar os pesos.
II.5 Taxinomia de RedesResumindo o paradigma de aprendizagem e as regras de adaptao dos pesos pode-se criaruma diviso hierrquica para os modelos de redes neurais apresentados nesse texto, veja Figura7. Os modelos que tm uma capacidade de aprendizagem dividem-se em modelos que usamaprendizagem supervisionada e aprendizagem no supervisionada, dependendo se para cadaestmulo um sinal com a resposta desejada da rede est disponvel ou no. Perceptron,perceptron multi-camada e adaline so modelos com aprendizagem supervisionada que sebaseiam no erro entre a resposta desejada e calculada da rede para adaptar os pesos. A rede deHopfield usa a regra de Hebb para memorizar um conjunto de padres. Na aprendizagem no
wij yiy j=
iy'i yi
ei yi y'i=
i j
wij eiy j yi y'i( )y j= =
yi 0= i i*
i* yi*
1=
wij yi x j wij( )=wi x
x y
-
supervisionada a regra de Hebb tambm pode ser usada, por exemplo para estimar a densidadede probabilidade com base nos exemplos dados. Uma arquitetura de rede com um algoritmocompetitivo a rede topolgica de Kohonen.
Figura 7 - Classificao estrutural e funcional de redes neurais artificiais
III. REDES DE PROPAGAO PARA FRENTEConsidera-se aprendizagem supervisionada em redes de propagao para frente que estoorganizadas em camadas. No incio das atividades de pesquisa essas redes chamaram-seperceptrons. O caso mais simples o perceptron com uma nica camada. O domnio dosvalores de sada binrio. O ADALINE permite variveis de sada com valores contnuos.Quando existe mais que uma camada, i.e. existe uma ou mais camadas escondidas, trata-se deperceptrons multi-camada. O fluxo de informao sempre unidirecional, ao contrrio deredes com realimentao. Existem pesos (assimtricos) unidirecionais entre dois neurnios quenecessariamente tm que estar em camadas diferentes.
III.1 PerceptronClassificao uma das aplicaes principais do clculo que as redes neurais so capazes derealizar. O objetivo associar uma categoria de um universo finito a um objeto. Exemplos paraclassificao so:
Reconhecimento automtico de caracteres Deteco de falhas em processos Identificao de pessoas por impresses digitais, voz, iris do olho Diagnstico mdico
O perceptron [Rosenblatt, 1958] capaz de classificar entre duas classes que linearmente soseparveis, veja Figura 8 (O modelo extensvel facilmente para o caso de vrias classes).Junto com a arquitetura foi proposto um mtodo de como os pesos podem ser adaptados.
Modelo comcapacidade de aprendizagem
Aprendizagem supervisionada Aprendizagem no-supervisionada
Densidade
Regresso, Classificao(Regra de Delta)
Associativo(Regra de Hebb)
Perceptron Hopfield Perceptron
Multi-Camada
Adaline
CompetitivoAssociativo(Regra de Hebb)
Kohonen
de probabilidade
-
Tambm foi dada uma prova formal da convergncia em um nmero finito de iteraes dessealgoritmo em caso da separabilidade linear.A funo que o perceptron implementa a do neurnio de McCulloch e Pitts (1), onde afuno de escada substituda pela funo do sinal se ese . Pode-se absorver o limiar no clculo como , introduzindo um novo valorde entrada fixo :
Regra de Classificao do Perceptron: (7)A funo calculada fornece uma resposta binria de que lado est o objeto
, assim permitindo uma classificao linear entre duas classes.
Figura 8 - Problema de classificao. Duas classes so linearmente separveis. A retasepara as duas classes. O objectivo do algoritmo de perceptron achar pesos , e para a
definio do hiperplano separador (nesse caso a reta ).
A estrutura da rede ento foi definida simplesmente pela equao linear de (7). Resta agora oalgoritmo de adaptao dos pesos, o algoritmo de aprendizagem de perceptron. A ideia bsica uma adaptao iterativa nos moldes de (3) por um algoritmo iterativo. O algoritmo classificatodos os objetos de treino , com neste caso ilustrativode duas dimenses pela regra (7) . A classe verdadeira de est disponvel no valor dealvo . Se nenhum erro de classificao ocorreu temos . Nesse caso estamos
satisfeitos com o conjunto dos pesos . Se ocorreu um erro declassificao. Todos os objetos que provocaram um erro de classificao so usados paramodificar os pesos para que o nmero de erros diminua e finalmente desaparea.Define-se uma regra simples de modificao de pesos
Regra de aprendizagem do perceptron (verso simples): se e se (8)
Escolhem-se pesos aleatrios inicialmente. A regra (8) adapta os pesos em um nmero finitode iteraes, se existe uma separao linear.O perceptron um sistema de uma rede neural simples (nesse caso entradas, umasada), capaz de resolver problemas lineares de classificao. Est equipado com um algoritmo
.( ) z( )sgn 1= z 0 z( )sgn 1=z 0< w0=
x0 1=
d x( ) w jx jj 0=D( )sgn=
d x( )x x1 x2,( )T=
***
*
*
++
+
++
++
* Classe 1+ Classe 2
d x( ) 0 d x( ) 0= x1
x2
d x( ) 0=w0 w1 w2
d x( ) w0 w1x1 w2x2+ +=
T xp t p,( ){ }p 1=n
= xp x1 p x2 p,( )T
=
d xp( ) xpt p d xp( ) t p=
W w j{ } j 1=D
= d xp( ) t pxp
W
w j t px j= d xp( ) t p w j 0= d xp( ) t p=
D 1+
-
de adaptao de pesos que aprende baseado nos exemplos de treino. Obviamente a capacidadede clculo do perceptron est limitada pela separabilidade linear das classes. Para classificarproblemas em que as classes se distribuem de tal maneira que seja impossvel criar umhiperplano para separ-las, tcnicas mais sofisticadas tm que ser usadas, como o perceptronmulti-camada.
III.2 ADALINEVimos no exemplo anterior do perceptron que as sadas estavam limitadas para terem valoresbinrios. Um modelo muito parecido com o perceptron em termos de arquitetura o ADALINE[Widrow and Hoff, 1960]. A diferena porm est nas sadas contnuas, i.e. permite-se calcularvalores de sada do domnio dos nmeros reais, veja Figura 9. A funo calculada simplesmente a combinao linear dos pesos e das entradas, ou equivalentemente o produtointerno do vetor de pesos e o vetor das entradas:
Funo do ADALINE: (9)Foi outra vez introduzido uma entrada com um valor constante de 1 que facilita arepresentao da funo calculada.
Figura 9- ADALINE com 4 variveis de entrada
Outra vez o problema para resolver (a funo para calcular) est especificado nos exemplosde treino: , compare com o perceptron. Os graus de liberdade que
existem para realizar essa aproximao de funo1 so os pesos . Oobjetivo do algoritmo de aprendizagem est na busca dos pesos que exibem uma propriedadetima em relao a funo a ser calculada.
1. Se tivssemos sadas e no s uma sada , teramos que introduzir mais um ndice para ospesos , assim indicando a ligao entre entrada e sada . Em vez de ter um vetor de pesos
teramos uma matriz de pesos de dimenso ,
com . O vetor de funes seria .
d x( ) w jx jj 0=D wT x= =
Entradas
Camada de sada
x
d t,Rede w
ENTRADAS
SADA
d x( ) w jx jj 0=
D
=
w0
d
x11
w1
x2 x3 x4
w2 w3w4
n
T xp t p,( ){ }p 1=n
=
w w0 w1 wD, , ,( )T=
c d i d i
wij j i
w w0 w1 wD, , ,( )T
= W w1T
wc
T, ,( )T= c D 1+( )
wi wi0 wi1 wiD, , ,( )T
= W x d x( )=
-
III.2.1 O erro quadrtico mnimoUma escolha natural para medir a qualidade da funo calculada pela rede a diferena entre ovalor desejado para o exemplo e o valor calculado pela rede:
Erro de clculo para um exemplo : (10)O valor desejado o valor de alvo . O valor calculado pela rede . Como o erro (10)pode ser negativo ou positivo, calcula-se o quadrado para sempre ter uma diferena positivaque no se elimina, considerando todos os exemplos individuais do conjunto de treino .
Erro quadrtico para um exemplo : (11)O objetivo do algoritmo vai ser a minimizao do erro, considerando a mdia de todos osexemplos (valor esperado ). Isso permite definir o critrio a ser minimizado:
Erro quadrtico mdio: (12)
III.2.2 Soluo determinsticaPara esse tipo de problema linear existe uma soluo explcita para obter aquele vetor de pesos
que minimize (12). Pode-se juntar todos os exemplos de treino em uma nica matriz
de dimenso : , com . Em analogia pode-
se juntar todos os valores de alvo num vetor de alvo de dimenso .
O exemplo deve ser mapeado pela rede para . Assim pode-se formular o clculo
de todos os exemplos de treino numa nica equao de dimenso
de vetores e matrizes:
Mapeamento de ADALINE de todos os exemplos: (13)Uma pr-multiplicao de (13) pela matriz transposta de resulta em .Outra pr-multiplicao pela inversa de (que sempre existe, sem prova)finalmente resulta na soluo explcita do problema:
Soluo determinstica do ADALINE: (14)
onde a matriz denominada como Pseudoinversa de .
III.2.3 Soluo iterativa: Descida de GradienteAcabamos de ver que existe uma soluo direta para calcular o conjunto de pesos que
xp
xp e xp( ) desejado xp( ) calculado xp( )=t p d xp( )
xp T
xp e2
xp( ) t p d xp( )( )2
t p wT
xp( )2
= =
n
E e2 xp( ){ }
EQM 1n--- e
2xp( )
p 1=
n
1n--- t p wT x( )2
p 1=
n
= =
w n xp X
n D 1+( ) X x1T
xnT
, ,[ ]T= xp xp1 xpD, ,( )T
=
t p t t1 tn, ,( )T= n 1
xp wT
xp t p=
n xp
n D 1+( )( ) D 1+( ) 1( ) n 1( )=Xw t=
XT X XT Xw XT t=
XT X( ) 1 XT X
w XT X( ) 1 XT t=
X XT X( ) 1 XT= X
-
minimiza o critrio de qualidade do mapeamento da rede. Esse soluo deve-se principalmente natureza linear do problema, possibilitando assim a soluo por lgebra linear. Em caso deredes que realizam um mapeamento no-linear, como no caso do perceptron multi-camadacom funo de ativao sigmoidal, essa soluo determinstica j no pode ser encontrada.Temos que empregar tcnicas de otimizao de problemas sem restries. Analisaremos comocaso exemplar a tcnica da descida de gradiente. Em primeiro lugar apresenta-se esse mtodopara o caso linear do ADALINE. Como vamos ver no caso do perceptron multi-camada adescida de gradiente constitui o veculo para o conhecido algoritmo de retropropagao deerro.
Figura 10 mostra a idia principal da tcnica da descida de gradiente. O erro quadrtico mdioEQM uma funo dos pesos da rede (para fins de ilustrao usa-se s umnico peso ). Essa funo em geral no conhecida para quem est procurando os pesostimos (se fosse conhecida existia uma soluo determinstica). O objetivo geral encontrar opeso que minimize o erro EQM (12), i.e. que faz a rede aproximar da melhor maneirapossvel o mapeamento entre todos os exemplos para os valores de alvo .
Tenta-se chegar iterativamente ao mnimo global . A nica informao que conhecida
na iterao o valor do erro para o peso atual. Supe-se que afuno do erro seja derivvel em todo o domnio. Isso significa que o gradiente da funo deerro existe (no caso de um peso: ).
Figura 10- Descida de Gradiente. Considera-se um nico peso .
O gradiente um vetor. Ele aponta na direo do crescimento da funo . Consequentementeo gradiente negativo aponta na direo de decrescimento da funo . A tentativa para chegarno mnimo da funo ento a modificao do peso na iterao para a iterao nadireo do gradiente negativo (da descida do gradiente). Para controlar a velocidade damodificao do peso de para usa-se um fator de escala, a taxa de aprendizagem
. Temos ento no esprito da tcnica da adaptao dos pesos (3) uma regra de como vamosprocurar aquele peso que minimize o erro de mapeamento da rede:
EQM w( ) f w( )=w
wmin
n xp t p
wmin
l EQM w l( )( ) E w l( )( )= w l( )
E dE w( ) dw= E' w( ) dE dw=
EQM w( )
wwminw
l( )
wl 1+( )
GradienteE w( )
w---------------
Gradiente E w( )w---------------
Taxa de aprendizagemnegativo ponderado
w w j=
EEl l 1+
Ew
l( )w
l 1+( )
-
Regra de adaptao de peso por descida de gradiente:(15)
Agora fica mais clara a necessidade da propriedade da funo sigmoidal (2) de que ela sejacontnua e diferenivel em todo o domnio de . Assim consegue-se calcular o gradiente parauma rede com funo de mapeamento no-linear, como ainda vamos verificar mais tarde.
Comea-se com um valor aleatrio do peso na iterao . A regra de adaptao de peso aplicada um nmero fixo de vezes ou at que a diferena entre dois conjuntos de pesosconsecutivos e seja menor do que uma tolerncia . A diferena poderia porexemplo ser a distncia Euclidiana entre os dois vetores de pesos. Todos os passos estoresumidos no Algoritmo 1.
Algoritmo 1: Descida de Gradiente
Objetivo: Aprende uma vetor de pesos timos que minimize a funo de custos0.) Nmero mximo de iteraes:
Diferena mnima entre dois vetores de pesos consecutivos:Taxa de aprendizagem:
1.) , arbitrrio2.) Repete iterao
2.1) Calcule o gradiente do erro relativo aos pesos individuais :2.2) Adapte os pesos na direo oposta ao gradiente
at ( ou )
Problemas com o algoritmo so a escolha da taxa de aprendizagem e a ocorrncia demnimos locais. Se for escolhida muito pequena a aprendizagem poderia ficar lenta, se forescolhida grande demais poderiam surgir oscilaes do erro com uma divergncia dos pesos,i.e. os pesos no param de crescer. Mnimos locais so locais na funo de erro onde ogradiente desaparece, portanto j no h uma modificao dos pesos. Assim o algoritmo podeparar num conjunto de pesos que no corresponde ao mnimo global da funo de erro o queseria desejvel.Resta definir a prpria funo de erro. Temos duas possibilidades de como modificar os pesos:
1.) Depois da apresentao de cada exemplo , i.e. (aprendizagemestocstica, apresentao dos exemplos em ordem aleatria). Neste caso calcula-se o gradienterelativo ao peso individual como:
wl 1+( )
wl( ) w l( )+ w l( ) E l( )= =
R
w0( ) 0
wl 1+( )
wl( )
eps
wopt E
lmaxeps
l 0= w 0( )
l
w j E jl( ) E l( ) w j
l( )=
w jl 1+( )
w jl( ) w j
l( )+ w j
l( ) E jl( )= =
l lmax> wl 1+( )
wl( )
w jl 1+( )
w jl( )
( )2j 0=D eps
-
2.) Depois da apresentao de todos os exemplos , i.e. (aprendizagembatch). Neste caso calcula-se o gradiente relativo ao peso individual como:
o que resulta nas regras de atualizao de pesos (15) (absorvendo o termo constante 2 na taxade aprendizagem ):1.) , para
2.) , paraA regra de adaptao de pesos apresentada acima chama-se regra de delta, regra de adaline,regra de Widrow-Hoff [Widrow and Hoff, 1960] ou regra da mdia dos quadrados mnimos(LMS, least mean square rule), veja tambm [Hertz et al., 1991].
III.3 Perceptron Multi-Camada e Retropropagao de ErroO estudo dos modelos do perceptron e do ADALINE trouxe-nos conhecimento sobre a naturezadas funes calculadas pela rede neural artificial e os mtodos de adaptao de pesos. Umalimitao natural desse tipo de rede a linearidade das funes calculadas. Como j foireferido anteriormente a incapacidade do perceptron de calcular a classificao dos doisresultados da funo do Ou exclusivo (XOR) ( ,
) na Figura 11 levou a um certo desinteresse por parte da comunidadecientfica, devido especialmente a publicao de Perceptrons [Minsky and Papert, 1969].
Figura 11- O problema XOR. No existe uma separao linear entre as duas classes.
Era conhecido que a introduo de mais camadas no perceptron poderia resolver o problema deXOR. O que no se conhecia era um mtodo para adaptar os pesos, especialmente emproblemas de regresso e classificao de maior complexidade. [Rumelhart et al., 1986]popularizaram o algoritmo de retropropagao de erro. Apresenta-se em seguida o perceptroncom uma camada escondida e vrias sadas, treinado pela retropropagao de erro.
III.3.1 ArquiteturaQualquer perceptron com pelo menos uma camada escondida (nem entrada, nem sada) umperceptron multi-camada. Consideramos aqui o caso de uma nica camada escondida. Ageneralizao para mais que uma camada escondida direta e a teoria aplica-se sem alterao,
xp E e2
xp( )p 1=n=
w j
E j E w j 2 e xp( )xpjp 1=n= =
w jl 1+( )
w jl( ) e xp( )xpj+= j 0 D, ,=
w jl 1+( )
w jl( ) e xp( )xpjp 1=
n+= j 0 D, ,=
f 0 0,( ) f 1 1,( ) 0= =f 0 1,( ) f 1 0,( ) 1= =
x2
x1
*
*
+
* Classe 1+ Classe 2
0 1
1 +
-
veja a literatura. Um neurnio recebe vrias entradas da camada anterior e calcula umacombinao linear (9) dessas variveis. O resultado da combinao linear passa pela funo deativao, neste caso novamente a funo sigmoidal (2). Usamos mais que uma sada. Issosignifica que a sada um vetor de funes individuais calculadas.
Assim a rede realiza um mapeamento de um vetor multidimensional para outro vetormultidimensional , i.e. a rede calcula com
.
A camada escondida tem um nmero de neurnios. Usa-se eventualmente outra vez umaentrada constante de tambm na camada escondida. Um peso entre a varivel de entradae o neurnio com ndice na camada escondida chama-se . Todos os pesos podem serjuntados na matriz de pesos entrada-escondida . Em analogia, existe um peso queliga o neurnio com ndice na camada escondida com a sada . Todos os formam amatriz .
Figura 12- Perceptron multi-camada com uma camada escondida. Quatro variveis de entrada, trsvariveis de sada. Funo de ativao sigmoidal.
O mapeamento realizado para uma funo de sada :
Funo do perceptron multi-camada: (16)A funo (16) constitui um instrumento poderoso de realizar clculos no lineares em muitasreas de aplicao. Pode-se usar (16) para classificao de classes que no so linearmenteseparveis, como no caso do XOR. Tambm para problemas de regresso o perceptron multi-camada muito til, por exemplo para realizar previses. A rea de controle automtico e aidentificao de plantas outro exemplo.
d d1 dc, ,( )T= c d ix
d d x( )d x( ) d1 x1 xD, ,( ) dc x1 xD, ,( ), ,( )=
H1 x j
h whj whjW h wih
h d i wihW i
Camada de sada d t,
Rede W W i W h,=
d1 d2 d3d i x( ) g wihg whjx j
j 0=
D
h 0=
H
=
whj
Camada escondida(s) h
1
gh
g z( ) 11 e z+----------------=
h
1ENTRADAS
x1 x2 x3 x4
SADAS
Entradas x
wih
igi
d i
d i x( ) g wihg whjx jj 0=D( )h 0=H( )=
-
Uma das grandes vantagens dessa tcnica que o perceptron multi-camada um aproximadoruniversal de funes. Isso significa que desde que os pesos sejam bem adaptados e a rededispe um nmero suficiente de neurnios escondidos, o clculo desejado atingido.
III.3.2 Adaptao dos pesosEm analogia ao ADALINE tenta-se aprender os pesos da rede baseado numa funo de erroentre o mapeamento realizado e desejado. Usa-se outra vez a tcnica de descida de gradientedo Algoritmo 1. Temos que reformular o erro quadrtico (10) porque aumentamos o nmero desadas para . A diferena entre os valores desejados para o exemplo e os valorescalculados pela rede (10) agora virou diferena entre dois vetores. Os valores desejados ovetor de alvo . O valor calculado pela rede o vetor
. A escolha comum para a diferena entre o desejado e ocalculado pela rede a distncia Euclidiana1 quadrtica entre os dois vetores:
Erro quadrtico para um exemplo : (17)
Finalmente o valor esperado do erro quadrtico pode ser estimado pela mdia doserros quadrticos de todos os exemplos do conjunto de treino .
Erro quadrtico mdio: (18)
Utilizamos outra vez a filosofia da descida de gradiente (15) e o Algoritmo 1 para adaptar ospesos. Desta vez porm, temos que adaptar pesos que dependem no-linearmente do gradientede erro. Na adaptao dos pesos da camada escondida para a camada de sadaainda podemos usar a regra de delta. Para a adaptao dos pesos da entrada para a camadaescondida temos que usar a regra de delta generalizada.
Vamos considerar unicamente a aprendizagem orientada a cada exemplo . Resta entocalcular o gradiente em relao aos pesos da camada escondida para a camada de sada
e o gradiente em relao aos pesos da entrada para a camada escondida. Usamos as seguintes abreviaes:
1. Distncia Euclidiana entre dois vetores e de dimenso
d i c xp
t p t p1 t pc, ,( )T
=
d xp( ) d1 xp( ) dc xp( ), ,( )T
=
x x1 xdim, ,( )T
= y y1 ydim, ,( )T
= dim
x y xi yi( )2
i 0=dim=
xp e2
xp( ) t p d xp( )2
t pi d i xp( )( )2
i 0=
c
==E e2 xp( ){ }
T
EQM 1n--- e
2xp( )
p 1=
n
1n--- t pi d i xp( )( )2i 0=
c
p 1=
n
= =
W i wih[ ]=
W h whj[ ]=
xp
Eih E wih=Ehj E whj=
ei t pi d i xp( )=
d i xp( ) gi g i( ) g wihghh 0=
H
g wihg h( )h 0=
H
g wihg whjx jj 0=
D
h 0=
H
= = = ==
-
Camada escondida para a camada de sada: Regra de delta:
onde a quantidade foi definida como o delta da camada de sada.
Entrada para camada escondida: Regra de delta generalizada:
onde a quantidade foi definida como o delta da camada escondida.
Fica clara que os deltas da camadas anteriores so propagadas para trs, assim justificando onome retropropagao de erro (error backpropagation).A rede neural artificial do perceptron multi-camada um instrumento poderoso de realizaraproximaes universais de funes a partir de um conjunto de dados de treino. Existemmuitos campos de aplicao que permitem mapear o problema para uma rede e adaptar ospesos pelos dados de treino especificados.Uma desvantagem do perceptron multi-camada o tempo de treino extenso. Em um problemacomplexo pode-se levar vrias semanas at se obter um conjunto de pesos adequados. Aescolha da taxa de aprendizagem desempenha tambm um papel fundamental. Como j foi ditoexiste a possibilidade de que a funo de erro fique presa em um mnimo local. Existemheursticas para tentar resolver esse problema (fora do mbito desse texto). Paralisia do treino um fenmeno que acontece quando a magnitude dos pesos grande. A derivada da funosigmoidal (2) fica muito pequena nesse caso, o que causa que a modificao dos pesospraticamente desaparece.
Eih E wih e2 wih ei
2i 1=c( ) wih= = =
ti gi( )2i 1=c( ) wih ti gi( )2 wihi 1=c= = =
2 ti gi( ) gi wih( )i 1=c 2 ti gi( ) gi wih( ) 2eigi wih= = =
2ei gi 1 gi( ) i wih( )[ ] 2ei gi 1 gi( )gh[ ]= 2igh= =i eig'i ei gi 1 gi( )( )= =
Ehj E whj e2 whj ei
2i 1=c( ) whj ti gi( )2i 1=c( ) whj== = =
ti gi( )2 whji 1=c 2 ti gi( )gi whji 1=c==
2 ei g i( ) whj( )i 1=c 2 eigi 1 gi( ) i whj( )i 1=c= =
2 eigi 1 gi( ) wihghh 0=H( ) whj[ ]i 1=c=
2 eigi 1 gi( ) wihghh 0=H( ) whj[ ]i 1=c=
2 eigi 1 gi( ) gh 1 gh( ) h whj( )[ ]i 1=c=
2 eigi 1 gi( ) wihgh 1 gh( )x j[ ]i 1=c=
2gh 1 gh( ) eigi 1 gi( )wihx ji 1=c 2hx j= =
h g'h ix ji 1=c=
-
IV. REDES COM REALIMENTAOTodos os modelos at agora apresentados (perceptron e adaline) so redes com propagaopara frente. Isso significa que a informao processada unidirecionalmente dentro da rede.Esse tipo de processamento supe que no h comportamento dinmico da rede, i.e. a ativaodos neurnios depende deterministicamente das entradas. Por outro lado, podemos conceberuma rede que realimenta os valores calculados como entradas novamente, o que provoca oclculo de valores modificados nas sadas, que por sua vez novamente so realimentadas,compare Figura 4 e Figura 6. Certamente esse tipo de rede exibe um comportamento dinmicodos seus valores, i.e. uma modificao dos valores ao longo do tempo, dado um nico estmuloinicial. O conjunto de valores de sada atuais dos neurnios chama-se o estado da rede.Desejvel um comportamento estvel. Isso significa que depois de um estmulo inicial darede os valores de sada caminham para uma constante.
IV.1 Modelo de HopfieldComo exemplo para apresentar os conceitos de redes com realimentao e comportamentodinmico apresenta-se o modelo de Hopfield, denominado segundo um pesquisador com umgrande impacto nesse tipo de arquitetura de rede [Hopfield, 1982]. Entradas e sadas doneurnio so valores binrios, sendo o valor atribudo ao estado ativo e o valoratribudo ao estado inativo, i.e. e . O neurnio do modeloMcCulloch-Pitts, com pesos entre neurnio e neurnio , veja Figura 2. Para facilitar oclculo usa-se como funo de ativao a funo do sinal se e
se e seja o limiar . Assim permite-se a formulao daRegra de adaptao dinmica da sada de neurnio : (19)
Em princpio no se distinguiu entre variveis de entrada e variveis de sada , porque asada de um neurnio pode servir como entrada realimentada do mesmo neurnio. Tendo umarede de neurnios o estado atual da rede caracteriza-se por um vetor de dimenso com
valores de ou , e.g. para uma rede deneurnios. O comportamento dinmico a mudana do estado de no momento para oestado no momento . A rede est estvel se j no h mudana de estado, i.e.
para todos .Existem duas maneiras de atualizar o estado da rede. Na atualizao sncrona existe umaentidade central que regula a transio de para ao mesmo tempo para todos os
neurnios. Na atualizao assncrona cada neurnio se atualiza independentemente dosoutros neurnio (mas com a mesma frequncia). A melhor maneira de realizar uma simulao passar por todos os neurnios numa ordem aleatria e atualizar sequencialmente.
IV.2 Associatividade de Padres na Rede de Hopfield
O objetivo da rede memorizar padres de um conjunto de padres . A
x j xii 1 1
x j 1 1,{ } xi 1 1,{ }wij i j
z( )sgn 1= z 0z( )sgn 1= z 0< 0=
i xi wijx jj 0=D( )sgn=
x j xi
H H
1 1 Estado 1 1 1 1 1 1, , , , ,( )T x t( )= = 6x t( ) t
x t t+( ) t t+x t t+( ) x t( )= t 0
x t( ) x t t+( )H
n xp T xp{ }p 1=n
=
-
rede tem que responder nas sadas com o estado quando esse mesmo estado for
apresentado inicialmente rede, i.e. . A resposta deveria ser tambm o padromemorizado, mesmo se o estmulo inicial somente for parecido1 com um dos padresmemorizados, i.e. . Dessa capacidade de recuperar informao memorizada, mesmocom informao inicial incompleta, corrompida ou parcialmente errada deriva-se a ambiodesse tipo de rede, nomeadamente de ser uma memria associativa que capaz de imitar ascapacidades do ser humano.
IV.3 Estabilidade e Aprendizagem de PesosQuais so as condies para que a rede seja estvel? Se tivssemos s um nico padro
o estado calculado pela rede segundo (19) teria que ficar inalterado paracada neurnio , i.e. . Substituindo o peso pela expresso
na regra (19) , obtm-se
.
Normalizando pelo nmero dos neurnios presentes na rede (e ignorando o ndice do tempo)pode-se definir a:
Regra de aprendizagem para o peso para um padro: (20)
Uma rede treinada por essa regra vai recuperar o padro ensinado mesmo quando a metade(menos 1) das entradas esteja diferente do padro. Um estmulo inicial parecido comrapidamente relaxa para .
No caso de padres diferentes a extenso bvia da regra (20) a superposio do peso paratodos os padres. Observa-se que a regra de aprendizagem de Hebb (4) foi aplicada em (20),dando o nome regra de aprendizagem para o peso para padres.
Regra de Hebb, Regra de Hebb Generalizada: (21)
onde o estado de neurnio para padro .
IV.4 Relaxao, Minimizao de EnergiaNa rede de Hopfield os pesos entre os neurnios so simtricos, i.e. e define-se umpeso nulo da realimentao do prprio neurnio i.e. . Com essas pr-condies a
1. A semelhana entre dois padres binrios e pode-se medir
por exemplo em termos da distncia de Hamming:
x t( ) xp=x 0( ) xp=
xp xp1 xpH, ,( )T
= xq xq1 xqH, ,( )T
=
dist xp xq,( ) xpi 1 xqi( ) 1 xpi( )xqi+[ ]i 0=H=
x 0( ) xp
x x1 xH, ,( )T=i 1 H, ,= xi t t+( ) xi t( )= wij
xi t( ) x j t( ) xi t t+( ) wijx j t( )j 0=D( )sgn=
xi t t+( ) xi t( ) x j t( ) x j t( )j 0=D( )sgn xi t( ) 1j 0=D( )sgn= =
D xi t( )( )sgn xi t( )= =t
wij wij1H----xix j=
x
x
x
n
wij n
wij1H---- xpixpjp 0=
n=xpi i p
wij w ji=
wii 0=
-
introduo de uma
Funo de Energia: (22)
garante que a rede sempre relaxa para um estado estvel. Isso acontece porque com os pesossimtricos a energia obrigatoriamente tem que diminuir em cada passo de relaxamento. Parauma prova desse fato veja [Hertz et al., 1991].Vale a pena ainda ser mencionada que a rede relaxa para estados que no s so os padresmemorizados. Existem estados reversos e estados esprios. Veja tambm [Hertz et al., 1991]para a definio desses efeitos colaterais no desejveis na recuperao de informao na redede Hopfield.
IV.5 Aplicao: Recuperao de Imagens
Figura 13 - Rede de Hopfield como memria de imagens. Quatro imagens binrias soguardadas em vetores de dimenso . Na fase de recuperao umaimagem corrompida apresentada como estmulo inicial a rede que por relaxao chega no estado
final da imagem memorizada mais parecida.
Uma aplicao que demostra a capacidade de associar informao incompleta amemorizao de imagens. Usam-se imagens binrias onde o valor significa que o pixel naposio da imagens seja branco e o valor significa preto. Seja o nmero de linhasda imagem e o nmero de colunas, o que resulta em pixels. Assim a imagem completapode ser guardada em um vetor de dimenso simplesmente por linearizao daimagem, introduzindo linha por linha no vetor .
Dessa maneira pode-se memorizar um conjunto de imagens diferentes , quatro noexemplo da Figura 13. A recuperao de uma imagem guardada se efetua pela apresentao de
H 12--- wijxix jj 0=
H
i 0=
H
=
Padresmemorizados
x2 x3 x4x1
x 0( ) x t final( )EstmuloinicialRespostafinal
Relaxao
0
Energia H
Tempo t
4 5xp xp1 xp20, ,( )
T= 20 4 5=
1a b,( ) 1 A
B A Bx H A B=
x
xp{ }
-
uma imagem inicial rede, i.e. inicializar o estado com a imagem inicial. Espera-seento que a rede relaxe para uma das imagens guardadas que seja a mais parecida com aimagem inicial. Assim, permite-se relembrar de uma imagem completa, mesmo que a imageminicial seja apenas uma verso parcialmente errada ou incompleta da imagem memorizada.
V. REDES COMPETITIVASConsideremos o caso de aprendizagem no-supervisionada, em que a nica informaodisponvel o conjunto de exemplos . Todos os neurnios ,
recebem o mesmo estmulo . Entre a entrada e o neurnio existe um peso
, i.e o vetor liga a entrada a sada . Todos os neurnios formam a camadacompetitiva, veja Figura 14. Determina-se um vencedor dentro dessa camada competitiva. Oneurnio vencedor o nico que tem o direito de emitir um sinal de sada que seja , i.e.
(vencedor-pega-tudo ou winner takes all). Todos os outros neurnio ficam inativos,
i.e. , para .
Figura 14 - Rede Competitiva. A nica sada que emite um sinal aquela do neurnio , o
vencedor, que tem a maior semelhana com o estmulo .
V.1 Determinao do VencedorBasicamente usam-se duas possibilidades de determinar o vencedor dentro da camadacompetitiva. No primeiro caso normalizam-se ambos o sinal de entrada e os pesos para umcomprimento de , i.e. e para que seja e .Nesse caso o vencedor determina-se pelo maior produto interno:
Vencedor (caso vetores normalizados): (23)
x 0( )
T xp( ){ }p 1=n
= H i
i 1 H, ,= x x j yiwij wi x yi
i* 1y
i*1=
yi 0= i* i
Camada competitiva
Entrada x
x1 x2 x3
x j
wi
wij
y1 y2 y3 y4yi
Interaolateral comvizinho em termos
Sadas
de topologia
EM CASO DE RELAOTOPOLGICA:
(Camada de Kohonen)
yi*
1= i*
x
1 x x x wi wi wi x 1= wi 1=
wi*T
x wiT
x>
-
ou equivalentemente pelo menor ngulo entre peso e sinal de entrada, veja Figura 15 a.
Figura 15 - Determinao do vencedor (da semelhana entre o estmulo e o peso ). Caso deduas dimenses ( ). A semelhana pode ser o produto interno em caso de comprimentonormalizado dos vetores, i.e. e ou pode ser a distncia Euclidiana caso
contrrio.
A segunda opo para determinar a maior semelhana entre a entrada e o peso medir a
distncia Euclidiana entre os dois vetores . No caso em que osdois vetores no estejam normalizados como na Figura 15 b, essa conveno toma melhor emconsiderao o comprimento dos vetores e no o ngulo entre eles.
V.2 Adaptao dos PesosUsando o mtodo iterativo de adaptao de pesos (3), os pesos da rede se modificamexclusivamente baseado na estrutura dos dados de treino . A expectativa do comportamentode uma rede desse tipo que estmulos e que so parecidos provocam a resposta domesmo vencedor. Considerando esse fato bvio que os pesos deveriam movimentar-se emdireo aos estmulos, i.e. na direo do vetor pertencendo ao neurnio vencedor , i.e.
. Naturalmente temos que ponderar o passo de aproximao pela taxa de
aprendizagem que controla a velocidade do processo de aprendizagem. A adaptao podeser feita outra vez independentemente para cada componente do vetor , .
Como as sadas dos neurnios no-vencedoras so nulos para , pode-se juntar a regrapara todos os pesos, obtendo (6):
Regra de aprendizagem competitiva: (24)onde a sada de neurnio para a entrada e a j-sima componente da entrada .
i
x1
DistnciaEuclidiana
0
a.)
w1
w2x2
w1
w2
x
x10
w1
w2x2 w1
w2
x
1
1 1
1
b.)
1
2
x wi
D 2= wiT
x
wi 1= x 1= wi x
x wi
x wi x j wij( )2
j 0=D=
Txp xq
wi*
i*
wi*
x wi*
=
j x j 1 D, ,=i i*
wijl 1+( )
wijl( ) ypi xpj wij
l( )( )+=
ypi i xp xpj xp
-
V.3 O Mapa de Preservao Topolgica de KohonenAt agora no existia nenhuma relao topolgica entre neurnios da mesma camada. Porexemplo, num perceptron multi-camada o valor da funo de ativao de um neurnio nacamada escondida no tem nenhuma influncia sobre o valor dessa funo do vizinho dele namesma camada, ou sobre o peso na fase de aprendizagem. Vamos considerar agora redes quena fase da adaptao dos pesos exercem um efeito colateral sobre os vizinhos na camadacompetitiva. Na Figura 14 essa interao est implementada pelas ligaes laterais entrevizinhos imediatos e mais afastados da camada competitiva. Muitas contribuies foram feitaspor T. Kohonen nessa rea [Kohonen, 1972], [Kohonen, 1990]. Por isso as vezes a camadacompetitiva topolgica com interao chamada camada de Kohonen. A motivao biolgicapara essa aproximao o fato que tambm no crebro pode-se observar que estmulossensoriais externos parecidos muitas vezes excitam as mesmas reas do crebro, especialmentena formao das capacidades de motricidade e sensibilidade.
Figura 16- Mapa auto-organizvel de Kohonen de duas dimenses: a.) Topologia retangular. Cadaneurnio tem quatro vizinhos imediatos. b.) Topologia hexagonal. Cada neurnio tem seis vizinhos
imediatos.
Na Figura 16 mostra-se uma organizao topolgica dos neurnios (que todos fazem parte dacamada competitiva) em uma estrutura 2-D. Cada neurnio tem 4 ou 6 vizinhos imediatos,conforme a organizao retangular ou hexagonal das ligaes entre os membros da camada.Cada neurnio recebe o mesmo estmulo externo e o vencedor determinado, conforme aconveno ilustrada na Figura 15. A regra (24) modificada de maneira que se modificamtodos os pesos, dependendo da funo de relao topolgica (funo de vizinhana)entre o vencedor e os seus vizinhos , sendo .
Regra de aprendizagem competitiva na camada de Kohonen:(25)
A funo deve ter um valor mximo no centro, i.e. no neurnio vencedor e ter umcomportamento decrescente com distncia crescente do centro. Uma funo que satisfaz essascondies a funo Gaussiana, veja Figura 17. A introduo de provoca que, alm dovencedor, os pesos dos vizinhos do vencedor tambm se atraem em direo do estmulo, mas
...
...
...
... ...... ...
wi
w1 w2
Mapa auto-organizvel de Kohonen
...
...
...
... ...... ...
wi
w1 w2
Entrada x
Mapa auto-organizvel de Kohonen
b.)a.)
Entrada x
x
h i* i,( )i* i h i* i*,( ) 1=
wijl 1+( )
wijl( ) h i* i,( ) xpj wijl( )( )+=
h . .,( )
h . .,( )
-
em quantidade menor. Se for outra funo com valores menor que zero na vizinhanateramos ligaes inibitrias que em vez de atrair os pesos para o estmulo os afastariam doestmulo.
Figura 17 - Gaussiana em duas dimenses.
VI. CONCLUSESNeste documento deu-se uma breve introduo rea das redes neurais artificiais. A ambiodesse texto a familiarizao com os conceitos bsicos da neurocomputao, neurnioartificial, topologia da rede, paradigmas de aprendizagem e regras para a adaptao dos pesos.Ao mesmo tempo tentou-se esclarecer as capacidades e limitaes de uma rede neuralartificial. Desde que seja possvel mapear o problema em considerao para a arquitetura deuma rede, pode-se esperar a resoluo de problemas cognitivas interessantes. Ao mesmotempo tem que ficar claro que a classe de problemas resolveis por uma rede neural artificial limitada. Basicamente redes neurais artificiais so aproximadores universais de funes. Emoutras reas cientficas existem propostas para a obteno da funo desejada, como porexemplo na estatstica. A vantagem das redes a aprendizagem por um conjunto de treino,junto com um carter universal da arquitetura da rede. Isso significa que o projetista de umarede no tem que se preocupar muito com parmetros internos da rede. Por exemplo em umperceptron com uma camada escondida praticamente o nico grau de liberdade o nmero dosneurnios nessa camada escondida. Mesmo assim esse tipo de rede possui um potencial grandepara ser usado em vrias reas de aplicao. Pode-se concluir que o caminho para um sistemaartificial realmente inteligente provavelmente tenha que ter incorporado alguns dos princpiosde redes neurais artificiais.
h . .,( )
h . .,( )
-
BIBLIOGRAFIA[Anderson, 1995]
Anderson, J. A., An Introduction to Neural Networks, Cambridge, MA: The MIT Press, 1995[Anderson and Rosenfeld, 1988]
Anderson, J. A. and Rosenfeld E., eds., Neurocomputing: Foundations of Research, Cambridge, MITPress, 1988.
[Bishop, 1995]Bishop, C. M., Neural Networks for Pattern Recognition, Oxford: Oxford University Press, 1995
[Fausett, 1994]Fausett, L., Fundamentals of Neural Networks: Architectures, Algorithms, and Applications, EnglewoodCliffs, NJ: Prentice Hall, 1994
[Haykin, 1994]Haykin, S., Neural Networks, a Comprehensive Foundation, Macmillan, New York, NY, 1994
[Hebb, 1949]Hebb, D. O., The Organization of Behavior. Wiley, New York, 1949, Partially reprinted in [Anderson andRosenfeld, 1988]
[Hertz et al., 1991]Hertz, J., Krogh, A., and Palmer, R., Introduction to the Theory of Neural Computation. Addison-Wesley:Redwood City, California, 1991
[Hinton, 1992]Hinton, G.E., How Neural Networks Learn from Experience, Scientific American, 267 (September),144-151, 1992
[Hopfield, 1982]Hopfield, J. J., Neural networks and physical systems with emergent collective computational abilities,Proc. of the National Academy of Sciences, USA, vol. 79, pp. 2554-2558, 1982, Reprinted in [Andersonand Rosenfeld, 1988]
[Kohonen, 1972]Kohonen, T., Correlation Matrix Memories, IEEE C-21 (4), pp. 353-359, 1972
[Kohonen, 1990]Kohonen, T., The self-organizing map, Proc. of the IEEE, vol. 78, no. 9, 1990.
[Masters, 1994]Masters, T., Practical Neural Network Recipes in C++, Academic Press, 1994
[McCulloch and Pitts, 1943]McCulloch, W. S., and Pitts, W., A logical calculus of the ideas immanent in nervous activity, Bulletin ofMathematical Biophysics, vol. 5, pp. 115-133, 1943, Reprinted in [Anderson and Rosenfeld, 1988]
[Minsky and Papert, 1969]Minsky, M., Papert S., Perceptrons, The MIT Press, Cambridge, MA, 1969.
[Ripley, 1996]Ripley, B.D., Pattern Recognition and Neural Networks, Cambridge: Cambridge University Press, 1996
[Rosenblatt, 1958]Rosenblatt, F., The perceptron: A probabilistic model for information storage and organization in thebrain, Psychological Review, vol. 65, pp. 386-408, 1958.
[Rumelhart et al., 1986]Rumelhart, D. E., Hinton, G. E., and Williams, R. J., Learning internal representations by errorpropagation, in Rumelhart, D. E., and McClelland, J. L. (eds.), Parallel Distributed Processing:Explorations in the Microstructure of Cognition I, pp. 318-362, MIT Press, Cambridge MA, 1986.
[Widrow and Hoff, 1960]B. Widrow, and M. E. Hoff, Adaptive switching circuits, in 1960 WESCON Convention Record, NewYork, 1960.