Sunteți pe pagina 1din 23

INSTITUTO LUTERANO DE ENSINO SUPERIOR DE ITUMBIARA GOIS ANDRIELLE AZEVEDO DE PAULA

REDES NEURAIS ARTIFICIAIS

Itumbiara, maio de 2010. INSTITUTO LUTERANO DE ENSINO SUPERIOR DE ITUMBIARA GOIS ANDRIELLE AZEVEDO DE PAULA

REDES NEURAIS ARTIFICIAIS

Trabalho apresentado ao curso de Sistemas de Informao, 5 perodo, do Instituto Luterano de Ensino Superior de Itumbiara Gois, como requisito parcial de avaliao pelo Professor Daniel Humberto Carrara de Azevedo.

Itumbiara, maio de 2010. SUMRIO


2.1 2.2 2.3 3.1 6.1 6.2 APRENDIZADO..................................................................................................................9 GENERALIZAO...............................................................................................................9 ABSTRAO..................................................................................................................10 ALGORITMO DE APRENDIZADO BACKPROPAGATION.......................................................................12 PERCEPTRON COM UMA CAMADA...........................................................................................15 PERCEPTRONS MULTI-CAMADAS............................................................................................16

INTRODUO Desde muito tempo, os processos intelectivos foram estudados, tendo sempre sido uma curiosidade ao ser humano. Com a Revoluo Industrial, o advento da tecnologia e o avano dos processos automticos, vrios estudos se fizeram presentes ao cotidiano dos que buscavam ampliar as estratgias de reduo de problemas de controle de sistemas que apresentavam caractersticas no-lineares, assim como as perspectivas de estruturas de 3

mquinas inteligentes que pudessem substituir o homem em vrias atividades. Entre estes estudos, os computadores baseados na mquina de Von Newmann deram ao mundo novas perspectivas. Mas foi o desenvolvimento das tcnicas que imitam o comportamento do crebro humano que fez muitos destes objetivos serem atingidos, e que se ampliaram bastante nos ltimos tempos. Entre estes, encontram-se as Redes Neurais Artificiais, que iniciaram uma nova era nas estratgias de dar cognio e inteligncia s mquinas. O sistema nervoso formado por um conjunto extremamente complexo de clulas, os neurnios. Eles tm um papel essencial na determinao do funcionamento e comportamento do corpo humano e do raciocnio. Os neurnios so formados pelos dendritos, que so um conjunto de terminais de entrada, pelo corpo central, e pelos axnios que so longos terminais de sada. Os neurnios se comunicam atravs de sinapses, que a regio onde dois neurnios entram em contato e atravs da qual os impulsos nervosos so transmitidos entre eles. Os impulsos recebidos por um neurnio A, num determinado momento, so processados, e atingindo um dado limiar de ao, o neurnio A dispara, produzindo uma substncia neurotransmissora que flui do corpo celular para o axnio, que pode estar conectado a um dendrito de um outro neurnio B. O neurotransmissor pode diminuir ou aumentar a polaridade da membrana ps-sinptica, inibindo ou excitando a gerao dos pulsos no neurnio B. Em mdia cada neurnio forma entre mil e dez mil sinapses. O crebro humano possui cerca de 10 e 11 neurnios e, o nmero de sinapses de mais de 10 e 14, possibilitando a formao de redes muito complexas. Assim, as Redes Neurais Artificiais se fundamentam nos estudos sobre a estrutura do crebro humano para tentar emular sua forma inteligente de processar informaes. Apesar de se desconhecer a maneira pela qual o crebro manipula informaes complexas (BEALE, 1990), sabe-se que a modelagem do conhecimento contido num problema especfico pode ser representada atravs de inter-conexes entre clulas nervosas. Estruturalmente, a rede neural artificial, tambm conhecida por modelo conexionista de computao, se assemelha rede neural biolgica pela composio de seus neurnios e pela conexo entre eles (WASSERMAN, 1989).
Um modelo conexionista uma estrutura de processamento de informaes distribuda e paralela. Ela formada por unidades de processamento, comumente chamados de ns, neurnios ou clulas, interconectadas por arcos unidirecionais, tambm chamados de ligaes, conexes ou sinapses. Os ns possuem memria local e podem realizar operaes de processamento de informao localizada. Cada clula possui uma nica sada (axnio), a qual pode se ramificar em muitas ligaes colaterais (cada ramificao possuindo o mesmo sinal de sada do neurnio). Todo o processamento que se realiza em cada unidade deve ser completamente local, isto , deve depender apenas dos valores correntes dos sinais de entrada que chegam dos

neurnios atravs das conexes. Estes valores atuam sobre os valores armazenados na memria local da clula. (HECHT, 1988)

