1926024727_reconhecimento-de-caracter2.pdf

28
 Redes Neurais Articiais Thomas Walter Rauber Departamento de Informática Universidade Federal do Espírito Santo Av. F. Ferrari, 29065-900 Vitória - ES, BRASIL Te l.: (+55)(27) 3352654 — Fax: (+55)(27) 3352850 E-mail: [email protected] — WWW-homepage: http://www .inf.ufes.br/~thomas  Resumo: Este documento apresenta uma introdução para a área de redes neurais articiais (  RNA). Em primeiro lugar motiva-se o paradigma da neurocomputação pelas capacidades cognitivas de redes neurais biológicas, inspirado pelo conhecimento da neurociência. Os fundamentos das  RNA são o modelo de um neurônio, a topologia da rede e os paradigmas de aprendizagem. O modelo de McCulloch e Pitts serve como modelo básico de um neurônio articial. Propagação para frente e redes com realimentação constituem as principais topologias de redes. Paradigmas de aprendizagem apresentados são a aprendizagem supervisionada e aprendizagem não- supervisionada. Em relação às regras para a adaptação dos pesos distingue-se entre a regra de Hebb, a regra de delta e a aprendizagem competitiva.  A classe de redes de propa gação para frente é repr esentada pelo perceptr on, o  ADALI NE  e o perceptron com uma camada escondida. Nas regras de aprendizagem do  ADALI NE  apresentam-se duas técnicas principais para adaptar os pesos, a solução determinística linear pela pseudoinversa e a descida de gradiente. O algoritmo de retropropagação do erro é a ferramenta fundamental para treinar o perceptron multi- camada.  Redes com realimentação que apresentam um comportamento dinâmico são representadas pelo modelo de Hopeld. Motiva-se a topologia e funcionalidade da rede e analisa-se a estabilidade dos pesos. A introdução de uma função de energia por  Hopeld junto com pesos simétricos garante a estabilidade da rede. Um exemplo de aplicação desse tipo de rede é o armazenamento e recuperação de imagens binárias.  Redes competitivas concluem a apresentação. Dentro de uma camada competitiva existe um vencedor que mostra a maior coincidência com o sinal de entrada. O mapa de  preservação topológica de Kohon en adicionalmente ao uso da aprendiza gem competitiva impõe uma ordem topológica sobre os neurônios individuais.

Transcript of 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.