Redes Neurais Artificiais

23
 INSTITUTO LUTERANO DE ENSINO SUPERIOR DE ITUMBIARA – GOIÁS ANDRIELLE AZEVEDO DE PAULA REDES NEURAIS ARTIFICIAIS

description

Assim, as Redes Neurais Artificiais se fundamentam nos estudos sobre a estrutura do cérebro humano para tentar emular sua forma inteligente de processar informações.

Transcript of Redes Neurais Artificiais

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 1/23

INSTITUTO LUTERANO DE ENSINO SUPERIOR DE ITUMBIARA – GOIÁS

ANDRIELLE AZEVEDO DE PAULA

REDES NEURAIS ARTIFICIAIS

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 2/23

Itumbiara, maio de 2010.

INSTITUTO LUTERANO DE ENSINO SUPERIOR DE ITUMBIARA – GOIÁS

ANDRIELLE AZEVEDO DE PAULA

REDES NEURAIS ARTIFICIAIS

Trabalho apresentado ao curso de Sistemas de

Informação, 5° período, do Instituto Luterano de

Ensino Superior de Itumbiara – Goiás, como

requisito parcial de avaliação pelo Professor 

Daniel Humberto Carrara de Azevedo.

2

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 3/23

Itumbiara, maio de 2010.

SUMÁRIO

2.1 APRENDIZADO..................................................................................................................92.2 GENERALIZAÇÃO...............................................................................................................92.3 ABSTRAÇÃO..................................................................................................................103.1 ALGORITMO DE APRENDIZADO BACKPROPAGATION.......................................................................126.1 PERCEPTRON COM UMA CAMADA...........................................................................................156.2 PERCEPTRONS MULTI-CAMADAS............................................................................................16

INTRODUÇÃO

Desde muito tempo, os processos intelectivos foram estudados, tendo sempre sido uma

curiosidade ao ser humano. Com a Revolução Industrial, o advento da tecnologia e o avanço

dos processos automáticos, vários estudos se fizeram presentes ao cotidiano dos que

 buscavam ampliar as estratégias de redução de problemas de controle de sistemas que

apresentavam características não-lineares, assim como as perspectivas de estruturas de

3

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 4/23

máquinas inteligentes que pudessem substituir o homem em várias atividades. Entre estes

estudos, os computadores baseados na máquina de Von Newmann deram ao mundo novas

  perspectivas. Mas foi o desenvolvimento das técnicas que imitam o comportamento do

cérebro 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 estratégias de dar cognição e inteligência às máquinas.

O sistema nervoso é formado por um conjunto extremamente complexo de células, os

neurônios. Eles têm um papel essencial na determinação do funcionamento e comportamento

do corpo humano e do raciocínio. Os neurônios são formados pelos dendritos, que são um

conjunto de terminais de entrada, pelo corpo central, e pelos axônios que são longos terminais

de saída. Os neurônios se comunicam através de sinapses, que é a região onde dois neurônios

entram em contato e é através da qual os impulsos nervosos são transmitidos entre eles. Os

impulsos recebidos por um neurônio A, num determinado momento, são processados, e

atingindo um dado limiar de ação, o neurônio A dispara, produzindo uma substância

neurotransmissora que flui do corpo celular para o axônio, que pode estar conectado a um

dendrito de um outro neurônio B. O neurotransmissor pode diminuir ou aumentar a polaridade

da membrana pós-sináptica, inibindo ou excitando a geração dos pulsos no neurônio B.

Em média cada neurônio forma entre mil e dez mil sinapses. O cérebro humano possuicerca de 10 e 11 neurônios e, o número de sinapses é de mais de 10 e 14, possibilitando a

formação de redes muito complexas.

Assim, as Redes Neurais Artificiais se fundamentam nos estudos sobre a estrutura do

cérebro humano para tentar emular sua forma inteligente de processar informações. Apesar de

se desconhecer a maneira pela qual o cérebro manipula informações complexas (BEALE,

1990), sabe-se que a modelagem do conhecimento contido num problema específico pode ser 

representada através de inter-conexões entre células nervosas. Estruturalmente, a rede neuralartificial, também conhecida por modelo conexionista de computação, se assemelha à rede