O trabalho em questo, baseado em pesquisas bibliogrficas, tem o objetivo de apresentar tpicos referentes ao histrico das redes neurais artificiais, caractersticas globais, processo de aprendizado de uma rede neural artificial, treinamento supervisionado, perceptrons multi-camadas e seu funcionamento, modelos de perceptrons e como as RNAs tratam o problema do caixeiro viajante.

DESENVOLVIMENTO 1. Histrico das Redes Neurais Artificiais As primeiras informaes mencionadas sobre a neuro computao datam de 1943, em artigos de McCulloch e Pitts, em que sugeriam a construo de uma mquina baseada ou inspirada no crebro humano. Essa estrutura abstraa a complexidade da atividade neural em sistemas 5

neurais reais, assim como complicadas caractersticas encontradas no corpo de neurnios biolgicos, formando a base para a maioria dos modelos conexionistas desenvolvidos posteriormente. Por um longo perodo de tempo pouco resultado foi obtido, at que em 1949 Donald Hebb escreveu um livro intitulado The Organization oh Behavior (A Organizao do Comportamento) que perseguia a idia de que o condicionamento psicolgico clssico est presente em qualquer parte dos animais pelo fato de que esta uma propriedade de neurnios individuais. Suas idias no eram completamente novas, mas Hebb foi o primeiro a propor uma lei de aprendizagem especfica para as sinapses dos neurnios. Embora muito tenha sido estudado e publicado nos anos que seguiram (1940-1950), estes serviram mais como base para o desenvolvimento posterior. Tambm proveniente deste perodo de tempo foi a construo do primeiro neuro computador, denominado Snark, por Mavin Minsky, em 1951. O Snark operava com sucesso a partir de um ponto de partida tcnico, ajustando seus pesos automaticamente, entretanto, ele nunca executou qualquer funo de processamento de informao interessante, mas serviu de inspirao para as idias de estruturas que o sucederam. Em 1956, no Darthmouth College, nasceram os dois paradigmas da Inteligncia Artificial, a simblica (simula o comportamento inteligente humano desconsiderando os mecanismos responsveis por tal) e a conexionista (acredita que construindo um sistema que simule a estrutura do crebro, este apresentar inteligncia, ou seja, ser capaz de aprender, assimilar, errar e aprender com seus erros). O primeiro neuro computador a obter sucesso (Mark I Perceptron um modelo cognitivo que consistia de unidades sensoriais conectadas a uma nica chamada de neurnios de McCulloch e Pitts, capaz de aprender tudo o que pudesse representar) surgiu em 1957 e 1958, criado por Frank Rosemblatt, Charles Wightman e outros. Eles demonstram que, se fossem acrescidas sinapses ajustveis, as redes neurais de McCulloch e Pitts poderiam ser treinadas para classificar padres em classes linearmente separveis, convergindo em um nmero limitado de passos. Devido profundidade de seus estudos, suas contribuies tcnicas e de sua maneira moderna de pensar, muitos o vem como o fundador da neuro computao na forma em que a temos hoje. Seu interesse inicial para a criao do Perceptron era o reconhecimento de padres. Aps Rosemblatt, Bernard Windrow, com a ajuda de alguns estudantes, desenvolveram um novo tipo de elemento de processamento de redes neurais chamado de Adaline, equipado com uma poderosa lei de aprendizado, que diferente do Perceptron, ainda permanece em uso.

Widrow tambm fundou a primeira companhia de hardware de neurocomputadores e componentes. Infelizmente, os anos seguintes foram marcados por um entusiasmo exagerado de muitos pesquisadores, que passaram a publicar mais e mais artigos e livros que faziam uma previso pouco confivel para a poca, sobre mquinas to poderosas quanto o crebro humano que surgiriam em pouco espao de tempo. Isto tirou quase toda a credibilidade dos estudos da rea e causou grandes aborrecimentos aos tcnicos de outras reas. Um perodo de pesquisa silenciosa seguiu-se durante 1967 a 1982, quando poucas pesquisas foram publicadas devido aos fatos ocorridos anteriormente. Entretanto, aqueles que pesquisavam nesta poca e todos os que se seguiram no decorrer de treze anos conseguiram novamente estabelecer um campo concreto para o renascimento da rea. A publicao de Perceptrons de Minsky e Papert, em 1969, exps as limitaes do modelo de Rosemblatt, provando que tais redes no so capazes de resolver uma ampla classe de problemas devido s restries de representao. Nos anos 80, muitos dos pesquisadores foram bastante corajosos e passaram a publicar diversas propostas para a explorao do desenvolvimento de redes neurais bem como suas aplicaes. Porm, talvez o fato mais importante deste perodo tenha ocorrido quando Ira Skurnick, um administrador de programas de DARPA (Defense Advanced Research Projects Agency) decidiu ouvir os argumentos da neuro computao e seus projetistas, e divergindo dos caminhos tradicionais dos conhecimentos convencionais, fundou em 1983 pesquisas em neuro computao. Este ato no s abriu as portas para a neuro computao, como tambm deu DARPA o status de uma das lderes mundiais quando se trata de moda tecnolgica. Em 1982, Hopfield relatou a utilizao de redes simtricas para otimizao, atravs de um algoritmo de aprendizagem que estabilizava uma rede binria simtrica com realimentao. Em 1983, Hinton e Seynowsky estedenram o modelo de Hopfield com a incorporao de dinmica estocstica. Este modelo de rede neural passou a ser conhecido como Mquina de Boltzmann. Aproximadamente no ano de 1985, Rumelhart, Hinton e Williams aperfeioaram a idia de perceptron, criando o algoritmo Backpropagation, levando a uma exploso de interesses em redes neurais. Este algoritmo foi aplicado em uma grande variedade de problemas, como na identificao da estrutura de protenas, hifenizao de palavras em ingls, reconhecimento da fala, compresso de imagens e previso de sries temporais. John Hopfield, renomado fsico de reputao mundial, se interessou pela neuro computao e escreveu artigos que percorreram o mundo todo persuadindo centenas de cientistas, 7

