Upload
andrielle-azevedo-de-paula
View
449
Download
0
Embed Size (px)
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.
Citation preview
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