neural biológica pela composição de seus neurônios e pela conexão entre eles

(WASSERMAN, 1989).

Um modelo conexionista é uma estrutura de processamento de informaçõesdistribuída e paralela. Ela é formada por unidades de processamento, comumentechamados de nós, neurônios ou células, interconectadas por arcos unidirecionais,também chamados de ligações, conexões ou sinapses. Os nós possuem memórialocal e podem realizar operações de processamento de informação localizada. Cadacélula possui uma única saída (axônio), a qual pode se ramificar em muitas ligações

colaterais (cada ramificação possuindo o mesmo sinal de saída do neurônio). 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

4

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 5/23

neurônios através das conexões. Estes valores atuam sobre os valores armazenadosna memória local da célula. (HECHT, 1988)

O trabalho em questão, baseado em pesquisas bibliográficas, tem o objetivo de

apresentar tópicos referentes ao histórico das redes neurais artificiais, características globais,  processo de aprendizado de uma rede neural artificial, treinamento supervisionado,

 perceptrons multi-camadas e seu funcionamento, modelos de perceptrons e como as RNA’s

tratam o problema do caixeiro viajante.

DESENVOLVIMENTO

1. Histórico das Redes Neurais Artificiais

As primeiras informações mencionadas sobre a neuro computação datam de 1943, em artigos

de McCulloch e Pitts, em que sugeriam a construção de uma máquina baseada ou inspirada no

cérebro humano. Essa estrutura abstraía a complexidade da atividade neural em sistemas

5

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 6/23

neurais reais, assim como complicadas características encontradas no corpo de neurônios

  biológicos, formando a base para a maioria dos modelos conexionistas desenvolvidos

 posteriormente. Por um longo período de tempo pouco resultado foi obtido, até que em 1949

Donald Hebb escreveu um livro intitulado “The Organization oh Behavior” (A Organização

do Comportamento) que perseguia a idéia de que o condicionamento psicológico clássico está

 presente em qualquer parte dos animais pelo fato de que esta é uma propriedade de neurônios

individuais. Suas idéias não eram completamente novas, mas Hebb foi o primeiro a propor 

uma lei de aprendizagem específica para as sinapses dos neurônios.

Embora muito tenha sido estudado e publicado nos anos que seguiram (1940-1950), estes

serviram mais como base para o desenvolvimento posterior. Também proveniente deste

 período de tempo foi a construção do primeiro neuro computador, denominado Snark, por 

Mavin Minsky, em 1951. O Snark operava com sucesso a partir de um ponto de partida

técnico, ajustando seus pesos automaticamente, entretanto, ele nunca executou qualquer 

função de processamento de informação interessante, mas serviu de inspiração para as idéias

de estruturas que o sucederam.

Em 1956, no Darthmouth College, nasceram os dois paradigmas da Inteligência Artificial, a