matemticos e tecnlogos altamente qualificados a se unirem nesta nova rea emergente. Apesar de um tero dos pesquisadores da rea terem aderido mesma pela influncia de Hopfield, foi em 1986 que este campo de pesquisa explodiu com a publicao do livro Parallel Distributed Processing (Processamento Distribudo Paralelo) editado por David Rumelhart e James McClelland. Em 1987 ocorreu em So Francisco a primeira conferncia de redes neurais em tempos modernos, a IEEE International Conference on Neural Networks, e tambm foi formada a International Neural Networks Society (INSS). A partir destes acontecimentos, decorreram a fundao do INSS Journal em 1989, seguido do Neural Computation e do IEEE Transactions on Neural Networks em 1990. Desde 1987, muitas universidades anunciaram a formao de institutos de pesquisa e programas de educao em neuro computao. 2. Caractersticas das Redes Neurais Artificiais Uma rede neural artificial composta por vrias unidades de processamento, cujo funcionamento bastante simples. Essas unidades, geralmente so conectadas por canais de comunicao que esto associados a determinado peso. As unidades fazem operaes apenas sobre seus dados locais, que so entradas recebidas pelas suas conexes. O comportamento inteligente de uma RNA vem das interaes entre as unidades de processamento da rede. A operao de uma unidade de processamento, proposta por McCulloch e Pitts, pode ser resumida da seguinte maneira: - Sinais so apresentados entrada; - Cada sinal multiplicado por um nmero, ou peso, que indica a sua influncia na sada da unidade; - feita a soma ponderada dos sinais que produz um nvel de atividade; - Se este nvel de atividade exceder um certo limite, a unidade produz uma determinada resposta de sada. A maioria dos modelos de redes neurais possui alguma regra de treinamento, onde os pesos de suas conexes so ajustados de acordo com os padres apresentados, ou seja, aprendem atravs de exemplos.

As arquiteturas neurais so tipicamente organizadas em camadas, com unidades que podem estar conectadas s unidades da camada posterior. Usualmente, so classificadas em trs grupos: - Camada de entrada: os padres so apresentados rede; - Camadas intermedirias ou escondidas: feita a maior parte do processamento, atravs das conexes ponderadas; - Camada de sada: o resultado final concludo e apresentado. Por serem baseadas nas redes neurais biolgicas, as redes neurais artificiais apresentam um surpreendente nmero de caractersticas observadas no processo cognitivo humano, como o aprendizado pela experincia, a generalizao a partir de exemplos e a abstrao de caractersticas essenciais de informaes que contm fatos irrelevantes.

2.1 Aprendizado a habilidade de realizar tarefas novas que no podiam ser realizadas anteriormente, ou melhorar a realizao de tarefas antigas, como resultado de mudanas produzidas pelo processo de aprendizado. As redes neurais artificiais podem modificar seu comportamento em resposta aos estmulos produzidos pelo ambiente, regulando a fora da conexo entre unidades de processamento adjacentes pela adaptao dos pesos sinpticos, reconhecendo as informaes apresentadas s suas unidades visveis. 2.2 Generalizao Um modelo conexionista sensvel s variaes que podem ocorrer em informaes procedentes de suas unidades de entrada, reconhecendo rudo e distoro. A capacidade da rede em se adaptar s novas situaes, gerando valores de sada consistentes com os esperados, vital para a aplicabilidade do modelo em um ambiente do mundo real. Embora a maioria das pesquisas em redes neurais artificiais tenham concentrado seus esforos na reduo dos tempos de aprendizagem, a caractersticas mais importante de um modelo conexionista a habilidade em generalizar sobre o domnio do problema. O bom desempenho da generalizao depende, dentre outros fatores, do nmero de parmetros livres da RNA. desejvel diminuir o tamanho das conexes, sem, entretanto, reduzir o tamanho da rede ao ponto onde no se possa computar a funo desejada. 9

