Simulando o Cérebro

Embed Size (px)

DESCRIPTION

Simulando o Cerebro

Citation preview

  • SSiimmuullaannddoo oo CCrreebbrroo:: RReeddeess NNeeuurraaiiss

    Prof. Srgio Luiz Tonsig 1

    2 semestre de 2000

    1 Analista de Sistemas. Especialista em Sistemas de Informao pela UFSCar. Mestrando em Gerncia deSistemas de Informao pela PUCCamp.

  • 2Sumrio

    1. INTRODUO................................................................................................................................3

    2. POR QUE REDES NEURAIS ?.......................................................................................................5

    2.1. UMA GALXIA BIOLGICA ..........................................................................................................52.2. REDES NEURAIS ARTIFICIAIS SNTESE HISTRICA......................................................................7

    3. NEUROCOMPUTAO...............................................................................................................11

    4. REDES NEURAIS ARTIFICIAIS E A INTELIGNCIA ARTIFICIAL .....................................13

    4.1. A REDE NEURAL ARTIFICIAL .....................................................................................................154.2. CLASSIFICAO DE REDES NEURAIS...........................................................................................174.3. TOPOLOGIAS DE REDES NEURAIS ARTIFICIAIS.............................................................................18

    5. PROCESSOS DE APRENDIZADO DE UMA REDE NEURAL ARTIFICIAL ..........................20

    6. DESENVOLVIMENTO DE APLICAES .................................................................................22

    6.1. COLETA DE DADOS E SEPARAO EM CONJUNTOS......................................................................226.2. CONFIGURAO DA REDE ..........................................................................................................226.3. TREINAMENTO...........................................................................................................................236.4. TESTE .......................................................................................................................................236.5. INTEGRAO.............................................................................................................................24

    7. APLICAES DE REDES NEURAIS ARTIFICIAIS .................................................................25

    8. EXEMPLO DE FUNCIONAMENTO DE UMA REDE NEURAL ...............................................29

    8.1. CARACTERSTICAS GERAIS.........................................................................................................298.2. TREINAMENTO DA REDE ............................................................................................................308.3. TESTES......................................................................................................................................32

    9. CONCLUSO................................................................................................................................34

    REFERNCIAS BIBLIOGRFICAS ...............................................................................................35

  • 31. Introduo

    Alguns anos aps os primeiros artigos e ensaios que marcaram os primrdios daneurocomputao2, Pierre de Latil, escreveu o livro O pensamento Artificial3, ondeencontra-se o seguinte trecho: Enquanto a inteligncia humana, como diz LouisCouffignal, no pode exercer sua ao mais do que sobre um nmero restrito deconceitos conservados pela memria e com um nmero limitado de operaes, amquina pode dispor de um nmero muito maior de conceitos e de regras lgicas. Amquina pode, pois, construir raciocnios dos quais o esprito humano incapaz.. Esteentusiasmo e fascnio demonstrado, sempre tem acompanhado o homem na sua histria,o qual tem desejado poder criar uma mquina que possa operar independentemente docontrole humano. Uma mquina cuja independncia seja desenvolvida de acordo comseu prprio aprendizado e que tenha a capacidade de iteragir com ambientes incertos(desconhecidos por ela), uma mquina que possa ser chamada de autnoma, inteligenteou cognitiva.

    Organismos humanos so uma fonte de inspirao para o desenvolvimentodestas mquinas. Eles proporcionam um vasto campo de aprendizado, onde pode-seavaliar e gerar algoritmos dos processos existentes, especialmente aqueles chamadoscognitivos.

    Enquanto hoje os computadores funcionam de modo seqencial, proporcionandomaior eficincia na resoluo de tarefas nas quais devem ser seguido determinadasetapas, o crebro humano funciona com processamento paralelo, e sendo extremamenteconectado (massivamente paralelo) mais eficiente na resoluo de tarefas que exigemum conjunto muito grande de variveis.

    Em funo de duas caractersticas essenciais, paralelismo e eficincia, tem sedesenvolvido nas ltimas dcadas vrias pesquisas que tentam espelhar o processamentodos computadores ao crebro.

    O desejo humano, de criar mquinas capazes de gerar pensamento inteligente,barrado pelo desempenho insatisfatrio das tcnicas de computao convencionais,levou cientistas e pesquisadores a buscar formas alternativas de computao. Entre estasformas esto as Redes Neurais Artificiais.

    A inteno do presente trabalho propiciar uma introduo ao tema de redesneurais artificiais, descrevendo em detalhes como o funcionamento das clulasnervosas, como foi possvel extrair um modelo lgico-matemtico que est permitindoos primeiros passos para espelhar o processamento cerebral aos computadores, e como,a partir da, chegou-se ao que hoje conhecido como Redes Neurais Artificiais.

    2 Os modelos neurais, procuram espelhar o processamento dos computadores ao crebro (paralelismo e eficincia) .[VELLASCO, 2000]O primeiro artigo que se tem referncia: A logical calculus of the ideas immanente in the nervous activity (1943) deMcCulloch e Pitts [RUSSELL & NORVIG, 1995]3 Escrito e publicado em 1952, teve traduo para o portugus, e no Brasil chegou terceira edio em1973, pela IBRASA (Instituio Brasileira de Difuso Cultural S.A.)

  • 4Este trabalho traz uma sntese histrica, mostrando os principais fatos quecolaboraram para o estado atual da arte. Explora todas as caractersticas das redesneurais artificiais, apresentando sua topologia, seu modo de operar, seu treinamento eaprendizagem. Com relao as aplicaes, mostra quais so os procedimentos para seudesenvolvimento, exemplifica os vrios tipos de uso atualmente encontrados,detalhando seu objetivo e funcionalidade.

  • 52. Por que Redes Neurais ?

    2.1. Uma Galxia Biolgica

    No so apenas as estrelas no universo, com sua impressionante quantidade,que fascinam o homem. Ao observar seu universo biolgico interno, ele vislumbra umagigantesca "galxia" com centenas de milhes de pequenas clulas nervosas queformam o crebro e o sistema nervoso; estas clulas comunicam-se umas com as outrasatravs de pulsos eletroqumicos para produzir diversas atividades que regem ocomportamento humano. [Cardoso, 2000]

    Fig. 01 - Crebro Humano

    O crebro humano considerado o mais fascinante processador baseado emcarbono existente, sendo composto por aproximadamente 10 bilhes de neurniosinterconectados, cada um podendo estabelecer de 1000 a 10.000 conexes com outrosneurnios. [Vellasco, 2000]

    Neurnios so clulas especializadas (figura 02). Eles so feitos para recebercertas coneces especficas, executar funes apropriadas e passar suas decises a umevento particular e este, a outros neurnios, que esto relacionados com aquele evento.

    Estas especializaes incluem: uma membrana celular, que especializada paratransportar sinais nervosos como pulsos eletroqumicos; o dendrito, (do grego dendron,ou rvore) que recebe e libera os sinais; o axnio (do grego axoon, ou eixo), o "cabo"condutor de sinais; e os pontos de contatos sinpticos, onde a informao pode serpassada de uma clula a outra. [Cardoso, 2000]

  • 61. Corpo Celular (soma) 2. Membrana 3. Dendritos 4. Axnio 5. Terminal Nervoso Pr-Sintico

    Fig. 02 Esquema Estrutural de um Neurnio

    Os neurnios diferem de outras clulas em um aspecto importante: elesprocessam informao.

    Os neurnios esto conectados uns aos outros atravs de sinapses4. Em mdiacada neurnio forma entre mil a dez mil sinapses, formando uma grande e complexarede, chamada REDE NEURAL. As sinapses transmitem estmulos atravs de diferentesconcentraes de Na+ (Sdio) e K+ (Potssio), e o resultado disto pode ser estendidopor todo o corpo humano.

    Na regio da sinapse dois neurnios entram em contato, e atravs dela osimpulsos nervosos5 so transmitidos entre eles. Os impulsos recebidos na dendrite porum neurnio A, em um determinado momento, so processados, e atingindo um dadolimiar de ao, o neurnio A dispara, produzindo uma substncia neurotransmissora queflui do corpo celular para o axnio, o qual, possui nas pontas da arborizao axonial(terminal nervoso pr-sintico), as sinpses, que podem estar conectadas a um dendrito

    4 Sinapses so junes formadas com outras clulas nervosas onde o terminal nervoso pr-sinptico de uma clula fazcontato com a membrana ps-sinaptica de outra. So nestas junes que os neurnios so excitados, inibidos oumodulados. Existem dois tipos de sinapses, a eltrica e a qumica.Sinapses Eltricas ocorrem onde o terminal pr-sinptico est em continuidade com o ps-sinptico. ons e pequenasmolculas passam por eles, conectando ento canais de uma clula a prxima, de forma que alteraes eltricas emuma clula so transmitidas quase instantaneamente prxima. Os ons podem gerar fluxos em ambos as direesdestas junes, embora eles tendam a ser unidirecionais.Sinpses Qumicas O modo de transmisso no eltrico, e sim carreado por neurotransmissores, substnciasneuroativas liberadas no lado pr-sinptico da juno. Existem dois tipos de junes qumicas. O tipo I uma sinapseexcitatria, geralmente encontrada em dendritos; o tipo II uma sinpse inibitria, geralmente encontrada em corposcelulares. Substncias diferentes so liberadas nestes dois tipos de sinapses.Cada boto terminal conectado a outros neurnios atravs de uma pequena fenda chamada sinpse. As caratersticasfsicas e neuroqumicas de cada sinapse determina a fora e polaridade do sono sinal de input. Mudando aconstituio de vrios neurotransmissores qumicos pode ocasionar um aumento ou diminuio da estimulao que adesporalizao do neurnio causa no dendrito vizinho. Alterando os neurotransmissores tambm altera a estimulao,que pode ser inibitria ou excitatria. [Cardoso, 2000]

    5 O impulso nervoso a transmisso de um sinal codificado de um dado estmulo ao longo da membrana do neurnio,a partir do ponto em que ele foi estimulado. Qualquer informao processada a partir de um impulso nervoso. Doistipos de fenmenos esto envolvidos no processamento do impulso nervoso: eltrico e qumico. Eventos eltricospropagam um sinal dentro do neurnio, e processos qumicos transmitem o sinal de um neurnio a outro ou a umaclula muscular. Processos qumicos sobre interaes entre neurnios ocorrem no final do axnio, chamado sinapse.Tocando intimamente com o dendrito de outra clula (mas sem continuidade material entre ambas as clulas), oaxnio libera substncias qumicas chamadas neurotransmissores, os quais se unem a receptores qumicos namembrana do neurnio seguinte. [Cardoso, 2000]

  • 7de um outro neurnio B (figura 02A). O neurotransmissor pode diminuir ou aumentar apolaridade da membrana ps-sinptica, inibindo ou excitando a gerao dos pulsos noneurnio B. Este processo depende de vrios fatores, como a geometria da sinapse e otipo de neurotransmissor. [RUSSELL & NORVIG, 1995]

    Fig. 02A Relao entre neurnios

    2.2. Redes Neurais Artificiais Sntese Histrica

    As primeiras informaes mencionadas sobre a neuro computao datam de1943, em artigos do neurofisiologista Warren McCulloch, do MIT, e pelo matemticoWalter Pitts da Universidade de Illinois, onde fizeram uma analogia entre clulasnervosas vivas e o processo eletrnico num trabalho publicado sobre "neurniosformais", simulando o comportamento do neurnio natural, onde o neurnio possuaapenas uma sada, que era uma funo da soma (threshold) do valor de suas diversasentradas (figura 03). O trabalho consistia num modelo de resistores variveis eamplificadores representando conexes sinpticas de um neurnio biolgico(Mathematical Bio-Physics, vol. 5, 1943, A Logical Calculus of Ideas Immanent inNervous Activity). [Vellasco, 2000]

    Fig. 03 - Neurnio artificial projetado por McCulloch e Pitts

  • 8 Em 1948, baseado na noo de loops de feedback negativos, Wieneresquematizou um modelo para aprendizagem em redes neurais.

    Um ano depois, Donald Hebb escreveu um livro entitulado "The Organization ofBehavior" (A organizao do Comportamento) que perseguia a idia de que ocondicionamento psicolgico clssico est presente em qualquer parte dos animais pelofato de que esta uma propriedade de neurnios individuais. Suas idias no eramcompletamente novas, mas o psiclogo Donald Hebb (1949) foi o primeiro a proporuma lei de aprendizagem especifica para as sinpses dos neurnios. [RUSSELL &NORVIG, 1995]

    Ele demostrou que a capacidade da aprendizagem em redes neurais vem daalterao da eficincia sinptica, isto , a conexo somente reforada se tanto asclulas pr-sinpticas quanto as ps-sinpticas estiverem excitadas. Este primeiro ecorajoso passo serviu de inspirao para que muitos outros pesquisadores perseguissema mesma idia.

    Em 1951, Marvin Minsky constri o primeiro neuro computador, denominadoSnark. O Snark operava com sucesso a partir de um ponto de partida tcnico, ajustandoseus pesos automaticamente, entretanto, ele nunca executou qualquer funo deprocessamento de informao interessante, mas serviu de inspirao para as idias deestruturas que o sucederam. [RUSSELL & NORVIG, 1995]

    Em 1956 no "Darthmouth College" nasceram os dois paradigmas da IntelignciaArtificial 6, a simblica e o conexionista. A Inteligncia Artificial Simblica tentasimular o comportamento inteligente humano desconsiderando os mecanismosresponsveis por tal. J a Inteligncia Artificial Conexionista acredita que construindo-se um sistema que simule a estrutura do crebro, este sistema apresentar inteligncia,ou seja, ser capaz de aprender, assimilar, errar e aprender com seus erros.[TATIBANA & KAETSU, 1999]

    Rosemblatt (1958) mostrou em seu livro Principles of Neurodynamics o modelodos "Perceptrons" (figura 04). Nele, os neurnios eram organizados em camada deentrada e sada, onde os pesos das conexes eram adaptados a fim de se atingir aeficincia sinptica. O primeiro neuro computador a obter sucesso (Mark I Perceptron)surgiu em 1957 / 1958, criado por Frank Rosenblatt, Charles Wightman e outros.[RUSSELL & NORVIG, 1995]

    6 A arte de criar mquinas que executam funes que requerem inteligncia quando executadas por possoas(Kurzweil, 1990)O estudo de como criar computadores para pensamentos, os quais, no momento as pessoas so melhores (Rich andKnight, 1991)O estudo de faculdades mentais para o uso em modelos computacionais (Charniak and McDermott, 1985)Um campo de estudo que busca explicar e emular comportamento inteligente em termos de processoscomputacionais (Schalkoff, 1990)O ramo da cincia da computao que trata a automao do comportamento inteligente (Luger and Stubblefield,1993) [RUSSELL & NORVIG, 1995]

  • 9Fig. 04 - Rede de perceptrons proposta por Rosemblatt

    Devido a profundidade de seus estudos, suas contribuies tcnicas e de suamaneira moderna de pensar, muitos o vem como o fundador da neuro computao naforma em que a temos hoje. Seu interesse inicial para a criao do Perceptron era oreconhecimento de padres.

    Aps Rosenblatt, Bernard Widrow, em 1960, com a ajuda de alguns estudantes,desenvolve um novo tipo de elemento de processamento de redes neurais chamado deAdaline (Adaptative Linear Network) e Madline (Many ADALINE), equipado com umapoderosa lei de aprendizado (figura 05).

    Fig. 05 - Redes ADALINE e MADALINE

    Nos anos seguintes, marcados por um entusiasmo exagerado de muitospesquisadores, os quais em parte, tiraram a credibilidade dos estudos da rea, porm,

  • 10

    dois bons livros foram editados neste perodo: Neurodynamics de Rosanblatt em 1962 eLearning Machines de Nilsson em 1965.

    O mais popular mtodo para aprendizado em redes de multicamadas chamadode back-propagation (retro-propagao). Ele foi inicialmente inventado em 1969 porBryson, mas foi ignorado at o inicio dos anos 80.

    Fig. 06 - Estrutura do mtodo Backpropagation

    Muitos histricos desconsideram a existncia de pesquisa nessa rea nos anos 60e 70 e apontam uma retomada das pesquisas com a publicao dos trabalhos do fsico ebilogo Hopfield (1982) relatando a utilizao de redes simtricas para otimizao,atravs de um algoritmo de aprendizagem que estabilizava uma rede binria simtricacom realimentao.

    As expresses da rede multicamada foram pesquisadas por Cybenko (1988;1989), o qual mostrou que duas camadas escondidas so suficientes para representarmuitas funes e uma simples camada suficiente para representar qualquer funocontnua.

    O problema de encontrar uma boa estrutura para uma rede multicamada foi oresolvido usando algoritmos genricos, por Harp e Miller (1990).

    Um dos tpicos de maior interesse atualmente em pesquisas de redes neurais, oemprego de hardware com processamento paralelo.

  • 11

    3. NeuroComputao

    Os modelos neurais, procuram aproximar o processamento dos computadores aocrebro. As redes neurais possuem um grau de interconexo similar a estrutura doscrebro. Em um computador convencional moderno a informao transferida emtempos especficos, dentro de um relacionamento com um sinal para sincronizao.[TAFNER, 1998]

    A tabela abaixo, traa um comparativo entre o crebro humano e o computador:

    Parmetro Crebro ComputadorMaterial Orgnico Metal e Plstico

    Velocidade Milisegundos NanosegundosTipo de Processamento Paralelo Seqencial

    Armazenamento Adaptativo EstticoControle de Processos Distribudo Centralizado

    Tabela 01 - Quadro comparativo entre crebro e o computador

    O mesmo paralelo pode ser traado comparando o computador com as redesneurais. Para tanto, a comparao no se dar com um computador especficoencontrado no mercado, mas sim com o paradigma predominante nos computadoresatuais.

    Computadores NeuroComputadoresExecuta Programas Aprende

    Executa Operaes Lgicas Executa operaes no lgicas,transformaes, comparaes

    Depende do Modelo ou do ProgramadorDescobre as relaes dos dados ouexemplos

    Testa uma Hiptese por vez Testa todas as possibilidades em paralelo

    Tabela 02 - Quadro comparativo entre computadores eneurocomputadores

    H um grande desejo humano de construir mquinas que tenham independnciade atuao, a qual, seja conseguida pelo aprendizado e capacidade de deciso daprpria mquina, para poder interagir com ambientes insalubres ao homem ou ondepossa substitu-lo em situaes de perigo, portanto, espera-se obter uma mquina queatue em ambiente desconhecido por ela, e portanto, teria-se um autnomo inteligente ecognitivo.

    O sucesso de uma mquina autnoma dependeria nica e exclusivamente de suacapacidade de lidar com uma variedade de eventos inesperados no ambiente em queopera. Estas mquinas teriam maior capacidade de aprender tarefas de alto nvelcognitivo que no so facilmente manipuladas por mquinas atuais, e continuariam a se

  • 12

    adaptar e realizar tais tarefas gradativamente com maior eficincia, mesmo que emcondies de ambiente imprevisveis. Ento, seriam muito teis onde a iterao humana perigosa, tediosa ou impossvel; como em reatores nucleares, combate ao fogo,operaes militares, explorao do espao a distncias em que uma nave espacial estariafora do alcance do controle na terra porm enviando informaes.

    A constituio e funcionamento de rgos humanos so uma fonte de motivaopara o desenvolvimento destas mquinas, e proporcionam diversas dicas para odesenvolvimento de algoritmos de aprendizado e adaptao. Assim, espera-se quealgumas das caractersticas de organismos biolgicos de aprendizado e adaptaoestejam presentes nas mesmas.

    Enquanto computadores funcionam de modo seqencial, proporcionando maioreficincia na resoluo de tarefas nas quais devem ser seguidas etapas. O crebrohumano funciona de modo paralelo, e sendo extremamente conectado mais eficientena resoluo de tarefas que exigem vrias variveis.

    O motivo pelo qual mquinas inspiradas na biologia so diferentes das mquinasatuais se encontra no fato de que as mquinas atuais baseiam seu processamentoexplicitamente em modelos matemticos.

    Baseado nas caractersticas de seres biolgicos, acredita-se que surgir em umfuturo prximo, uma gerao completa de novos sistemas computacionais, muito maiseficientes e inteligentes que os sistemas atuais.

  • 13

    4. Redes Neurais Artificiais e a Inteligncia Artificial

    As redes neurais artificiais consistem em um mtodo de solucionar problemas deinteligncia artificial, construindo um sistema que tenha circuitos que simulem ocrebro humano, inclusive seu comportamento, ou seja, aprendendo, errando e fazendodescobertas. Trata-se de tcnicas computacionais que apresentam um modelo inspiradona estrutura neural de organismos inteligentes e que adquirem conhecimento atravs daexperincia. [MENDES FILHO, 2000]

    Uma grande rede neural artificial pode ter centenas ou milhares de unidades deprocessamento, enquanto que o crebro de um mamfero pode ter muitos bilhes deneurnios.

    Apesar da complexidade das redes neurais no permitir uma nica definio, aslinhas seguintes seguem como uma tentativa das inmeras definies ou interpretaesdo que seja realmente uma rede neural.

    Um grafo direcionado um objeto geomtrico que consiste de um conjunto depontos, chamados ns (ou unidades), ao longo de um conjunto de segmentos de linhasdirecionadas entre eles (links). Uma rede neural uma estrutura de processamento deinformao distribuda paralelamente na forma de um grafo direcionado, com algumasrestries e definies prprias (figura 07).

    Fig. 07 Esquema da Rede Neural

    Os ns deste grafo so chamados elementos de processamento. Suas arestas soconexes, que funcionam como caminhos de conduo instantnea de sinais em umanica direo, de forma que seus elementos de processamento podem receber qualquernmero de conexes de entrada. Estas estruturas podem possuir memria local, etambm possuir qualquer nmero de conexes de sada desde que os sinais nestasconexes sejam os mesmos.

  • 14

    Portanto, estes elementos tem na verdade uma nica conexo de sada, que podedividir-se em cpias para formar mltiplas conexes, sendo que todos carregam omesmo sinal.

    Ento, a nica entrada permitida para a funo de transferncia (que cadaelemento de processamento possui) so os valores armazenados na memria local doelemento de processamento e os valores atuais dos sinais de entrada nas conexesrecebidas pelo elemento de processamento.

    Os nicos valores de sada permitidos a partir da funo de transferncia sovalores armazenados na memria local do elemento de processamento, e o sinal de sadado mesmo.

    A funo de transferncia pode operar continuamente ou episodicamente. Sendoque no segundo caso, deve existir uma entrada chamada "activate" que causa oativamento da funo de transferncia com o sinal de entrada corrente e com valores damemria local, e produzir um sinal de sada atualizado (ocasionalmente alterandovalores da memria). E no primeiro caso, os elementos esto sempre ativados, e aentrada "activate" chega atravs de uma conexo de um elemento de processamentoagendado que tambm parte da rede.

    Sinais de entrada para uma rede neural a partir de fora da rede chegam atravs deconexes que se originam do mundo externo, sadas da rede para o mundo externo soconexes que deixam a rede.

    De forma geral, a operao de uma clula da rede se resume em:

    Sinais so apresentados entrada; Cada sinal multiplicado por um peso que indica sua influncia na sada da

    unidade; feita a soma ponderada dos sinais que produz um nvel de atividade; Se este nvel excede um limite (threshold) a unidade produz uma sada;

    Assim como o sistema nervoso composto por bilhes de clulas nervosas, arede neural artificial tambm seria formada por unidades que nada mais so quepequenos mdulos que simulam o funcionamento de um neurnio. Estes mdulosdevem funcionar de acordo com os elementos em que foram inspirados, recebendo eretransmitindo informaes.

    O fisiologista Warrem MacCulloch interpretou o funcionamento do neurniobiolgico como sendo um circuito de entradas binrias combinadas por uma somaponderada (com pesos) produzindo uma entrada efetiva.

    No modelo geral de neurnio artificial (figura 08) as entradas W1Wp socombinadas usando uma funo F, para produzir um estado de ativao do neurnio(correspondente freqncia de descarga do neurnio biolgico).As entradas chegamatravs dos dentritos e tem um peso atribudo pela sinapse.

  • 15

    Fig. 08 - Modelo de McCulloch e Pitts

    A funo bsica de um neurnio somar as entradas e retornar uma sada, casoesse valor seja maior que o valor de soma (threshold).

    O neurnio artificial uma estrutura lgico-matemtica (figura 09) que procurasimular a forma, o comportamento e as funes de um neurnio biolgico. Assim sendo,os dendritos foram substitudos por entradas, cujas ligaes com o corpo celularartificial so realizadas atravs de elementos chamados de peso (simulando as sinapses).Os estmulos captados pelas entradas so processados pela funo de soma, e o limiarde disparo do neurnio biolgico foi substitudo pela funo de transferncia. [DENIZ,1998]

    Fig. 09 Representao Funcional do Neurnio Artificial

    4.1. A Rede Neural Artificial

    A rede neural artificial um sistema de neurnios ligados por conexessinpticas e dividido em neurnios de entrada, que recebem estmulos do meio externo,neurnios internos ou hidden (ocultos) e neurnios de sada, que se comunicam com oexterior.

  • 16

    A forma de arranjar perceptrons em camadas denominado MultilayerPerceptron. O multilayer perceptron foi concebido para resolver problemas maiscomplexos, os quais no poderiam ser resolvidos pelo modelo de neurnio bsico.

    Um nico perceptron ou uma combinao das sadas de alguns perceptronspoderia realizar uma operao XOR, porm, seria incapaz de aprend-la. Para isto sonecessrias mais conexes, os quais s existem em uma rede de perceptrons dispostosem camadas. [MENDES FILHO, 2000]

    Os neurnios internos so de suma importncia na rede neural pois provou-seque sem estes torna-se impossvel a resoluo de problemas linearmente no separveis.Em outras palavras pode-se dizer que uma rede composta por vrias unidades deprocessamento, cujo funcionamento bastante simples. Essas unidades, geralmente soconectadas por canais de comunicao que esto associados a determinado peso. Asunidades fazem operaes apenas sobre seus dados locais, que so entradas recebidaspelas suas conexes. [RUSSELL & NORVIG, 1995]

    O comportamento inteligente de uma Rede Neural Artificial vem das interaesentre as unidades de processamento da rede. A maioria dos modelos de redes neuraispossui alguma regra de treinamento, onde os pesos de suas conexes so ajustados deacordo com os padres apresentados; ou seja, elas aprendem atravs de exemplos.

    Arquiteturas neurais so tipicamente organizadas em camadas (figura 10), comunidades que podem estar conectadas s unidades da camada posterior. Por conveno acamada que inicialmente recebe os dados chamada de input (entrada), a camadaintermediria chamada de hidden (oculta) e por ltimo, a camada de sada. Cadacamada pode ter de 1 a n neurnios artificiais com as caractersticas apresentadas nafigura 09. [DHAR & STEIN, 1997]

    Fig. 10 - Organizao em camadas

  • 17

    A rede neural passa por um processo de treinamento a partir dos casos reaisconhecidos, adquirindo, a partir da, a sistemtica necessria para executaradequadamente o processo desejado dos dados fornecidos. Sendo assim, a rede neural capaz de extrair regras bsicas a partir de dados reais, diferindo da computaoprogramada, onde necessrio um conjunto de regras rgidas pr-fixadas e algoritmos.

    Usualmente as camadas so classificadas em trs grupos:

    Camada de Entrada: onde os padres so apresentados rede; Camadas Intermedirias ou Ocultas: onde feita a maior parte do processamento,

    atravs das conexes ponderadas; podem ser consideradas como extratoras decaractersticas;

    Camada de Sada: onde o resultado final concludo e apresentado.

    Redes neurais so tambm classificadas de acordo com a arquitetura em que foramimplementadas, topologia, caractersticas de seus ns, regras de treinamento, e tipos demodelos.

    4.2. Classificao de Redes Neurais

    Um dos objetivos da pesquisa sobre redes neurais na computao desenvolvermorfologias neurais matemticas, no necessariamente baseada na biologia, que podemrealizar funes diversas.

    Na maior parte dos casos, modelos neurais so compostos de muitos elementosno lineares que operam em paralelo e que so classificados de acordo com padresligados biologia.

    Quando um processo criado visando utilizar aspectos de redes neurais,comeam com o desenvolvimento de um neurnio artificial ou computacional, baseadono entendimento de estruturas biolgicas neurais, seguidas do aprendizado demecanismos voltados para um determinado conjunto de aplicaes. Ou em outraspalavras, seguindo as trs etapas:

    desenvolvimento de modelos neurais motivado por neurnios biolgicos; Modelos de estruturas e conexes sinpticas; aprendizado das regras (um mtodo de ajuste de pesos ou foras de conexes

    internodais)

    Por causa de diferenas entre algumas ou s vezes todas as entidades envolvidas,diferentes estruturas de redes neurais tem sido desenvolvidas por pesquisadores.

    Do ponto de vista estrutural, a arquitetura de redes neurais pode ser classificadacomo esttica, dinmica ou fuzzy (nebulosa), e de nica camada ou mltiplas camadas.Alm disso, diferenas computacionais surgem tambm quando se trata da maneira comque so feitas as conexes existentes entres os neurnios. Estas conexes podem serestritamente no sentido de ida, no sentido de ida e volta, lateralmente conectadas,topologicamente ordenadas ou hbridas.[VELLASCO, 2000]

  • 18

    A aplicao de redes neurais pode ser classificada em classes distintas:Reconhecimento de padres e Classificao; Processamento de imagem e viso;Identificao de sistema e controle e Processamento de sinais.

    importante verificar que uma determinada aplicao de um sistema baseadoem rede neural no precisa necessariamente ser classificada em apenas uma das citadasacima.

    4.3. Topologias de Redes Neurais Artificiais

    De acordo com Rummelhart, a rede neural deve possuir no mnimo duascamadas, a de entrada de dados e a da sada dos resultados. [RUSSELL & NORVIG,1995]

    Como a rede apresenta desempenho muito limitado com somente duas camadas,a adio de uma camada intermediria faz-se necessria. Neste tipo de configurao,cada neurnio est ligado com todos os outros das camadas vizinhas, mas neurnios damesma camada no se comunicam, alm da comunicao ser unidirecional,apresentando assim um comportamento esttico.

    J a rede neural de Hopfield apresenta comportamento dinmico e fluxo dedados multidirecional devido integrao total dos neurnios, desaparecendo assim aidia da camadas bem distintas (figura 11). Com isso seu funcionamento maiscomplexo, havendo certas complicaes, seja na fase de aprendizado quanto na fase detestes. Seu uso direcionado problemas de minimizao e otimizao, como porexemplo de percurso de caminhes. [VELLASCO, 2000]

    Fig. 11 - Modelos de Rummelhart e Hopfield

    H pesquisadores como Hecht - Nielsen, que afirmam que com apenas umacamada oculta j possvel calcular uma funo arbitrria qualquer a partir de dadosfornecidos. De acordo com Hecht - Nielsen, a camada oculta deve ter por volta de 2i+1neurnios, onde i o nmero de variveis de entrada. Outros, no caso de Cybenko,defendem o uso de duas camadas ocultas. [TATIBANA & KAETSU, 1999]

    No caso de Kudrichy, empiricamente observou-se que para cada 3 neurnios daprimeira camada oculta era preciso um da segunda camada.

  • 19

    J Lippmann afirma que a segunda camada oculta deve ter o dobro de neurniosda camada de sada. No caso de apenas uma camada oculta ela dever ter s(i+1)neurnios, onde s o nmero de neurnios de sada e i o nmero de neurnios naentrada. Em redes pequenas o nmero de neurnios da camada oculta pode ser a mdiageomtrica entre o nmero de neurnios de entrada pelo nmero de neurnios de sada.[TATIBANA & KAETSU, 1999]

    Independente de cada abordagem, quanto mais camadas de neurnios, melhor o desempenho da rede neural pois aumenta a capacidade de aprendizado, melhorando apreciso com que ela delimita regies de deciso. Estas regies de deciso sointervalos fixos onde a resposta pode estar. [VELLASCO, 2000]

    A camada de entrada possui um neurnio especial chamado de "bias" e servepara aumentar os graus de liberdade, permitindo uma melhor adaptao, por parte darede neural, ao conhecimento ela fornecido.

  • 20

    5. Processos de Aprendizado de uma Rede Neural Artificial

    A propriedade mais importante das redes neurais a habilidade de aprender deseu ambiente e com isso melhorar seu desempenho. Isso feito atravs de um processoiterativo de ajustes aplicado a seus pesos: o treinamento. [RUSSELL & NORVIG,1995]

    O aprendizado ocorre quando a rede neural atinge uma soluo generalizadapara uma classe de problemas.

    Denomina-se algoritmo de aprendizado a um conjunto de regras bem definidaspara a soluo de um problema de aprendizado. Existem muitos tipos de algoritmos deaprendizado especficos para determinados modelos de redes neurais, estes algoritmosdiferem entre si principalmente pelo modo como os pesos so modificados.Aprendizagem, para uma rede neural, envolve o ajuste destes pesos. [DHAR & STEIN,1997]

    A rede neural se baseia nos dados para extrair um modelo geral. Portanto, a fasede aprendizado deve ser rigorosa e verdadeira, a fim de se evitar modelos esprios.

    Todo o conhecimento de uma rede neural est armazenado nas sinapses, ou seja,nos pesos atribudos s conexes entre os neurnios. De 50 a 90% do total de dadosdeve ser separado para o treinamento da rede neural, dados estes escolhidosaleatoriamente, a fim de que a rede "aprenda" as regras e no "decore" exemplos. Orestante dos dados s apresentado rede neural na fase de testes a fim de que ela possa"deduzir" corretamente o inter-relacionamento entre os dados. [VELLASCO, 2000]

    Outro fator importante a maneira pela qual uma rede neural se relaciona com oambiente. Nesse contexto existem os seguintes paradigmas de aprendizado:

    a) Por independncia de quem aprende

    As Redes Neurais Artificiais aprendem por memorizao, contato, exemplos, poranalogia, por explorao e tambm por descoberta.

    b) Por retroao do mundo

    Diz respeito a ausncia ou presena de realimentao explcita do mundo exterior,ou seja, que em certos intervalos de tempo um agente assinala acertos e erros.

    b.1) Aprendizado Supervisionado: utiliza um agente externo que indica redeum comportamento bom ou ruim de acordo com o padro de entrada

    b.2) Aprendizado No Supervisionado (auto-organizao): no utiliza um agenteexterno indicando a resposta desejada para os padres de entrada; utiliza-seentretanto, exemplos de coisas semelhantes para que a rede responda de maneirasemelhante.

  • 21

    c) Por Finalidade do Aprendizado

    c.1) Auto-associador: apresentada rede uma coleo de exemplos para que elamemorize. Quando se apresenta um dos elementos da coleo de exemplos mas demodo errneo, a rede deve mostrar o exemplo original, funcionando assim como umfiltro.

    c.2) Hetero-associador: uma variao do Auto-associador, mas que se memorizaum conjunto de pares. O sistema aprende a reproduzir o segundo elemento do parmesmo que o primeiro esteja pouco modificado, funcionando desta maneira comoum reconhecedor de padres.

    necessrio tambm que exista um Detector de Regularidades, que nada mais que um reconhecedor de padres em que o sistema deve se auto-organizar e criarpadres possveis.

    Podemos denominar ainda ciclo como sendo uma apresentao de todos os Npares (entrada e sada) do conjunto de treinamento no processo de aprendizado. Acorreo dos pesos num ciclo pode ser executado de dois modos:

    Modo Padro: A correo dos pesos acontece a cada apresentao rede de umexemplo do conjunto de treinamento. Cada correo de pesos baseia-se somente noerro do exemplo apresentado naquela iterao. Assim, em cada ciclo ocorrem Ncorrees.

    Modo Batch: Apenas uma correo feita por ciclo. Todos os exemplos do conjuntode treinamento so apresentados rede, seu erro mdio calculado e a partir desteerro fazem-se as correes dos pesos.

  • 22

    6. Desenvolvimento de Aplicaes

    A nvel da tecnologia da informao, todo desenvolvimento de artefato desoftware ou elementos inerentes, devem estar acompanhados de um conjunto de etapasbem definidas, j que o desenvolvimento e a implantao de projetos de sistemas sofrema influncia de inmeros fatores tcnicos, organizacionais e gerenciais que, combinados,conduzem a um complexo quadro de decises envolvendo a gerncia de tecnologia,recursos humanos, prazos e custos. [KUGLER & ARAGON FERNANDES, 1990]

    6.1. Coleta de Dados e Separao em Conjuntos

    Os dois primeiros passos do processo de desenvolvimento de redes neuraisartificiais so a coleta de dados relativos ao problema e a sua separao em um conjuntode treinamento e um conjunto de testes.

    Esta tarefa requer uma anlise cuidadosa sobre o problema para minimizarambigidades e erros nos dados. Alm disso, os dados coletados devem sersignificativos e cobrir amplamente o domnio do problema; no devem cobrir apenas asoperaes normais ou rotineiras, mas tambm as excees e as condies nos limites dodomnio do problema.

    Normalmente, os dados coletados so separados em duas categorias: dados detreinamento, que sero utilizados para o treinamento da rede e dados de teste, que seroutilizados para verificar sua performance sob condies reais de utilizao.

    Alm dessa diviso, pode-se usar tambm uma subdiviso do conjunto detreinamento, criando um conjunto de validao, utilizado para verificar a eficincia darede quanto a sua capacidade de generalizao durante o treinamento, e podendo serempregado como critrio de parada do treinamento. [TATIBANA & KAETSU, 1999]

    Depois de determinados estes conjuntos, eles so geralmente colocados emordem aleatria para preveno de tendncias associadas ordem de apresentao dosdados. Alm disso, pode ser necessrio pr-processar estes dados, atravs denormalizaes, escalonamentos e converses de formato para torn-los maisapropriados sua utilizao na rede.

    6.2. Configurao da Rede

    A configurao da rede pode ser dividida em trs etapas:

    a) Seleo do paradigma neural apropriado aplicao.

    b) Determinao da topologia da rede a ser utilizada - o nmero de camadas, o nmerode unidades em cada camada, etc.

  • 23

    c) Determinao de parmetros do algoritmo de treinamento e funes de ativao.

    Este passo tem um grande impacto na performance do sistema resultante.Normalmente estas escolhas so feitas de forma emprica. A definio da configuraode redes neurais ainda considerada uma arte, que requer grande experincia dosprojetistas.

    6.3. Treinamento

    Nesta fase, seguindo o algoritmo de treinamento escolhido, sero ajustados ospesos das conexes. importante considerar, nesta fase, alguns aspectos tais como ainicializao da rede, o modo de treinamento e o tempo de treinamento.

    Uma boa escolha dos valores iniciais dos pesos da rede pode diminuir o temponecessrio para o treinamento. Normalmente, os valores iniciais dos pesos da rede sonmeros aleatrios uniformemente distribudos, em um intervalo definido. A escolhaerrada destes pesos pode levar a uma saturao prematura. Nguyen e Widrowencontraram uma funo que pode ser utilizada para determinar valores iniciaismelhores que valores puramente aleatrios. [TATIBANA & KAETSU, 1999]

    Quanto ao modo de treinamento, na prtica mais utilizado o modo padrodevido ao menor armazenamento de dados, alm de ser menos suscetvel ao problemade mnimos locais, devido pesquisa de natureza estocstica que realiza. Por outro lado,no modo batch pode tornar o treinamento mais estvel. A eficincia relativa dos doismodos de treinamento depende do problema que est sendo tratado. [VELLASCO,2000]

    Quanto ao tempo de treinamento, vrios fatores podem influenciar a suadurao, porm sempre ser necessrio utilizar algum critrio de parada. O critrio deparada do algoritmo backpropagation no bem definido, e geralmente utilizado umnmero mximo de ciclos. Mas, devem ser considerados a taxa de erro mdio por ciclo,e a capacidade de generalizao da rede. Pode ocorrer que em um determinado instantedo treinamento a generalizao comece a degenerar, causando o problema de over-training, ou seja a rede se especializa no conjunto de dados do treinamento e perde acapacidade de generalizao. [RUSSELL & NORVIG, 1995]

    O treinamento deve ser interrompido quando a rede apresentar uma boacapacidade de generalizao e quando a taxa de erro for suficientemente pequena, ouseja menor que um erro admissvel. Assim, deve-se encontrar um ponto timo de paradacom erro mnimo e capacidade de generalizao mxima.

    6.4. Teste

    O quinto passo o teste da rede. Durante esta fase o conjunto de teste utilizadopara determinar a performance da rede com dados que no foram previamenteutilizados. A performance da rede, medida nesta fase, uma boa indicao de suaperformance real.

  • 24

    Devem ser considerados ainda outros testes como anlise do comportamento darede utilizando entradas especiais e anlise dos pesos atuais da rede, pois se existiremvalores muito pequenos, as conexes associadas podem ser consideradas insignificantese assim serem eliminadas (prunning). De modo inverso, valores substantivamentemaiores que os outros poderiam indicar que houve over-training da rede.

    6.5. Integrao

    Finalmente, com a rede treinada e avaliada, ela pode ser integrada em umsistema do ambiente operacional da aplicao. Para maior eficincia da soluo, estesistema dever conter facilidades de utilizao como interface conveniente e facilidadesde aquisio de dados atravs de planilhas eletrnicas, interfaces com unidades deprocessamento de sinais, ou arquivos padronizados.

    Uma boa documentao do sistema e o treinamento de usurios so necessriospara o sucesso do mesmo.

    Alm disso, o sistema deve periodicamente monitorar sua performance e fazer amanuteno da rede quando for necessrio ou indicar aos projetistas a necessidade deretreinamento. Outras melhorias podero ainda ser sugeridas quando os usurios foremse tornando mais familiares com o sistema, estas sugestes podero ser muito teis emnovas verses ou em novos produtos.

  • 25

    7. Aplicaes de Redes Neurais Artificiais

    Aplicaes de redes neurais so inmeras.

    comum que a primeira informao que se tenha sobre a aplicao das redesneurais, seja atravs de leitura a respeito das tcnicas no prognstico de mercadosfinanceiros. Grupos de investimento conhecidos utilizam redes neurais para analisarpelo menos uma parte do mercado financeiro e fazerem suas selees. [LIN &BRUWER, 1996]

    O reconhecimento de caracteres, independente do meio, embora o tico sejamais conhecido (OCR), outro tipo de aplicao que j existe e est crescendo, e embreve estaremos em constante contato com esse tipo de aplicao. [YAGER, 1998]

    O reconhecimento de caracteres a converso da imagem de um texto (conjuntode pontos cujo elemento representado nesta imagem no est identificado), utilizando-sede tcnicas de reconhecimento de padres, e permitindo identificar os elementos taiscomo: letras, algarismos e demais smbolos contidos na imagem. Hoje os melhoresOCR (Optical Character Recognizer) so baseados em redes neurais artificiais, ondeestes recebem como entrada uma imagem digital e tem como sada os caracteres(ASCII) que so reconhecidos nesta imagem. Este tipo de software evoluiu muito nosltimos anos e hoje tem ndices de acerto de mais de 90%. Mesmo quando se trata detextos escritos a mo livre, este percentual permanece alto, considerando que a maioriadas redes ainda no consegue entender o contexto do texto que est sendo convertido, eportanto, no pode usar a estrutura das frases para lhe auxiliar no reconhecimento,artifcio que os seres humanos utilizam inconscientemente todos os dias

    Outras aplicaes bem sucedidas das tcnicas de redes neurais artificiais so:controle de processos industriais, aplicaes climticas, identificao de fraude decarto de crdito, e Marketing; onde tem sido verificado uma aderncia muito grandequanto a aplicao de redes neurais. [LIN & BRUWER, 1996]

    Um banco americano chamado Mellon Bank instalou um sistema de deteco defraudes de carto de crdito implementado com tcnicas de redes neurais e os prejuzosevitados pelo novo sistema conseguiram cobrir os gastos de instalao em seis meses.

    Vrios outros bancos comeam a utilizar sistemas baseados em redes neuraispara controlar fraudes de carto de crdito. Estes sistemas tm a capacidade dereconhecer uso fraudulento com base nos padres criados no passado com uma precisomelhor que em outros sistemas.

    Outro exemplo da utilizao de redes neurais para melhoria na tomada dedecises no diagnstico mdico. Em seu aprendizado, so submetidos uma srie dediagnsticos de pacientes, de vrias caractersticas, com vrios sintomas e os resultadosde seus testes. Tambm sero fornecidos os diagnsticos mdicos para cada doena.Ento quando forem apresentados os dados de um novo paciente, com seus sintomas, arede fornecer um diagnstico para os novos casos. Isto essencialmente criar umsistema com o conhecimento de vrios mdicos, e fornecer um diagnstico inicial emtempo real a um mdico. [CARDOSO, 2000]

  • 26

    Ainda na medicina a utilizao de redes neurais artificiais encontram vriosnichos de aplicao, alm dos j enfatizados. Como exemplo de outras aplicaes pode-se citar as bases de dados usadas para o aprendizado, tais como: Breast CancerDatabase (diagnstico de cncer) e Lung Cancer, Tyroid disease, audiology data.Vrias destas bases de dados podem ser encontradas no UCI Repository of MachineLearning Databases na INTERNET no endereo ftp://ics.uci.edu/pub/machine-learning-databases: README ou http:// www.ics.uci.edu/~mlearn/MLRepository.html.

    Segue exemplos de outros tipos aplicaes para redes neurais:

    Anlise e Reconhecimento da Fala

    Outra aplicao das redes neurais artificiais o reconhecimento da fala, nestarea j existem redes que conseguem responder perguntas sobre assuntos especficos,como por exemplo a reservas em um vo. Atravs desta implementao o usurio podefazer perguntas simples, como quais so os vos disponveis para um determinado localou preos das passagens. Cabe observar que a razo de se limitar o assunto a umdeterminado tema a menor complexidade. Este software est sendo desenvolvido noMIT no Media Lab e em breve poder estar disponvel para o uso comercial. Um dosmodelos mais utilizados na atualidade no reconhecimento de voz a combinao detcnicas como HMM (Hidden Markov Model - modelo probabilstico) juntamente comas redes neurais. Um exemplo o projeto Europeu ESPRIT7 que estuda este tipo deaplicaes.

    Anlise de Imagem

    O Inpe (Instituto Nacional de Pesquisas Espaciais) desenvolve redes neuraisartificiais que permitem reconhecer e analisar as imagens geradas por satlite8. Esteprocesso por sua vez de grande utilidade no trabalho de identificao dos tipos desolo, obtendo-se as informaes com maior rapidez e maior preciso, tambm degrande utilidade na determinao da melhor semente e tcnica de cultivo em cada umdeles. Alm disso, permite um grande aumento na preciso das previses do tempo, queenvolvem uma massa muito grande de dados a serem analisados.

    Sntese de Voz

    Para este tpico, apresenta-se como exemplo o Nettalk9, que fruto do estudo dagerao de fala por redes neurais artificiais, a partir da interpretao de um texto.

    O objetivo do trabalho era treinar uma rede neural artificial para produzir osfonemas corretos, dando como entrada uma cadeia de letras.

    7 maiores informaes podem ser obtidas na INTERNET no endereo:http://circwww.epfl.ch/data/general/esprit_descrip.html8 Mais informaes sobre utilizao de redes neurais artificiais pelo Inpe podem ser obtidas na INTERNET noendereo http://www. met.inpe.br/pub-html/person/wei.html.9A referencia deste material encontra-se na INTERNET no endereo abaixo:http://www.cs.cmu.edu/afs/cs/project/connect/bench/nettalk.html.

  • 27

    Neste projeto a palavra digitada (atravs do teclado) e a rede neural artificialdeve gerar os sons correspondentes a palavra digitada.

    O problema em produzir os fonemas corretos, que existem palavras como porexemplo 'letra' e 'alfabeto' em que a grafia da letra 'e' a mesma, mas a pronncia do edifere completamente de uma palavra para a outra.

    Outro exemplo encontra-se nas palavras 'tra-balho' e 'ba-nco', s que neste casolevando em considerao a letra a. A pronncia da letra pode ser diferente dependendoda palavra onde empregada, muito embora a escrita seja igual.

    O que a rede faz basear-se no contexto (nas letras que antecedem e sucedem aletra a qual deve ser gerado o fonema), tentando aprender como se faz a pronncia dediferentes palavras (como converter uma entrada textual em uma sada fontica).

    Para o trabalho de implementao, foi criado um banco de 20.008 palavrasinglesas (uma lista destas palavras pode ser encontrada no endereoftp://ftp.cs.cmu.edu/afs/cs/project/connect/bench/nettalk.data).

    A entrada da rede uma srie de sete letras consecutivas de uma das palavrastreinadas onde esta seqncia denominada de janela de entrada. A letra central naseqncia a letra atual, sendo esta a letra para a qual a sada fontica deve sergerada. As trs letras restantes de cada lado da central, provem o contexto para ajudar adeterminar a pronncia. Neste estudo as palavras so deslocadas de um lado paraoutro dentro da janela de entrada para permitir que cada letra da palavra fique naposio central.

    Uma codificao unria foi usada, para cada uma das sete letras de entrada, arede tem um grupo de 29 neurnios de entrada (um para cada uma das 26 letras doalfabeto ingls e trs para caracteres de pontuao), portanto, so no total 29 x 7 = 203neurnios de entrada.

    A sada da rede usa uma representao distribuda dos fonemas, existem 21neurnios de sada representando vrias articulaes como a fala e peso da vogal.Cada fonema representado por um vetor binrio, e ainda h cinco neurnios querepresentam o stress e as slabas.

    Foi usado o algoritmo de Back-propagation para alterar os pesos dos neurnios,o nmero de neurnios nos nveis intermedirios variou de 0 a 120, cada nvel estavatotalmente conectado com o prximo, no caso de 0 nveis intermedirios, o nvel deentrada estava totalmente conectado com o de sada.

    Foram feitas vrias simulaes com diferentes nmeros de neurnios nos nveisintermedirios, os testes foram feitos com 0, 15, 30, 60 e 120 neurnios, e com umsubgrupo de 1000 palavras mais utilizadas na lngua inglesa.

    Com 0 neurnios nos nveis intermedirios a melhor performance foi de 82% decorreo. A taxa de aprendizado e performance final aumentou firmemente com oaumento do nmero de nveis intermedirios, chegando a 98% com 120 neurnios.

  • 28

    A rede de 120 neurnios intermedirios, inicialmente alcanou 80% aps umtreinamento de 5000 apresentaes de palavras ( cinco vezes todo o subgrupo depalavras), e 98% foi alcanado aps 30.000 apresentaes.

    A esta rede pr-treinada de 120 neurnios intermedirios foi apresentado todo oconjunto de 20.008 palavras, sem nenhum treinamento adicional (alm do feito com ogrupo de 1000), e o ndice de acerto foi de 77%. Depois de um treinamento de cincopassagens por todo o grande grupo, o ndice de acerto foi para 90%.

  • 29

    8. Exemplo de Funcionamento de uma Rede Neural

    H vrios softwares de redes neurais artificiais atualmente no mercado. Algunsexemplos so: Qnet 2000, NeuroSolutions, EasyNN, NetBrain e Character Recognition.

    Entre eles h diferenas com relao a forma de constituir a topologia da rede, jque, em geral, a quantidade de entradas, sadas e camadas intermedirias (input, outputand hidden layers) so configurveis, e dependem do tipo de problema que se esperaresolver, e para tanto, imprescindvel que haja o correto mapeamento dos dados que sepretende analisar em conjuntos entrada/sada representativos.

    Tambm pode haver diferenas com relao a forma com que os dados seroinformados a rede (input). Isto pode variar desde a entrada por digitao (em muitoscasos uma matriz, uma das formas mais comuns), desenho manual de imagem commouse (hand-drawn image), mesa digitalizadora, arquivo de imagem e outras interfacesdiversas.

    O software escolhido para esta exemplificao foi o Character Recognitionversion 3.53 (figura 12); pelo fato de que qualquer pessoa poder facilmente t-lo emmos, j que trata-se de um freeware, alm de que, na sua simplicidade ser capaz demostrar o potencial de aprendizado supervisionado de uma rede neural artificial.

    Fig. 12 Informaes sobre Character Recognition

    O Character Recognition utiliza uma grande (mas simples) cadeia neural paraaprender e reconhecer padres. Dado a sua finalidade, a topologia da rede j est pr-montada, no sendo possvel alterar ou parametrizar as camadas intermedirias, entradae sada.

    8.1. Caractersticas Gerais

    Aps o desenho manual livre de uma letra, ou a importao mediante abertura deum arquivo de imagem (bmp, wmf, ico), ocorre o processo de transcrio do desenho(digitalizao) para uma matriz de 8 X 6, a qual, por sua vez, forma a camada de

  • 30

    entrada da rede. Esta fase de input dos dados serve tanto para o treinamento quanto parao reconhecimento do caracter, aps a rede ter sido treinada.

    Internamente, o sistema est topologicamente montado com trs camadasintermedirias (three hidden layes), contendo 768, 192 e 30 unidade de processamento(neurnios artificiais) respectivamente. Cada possvel resposta representado por umnico neurnio de sada, conforme ilustrao da figura 13.

    Fig. 13 Ilustrao da relao da camada de input com a de output(estando omisso as camadas intermedirias)

    Como na maioria das redes neurais, a programao ocorre nos vnculos (links)entre os neurnios. A sada de um neurnio, conseqente entrada em outro, pode serpositiva (1) ou negativa (0), este vnculo contribui no neurnio de entrada com um valorponderado de acordo com o seu peso. Na camada de sada, onde chega ao fim estacadeia de sumarizao, o neurnio com pontuao mais alta, considerado vencedor.Este neurnio, por sua vez, em nosso caso, representar o caracter reconhecido. Emcaso de erro, indica-se para a rede, qual seria o caracter correto e ela, automaticamente,refaz os valores dos pesos relacionados aos vnculos (links), ou seja; aprende mediante otreinamento supervisionado.

    8.2. Treinamento da Rede

    Inicialmente, o Character Recognition apresenta uma tela conforme mostra afigura 14. Em nosso exemplo, o primeiro passo para operar a rede, uma vez que suatopologia j est montada, fazer o treinamento da mesma. Este treinamento chamadode treinamento supervisionado, porque vamos faz-lo em duas etapas.

  • 31

    Fig. 14 Abertura para input no software CharacterRecognition

    Na primeira, vamos desenhar manualmente (hand-drawn image) a imagem decada um dos caracteres numricos (de 0 a 9) a associ-los ao caracter correspondente,mostrando essa associao para a rede, a fim de que ela aprenda. Assim, no quadro daesquerda, utilizando o mouse desenhamos o nmero um. Em seguida indicamos aosoftware para digitalizar, clicando o boto Digitize, e obtivemos o resultado conformemostra a figura 15. Observe na matriz ao centro da tela, que os quadros pretos soaqueles que, pela digitalizao, receberam pesos positivos, na camada de entrada darede.

    Fig. 15 Digitalizao do Nmero Desenhado

  • 32

    Em seguida, vamos clicar no boto Add, o que permitir associar a imagemdigitalizada um determinado caracter. No caso, bvio, vamos digitar 1. Em seguida,vamos clicar no boto Learn (Aprenda). A a rede ir fazer os ajustes de seus pesos paraque mediante aquela entrada, ela informe a sada conforme aprendido (figura 16). Omais importante neste mecanismo, que ao desenhar-se novamente o nmero um, nose faa exatamente na forma como originariamente a rede aprendeu, porm elaconsegue filtrar pequenas distores e informar corretamente a resposta. A capacidadeque ela ter para esta flexibilizao de interpretao est diretamente ligada aquantidade de treinamento que ela receber.

    Fig. 16 Aprendizado Efetivado Mediante TreinamentoSupervisionado

    8.3. Testes

    A Segunda etapa do treinamento, consiste em fazer vrios testes, vamosdesenhar vrios nmeros, solicitando o reconhecimento pela rede. Primeiro desenha-seum nmero manualmente utilizando-se o mouse, depois clica-se em Digitize, e emseguida clica-se Recognize.

    A rede dever mostrar no quadro ao lado direito na tela, em ordem decrescente,quais os caracteres que ele indica, sendo que o primeiro da lista o considerado corretopor ela.

    Pode haver um empate, conforme exemplo da figura 17, neste caso sernecessrio trein-la, indicando o correto.

  • 33

    Fig. 17 Empate no reconhecimento de caracter ( 4 e 1 - 42 % cada )

    Para o desempate, clica-se no caracter correto e em seguida no boto Learn. Arede ir ajustar os pesos dos links para a correta sada mediante aquele padro deentrada. Aps esta correo, em nosso exemplo, foi feito nova tentativa dereconhecimento, desta vez, fizemos o numero um em formato at ento no apresentadopara a rede (com inclinao superior para a esquerda, conforme mostra a figura 18), e arede corretamente reconheceu o caracter.

    Fig. 18 Reconhecimento do nmero um, apesar de estar fora dopadro

  • 34

    9. Concluso

    As redes neurais tem mostrado resultados positivos em um espao de tempomais curto que outras tcnicas de criao de bases de conhecimentos, para aplicaesque tratam problemas pouco ou nada estruturados, com dados incompletos ouparcialmente incorretos. Mesmo ainda estando em um estgio muito prematuro, temencontrado vrios nichos de aplicao.

    O entendimento e a criao das redes neurais uma tarefa bem mais simples quea criao de inmeros outros sistemas, e bem mais flexvel que uma vasta gama deaplicaes especialistas. Esta flexibilidade permite s redes neurais fazerem anlisesmais finas pouco perceptveis por tcnicas tradicionais ou dificilmente formalizveis apartir do conhecimento subjetivo de um especialista.

    A expectativa de que venha a existir uma grande evoluo do paradigmaexistente, permitindo a extenso de sua aplicao a outros sistemas, para os quais, aindahoje, o processamento convencional parece ser mais apropriado. E, quem sabe, o desejohumano, de criar mquinas capazes de gerar pensamento inteligente, barrado pelodesempenho insatisfatrio das tcnicas de computao convencionais, ser sobreposto,para o bem comum.

  • 35

    Referncias Bibliogrficas

    [CARDOSO, 2000] CARDOSO, Silvia Helena, Home Page Neurnios: NossaGalxia Interna. Universidade de Campinas, SP,http://www.nib.unicamp.br/~cardoso, consulta em 28/03/2000.

    [DENIZ, 1998] DENIZ, Juan C., Home Page Neural Network Theory.MIT Massachusetts Institute of Technology,http://web.mit.edu/denis/www/FuncAppx/Theory.html, consulta em 30/03/2000.

    [DHAR & STEIN, 1997] DHAR, Vasant E STEIN, Roger. Seven Methods for Transforming Corporate Data Into Business Intelligence. Prentice-Hall, New Jersey, 1997, p.77-106.

    [KUGLER & ARAGON FERNANDES, 1990] KLUGER, Jos L.C. e ARAGON FERNANDES, Aguinaldo. Gerencia de Projeto de Sistemas. LTC, RJ, 2 Ed., 1990, p.59-149.

    [LIN & BRUWER, 1996] LIN, Binshan e BRUWER, Johan. Neural Network applications in Marketing. Journal of Computer / Information Systems, vol. 36, no. 2, 1996.

    [MENDES FILHO, 2000] MENDES FILHO, Elson Felix, Home Page Redes Neurais Artificiais. Universidade de So Paulo, SP, http://www.icmsc.sc.usp.br/~prico/neural1.html, consulta em 07/04/2000.

    [RUSSELL & NORVIG, 1995] RUSSELL, Stuart E NORVIG, Peter. Artificial Intelligence - A Modern Approach. Prentice-Hall, New Jersey, 1995, p.563-597.

    [TAFNER, 1998] TAFNER, Malcon Anderson, Home Page Redes Neurais Artificiais, aprendizado e plasticidade. Revista Crebro e Mente, Maro, 1998, http://www.epub.org.br/cm, consulta em 02/04/2000.

    [TATIBANA & KAETSU, 1999] TATIBANA, Cassia Yuri E KAETSU, Deisi Yuki. Uma Introduo s Redes Neurais. Departamento de Informtica. Universidade Estadual de Maringa PR, http://www.din.uem.br/ia/, consulta em 03/04/2000.

    [VELLASCO, 2000] VELLASCO, Marley Maria B.R, Home Page Redes Neurais.ICA: Ncleo de Pesquisa em Inteligncia Computacional Aplicada PUC - Rio,http://www.ele.puc-rio.br/labs/ica/icahome.html, consulta em 25/03/2000.

    [YAEGER, 1998] YAEGER, Larry S. et alii. Artificial Neural Networks & Handwriting Recognition. AI Magazine, Official publication of the American Association for Artificial Intelligence, vol. 19, no. 1, 1998.