simbólica (simula o comportamento inteligente humano desconsiderando os mecanismos

responsáveis por tal) e a conexionista (acredita que construindo um sistema que simule aestrutura do cérebro, este apresentará inteligência, 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 neurônios 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 ajustáveis, as redes neurais de McCulloch e Pitts poderiam ser treinadas paraclassificar padrões em classes linearmente separáveis, convergindo em um número limitado

de passos. Devido à profundidade de seus estudos, suas contribuições técnicas e de sua

maneira moderna de pensar, muitos o vêem como o fundador da neuro computação na forma

em que a temos hoje. Seu interesse inicial para a criação do Perceptron era o reconhecimento

de padrões.

Após Rosemblatt, Bernard Windrow, com a ajuda de alguns estudantes, desenvolveram um

novo tipo de elemento de processamento de redes neurais chamado de Adaline, equipado comuma poderosa lei de aprendizado, que diferente do Perceptron, ainda permanece em uso.

6

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 7/23

Widrow também 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 previsão

 pouco confiável para a época, sobre máquinas tão poderosas quanto o cérebro humano que

surgiriam em pouco espaço de tempo. Isto tirou quase toda a credibilidade dos estudos da área

e causou grandes aborrecimentos aos técnicos de outras áreas.

Um período 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 publicação de Perceptrons de Minsky e Papert, em 1969, expôs as limitações do modelo de

Rosemblatt, provando que tais redes não são capazes de resolver uma ampla classe de

 problemas devido às restrições de representação.

  Nos anos 80, muitos dos pesquisadores foram bastante corajosos e passaram a publicar 

diversas propostas para a exploração do desenvolvimento de redes neurais bem como suas

aplicações. Porém, talvez o fato mais importante deste período tenha ocorrido quando Ira

Skurnick, um administrador de programas de DARPA (Defense Advanced Research ProjectsAgency) decidiu ouvir os argumentos da neuro computação e seus projetistas, e divergindo

dos caminhos tradicionais dos conhecimentos convencionais, fundou em 1983 pesquisas em

neuro computação. Este ato não só abriu as portas para a neuro computação, como também

deu à DARPA o status de uma das líderes mundiais quando se trata de “moda” tecnológica.

Em 1982, Hopfield relatou a utilização de redes simétricas para otimização, através de um

algoritmo de aprendizagem que estabilizava uma rede binária simétrica com realimentação.

Em 1983, Hinton e Seynowsky estedenram o modelo de Hopfield com a incorporação dedinâmica estocástica. Este modelo de rede neural passou a ser conhecido como Máquina de

Boltzmann.

Aproximadamente no ano de 1985, Rumelhart, Hinton e Williams aperfeiçoaram a idéia de

 perceptron, criando o algoritmo Backpropagation, levando a uma explosão de interesses em

redes neurais. Este algoritmo foi aplicado em uma grande variedade de problemas, como na

identificação da estrutura de proteínas, hifenização de palavras em inglês, reconhecimento da

fala, compressão de imagens e previsão de séries temporais.John Hopfield, renomado físico de reputação mundial, se interessou pela neuro computação e

escreveu artigos que percorreram o mundo todo persuadindo centenas de cientistas,

7

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 8/23

matemáticos e tecnólogos altamente qualificados a se unirem nesta nova área emergente.

Apesar de um terço dos pesquisadores da área terem aderido à mesma pela influência de

Hopfield, foi em 1986 que este campo de pesquisa “explodiu” com a publicação do livro

“Parallel Distributed Processing” (Processamento Distribuído Paralelo) editado por David

Rumelhart e James McClelland.

Em 1987 ocorreu em São Francisco a primeira conferência de redes neurais em tempos

modernos, a IEEE International Conference on Neural Networks, e também foi formada a

International Neural Networks Society (INSS). A partir destes acontecimentos, decorreram a

fundação do INSS Journal em 1989, seguido do Neural Computation e do IEEE Transactions

on Neural Networks em 1990.

Desde 1987, muitas universidades anunciaram a formação de institutos de pesquisa e

 programas de educação em neuro computação.

2. Características das Redes Neurais Artificiais

Uma rede neural artificial é composta por várias unidades de

processamento, cujo funcionamento é bastante simples. Essas unidades,

geralmente são conectadas por canais de comunicação que estão associados adeterminado peso. As unidades fazem operações apenas sobre seus dados locais,

que são entradas recebidas pelas suas conexões. O comportamento inteligente de

uma RNA vem das interações entre as unidades de processamento da rede.

A operação de uma unidade de processamento, proposta por McCulloch e

Pitts, pode ser resumida da seguinte maneira:

- Sinais são apresentados à entrada;

- Cada sinal é multiplicado por um número, ou peso, que indica a sua influênciana saída da unidade;

- É feita a soma ponderada dos sinais que produz um nível de atividade;

- Se este nível de atividade exceder um certo limite, a unidade produz uma

determinada resposta de saída.

A maioria dos modelos de redes neurais possui alguma regra de

treinamento, onde os pesos de suas conexões são ajustados de acordo com os

padrões apresentados, ou seja, aprendem através de exemplos.

8

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 9/23

As arquiteturas neurais são tipicamente organizadas em camadas, com

unidades que podem estar conectadas às unidades da camada posterior.

Usualmente, são classificadas em três grupos:

- Camada de entrada: os padrões são apresentados à rede;

- Camadas intermediárias ou escondidas: é feita a maior parte do processamento,

através das conexões ponderadas;

- Camada de saída: o resultado final é concluído e apresentado.

Por serem baseadas nas redes neurais biológicas, as redes neurais artificiais apresentam

um surpreendente número de características observadas no processo cognitivo humano,

como o aprendizado pela experiência, a generalização a partir de exemplos e a abstração

de características essenciais de informações que contém fatos irrelevantes. 

2.1 Aprendizado

É a habilidade de realizar tarefas novas que não podiam ser realizadas anteriormente,

ou melhorar a realização de tarefas antigas, como resultado de mudanças produzidas pelo

 processo de aprendizado. As redes neurais artificiais podem modificar seu comportamento emresposta aos estímulos produzidos pelo ambiente, regulando a força da conexão entre

unidades de processamento adjacentes pela adaptação dos pesos sinápticos, reconhecendo as

informações apresentadas às suas unidades visíveis.

2.2 Generalização

Um modelo conexionista é sensível às variações que podem ocorrer em informações procedentes de suas unidades de entrada, reconhecendo ruído e distorção. A capacidade da

rede em se adaptar às novas situações, gerando valores de saída 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 esforços na

redução dos tempos de aprendizagem, a características mais importante de um modelo

conexionista é a habilidade em generalizar sobre o domínio do problema.

O bom desempenho da generalização depende, dentre outros fatores, do número de parâmetros livres da RNA. É desejável diminuir o tamanho das conexões, sem, entretanto,

reduzir o tamanho da rede ao ponto onde não se possa computar a função desejada.

9

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 10/23

2.3 Abstração

Alguns modelos de redes neurais artificiais são capazes de abstrair a essência do

conjunto de dados a elas apresentados, permitindo, dessa forma, a classificação ou

reconhecimento de padrões 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 através de um processo iterativo

de ajustes aplicado a seus pesos, o treinamento. O aprendizado ocorre quando a rede neural

atinge uma solução generalizada para uma classe de problemas.

Denomina-se algoritmo de aprendizado a um conjunto de regras bem definidas para a

solução de um problema de aprendizado. Existem muitos tipos de algoritmos de aprendizado

específicos para determinados modelos de redes neurais e estes algoritmos diferem entre si,

 principalmente, pelo modo como os pesos são modificados. Ou seja, uma rede neural aprende

acerca de seu ambiente por meio de um processo interativo de ajustes aplicados aos seus parâmetros livres (pesos sinápticos e níveis de bias) – o treinamento. Depois de treinada a

rede pode ser utilizada em diversas áreas do conhecimento humano, ainda que na ausência de

um especialista.

Atualmente existem diversos algoritmos utilizados para ajustar os pesos sinápticos e o

nível de bias de uma rede neural, destacando-se a aprendizagem por correção de erros ou

regra delta e a aprendizagem competitiva ou regra de Konohen. A primeira é utilizada para

ajustar os parâmetros livres das redes denominadas perceptrons. A segunda é utilizada paraajustar os parâmetros livres das redes de Konohen.

Destaca-se, também, a aprendizagem hebbiana, visto que é a mais antiga e conhecida

de todas as regras de aprendizagem. Tem este nome em homenagem ao neuropsicólogo Hebb,

que observando o funcionamento dos neurônios biológicos, formulou o seguinte princípio:

Quando um axônio da célula A está perto o suficiente para excita uma célula B e participa do seu disparo repetidamente, então algum processo de crescimento oumodificação metabólica acontece em uma das células ou em ambas, de tal forma quea eficiência de A como uma das células que dispara B é aumentada. (HEBB, 1949)

Este princípio foi formulado num contexto biológico, porém pode-se generalizar paraa seguinte forma:

10

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 11/23

- Se dois neurônios em ambos os lados de uma sinapse são ativados sincronamente, então a

força deste sinapse é aumentada.

Posteriormente foi acrescentada uma segunda regra para a aprendizagem hebbiana, a

saber:

- Se dois neurônios em ambos os lados de uma sinapse são ativados assincronamente, então

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 espúrios. Todo o

conhecimento de uma rede neural está armazenado nas sinapses, ou seja, nos pesos atribuídos

às conexões entre os neurônios. 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 não

“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 independência de quem aprende

As Redes Neurais Artificiais aprendem por memorização, contato, exemplos, por 

analogia, exploração e também por descoberta.- Por retroação do mundo

Diz respeito à ausência ou presença de realimentação explícita 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 padrão de entrada.

• Aprendizado Não-Supervisionado: não utiliza um agente externo indicando a

resposta desejadas para os padrões de entrada, utilizando, entretanto, exemplos de coisassemelhantes para que a rede responda de maneira semelhante.

- Por finalidade do aprendizado

• Auto-associador: é apresentada à rede uma coleção de exemplos para que ela

memorize. Quando se apresenta um dos elementos da coleção de exemplos, mas de modoerrôneo, a rede deve mostrar o exemplo original, funcionando como um filtro.

11

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 12/23

• Hetero-associador: é uma variação 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

 padrões.

É necessário também que exista um detector de regularidades, que nada mais é que

um reconhecedor de padrões em que o sistema deve se auto-organizar e criar padrões

 possíveis.

Temos, ainda, o ciclo que é uma apresentação de todos os N pares (entrada e saída)

do conjunto de treinamento no processo de aprendizado. A correção dos pesos num ciclo pode

ser executado de dois modos:

- Modo Padrão: a correção dos pesos acontece a cada apresentação à rede de um exemplo do

conjunto de treinamento. Cada correção de pesos baseia-se somente no erro do exemplo

apresentado naquela iteração. Assim, em cada ciclo, ocorrem N correções.

- Modo Batch: apenas uma correção é feita por ciclo. Todos os exemplos do conjunto de

treinamento são apresentados à rede, seu erro médio é calculado e a partir deste erro fazem-se

as correções dos pesos.

3.1 Algoritmo de Aprendizado Backpropagation

Por muitos anos não se teve um algoritmo eficiente para treinar redes neurais

artificiais de múltiplas 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 generalização do método Delta para

redes neurais de múltiplas camadas. Ao se apresentar um determinado padrão de entrada a

uma rede neural não treinada e o respectivo padrão de saída, uma saída aleatória é produzida.

A partir da saída produzida pela rede é calculado um erro, representando a diferença entre o

valor obtido e o desejado. O objetivo consiste em reduzir continuamente o erro até um

determinado valor aceitável. Isto é alcançado pelo ajuste dos pesos entre as conexões dosneurônios pela aplicação da regra Delta Generalizada, que calcula o erro para alguma unidade

12

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 13/23

 particular e propaga esse erro para a camada anterior. Cada unidade tem seus pesos ajustados

de modo a minimizar o erro da rede.

A minimização do erro no algoritmo backpropagation é obtida pela execução do

gradiente decrescente na superfície de erros do espaço de pesos, onde a altura para qualquer 

 ponto no espaço de pesos corresponde à medida do erro. O ajuste dos pesos inicia nas

unidades de saída, onde a medida de erro está disponível, e procede com a retropropagação

desse erro entre as camadas, ajustando os pesos até que a camada das unidades de entrada

tenham sido processadas. Para as unidades de saída, como são conhecidos os valores

desejados e obtidos, o ajuste dos pesos sinápticos é relativamente simples; para as unidades

das camadas ocultas, o processo não é trivial. Intuitivamente, as unidades ocultas que

apresentarem erros grandes devem ter suas conexões bastante alteradas, enquanto que a

mudança nos pesos daquelas que tiverem suas saídas muito próximas das desejadas deverá ser 

  pequena. Na realidade, os pesos para um neurônio particular devem ser ajustados na

 proporção direta ao erro da unidade de processamento a qual está conectado. Essa é a razão

 pela qual a retropropagação dos erros através da rede permite o correto ajuste dos pesos

sinápticos entre todas as camadas do modelo conexionista.

Assim, é possível identificar duas fases distintas no processo de aprendizagem do

 backpropagation: aquela onde as entradas se propagam entre as camadas da rede, da camadade entrada até a camada de saída, e aquela em que os erros são propagados na direção

contrária 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 sinápticos entre as conexões

da rede.

Conforme James Freeman (1992), não existe critério específico para seleção dos

vetores de treinamento. É possível utilizar todos os dados disponíveis no treinamento domodelo 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 generalização no mapeamento de entradas nunca encontradas no

treinamento para saídas consistentes.

4. Treinamento Supervisionado

13

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 14/23

Os dados correspondem a relações de entrada-saída de algum fenômeno observado, do

qual se pode extrair amostras de seu comportamento. Se fenômenos dinâmicos estiverem

envolvidos, aspectos temporais estarão presentes. Caso contrário, apenas aspectos da

distribuição espacial dos dados estarão em jogo.

A informação contida nas amostras pode advir de relações de causa e efeito, atributos

e classes, sintomas e diagnósticos, ações de controle e reações da planta sendo controlada.

  Normalmente, estas relações expressam associações não-lineares entre as variáveis

independentes (vetor de entrada) e as variáveis dependentes (vetor de saída), sendo que o

 propósito geralmente é sintetizar um mapeamento não-linear de entrada-saída a partir das

amostras disponíveis.

Repare que pode haver múltiplas entradas e saídas. Uma vez dispondo deste

mapeamento multidimensional, ele pode ser então utilizado para explicar as relações de

entrada-saída. Por exemplo, no caso das amostras serem de atributos e classes, este

mapeamento vai desempenhar o papel de um classificador de padrões.

Em síntese, existe alguma lei que rege o comportamento de entrada-saída e as

amostras retratam a aplicação desta lei para alguns casos específicos. Assim, com base nos

casos específicos, extrai-se um mapeamento que explica os casos específicos e, por 

interpolação, explica também todos os outros casos, dentro de um domínio de interesse emque as amostras foram obtidas.

A qualidade do processo de amostragem é condição necessária para o sucesso de todo

o processo. O mapeamento não-linear pode ser obtido a partir de alguns modelos de redes

neurais artificiais, embora outras técnicas de aproximação de funções e regressão não-linear 

 possam ser consideradas aqui.

5. Perceptrons multi-camadas (MLP) e seu funcionamento

Quando redes neurais artificiais de uma só camada são utilizadas, os padrões de

treinamento apresentados à entrada são mapeados diretamente em um conjunto de padrões de

saída da rede, ou seja, não é possível a formação de uma representação interna. Neste caso, a

codificação proveniente do mundo exterior deve ser suficiente para implementar esse

mapeamento.

Tal restrição implica que padrões de entrada similares resultem em padrões de saídassimilares, o que leva o sistema à incapacidade de aprender importantes mapeamentos. Como

resultado, padrões de entrada com estruturas similares, fornecidos do mundo externo, que

14

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 15/23

levem a saídas diferentes não são possíveis de serem mapeados por redes sem representações

internas, isto é, sem camadas intermediárias. Um exemplo deste caso é a função ou-exclusivo

(XOR).

Minsky e Papert analisaram matematicamente o perceptron e demonstraram que redes

de uma camada não são capazes de solucionar problemas que não sejam linearmente

separáveis. Como não acreditavam na possibilidade de se construir um método de treinamento

 para redes com mais de uma camada, eles concluíram que as redes neurais seriam sempre

suscetíveis a essa limitação.

Contudo, o desenvolvimento do algoritmo de treinamento backpropagation mostrou

que é possível treinar eficientemente redes com camadas intermediárias, resultando no

modelo de redes neurais artificiais mais utilizado atualmente, as redes Perceptron MUlti-

Camadas (MLP), treinadas com algoritmo backpropagation.

 Nessas redes, cada camada tem uma função específica. A camada de saída recebe os

estímulos da camada intermediária e constrói o padrão que será a resposta. As camadas

intermediárias funcionam como extratoras de características e seus pesos são uma codificação

de características apresentadas nos padrões de entrada e permitem que a rede crie sua própria

representação, mais rica e complexa, do problema.

Se existirem as conexões certas entre as unidades de entrada e um conjuntosuficientemente grande de unidades intermediárias, pode-se sempre encontrar a representação

que irá produzir o mapeamento correto da entrada para a saída através das unidades

intermediárias.

Como provou Cybenko, a partir de extensões do Teorema de Kolmogoroff, são

necessárias no máximo duas camadas intermediárias, com um número suficiente de unidades

 por camada para se produzir quaisquer mapeamentos. Também foi provado que apenas uma

camada intermediária é suficiente para aproximar qualquer função contínua.

6. Modelos de perceptrons

6.1 Perceptron com uma camada

15

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 16/23

Redes perceptron com uma camada são o tipo mais antigo de redes neurais, as quais

são formadas por uma camada única de neurônios de saída, os quais estão conectados por 

 pesos às entradas.

Este é o exemplo mais simples de redes em avanço: a soma do produto entre pesos e

entradas alimenta cada neurônio de saída, e se o resultado deste operação exceder um certo

limiar (geralmente 0), o neurônio coloca o valor 1 na saída; se o resultado for inferior ao

limiar, o neurônio coloca o valor -1 na saída.

 Neurônios com esse comportamento são chamados de neurônios com limiar. Na

literatura técnica o termo perceptron diz respeito a redes com apenas um desses neurônios.

Perceptrons podem ser treinados por um algoritmo de aprendizagem simples, chamado

geralmente de regra-delta. Este algoritmo calcula os erros entre a saída dos dados calculados e

a saída desejada, e utiliza isso para ajustar os pesos, assim executando um formulário da

descida do gradiente.

Os perceptrons de uma camada são capazes de aprender somente sobre problemas

linearmente separáveis. Em 1969, em uma monografia famosa intitulada Perceptrons por 

Marvin Minsky e por Seymour Papert mostrou que era impossível para uma única rede do

 perceptron da camada aprender uma função de XOR. Assim, conjecturou, incorretamente, queum 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 função continua de um intervalo compacto dos números reais no intervalo [-

1, 1].

6.2 Perceptrons Multi-camadas

Esta classe de rede consiste de múltiplas camadas de unidades computacionais,

geralmente interconectadas em uma forma feedforward. Isso quer dizer que cada neurônio em

uma camada tem conexões diretas a neurônios da próxima camada.

Em muitas aplicações as unidades dessas redes aplicam uma função sigmóide como a

função de ativação.

O teorema de aproximação universal dita que toda função contínua que mapeiaintervalos de números reais a algum intervalo de números reais de saída pode ser 

arbitrariamente aproximado com precisão por um perceptron multi-camadas com somente

16

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 17/23

uma camada oculta. Porém, este resultado só é válido para classes restritas de funções de

ativação.

Redes multi-camadas podem usar um grande número de técnicas de aprendizado,

sendo que a mais popular é a propagação reversa. Neste caso, os valores de saída são

comparados com a resposta correta para computar o valor de algum função-erro predefinida.

Por alguma técnica, o erro é então alimentado de volta na rede.

Usando essa informação, o algoritmo ajusta os pesos de cada conexão para reduzir o

valor da função 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 mínimo que passe uma única vez por cada cidade e retorne à cidade de

origem.

Usando as amostras disponíveis, define-se múltiplos protótipos, que mais adiante serão

associados às classes, e procura-se posicionar estes protótipos de modo a maximizar a

representatividade dos dados a partir dos protótipos. A representatividade está diretamentevinculada à distância entre o protótipo e a amostra. Como normalmente existem mais

amostras que protótipos, cada protótipo tende a representar mais de uma amostra. A priori,

não é possível decidir que amostra será representada por qual protótipo. Sendo assim, recorre-

se a um processo de treinamento competitivo para definir automaticamente a posição espacial

de cada protótipo de modo a atender aos requisitos do problema.

É importante observar que, diferente de muitas alternativas disponíveis na literatura, o

número de agrupamentos não precisa ser definido a priori e o número de protótipos pode ser variável, sendo também definido automaticamente durante o processo competitivo. O

treinamento competitivo recorre a estratégias de auto-organização.

A segunda etapa caracteriza-se pela análise discriminante, que parte da distribuição

obtida para os protótipos e infere o número de agrupamentos, realizando a separação efetiva

entre eles.

8. Exemplo de perceptron

17

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 18/23

#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 n£mero de itera‡oes: ");

scanf ("%d",&epocas);

printf("Entre com o valor do erro esperado: ");

scanf ("%f",&err);

printf("Entre com a fun‡ao desejada [(1)degrau, (2)sigmoide]: ");scanf ("%d",&funcao);

printf("Entre com os dados de entrada e de sa¡da para o treinamento: \n");

for (x=0; x < in; x++)

for (cont=0; cont < saida; cont++) {

printf("Entrada %d, Neur“nio %d: ", x+1, cont+1);

scanf ("%f",&entradas[x][cont]);

}for (x=0; x < in; x++)

for (cont=0; cont < saida; cont++) {

18

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 19/23

printf("Sa¡da %d, Neur“nio %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("Itera‡ao %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("Sa¡da esperada: %f\n", saidas[contin][x]);

printf("Sa¡da da rede: %f\n",phi[x]);

}

errom = 0;

for (x=0;x < saida; x++)errom = errom + erro[x]/saida;

printf("Corrigindo pesos...\n");

19

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 20/23

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");

}

CONCLUSÃO

20

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 21/23

Apesar da neurocomputação ter nascido praticamente junto com a computação

 programada nas décadas de 40 e 50, deve-se salientar que a implementação de uma rede

neural naquela época era inviável, pois a fase de aprendizado, a fase mais difícil e demorada

no desenvolvimento de uma rede, dependia (e ainda depende) de complicados algoritmos e de

um número grande de iterações, algo que uma ENIAC em 1946 não teria tanta disposição de

fazê-lo. Hoje, com a tecnologia dos chips VLSI, a implementação das redes neurais tem sido

facilitada.

As redes neurais artificiais são sistemas de processamento de informação formados

 pela interconexão de unidades simples de processamento, denominados neurônios artificiais,

 pois são inspirados a partir de um modelo matemático de um neurônio natural. A motivação

que está por trás deste paradigma alternativo de processamento computacional é a

 possibilidade de elaborar soluções eficazes para problemas de difícil tratamento com base na

computação convencional. O avanço verificado nos últimos anos junto à teoria das RNA’s

tem levado invariavelmente ao desenvolvimento de ferramentas de engenharia mais eficazes e

à utilização mais eficiente dos recursos computacionais hoje disponíveis, o que implica uma

ampliação sem precedentes na capacidade de manipular informação. O grande potencial das

redes neurais artificiais só pode ser explorado com o emprego de procedimentos refinados de

análise e síntese, requerendo um esforço adicional por parte dos usuários no sentido de aplicar os recursos de processamento disponíveis na medida certa e na situação apropriada.

Todas as informações 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 domínios distintos, sendo, assim, um assunto interdisciplinar.

Apenas parte da história foi contada e foram mostradas apenas algumas aplicações,

ressaltando que existem muitos outros conceitos diretamente vinculados às consideraçõesfeitas. A grande disponibilidade de recursos computacionais e a variedade de propostas de

solução para boa parte dos problemas desafiadores dos dias de hoje fornecem o suporte

necessário 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 mudança

de paradigma, protagonizada pelas redes neurais artificiais.

REFERÊNCIAS BIBLIOGRÁFICAS

21

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 22/23

LUDWIG JR., Oswaldo; MONTGOMERY, Eduard. Redes Neurais: Fundamentos e

Aplicações com Programas em C. Rio de Janeiro: Editora Ciência Moderna Ltda, 2007. 8v.

REDES NEURAIS. Capítulo 4: Redes Neurais. Disponível em:

http://www.eps.ufsc.br/disserta96/mueller/cap4/cap4.htm . Acesso em: 03 mai. 2010.

SIQUEIRA, Paulo. Uma nova abordagem na resolução do problema do caixeiro viajante.

2005. Tese (Doutorado em Ciências) – Programa de Pós-Graduação em Métodos Numéricos

em Engenharia – Programação Matemática, Setores de Tecnologia e de Ciências 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 introdução às redes neurais.

Disponível em: HTTP://www.din.uem.br/ia/neurais. Acesso em: 03 mai. 2010.

REDES NEURAIS ARTIFICIAIS. Redes Neurais Artificiais. Disponível em:HTTP://www.icmc.usp.br/~andre/research/neural/index.htm. Acesso em: 03 mai. 2010.

CINQUEPALMI, João. Uma escola para computadores. Super interessante, São Paulo, ed.

275, p. 27, fev. 2010.

ANEXOS

22

5/9/2018 Redes Neurais Artificiais - slidepdf.com

http://slidepdf.com/reader/full/redes-neurais-artificiais-559bf8f4bccd4 23/23

23