2.3 Abstrao Alguns modelos de redes neurais artificiais so capazes de abstrair a essncia do conjunto de dados a elas apresentados, permitindo, dessa forma, a classificao ou reconhecimento de padres incompletos. 3. Processo de aprendizado de uma Rede Neural Artificial A propriedade mais importante das redes neurais a habilidade de aprender de seu ambiente e com isso melhorar seu desempenho. Isso feito atravs de um processo iterativo de ajustes aplicado a seus pesos, o treinamento. O aprendizado ocorre quando a rede neural atinge uma soluo generalizada para uma classe de problemas. Denomina-se algoritmo de aprendizado a um conjunto de regras bem definidas para a soluo de um problema de aprendizado. Existem muitos tipos de algoritmos de aprendizado especficos para determinados modelos de redes neurais e estes algoritmos diferem entre si, principalmente, pelo modo como os pesos so modificados. Ou seja, uma rede neural aprende acerca de seu ambiente por meio de um processo interativo de ajustes aplicados aos seus parmetros livres (pesos sinpticos e nveis de bias) o treinamento. Depois de treinada a rede pode ser utilizada em diversas reas do conhecimento humano, ainda que na ausncia de um especialista. Atualmente existem diversos algoritmos utilizados para ajustar os pesos sinpticos e o nvel de bias de uma rede neural, destacando-se a aprendizagem por correo de erros ou regra delta e a aprendizagem competitiva ou regra de Konohen. A primeira utilizada para ajustar os parmetros livres das redes denominadas perceptrons. A segunda utilizada para ajustar os parmetros livres das redes de Konohen. Destaca-se, tambm, a aprendizagem hebbiana, visto que a mais antiga e conhecida de todas as regras de aprendizagem. Tem este nome em homenagem ao neuropsiclogo Hebb, que observando o funcionamento dos neurnios biolgicos, formulou o seguinte princpio:
Quando um axnio da clula A est perto o suficiente para excita uma clula B e participa do seu disparo repetidamente, ento algum processo de crescimento ou modificao metablica acontece em uma das clulas ou em ambas, de tal forma que a eficincia de A como uma das clulas que dispara B aumentada. (HEBB, 1949)

Este princpio foi formulado num contexto biolgico, porm pode-se generalizar para a seguinte forma: 10

- Se dois neurnios em ambos os lados de uma sinapse so ativados sincronamente, ento a fora deste sinapse aumentada. Posteriormente foi acrescentada uma segunda regra para a aprendizagem hebbiana, a saber: - Se dois neurnios em ambos os lados de uma sinapse so ativados assincronamente, ento esta sinapse enfraquecida. A rede neural se baseia nos dados para extrair um modelo geral. Portanto, a fase de 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. 50 a 90% dos dados devem ser separados para o treinamento da rede neural, dados escolhidos aleatoriamente, a fim de que a rede aprenda as regras e no decore exemplos. O restante dos dados s apresentado rede neural na fase de testes a fim de que ela possa deduzir corretamente seu inter-relacionamento. Outros fatores importantes a maneira pela qual uma rede neural se relaciona com o ambiente. Nesse contexto, existem os seguintes paradigmas de aprendizado: - Por independncia de quem aprende As Redes Neurais Artificiais aprendem por memorizao, contato, exemplos, por analogia, explorao e tambm por descoberta. - Por retroao do mundo Diz respeito ausncia ou presena de realimentao explcita do mundo exterior, ou seja, que em certos intervalos de tempo um agente assinala acertos e erros. Aprendizado Supervisionado: utiliza um agente externo que indica rede um comportamento bom ou ruim de acordo com o padro de entrada. Aprendizado No-Supervisionado: no utiliza um agente externo indicando a resposta desejadas para os padres de entrada, utilizando, entretanto, exemplos de coisas semelhantes para que a rede responda de maneira semelhante.

- Por finalidade do aprendizado Auto-associador: apresentada rede uma coleo de exemplos para que ela memorize. Quando se apresenta um dos elementos da coleo de exemplos, mas de modo errneo, a rede deve mostrar o exemplo original, funcionando como um filtro. 11

