CAPÍTULO 3REDES NEURAIS ARTIFICIAISNeste capítulo são apresentados os fundamentos teóricos das redes neurais artificiais,d...
33Existem três características principais que descrevem umaRN biológica, e a quecontribuem para a sua habilidade funcional...
34O primeiro modelo artificial de um neurônio biológico foi fruto do trabalho pioneirodo psiquiatra e neuro-anatomistaWarr...
35O primeiro mecanismo de aprendizagem foi iniciado porDonald Hebb, em 1949. Elepropôs uma regra de aprendizagem conhecida...
36resolver o problema de associação de padrões quando os conjuntos de pares de padrões sãolinearmente separáveis. Naquela ...
37• No corpo celular a informação é processada e novos impulsos são gerados. Estesimpulsos são transmitidos a outros neurô...
38potencial de ação (impulso nervoso), é preciso que os impulsos das sinapses reduzam estenível em cerca de-50 mV (ver fig...
39Interfaces sensoras captam informações do mundo para o cérebro. Os dados sãopassados através de níveis múltiplos do sist...
40O cérebro é adaptativo no início da vida, contudo desenvolve uma fixação ouinflexibilidade com a maturação. Apesar de um...
41Ao se escrever um programa para realizar uma ação diante de um fato, tem-se queprever todas as situações possíveis para ...
423.4 Estruturas e Dinâmicas das Redes Neurais ArtificiaisO modelo de neurônio proposto por McCulloch e Pitts (MCP - neurô...
43∑==niii wxs1. e−==11)(sfyseseLsLs〈≥(3.1)onde: n é o número de entradas no neurônio;wi é peso associado à entrada xi;s...
44O viés (bias) é uma entrada adicional que pode ser acrescentada ao neurônio artificial,não proveniente de nenhum outro n...
45Figura 3.6 – Neurônio com n entradas e pesos definidos [85]O processamento paralelo em computadores seqüenciais pode ser...
463.4.3 Função de Ativação e TransferênciaA função de ativação antecede a de transferência, e tem por atribuição repassar ...
47Figura 3.8 – Funções de transferência mais empregadas [103]Algumas são especificadas como:• Degrau e rampa: possuem deci...
48sigmoidais, o argumento soma das entradas ponderadas de alta magnitude significa derivadasde baixa magnitude, e assim as...
49•Redes de camada única: só existe um nó entre qualquer entrada e qualquer saída darede, ver exemplos na figura 3.10.(a) ...
50Porém, o problema passa a ser então como treinar estas redes, ou qual a definição doerro dos neurônios das camadas inter...
51• Feedback ou cíclica: as saídas de algum neurônio i-ésima camada da rede é usadacomo entrada de neurônios em camadas de...
523.5.1 Aprendizado SupervisionadoEste método de aprendizado é o mais comum no treinamento das RNA’s, tanto deneurônios co...
53a) Regra DeltaProcura minimizar a diferença entre a soma ponderada das entradas pelo pesos (saídacalculada pela rede) e ...
54de regra delta generalizada [85]. Os ajustes dos pesos são realizados utilizando o método dogradiente [82].As redes feed...
55Um neurônio típico tem diversas entradas (xj), cada uma das quais é multiplicada peloscorrespondentes pesos (wi), como m...
56i índice da entrada;j índice do neurônio;η é um coeficiente de aprendizado;E é uma função de erro em relação ao peso que...
57A equação 3.9 descreve a relação entre o erro na saída e um peso que esteja nocaminho do fluxo de excitação. A variação ...
583.5.3 Aprendizado por CompetiçãoNeste aprendizado, é dado um padrão de entrada e se faz com que as unidades de saídadisp...
593.5.4 Aprendizado por ReforçoA principal diferença entre o aprendizado supervisionado clássico e o aprendizado porreforç...
60Após a aprendizagem ser concluída, um outro conjunto de dados, o conjunto de teste,contendo pares de vetores de entrada ...
61Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural [85]A topologia inicial da rede depende da experiência do...
Próximos SlideShares
Carregando em…5
×

Capitulo 3 redes neurais artificiais

1.112 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.112
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
42
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Capitulo 3 redes neurais artificiais

  1. 1. CAPÍTULO 3REDES NEURAIS ARTIFICIAISNeste capítulo são apresentados os fundamentos teóricos das redes neurais artificiais,descrevendo sua célula básica, sua arquitetura e os algoritmos de aprendizagem.3.1 IntroduçãoEste capítulo apresenta a fundamentação de conceitos para implementação de sistemasbaseados em Redes Neurais Artificiais (RNA). A tecnologia de redes neurais busca umasimilaridade entre o comportamento do neurônio biológico e um modelo de neurôniocomputacional. Assim, será possível a realização de tarefas tais como: a associação,categorização e percepção de traços marcantes realizados pelo homem [85]. As RNAspossuem outros nomes, como neurocomputação, processamento paralelo distribuído, sistemasneuro-mórficos, computadores biológicos ou neuro-computadores.O final da década de80 marcou o ressurgimento da área de RNAs, também conhecidacomo conexionismo ou sistemas de processamento paralelo e distribuído [12]. Esta forma decomputação é caracterizada por sistemas que, em algum nível, relembram a estrutura dasredes neurais do cérebro humano [85]. AsRNAs são implementadas em hardware e software,que imitam as habilidades computacionais do sistema nervoso biológico, usando um grandenúmero de simples de neurônios artificiais interconectados.Os neurônios artificiais simulam os neurônios biológicos, os quais recebeminformações de sensores ou de outros neurônios artificiais, produzindo operações simplessobre estes dados, e passam o resultado para outros neurônios artificiais [52]. As RNsfuncionam através de seus neurônios artificiais, que processam seus dados usando:• Paralelismo lógico: para todos os neurônios da mesma camada;• Operações seriais: quando a informação de uma camada é transferida paraneurônios de outra camada.
  2. 2. 33Existem três características principais que descrevem umaRN biológica, e a quecontribuem para a sua habilidade funcional:• Topologia (arquitetura);• Dinâmica;• Aprendizado.As RNs estão sendo adotadas para uso em uma variedade de aplicações comerciais emilitares que atinge desde o reconhecimento de padrões até otimização e seqüenciamento [6].Realiza tarefas bem melhor que outras tecnologias mais convencionais (incluindo sistemaespecialistas). O campo de estudo mantém dependências interdisciplinares com as ciênciascognitivas, a cibernética, a psicologia, a neuro-biologia, a matemática e a física.3.2 As Redes NeuraisO funcionamento da grande maioria dos computadores digitais em uso atualmente ébaseado no princípio de centralizar todas as operações em um processador poderoso ecomplexo. Essa é a idéia básica da arquitetura Von Neumann, assim chamada, pois foiproposta por John Von Neumann, um dos pioneiros da computação, em 1947. O poder de talprocessador pode ser medido em termos de sua velocidade e complexidade [52, 85]As redes neurais artificiais, diferentemente de computadores digitais convencionais,executam suas tarefas usando simultaneamente um grande número de processadores, ou seja,esses processadores operam em paralelo. A representação do conhecimento é distribuída pelasconexões e o aprendizado é feito alterando-se os valores associados com as conexões.Todavia, os métodos de aprendizagem ainda precisam ser programados e para cada problemaespecífico um método de aprendizado apropriado deve ser escolhido.3.2.1 Histórico das Redes Neurais ArtificiaisA história das redes neurais artificiais é relativamente recente. Conta com um poucomais de meio século se considerarmos como pioneiros os trabalhos dos neuro-fisiologistasDonald Hebb e Karl Lashley, por volta de 1940, quando as primeiras simulações foram feitascom papel e lápis [12].
  3. 3. 34O primeiro modelo artificial de um neurônio biológico foi fruto do trabalho pioneirodo psiquiatra e neuro-anatomistaWarren McCulloch e Walter Pitts em 1943 [85]. O trabalhopublicado em 1943, "A logical Calculus of the Ideas Immament in Nervous Activity", éapresentada uma discussão sofisticada das redes lógicas de neurônios e novas idéias sobremáquinas de estados finitos, elementos de decisão de limiar lineares e representações lógicasde várias formas comportamento e memória. Nos conceitos da cibernética, fez-se umaanalogia entre células nervosas vivas e o processo eletrônico num trabalho publicado sobre osneurônios formais. O trabalho consistia num modelo de resistores variáveis e amplificadoresrepresentando conexões sinápticas de um neurônio. Parte da discussão emRNA´s gira emtorno dos métodos de aprendizado para que neurônios possam ser capazes de executar umadeterminada função. O trabalho mencionado anteriormente deMcCulloch e Pitts se concentramuito mais em descrever um modelo artificial de um neurônio e de apresentar as suascapacidades computacionais do que apresentar técnicas de aprendizado. Os fatos básicospercebidos por McCulloch e Pitts, que tornaram possível a modelagem matemática doneurônio [5, 6, 12 , 85], foram:• Neurônios comportam-se como "somadores algébricos";• Adicionam entradas excitatórias;• Subtraem entradas inibitórias;• Neurônios possuem uma propriedade de "limiar", isto é, quando as entradasintegradas excedem o limiar, disparam um sinal através do axônio;• Neurônios comportam-se analogicamente enquanto o axônio comportam-se deforma digital.Dessa forma, um tratamento discreto e binário utilizando o cálculo proposicionaltemporal poderia ser empregado para modelar neurônios biológicos. O neurônio foi definidocomo tendo dois estados:• Verdadeiro e falso do cálculo da lógica proposicional de ordem zero;• O zero e um da álgebra de booleana.O estado do neurônio é analisado a cada instante de tempo, onde o neurônio estádisparado ou está inativo.
  4. 4. 35O primeiro mecanismo de aprendizagem foi iniciado porDonald Hebb, em 1949. Elepropôs uma regra de aprendizagem conhecida hoje como regra de aprendizagemHebbiana.Hebb demonstrou que a capacidade de aprendizagem emRNs pode ser conseguida através davariação dos pesos das conexões entre os neurônios. A regra de Hebb diz que, quando umestímulo de entrada influência na produção de estímulos de saída, o peso da conexão entre osneurônios deve ser incrementado. A regraHebbiana tem sido utilizada em vários algoritmosde aprendizagem de redes neurais artificiais. Mais tarde,Widrow e Hoff sugeriram uma regrade aprendizagem, conhecida com regra de Widrow-Hoff ou Regra Delta, que é ainda hojebastante utilizada. Esta, por sua vez, é baseada no método do gradiente para minimização doerro na saída de um neurônio com resposta linear [6, 12, 85].Os pesquisadores Widrow e Hoff desenvolveram o Adaline (Adaptive Linear NetworkElement) e o Madaline (Many Adaline) Perceptron como um dispositivo prático para resolvertarefas de reconhecimento de padrões. O Adaline/Madaline usou saídas analógicas em vez debinárias como originariamente proposto porMcCulloch e Pitts. Pela primeira vez, imitava océrebro humano com processadores paralelos em vez de uma únicaCPU [52].Em 1958, Frank Rosenblatt em seu livro "Principles of Neurodynomics", forneceuvárias idéias a respeito do perceptrons (novo modelo), que são RNs de limiar baseado nomodelo de Mc-Culloch e Pitts [52]. O perceptron mais simples descrito porRosenblatt possuitrês camadas:• A primeira recebe as entrada do exterior e possui conexões fixas;• A segunda recebe impulsos da primeira através de conexões, cuja eficiência detransmissão (pesos) é ajustável;• E por sua vez, envia saídas para a terceira camada (resposta).Uma das principais idéias deRosenblatt foi à elaboração da arquitetura back-coupledperceptron e o algoritmo "back-coupled error correction algorithm", que é capaz de adaptaros pesos de um conjunto de entradas de uma unidade de associação, de acordo com uma saídadesejada. Tanto o algoritmo "back-couple error conection" quanto à regra delta de Widrow-Hoff são métodos de aprendizagem para redes perceptron de apenas uma camada de neurônios[52].Em 1969, Marvin Minsky e Seymour Papert fizeram um estudo desses algoritmos epublicaram o livro Perceptrons [12]. Provaram formalmente que uma rede formada de umaúnica camada de neurônios, independente do algoritmo de aprendizagem, é capaz apenas de
  5. 5. 36resolver o problema de associação de padrões quando os conjuntos de pares de padrões sãolinearmente separáveis. Naquela época era sabido que redes perceptron com mais de umacamada de neurônios, chamadasMulti Layer Perceptrons (MLP) ou ainda redes feedforward,tinham o poder computacional de aprender padrões linearmente dependentes, contudo eradesconhecido um algoritmo de aprendizagem que pudesse realizar tal associação. Emparticular, demostraram que um perceptron é incapaz sequer de distinguir a letraT de um C.Estes resultados e observações feitas por Minsky e Papert foram devastadoras, e a abordagemconexionista ficou em segundo plano durante a década de70 até o início da década de 80 [6,12, 85].Em 1982 John Hopfield, físico e biólogo do Instituto de Tecnologia da Califórnia, deuum novo impulso ás RNs. Usando uma pesquisa baseada no sistema neurológico de umalesma de jardim, que apresentou um sistema computacional neural composto de muitoselementos de processamento interconectados, que buscam atingir um estado de energiamínima (em repouso). O modelo do físico representa a operação a partir de um determinadonível de excitação (limiar), mostrando que a memória do sistema é armazenada nainterconexões entre as unidades neurais [52].A importância das redes perceptron na resolução do problema de associação depadrões para um conjunto de padrões não linear foi praticamente eliminada porRumelhart,Hinton e Willians [6, 12, 25, 52, 85]. A solução encontrada foi a Regra Delta Generalizada,mais conhecida como algoritmo deCorreção de Erros Backpropagation, em 1986, para redesperceptron de multicamadas de neurônios com entradas e saídas analógicas. As funções deativação foram substituídas por funções contínuas sigmóides. Um resultado similar já haviasido encontrado independentemente por Parker, em 1982, o qual foi chamado de "TheLearning Logic", porém sem repercussão na época [52, 85].3.2.2 Fundamentos BiológicosSabe-se que o cérebro humano contém em torno de 1011neurônios aproximadamente[85]. O neurônio possui um corpo e diversas ramificações, cujas as funções são:• Recebe informações, ou impulsos nervosos, oriundos de outros neurônios, paraconduzi-los até o corpo celular;
  6. 6. 37• No corpo celular a informação é processada e novos impulsos são gerados. Estesimpulsos são transmitidos a outros neurônios;• A transmissão é feita através de um ponto chamado axon hillock (filamentoaxônico), onde surge um filamento comprido que é o axônio. Este entra emcontato com os dentritos dos neurônios seguintes.O ponto de contato entre a terminação axônica de um neurônio e o dendrito de outro échamado de sinapse. As sinapses liberadas pelos neurônios representam a funcionalidade dasRNs. As sinapses funcionam como válvulas, sendo capazes de controlar a transmissão deimpulsos. Isto é, o fluxo da informação entre neurônios na rede neural (ver figura 3.1). Oefeito das sinapses é variável, e é esta variação que dá ao neurônio a capacidade de adaptação.Um neurônio é possível estar conectado a outros neurônios e gerar até 10.000 sinapses, ouseja, até 10.000 conexões com neurônios adjacentes [12].Figura 3.1 – Componente do neurônio biológico [12]O axônio pode transmitir impulso elétrico em ambas as direções, onde o fluxo deinformação vai ao sentido dos dentritos para o axônio, onde há um impulso elétrico no lado doaxon hillock. Em condições normais, se uma corrente elétrica é aplicada em ponto do axônio,o seu potencial irá decair exponencialmente á medida que a corrente é propagada através doaxônio.Há uma diferença de potencial entre o interior e o exterior do neurônio, ocasionadapela diferença entre a concentração depotássio (interna á célula) esódio (externa á célula). Aconcentração de íons de potássio dentro da célula cria um potencial elétrico de -70 mV(potencial de repouso) em relação ao exterior. Para a que a célula dispare, produzindo um
  7. 7. 38potencial de ação (impulso nervoso), é preciso que os impulsos das sinapses reduzam estenível em cerca de-50 mV (ver figura 3.2).Figura 3.2 – Potencial de ação em um neurônio [12]Quando as entradas chegam ao corpo da célula, ocorre um processo de integração(soma) dos estímulos de entrada, e como resultado pode ser gerado um impulso elétrico quecomeça no axon hillock e se propaga até os terminais do axônio. O processo de controle daprodução do impulso elétrico é normalmente aceito como uma função de limiar que produzuma saída, caso a soma das entradas seja maior ou igual a um dado limiar.3.2.3 Características de uma Rede NeuralExistem três características principais que descrevem umaRN biológica, e a quecontribuem para a sua habilidade funcional:a) Topologia do Sistema Neural:Os princípios importantes que podem ser encontrados subjacentes à organizaçãoestrutural das áreas diferentes do cérebro:• Camadas de elementos de processamento;• Colunas de elementos de processamento;• Especialização do tecido neural em sistemas específicos e não específicos.
  8. 8. 39Interfaces sensoras captam informações do mundo para o cérebro. Os dados sãopassados através de níveis múltiplos do sistema nervoso, ou camadas de neurônios. Atravésdesta transferência de níveis do funcionamento cerebral ocorre a abstração, conceitualização edetecção de característica. Por exemplo, o sistema nervoso pode detectar característicasespecíficas, todavia este também espalha informação ambígua. Estas sensações não podem serentendidas enquanto não forem processadas por muitas camadas nas várias áreas do cérebro.b) Dinâmica do Sistema Neural:Diversos processos dinâmicos que ocorrem no sistema neural biológico sãointegralmente ligados às estruturas destes sistemas:• Representação distribuída de informação;• Codificação temporal da informação;• Regra de inibição;• Processamento feedforward e feedback.A informação que é acessada por vários sensores biológicos é distribuída paraneurônios múltiplos. Essa informação é processada por uma parte do cérebro e enviada paraoutra área do cérebro. Esta nova área processa e passa de volta a informação para a locaçãooriginal ou através locações intermediárias.c) Aprendizado no Sistema Neural:A habilidade do sistema neural biológico de aprender adaptativamente em resposta àexperiência e ao ambiente é um dos mais notáveis aspectos deste sistema. Existem algunsaspectos associados com tal aprendizado:• Aprendizado sobrepõe conexões rígidas;• Conceitualização.
  9. 9. 40O cérebro é adaptativo no início da vida, contudo desenvolve uma fixação ouinflexibilidade com a maturação. Apesar de uma relativa inflexibilidade, na fase adulta, existeuma habilidade contínua do cérebro em adaptar-se e aprender novas coisas.3.3 Princípios da NeurocomputaçãoApesar de uma rede neural ser simulada e executada em um computador seqüencial, arede está muito mais para o funcionamento cerebral do que para um computador.A RNA é algoritmo computacional, onde a camada de entrada recebe um conjunto dedados (previamente selecionados e conhecido), cujas sucessivas repetições faz com que umcritério de convergência ou parada ocorra. Assim, a rede é treinada e os parâmetros sãoajustados e definidos nas camadas intermediárias e de saída (ver figura 3.4). Com isto, diz-seque a RNA aprendeu a reconhecer de modo generalizado um conjunto para o qual épreviamente treinada.Figura 3.3 – Modelo neural [85]Se uma rede aprende, ela deve reproduzir algum conhecimento. O seu conhecimentonão está localizado em um endereço e, dessa forma, a rede não separa memória de dadosarmazenados. O conhecimento armazenado está distribuído por toda a rede, da mesma formaque não se pode dissecar um cérebro para extrair conhecimento. O programa implementadoestá previamente condicionado para tal atividade, não fará outra coisa senão a estabelecida, ouseja, a atividade treinada.
  10. 10. 41Ao se escrever um programa para realizar uma ação diante de um fato, tem-se queprever todas as situações possíveis para associar as ações pertinentes a cada ação. Porém,como todos sabem, existem certos casos que simplesmente não é possível prever exatamentetodos os fatos, a começar pela quantidade de situações diferentes que possam vir a ocorrer,dependendo do problema. Dessa forma, quando acontece uma dessas situações inesperadas, oprograma de computador tomaria uma atitude imprevista, ou não tomaria atitude nenhuma,pois não saberia o que fazer. A culpa não é do programa, pois não é programado para reagirdiante de situações que ainda não lhe foram apresentado, e muito menos do computador [12].O cérebro não pensa assim, pois, baseado no conhecimento sinapticamenteacumulado, tomará alguma ação perante a nova situação, ponderando pelo julgamento doselementos que aprendeu.O cérebro humano consome de 20 a 25% da energia corporal e possui um total de 10bilhões de neurônios, sendo que cada um faz entre mil e dez mil conexões com os neurôniosadjacentes [85].O aprendizado sináptico é paralelo, que o torna flexível, rápido e eficaz. Umcomparativo entre o cérebro e o computador, resulta, no quadro a seguir, os seguintes valores(ver tabela 3.1):Tabela 3.1 – Comparativo entre o cérebro humano e o computador [85]Parâmetro Cérebro ComputadorMaterial Orgânico Metal e plásticoVelocidade Milisegundo NanosegundoTipo de Processamento Paralelo SeqüencialArmazenamento Adaptativo EstáticoControle de Processos Distribuído CentralizadoNúmero de elementos processados 1011a 1014105a 106Ligações entre elementos processados 10.000 <10Dentro deste contexto, o estudo e a definição das RNAs teve origem nos fundamentosdo cérebro humano e de suas conexões sinápticas.
  11. 11. 423.4 Estruturas e Dinâmicas das Redes Neurais ArtificiaisO modelo de neurônio proposto por McCulloch e Pitts (MCP - neurônio artificial) éuma simplificação do que se sabia a respeito do neurônio biológico naquela época [98]. A suadescrição matemática resultou em um modelo (ver tabela 3.2), o comparativo entre umneurônio artificial e biológico.Tabela 3.2 – Comparação entre o neurônio biológico e artificialParâmetros Neurônio Biológico Neurônio ArtificialModeloEntrada Dentritos x1, x2, x3,..., xnSaida Axônio yPesos Comportamento das sinapses w1, w2, w3,..., wnEfeito da umasinapseNeurônio pós-sináptico∑==niii wxs1.O neurônio recebe um conjunto de sinais de entrada de outros neurônios. Então, écomputada a média ponderada entre os sinais de entrada e os pesos da conexões (cujos valorespodem ser positivos ou negativos, dependendo das sinapses correspondentes serem inibitóriasou excitatórias). O resultado disto é aplicado à função de ativação, também chamada defunção de transferência. O resultado final é chamado deativação do neurônio. Normalmente,existe um valor de s que, quando atingido, ocasiona um disparo súbito ocasionando pelafunção de ativação, seja ela contínua ou não. Este é chamado de valor limiar e é representadopor L. Considerando a função de ativação do perceptron, o modelo matemático doprocessamento é governado pelas equações 3.1:
  12. 12. 43∑==niii wxs1. e−==11)(sfyseseLsLs〈≥(3.1)onde: n é o número de entradas no neurônio;wi é peso associado à entrada xi;s é o limiar do neurônio.A operação de um neurônio artificial com suas conexões é inspirada no modelobiológico, como mostrado a seguir na figura 3.4:Figura 3.4 – Modelo do neurônio artificial [52]Os modos em que neurônios artificiais diferem um do outro, e que pode sermodificados para nova performance incluem: mudança da função de transferência e adição,novos parâmetros ou funções para a rede (tais como viés, ganho e limiares adaptativos). Já osaspectos que diferem as redes neurais são as conexões dos números de camadas e tipo detreinamento. Entre os modelos já publicados em revistas especializadas, encontram-se, comoclássicos, os modelos: Backpropagation, Kohonen, Perceptron, Boltzman e outros [52]. Omodelo de MCP apresenta algumas limitações como:• Redes MCP com apenas uma camada só conseguem implementar funçõeslinearmente separáveis;• Pesos negativos são mais adequados para representar disparos inibidores;• O modelo foi proposto com pesos fixos, não ajustáveis.
  13. 13. 44O viés (bias) é uma entrada adicional que pode ser acrescentada ao neurônio artificial,não proveniente de nenhum outro neurônio, e de valor de entrada fixado em+1. Seu peso deconexão w0 é ajustável pelo aprendizado como qualquer outro peso da conexão. Toma-secomo exemplo o perceptron, onde pode-se escrever as equações 3.2 e a figura 3.5:∑=+=niii wwxs10. e−==11)(sfysese00〈≥ss(3.2)Figura 3.5 – Modelo do neurônio artificial com entrada de viés [85]Embora o viés inexista biologicamente, seu uso nos modelos artificiais provê meios detransladar o valor limiar da função transferência.3.4.1 Sinais de Entrada e SaídaO neurônio possui, a princípio, um ou mais sinais de entrada e um de saída. Asentradas de neurônio artificial podem ser comparadas como estímulos para o neurônio natural.Todos esses estímulos são enviados até o neurônio simultaneamente, ou seja, se um neurôniopossui cinco entradas, os sinais das cinco entradas devem chegar até o núcleo deprocessamento ao mesmo tempo, isto quer dizer, paralelamente (ver figura 3.6).
  14. 14. 45Figura 3.6 – Neurônio com n entradas e pesos definidos [85]O processamento paralelo em computadores seqüenciais pode ser paradoxal. Asimulação de um ambiente paralelo é possível, e é desta forma que ocorre esse tipo deprocessamento nas RN. O modelo matemático simula o paralelismo da rede neural através deum algoritmo e os pesos (wn) da rede são ajustados por uma rotina de treinamento.3.4.2 PesosOs pesos, representados por w são valores que apresentam o grau de importância quedeterminada entrada possui em relação àquele neurônio. Quando uma entrada é bastanteestimulada, acaba estimulando, também, o peso correspondente à sua conexão.Os pesos podem ser vistos, matematicamente, como um vetor de valores (w1, w2, w3,...,wn). Havendo mais um neurônio na rede, pode-se então ter uma coleção de vetores, ou seja,uma matriz de pesos, onde cada vetor, corresponde a um neurônio. O sinal de excitação noneurônio é a soma das multiplicações entre as entradas(x1, x2, x3,..., xn) e os pesos. Asentradas multiplicadas pelos pesos, recebem, depois desta operação, o nome de entradasponderadas.A função do neurônio é, depois de acumulado o valor somado dos produtos ocorridosentre as entradas e os pesos comparar esse valor com o limiar. Atingindo-o, o valor é entãopassado adiante através da saída. A esse processo chama-se de função de transferência. Casocontrário, se o valor não atinge o limiar, o sinal não é transferido adiante.
  15. 15. 463.4.3 Função de Ativação e TransferênciaA função de ativação antecede a de transferência, e tem por atribuição repassar o sinalpara a saída do neurônio. A função de ativação é uma função de ordem interna, cujaatribuição é fazer acontecer um nível de ativação dentro do próprio neurônio, ou seja, é umadecisão tomada pelo neurônio sobre o que fazer com o valor resultante do somatório dasentradas ponderadas [85]. Veja a seguir um neurônio na figura 3.7.Figura 3.7 – Um neurônio com as funções de ativação e transferência [85]Em modelos simples de redes neurais, a função de ativação pode ser a própria funçãode soma das entradas ponderadas do neurônio. Em modelos mais complexos, a função deativação possui um processamento atribuído. Após o valor ter sido processado pela função deativação, é então passado para função de transferência, que produzirá o valor da saída doneurônio [85].A função de transferência pode ter muitas formas e métodos, podendo ser simples oucomplexa. A função de transferência é conhecida como limiar lógico. Essa função é quemenvia para fora do neurônio o valor passado pela função de ativação [52]. As funções detransferência(y) mais conhecidas são apresentadas na figura 3.8.
  16. 16. 47Figura 3.8 – Funções de transferência mais empregadas [103]Algumas são especificadas como:• Degrau e rampa: possuem decisões ríspidas, principalmente para valoresextremos. Essas funções refletem a saída dentro de uma faixa (digamos entre0 e1). Isto quer dizer que , ultrapassado um certo limite, a função dispara o valor0 ou1, ou -1, dependendo da função e da forma que será utilizada.• Sigmóide: caracterizam-se pelo seu formato em letraS alongada, são contínuas emonotonicamente crescentes, limitadas por duas assíntotas horizontais. Possuem avantagem adicional de fornecer uma forma para controle automático de ganho. Àmedida que a magnitude cresce, o ganho decresce. Deste modo, sinais de grandeamplitude podem ser acomodados pela rede sem uma saturação abrupta, enquantosinais baixos passam sem excessiva atenuação.As funções sigmoidais são empregadas com sucesso como funções de transferências,porque apresentam a propriedade de ser derivável em todos os pontos [25]. Esta característicaé importante para a lei de aprendizagembackpropagation (ver item 3.5.1.2 ou Apêndice I),que requer cálculo do gradiente do vetor do erro. Conforme será visto oportunamente, astrocas nos pesos das conexões são proporcionais à derivada de ativação. Para as funções
  17. 17. 48sigmoidais, o argumento soma das entradas ponderadas de alta magnitude significa derivadasde baixa magnitude, e assim as trocas nos pesos das conexões durante a aprendizagem serãomenores; já um argumento de baixa magnitude para a função representa uma derivada demagnitude maior e, conseqüentemente, uma maior quantidade de trocas nos pesos.3.4.4 Camadas EscondidasAlgumas vezes a saída do neurônio é conduzida para outros neurônios, em vez de serconduzida como resposta final, ou seja, os sinais da saída vão para uma próxima camada,chamadas também de intermediárias ou ocultas. Essas camadas intermediárias se situam entrea camada de entrada e a camada de saída da rede neural (ver figura 3.9).Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas [85]Essas camadas são compostas por neurônios que possuem exatamente a mesmaestrutura que os neurônios da camada de saída. Não existe uma regra que define o número decamadas escondidas.3.4.5 Arquiteturas das Redes Neurais ArtificiaisAs conexões entre as camadas podem gerar diferentes estruturas. Cada conexão visatornar o sinal de saída em um sinal de entrada, tanto para um outro neurônio, quanto para omesmo que o gerou. Fazem parte da definição da arquitetura os seguintes parâmetros:a) Número de Camadas da RedeAlguns exemplos de arquiteturas deRNA´s quanto ao número de camadas:
  18. 18. 49•Redes de camada única: só existe um nó entre qualquer entrada e qualquer saída darede, ver exemplos na figura 3.10.(a) (b)Figura 3.10 – Redes de camada única [12]•Redes de múltiplas camadas: existe mais de um neurônio entre alguma entrada ealguma saída da rede (ver figura 3.11).(a)(b) (c)Figura 3.11 – Redes de múltiplas camadas [12]O número de neurônios da camada escondida é livre, não obedece nenhuma regraespecífica.b) Redes Multi-Layer Perceptron (MLP)As redes de uma só camada resolvem apenas problemas linearmente separáveis [12].A solução de problemas não linearmente separáveis passa pelo uso das redes com uma oumais camadas ocultas. Segundo Cybenko, uma rede com uma camada intermediária podeimplementar qualquer função contínua [45, 98]. A utilização de duas camadas intermediáriaspermite a aproximação de qualquer função.
  19. 19. 50Porém, o problema passa a ser então como treinar estas redes, ou qual a definição doerro dos neurônios das camadas intermediárias. Para treinar as redes com mais de umacamada foi proposto um método que se baseia em gradiente descendente (backpropagation)[6, 12, 70]. Afim de que este método possa ser utilizado, a função de ativação precisa sercontínua, diferenciável e, de preferência, não decrescente. A função de ativação deve informaros erros cometidos pela rede para as camadas anteriores com a maior precisão possível. Aalternativa utilizada para superar os problemas acima citados foi a utilização de funções deativação do tipo sigmoidal (logística e tangente hiperbólica). O treinamento é supervisionado,e suas principais aplicações são: classificação de padrões, predição e interpolação.Com relação ao número de neurônios nas camadas intermediárias, este é geralmentedefinido empiricamente. Este número depende fortemente da distribuição dos padrões detreinamento e validação de rede. O número adequado de neurônios na camada oculta dependede vários fatores, como:• Número de exemplos de treinamento;• Quantidade de ruído presente nos exemplos;• Complexidade da função a ser aprendida;• Distribuição estatística dos dados de treinamentos.O número de unidades intermediárias pode também crescer exponencialmente com onúmero de entradas. A solução neural mais eficiente é aquele onde o número de unidadescresce apenas polinomialmente com o aumento do número de unidades de entradas [52].c) Conexões dos NeurôniosAlguns exemplos de arquiteturas deRNA´s quanto ao tipo de conexões dos nodos.• Feedforward ou acíclica: a saída de um neurônio na i-ésima camada da rede nãopode ser usada como entrada de neurônios em camadas de índice menor ou igual ai. Nesta rede não existe uma medida de estabilidade de rede, devido àsimplicidade de fluir as informações entre as camadas (ver figuras 3.10 (a) e (b), e3.11 (a)).
  20. 20. 51• Feedback ou cíclica: as saídas de algum neurônio i-ésima camada da rede é usadacomo entrada de neurônios em camadas de índice menor ou igual ai (ver figura3.11 (b) e (e), e 3.12).O sinal pode ser usado tanto para excitar a camada inteiracomo também para excitar apenas um neurônio em particular, ou até mesmo, opróprio neurônio, que realizou o disparo.Figura 3.12 – Redes feedback [85]Enfim, a arquitetura da rede neural é livre, pode ser modificada conforme critério ounecessidade do projetista.3.5 Aprendizado das Redes Neurais ArtificiaisUm conjunto de procedimentos bem definidos para adaptar os parâmetros de umaRNApara que a mesma possa aprender uma determinada função é chamado de algoritmo deaprendizado. Como era de se esperar, não há único algoritmo de aprendizado. O que se tem éum conjunto de ferramentas representadas por diversos algoritmos, cada qual com suasvantagens e desvantagens. Estes algoritmos basicamente diferem pela maneira de como oajuste dos pesos é feito.A etapa de aprendizado consiste em um processo iterativo de ajuste de parâmetros darede, os pesos das conexões entre as unidades de processamento, que guardam, ao final doprocesso, o conhecimento que a rede adquiriu do ambiente em que está operando.Diversos métodos para treinamento de redes foram desenvolvidos, podendo estesserem agrupados em dois paradigmas principais: aprendizado supervisionado e não-supervisionado [12, 85]. Outros dois paradigmas bastante conhecidos são os de aprendizadopor reforço (caso particular de aprendizado supervisionado) e aprendizado por competição(caso particular de aprendizado não supervisionado).
  21. 21. 523.5.1 Aprendizado SupervisionadoEste método de aprendizado é o mais comum no treinamento das RNA’s, tanto deneurônios com pesos, como os sem pesos, sendo chamado de aprendizado supervisionado.Porque a entrada e a saída desejadas para a rede são fornecidas por um supervisor externo (verfigura 3.13). O objetivo é ajustar os parâmetros da rede, de forma a encontrar uma ligaçãoentre os pares de entrada e saída fornecidos.Figura 3.13 – Aprendizado supervisionado [12]A rede tem sua saída calculada e comparada com a saída, recebendo informações dosupervisor sobre o erro da resposta atual. A cada padrão de entrada submetido à rede,compara-se a resposta desejada com a resposta calculada, ajustando-se os pesos das conexõespara minimizar o erro existente.A desvantagens do aprendizado supervisionado é que, na ausência do professor, a redenão conseguirá aprender novas estratégias para situações não cobertas pelos exemplos dotreinamento da rede. Os exemplos mais conhecidos de algoritmos para aprendizadosupervisionado são a regra delta e a sua generalização para redes de múltiplas camadas, oalgoritmo backpropagation.
  22. 22. 53a) Regra DeltaProcura minimizar a diferença entre a soma ponderada das entradas pelo pesos (saídacalculada pela rede) e a saída desejada, ou seja, o erro da resposta atual da rede. O termoe(t)do erro deve ser escrito pela equação (3.3):)()()( tytdte −= (3.3)onde: d(t) é a saída desejada;y(t) resposta atual no instantet.A forma genérica para alteração dos pesos pela regra delta é dada pela equação 3.4:)().(.)()1( txtetwtw iii η+=+ (3.4)onde: wi(t+1) é o novo valor do peso;wi(t) é o valor velho do pesos;i índice da entrada;η constante de aprendizado;e(t) erro;xi(t) é a entrada para o neurônio no instantet.A cada novo padrão apresentado à rede o peso é atualizado. A constante deaprendizado η controla a estabilidade e velocidade de convergência. Uma faixa prática parasua escolha é 0.1 ≤ η ≤ 1.b) Algoritmo BackpropagationO algoritmo backpropagation é utilizado no treinamento de redesMLP, esse algoritmofoi importante no ressurgimento de interesse emRNA´s, por ocasião da publicação do livro“Parallel Distributed Processing”, mais conhecido como PDP, em 1986 [52]. Obackpropagation é baseado na regra delta proposta por Widrow e Hoff, assim sendo chamada
  23. 23. 54de regra delta generalizada [85]. Os ajustes dos pesos são realizados utilizando o método dogradiente [82].As redes feedforward com algoritmos de aprendizado tipo backpropagation setornaram muito populares, devido à capacidade de resolver a maioria dos problemas dereconhecimentos de padrões, além da utilização em aplicações de sistema de controles [6].Esse algoritmo é supervisionado e utilizam pares (entrada, saída desejada) para,através de um mecanismo de correção de erros, ajustar os pesos da rede. O treinamento ocorreem duas fases, onde cada fase percorre a rede em um sentido. Estas duas fases são chamadasde forward e backforward (ver figura 3.14).Figura 3.14 – Fluxo de processamento do algoritmo com as fases forward e backward [88]A fase forward é utilizada para definir a saída da rede para um dado padrão de entrada,já a fase backward utiliza a saída desejada e a saída fornecida pela rede para atualizar os pesosde suas conexões.• Descrição Qualitativa do BackpropagationO backpropagation é um algoritmo de aprendizado [98]. Uma rede neural com umatopologia feedforward, usando este algoritmo para treinamento, tem uma camada de entrada,pelo menos uma camada escondida, e uma camada de saída. Uma redeopera em dois passosdurante o treinamento. Inicialmente, um padrão de entrada é apresentado à camada de entradada rede. Há fluxo de atividade, devido as excitações dos neurônios através da rede, desde acamada de entrada até que a saída seja gerada. Então, o segundo passo é calcular o erro entreesse padrão de saída e o padrão esperado; esse erro é passado da camada de saída, para trás,com os pesos das conexões sendo alterados, conforme o erro se propaga para trás [5, 70, 82].
  24. 24. 55Um neurônio típico tem diversas entradas (xj), cada uma das quais é multiplicada peloscorrespondentes pesos (wi), como mostrado na figura 3.15 e a equação 3.5.Figura 3.15 – Estrutura de um elemento neurônio [85]∑==niii xws1.(3.5)Esse sinal passa através da função de ativação que é tipicamente não-linear, como umafunção sigmoidal.No backpropagation, o treinamento da rede neural tem por objetivo estimar o erro, ouseja, a diferença entre os valores obtidos e os reais para um determinado estimulo na entrada.A redução deste erro é através da alteração dos pesos atribuídos ao caminho do fluxo desseestimulo nas diversas camadas da rede.• Descrição Analítica do BackpropagationA seguir é descrito o mecanismo interno do backpropagation. Para maioresesclarecimentos matemáticos veja Apêndice I. A regraDelta Generalizada é um algoritmo deaprendizado como segue na equação 3.6:ijijEωηω∂∂−=∆ .(3.6)onde: wij representa o peso w da entrada xj;∆wij é a variação incremental de um peso partícula;
  25. 25. 56i índice da entrada;j índice do neurônio;η é um coeficiente de aprendizado;E é uma função de erro em relação ao peso que está sendo modificado.Para conexões entre a camada escondida e a saída, o gradiente de descida é expressocomo:)().()(.. syyysyE obtidojdesejadojjj −==∆ ηηω (3.7)O erro de saída que causa a alteração dos pesos é a diferença entre o valor desejado e oobtido. Como a função y(s) é geralmente sigmoidal (logística ou tangente hiperbólica), a suaderivada é dado por:)](1).[()(sysydssdy−=(3.8)A atualização do vetor w depende dos valores: yjdesejado, das entradas e da saídayjobtida.Este procedimento é ilustrado com o diagrama de blocos da figura 3.16, ondeG(s) é a funçãode ativação.Figura 3.16 – Diagrama de blocos da regra delta generalizada [45]G(s)ηη. yjobtido. (1 – yjobtido)yjobtidoyjdesejadox (entrada)∆∆ωωX-+
  26. 26. 57A equação 3.9 descreve a relação entre o erro na saída e um peso que esteja nocaminho do fluxo de excitação. A variação das conexões entre a camada de entrada e aescondida é dada por:∑−−=∆nkksaídakjkkkij syEsysy1)(..)](1).[(. ωηω(3.9)Nas superfícies de ordem elevada, o gradiente de descida pode ser muito lento se ocoeficiente de aprendizado η for muito pequeno, e produz oscilações se for muito alto [6, 12,84]. A adição de um termo de momento α pode melhorar bastante a implementação (verequação 3.10).anteriorijijijE).(. ωαωηω ∆+∂∂−=∆(3.10)A equação 3.7 é modificada para incluir o termo de momento α, que influênciadiretamente na inércia do aprendizado.3.5.2 Aprendizado Não-SupervisionadoNeste tipo de aprendizado não há um supervisor para acompanhar o processo deaprendizagem. No algoritmo, somente os padrões de entrada estão disponíveis para a rede (verfigura 3.17).Figura 3.17 – Aprendizado não-supervisionado [12]No aprendizado supervisionado é necessário um conjunto de treinamento que contenhaos pares de entrada e saída.
  27. 27. 583.5.3 Aprendizado por CompetiçãoNeste aprendizado, é dado um padrão de entrada e se faz com que as unidades de saídadisputem entre si para serem ativadas. Assim, há uma competição entre as unidades de saídapara decidir qual delas será a vencedora e que conseqüentemente, terá sua saída e seus pesosatualizados no treinamento [12]. As unidades de entradas são diretamente conectadas àsunidades de saída, sendo que estas últimas também podem estar ligadas entre si via conexõeslaterais inibitórias, ou negativas. A unidade de saída com maior ativação inicial, terá maiorchance de vencer a disputa entre outras unidades, onde, a unidade mais forte, fica ainda maisforte e seu efeito inibidor sobre as outras unidades de saída torna-se dominante. Com o tempo,todas as outras unidades de saída ficarão completamente inativas, exceto a vencedora [12, 25].Um problema neste algoritmo é que uma unidade da saída pode se tornar dominante eficar ativa todo o tempo, podendo captar para si todo o espaço de entradas. A solução para talproblema é limitar os pesos, ou seja, a soma dos pesos sobre as linhas de entrada de umaunidade é limitada em1 [12]. Para aumentar o peso de uma conexão, é preciso diminuir opeso de alguma outra, conforme descrito na equação 3.11:jjjwMxw..ηη−=∆(3.11)onde: j = 1, 2, ..., n;wj é o peso da conexão da unidade de entrada j com a unidade ativa;xj é o valor do j-ésimo bit de entrada;M é o número de unidades de entrada ativas no vetor de entrada;η é a taxa de aprendizado.O aprendizado por competição é base dos modelos de ART (Adaptative ResonanceTheory) de Grossberg e dos mapas de Kohonen [12].
  28. 28. 593.5.4 Aprendizado por ReforçoA principal diferença entre o aprendizado supervisionado clássico e o aprendizado porreforço é a medida de desempenho usada em cada um dos sistemas [80]. No aprendizadosupervisionado, a medida de desempenho é baseada no conjunto de respostas desejadasusando um critério de erro conhecido, enquanto que no aprendizado por reforço odesempenho é baseado em qualquer medida que possa ser fornecida ao sistema [12, 80]. Noaprendizado por reforço, a única informação de realimentação fornecida à rede é se umadeterminada saída está correta ou não (ver figura 3.18).Figura 3.18 – Aprendizado por reforço [12]Exemplificando esse aprendizado, basta pensar na analogia do aprendizado de umanimal, em que, se ele faz algo correto, ele é recompensado. Se fizer algo incorreto, é punido.Estes são os estímulos (recompensa ou punição) que servem como feedback para que a redeneural aprenda.3.6 Processo de TreinamentoO critério de parada define como a rede atinge uma aprendizagem aceitável doconjunto de padrões de treinamento, este é avaliado a partir das respostas da rede em relaçãoàs saídas desejadas.
  29. 29. 60Após a aprendizagem ser concluída, um outro conjunto de dados, o conjunto de teste,contendo pares de vetores de entrada e saídas desejadas, deverá ser utilizado para testar aeficiência da rede. Se o resultado do teste for insatisfatório, o conjunto de treinamento éinsuficiente. Logo, devem-se incluir novos exemplares no conjunto de treinamento e treinarnovamente a rede neural.No treinamento de uma rede há uma concepção errônea relativa ao processo iterativo.No caso do supertreinamento, deve-se treinar a rede para reduzir o erro, mas para isso énecessário aumentar o conjunto de treinamento, a fim de aumentar seu desempenho [70].Embora parcialmente verdadeira esta afirmação, o super ajustamento do conjunto detreinamento pode levar a uma má generalização [50, 52, 70, 103]. A figura 3.19 mostra o errode uma rede neural para o conjunto de treinamento e para o conjunto de teste.Figura 3.19 – Análise do supertreinamento [52]O aumento do tamanho da camada escondida pode melhorar o desempenho da redepara os dados de treinamento, porém podem prejudicar a precisão da rede para os novosdados. Esse é um fenômeno de memorização, ou seja, a rede procura juntar grupos de dadosespecíficos para cada neurônio da camada escondida, perdendo no entanto a capacidade degeneralização. Deve-se sempre comparar o erro obtido, com os dados para treinamento, comos novos dados, os quais devem ser da mesma ordem de grandeza [52, 50, 70, 103].3.7 Projeto de uma Rede NeuralA figura 3.20 mostra um diagrama de blocos com as etapas necessárias para se treinare desenvolver uma rede neural.
  30. 30. 61Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural [85]A topologia inicial da rede depende da experiência do projetista. Na prática é melhoriniciar com um número pequeno de nós na camada escondida e gradualmente aumentar otamanho dessa camada através de tentativas e erro.3.8 ConclusãoNeste capítulo foram apresentados a base biológica e artificial dos neurônios, e osmétodos de aprendizagem, que correspondem ao ajuste dos pesos das conexões sinápticas. Naausência de modelos matemáticos de processo, as redes neurais podem utilizar um históricode dados para se construir modelos preditivos, ou seja, um modelo que pode predizer asreações do processo a novas condições.As RNA’s constituem uma área emergente de estudos que tomou vulto de formaexplosiva, e que tem como base a realização de tarefa de alto nível mental em nível demáquina, através de uma computação massivamente paralela através de neurônios artificiais.

×