Hetero-associador: uma variao de auto-associador, mas que se memoriza um conjunto de pares. O sistema aprende a reproduzir o segundo elemento do par mesmo que o primeiro esteja pouco modificado, funcionando desta maneira como um 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 criar padres possveis. Temos, ainda, o ciclo que uma apresentao de todos os N pares (entrada e sada) do conjunto de treinamento no processo de aprendizado. A correo dos pesos num ciclo pode ser executado de dois modos: - Modo Padro: a correo dos pesos acontece a cada apresentao rede de um exemplo do conjunto de treinamento. Cada correo de pesos baseia-se somente no erro do exemplo apresentado naquela iterao. Assim, em cada ciclo, ocorrem N correes. - Modo Batch: apenas uma correo feita por ciclo. Todos os exemplos do conjunto de treinamento so apresentados rede, seu erro mdio calculado e a partir deste erro fazem-se as correes dos pesos. 3.1 Algoritmo de Aprendizado Backpropagation Por muitos anos no se teve um algoritmo eficiente para treinar redes neurais artificiais de mltiplas camadas. Desde que as redes de uma nica camada se mostraram limitadas naquilo que poderiam representar e, portanto, no que poderiam aprender, o desenvolvimento de modelos cognitivos deixou de ser um campo atraente e poucas pesquisa foram realizadas na rea. O algoritmo backpropagation fez ressurgir o interesse em redes neurais artificiais, sendo o algoritmo de aprendizado mais utilizado. O backpropagation pode ser visto como uma generalizao do mtodo Delta para redes neurais de mltiplas camadas. Ao se apresentar um determinado padro de entrada a uma rede neural no treinada e o respectivo padro de sada, uma sada aleatria produzida. A partir da sada produzida pela rede calculado um erro, representando a diferena entre o valor obtido e o desejado. O objetivo consiste em reduzir continuamente o erro at um determinado valor aceitvel. Isto alcanado pelo ajuste dos pesos entre as conexes dos neurnios pela aplicao da regra Delta Generalizada, que calcula o erro para alguma unidade

12

particular e propaga esse erro para a camada anterior. Cada unidade tem seus pesos ajustados de modo a minimizar o erro da rede. A minimizao do erro no algoritmo backpropagation obtida pela execuo do gradiente decrescente na superfcie de erros do espao de pesos, onde a altura para qualquer ponto no espao de pesos corresponde medida do erro. O ajuste dos pesos inicia nas unidades de sada, onde a medida de erro est disponvel, e procede com a retropropagao desse erro entre as camadas, ajustando os pesos at que a camada das unidades de entrada tenham sido processadas. Para as unidades de sada, como so conhecidos os valores desejados e obtidos, o ajuste dos pesos sinpticos relativamente simples; para as unidades das camadas ocultas, o processo no trivial. Intuitivamente, as unidades ocultas que apresentarem erros grandes devem ter suas conexes bastante alteradas, enquanto que a mudana nos pesos daquelas que tiverem suas sadas muito prximas das desejadas dever ser pequena. Na realidade, os pesos para um neurnio particular devem ser ajustados na proporo direta ao erro da unidade de processamento a qual est conectado. Essa a razo pela qual a retropropagao dos erros atravs da rede permite o correto ajuste dos pesos sinpticos entre todas as camadas do modelo conexionista. Assim, possvel identificar duas fases distintas no processo de aprendizagem do backpropagation: aquela onde as entradas se propagam entre as camadas da rede, da camada de entrada at a camada de sada, e aquela em que os erros so propagados na direo contrria ao fluxo de entrada. O desempenho do backpropagation est condicionado modelagem adotada na RNA e ao conjunto de dados utilizados no processo de ajuste dos pesos sinpticos entre as conexes da rede. Conforme James Freeman (1992), no existe critrio especfico para seleo dos vetores de treinamento. possvel utilizar todos os dados disponveis no treinamento do modelo conexionista, embora apenas um subconjunto desses dados talvez seja suficiente para que esse processo seja executado com sucesso. Os dados restantes podem ser usados para avaliar a sua capacidade de generalizao no mapeamento de entradas nunca encontradas no treinamento para sadas consistentes.

4. Treinamento Supervisionado

13

Os dados correspondem a relaes de entrada-sada de algum fenmeno observado, do qual se pode extrair amostras de seu comportamento. Se fenmenos dinmicos estiverem envolvidos, aspectos temporais estaro presentes. Caso contrrio, apenas aspectos da distribuio espacial dos dados estaro em jogo. A informao contida nas amostras pode advir de relaes de causa e efeito, atributos e classes, sintomas e diagnsticos, aes de controle e reaes da planta sendo controlada. Normalmente, estas relaes expressam associaes no-lineares entre as variveis independentes (vetor de entrada) e as variveis dependentes (vetor de sada), sendo que o propsito geralmente sintetizar um mapeamento no-linear de entrada-sada a partir das amostras disponveis. Repare que pode haver mltiplas entradas e sadas. Uma vez dispondo deste mapeamento multidimensional, ele pode ser ento utilizado para explicar as relaes de entrada-sada. Por exemplo, no caso das amostras serem de atributos e classes, este mapeamento vai desempenhar o papel de um classificador de padres. Em sntese, existe alguma lei que rege o comportamento de entrada-sada e as amostras retratam a aplicao desta lei para alguns casos especficos. Assim, com base nos casos especficos, extrai-se um mapeamento que explica os casos especficos e, por interpolao, explica tambm todos os outros casos, dentro de um domnio de interesse em que as amostras foram obtidas. A qualidade do processo de amostragem condio necessria para o sucesso de todo o processo. O mapeamento no-linear pode ser obtido a partir de alguns modelos de redes neurais artificiais, embora outras tcnicas de aproximao de funes e regresso no-linear possam ser consideradas aqui. 5. Perceptrons multi-camadas (MLP) e seu funcionamento Quando redes neurais artificiais de uma s camada so utilizadas, os padres de treinamento apresentados entrada so mapeados diretamente em um conjunto de padres de sada da rede, ou seja, no possvel a formao de uma representao interna. Neste caso, a codificao proveniente do mundo exterior deve ser suficiente para implementar esse mapeamento. Tal restrio implica que padres de entrada similares resultem em padres de sadas similares, o que leva o sistema incapacidade de aprender importantes mapeamentos. Como resultado, padres de entrada com estruturas similares, fornecidos do mundo externo, que 14

levem a sadas diferentes no so possveis de serem mapeados por redes sem representaes internas, isto , sem camadas intermedirias. Um exemplo deste caso a funo ou-exclusivo (XOR). Minsky e Papert analisaram matematicamente o perceptron e demonstraram que redes de uma camada no so capazes de solucionar problemas que no sejam linearmente separveis. Como no acreditavam na possibilidade de se construir um mtodo de treinamento para redes com mais de uma camada, eles concluram que as redes neurais seriam sempre suscetveis a essa limitao. Contudo, o desenvolvimento do algoritmo de treinamento backpropagation mostrou que possvel treinar eficientemente redes com camadas intermedirias, resultando no modelo de redes neurais artificiais mais utilizado atualmente, as redes Perceptron MUltiCamadas (MLP), treinadas com algoritmo backpropagation. Nessas redes, cada camada tem uma funo especfica. A camada de sada recebe os estmulos da camada intermediria e constri o padro que ser a resposta. As camadas intermedirias funcionam como extratoras de caractersticas e seus pesos so uma codificao de caractersticas apresentadas nos padres de entrada e permitem que a rede crie sua prpria representao, mais rica e complexa, do problema. Se existirem as conexes certas entre as unidades de entrada e um conjunto suficientemente grande de unidades intermedirias, pode-se sempre encontrar a representao que ir produzir o mapeamento correto da entrada para a sada atravs das unidades intermedirias. Como provou Cybenko, a partir de extenses do Teorema de Kolmogoroff, so necessrias no mximo duas camadas intermedirias, com um nmero suficiente de unidades por camada para se produzir quaisquer mapeamentos. Tambm foi provado que apenas uma camada intermediria suficiente para aproximar qualquer funo contnua.

6. Modelos de perceptrons 6.1 Perceptron com uma camada 15

Redes perceptron com uma camada so o tipo mais antigo de redes neurais, as quais so formadas por uma camada nica de neurnios de sada, os quais esto conectados por pesos s entradas. Este o exemplo mais simples de redes em avano: a soma do produto entre pesos e entradas alimenta cada neurnio de sada, e se o resultado deste operao exceder um certo limiar (geralmente 0), o neurnio coloca o valor 1 na sada; se o resultado for inferior ao limiar, o neurnio coloca o valor -1 na sada. Neurnios com esse comportamento so chamados de neurnios com limiar. Na literatura tcnica o termo perceptron diz respeito a redes com apenas um desses neurnios. Perceptrons podem ser treinados por um algoritmo de aprendizagem simples, chamado geralmente de regra-delta. Este algoritmo calcula os erros entre a sada dos dados calculados e a sada desejada, e utiliza isso para ajustar os pesos, assim executando um formulrio da descida do gradiente. Os perceptrons de uma camada so capazes de aprender somente sobre problemas linearmente separveis. Em 1969, em uma monografia famosa intitulada Perceptrons por Marvin Minsky e por Seymour Papert mostrou que era impossvel para uma nica rede do perceptron da camada aprender uma funo de XOR. Assim, conjecturou, incorretamente, que um resultado similar penderia para uma rede multi-camadas do perceptron. Embora uma nica unidade do ponto inicial fosse completamente limitada em seu poder computacional, mostrou-se que as redes de unidades paralelas do ponto inicial podem aproximar toda a funo continua de um intervalo compacto dos nmeros reais no intervalo [1, 1]. 6.2 Perceptrons Multi-camadas Esta classe de rede consiste de mltiplas camadas de unidades computacionais, geralmente interconectadas em uma forma feedforward. Isso quer dizer que cada neurnio em uma camada tem conexes diretas a neurnios da prxima camada. Em muitas aplicaes as unidades dessas redes aplicam uma funo sigmide como a funo de ativao. O teorema de aproximao universal dita que toda funo contnua que mapeia intervalos de nmeros reais a algum intervalo de nmeros reais de sada pode ser arbitrariamente aproximado com preciso por um perceptron multi-camadas com somente 16

uma camada oculta. Porm, este resultado s vlido para classes restritas de funes de ativao. Redes multi-camadas podem usar um grande nmero de tcnicas de aprendizado, sendo que a mais popular a propagao reversa. Neste caso, os valores de sada so comparados com a resposta correta para computar o valor de algum funo-erro predefinida. Por alguma tcnica, o erro ento alimentado de volta na rede. Usando essa informao, o algoritmo ajusta os pesos de cada conexo para reduzir o valor da funo erro. 7. As Redes Neurais Artificiais e seu tratamento com o problema do caixeiro viajante Problema do Caixeiro Viajante: dadas as coordenadas de n cidades num plano, obtenha o percurso mnimo que passe uma nica vez por cada cidade e retorne cidade de origem. Usando as amostras disponveis, define-se mltiplos prottipos, que mais adiante sero associados s classes, e procura-se posicionar estes prottipos de modo a maximizar a representatividade dos dados a partir dos prottipos. A representatividade est diretamente vinculada distncia entre o prottipo e a amostra. Como normalmente existem mais amostras que prottipos, cada prottipo tende a representar mais de uma amostra. A priori, no possvel decidir que amostra ser representada por qual prottipo. Sendo assim, recorrese a um processo de treinamento competitivo para definir automaticamente a posio espacial de cada prottipo de modo a atender aos requisitos do problema. importante observar que, diferente de muitas alternativas disponveis na literatura, o nmero de agrupamentos no precisa ser definido a priori e o nmero de prottipos pode ser varivel, sendo tambm definido automaticamente durante o processo competitivo. O treinamento competitivo recorre a estratgias de auto-organizao. A segunda etapa caracteriza-se pela anlise discriminante, que parte da distribuio obtida para os prottipos e infere o nmero de agrupamentos, realizando a separao efetiva entre eles.

8. Exemplo de perceptron

17

#include <stdio.h> #include <conio.h> #include <math.h> #define entrada 3 #define saida 2 #define in 4 main () { float w [entrada][saida], err, erro[saida], ni[saida], errom, bias, eta, entradas[in][saida], saidas[in][saida], phi[saida]; int x, cont, contt, contin = 0, epocas, testeerro = 0,funcao; char continua = 's'; for (x=0; x < entrada; x++) for (cont=0; cont < saida; cont++) w[x][cont] = 0; clrscr(); printf("Entre com o valor do bias: "); scanf ("%f",&bias); printf("Entre com o valor da taxa de aprendizagem: "); scanf ("%f",&eta); printf("Entre com o nmero de iteraoes: "); scanf ("%d",&epocas); printf("Entre com o valor do erro esperado: "); scanf ("%f",&err); printf("Entre com a funao desejada [(1)degrau, (2)sigmoide]: "); scanf ("%d",&funcao); printf("Entre com os dados de entrada e de sada para o treinamento: \n"); for (x=0; x < in; x++) for (cont=0; cont < saida; cont++) { printf("Entrada %d, Neurnio %d: ", x+1, cont+1); scanf ("%f",&entradas[x][cont]); } for (x=0; x < in; x++) for (cont=0; cont < saida; cont++) { 18

printf("Sada %d, Neurnio %d: ", x+1, cont+1); scanf ("%f",&saidas[x][cont]); } printf("Todos os pesos iniciais sao zero.\n"); printf("Iniciando processo iterativo...\n"); cont=0; while((cont < epocas) && !testeerro && (continua != 'n')) { clrscr(); cont++; printf("Iteraao %d: \n", cont); for (x=0; x < entrada - 1; x++); printf("Entradas: %f", entradas[contin][x]); for (x=0; x < saida; x++) { ni[x] = w[0][x]*bias; for (contt=0; contt < entrada - 1; contt++) ni[x] = ni[x] + w[contt+1] [x]; entradas [contin][contt]; switch (funcao) { case 1: if (ni[x] > 0) phi[x]=1; else phi[x]=0; break; case 2: phi[x]=1/(1+exp(-ni[x])); break; } erro[x] = saidas [contin][x]-phi[x]; printf("Sada esperada: %f\n", saidas[contin][x]); printf("Sada da rede: %f\n",phi[x]); } errom = 0; for (x=0;x < saida; x++) errom = errom + erro[x]/saida; printf("Corrigindo pesos...\n"); 19

for (x=0;x<entrada; x++) for (contt=0; contt<saida; contt++) if(x==0) w[x][contt]=w[x][contt] + eta*erro[contt]*bias; else w[x][contt]=w[x][contt]+eta*erro[contt]*entradas[contin][x-1]; for (x=0; x<entrada; x++) for(contt=0; contt<saida; contt++) printf("w[%d][%d] = %f\n", x, contt, w[x][contt]); printf("Continua?"); scanf("%c",&continua); contin++; if(contin>entrada) contin=0; } printf("Finalizado!\n"); }

CONCLUSO

20

Apesar da neurocomputao ter nascido praticamente junto com a computao programada nas dcadas de 40 e 50, deve-se salientar que a implementao de uma rede neural naquela poca era invivel, pois a fase de aprendizado, a fase mais difcil e demorada no desenvolvimento de uma rede, dependia (e ainda depende) de complicados algoritmos e de um nmero grande de iteraes, algo que uma ENIAC em 1946 no teria tanta disposio de faz-lo. Hoje, com a tecnologia dos chips VLSI, a implementao das redes neurais tem sido facilitada. As redes neurais artificiais so sistemas de processamento de informao formados pela interconexo de unidades simples de processamento, denominados neurnios artificiais, pois so inspirados a partir de um modelo matemtico de um neurnio natural. A motivao que est por trs deste paradigma alternativo de processamento computacional a possibilidade de elaborar solues eficazes para problemas de difcil tratamento com base na computao convencional. O avano verificado nos ltimos anos junto teoria das RNAs tem levado invariavelmente ao desenvolvimento de ferramentas de engenharia mais eficazes e utilizao mais eficiente dos recursos computacionais hoje disponveis, o que implica uma ampliao sem precedentes na capacidade de manipular informao. O grande potencial das redes neurais artificiais s pode ser explorado com o emprego de procedimentos refinados de anlise e sntese, requerendo um esforo adicional por parte dos usurios no sentido de aplicar os recursos de processamento disponveis na medida certa e na situao apropriada. Todas as informaes aqui expostas levam a perceber que o campo de redes neurais artificiais acima de tudo extremamente vasto e promissor. Tem bastante credibilidade e devido novas descobertas relacionadas a ela a cada instante, tornou-se atrativo para profissionais de domnios distintos, sendo, assim, um assunto interdisciplinar. Apenas parte da histria foi contada e foram mostradas apenas algumas aplicaes, ressaltando que existem muitos outros conceitos diretamente vinculados s consideraes feitas. A grande disponibilidade de recursos computacionais e a variedade de propostas de soluo para boa parte dos problemas desafiadores dos dias de hoje fornecem o suporte necessrio para alavancar esta linha de pesquisa. Especialistas em determinar as melhores propostas para se tratar determinados problemas, dentre um elenco de propostas candidatas, devem estar atentos para esta mudana de paradigma, protagonizada pelas redes neurais artificiais. REFERNCIAS BIBLIOGRFICAS

21

LUDWIG JR., Oswaldo; MONTGOMERY, Eduard. Redes Neurais: Fundamentos e Aplicaes com Programas em C. Rio de Janeiro: Editora Cincia Moderna Ltda, 2007. 8v. REDES NEURAIS. Captulo 4: Redes Neurais. Disponvel em:

http://www.eps.ufsc.br/disserta96/mueller/cap4/cap4.htm. Acesso em: 03 mai. 2010. SIQUEIRA, Paulo. Uma nova abordagem na resoluo do problema do caixeiro viajante. 2005. Tese (Doutorado em Cincias) Programa de Ps-Graduao em Mtodos Numricos em Engenharia Programao Matemtica, Setores de Tecnologia e de Cincias Exatas, Universidade Federal do Paran, 2005. VON ZUBEN, Fernando. Uma caricatura funcional de redes neurais artificiais. Revista da Sociedade Brasileira de Redes Neurais, Campinas, v.1, n.2, p. 66-76, 2003. YURI TATIBANA, Cassia; YUKI KAETSU, Deisi. Uma introduo s redes neurais. Disponvel em: HTTP://www.din.uem.br/ia/neurais. Acesso em: 03 mai. 2010. REDES NEURAIS ARTIFICIAIS. Redes Neurais Artificiais. Disponvel em:

HTTP://www.icmc.usp.br/~andre/research/neural/index.htm. Acesso em: 03 mai. 2010. CINQUEPALMI, Joo. Uma escola para computadores. Super interessante, So Paulo, ed. 275, p. 27, fev. 2010.

ANEXOS

22

23

S-ar putea să vă placă și