Você está na página 1de 30

CAPTULO 3 REDES NEURAIS ARTIFICIAIS

Neste captulo so apresentados os fundamentos tericos das redes neurais artificiais, descrevendo sua clula bsica, sua arquitetura e os algoritmos de aprendizagem.

3.1 Introduo

Este captulo apresenta a fundamentao de conceitos para implementao de sistemas baseados em Redes Neurais Artificiais (RNA). A tecnologia de redes neurais busca uma similaridade entre o comportamento do neurnio biolgico e um modelo de neurnio computacional. Assim, ser possvel a realizao de tarefas tais como: a associao, categorizao e percepo de traos marcantes realizados pelo homem [85]. As RNA's possuem outros nomes, como neurocomputao, processamento paralelo distribudo, sistemas neuro-mrficos, computadores biolgicos ou neuro-computadores. O final da dcada de 80 marcou o ressurgimento da rea de RNA's, tambm conhecida como conexionismo ou sistemas de processamento paralelo e distribudo [12]. Esta forma de computao caracterizada por sistemas que, em algum nvel, relembram a estrutura das redes neurais do crebro humano [85]. As RNA's so implementadas em hardware e software, que imitam as habilidades computacionais do sistema nervoso biolgico, usando um grande nmero de simples de neurnios artificiais interconectados. Os neurnios artificiais simulam os neurnios biolgicos, os quais recebem informaes de sensores ou de outros neurnios artificiais, produzindo operaes simples sobre estes dados, e passam o resultado para outros neurnios artificiais [52]. As RN's funcionam atravs de seus neurnios artificiais, que processam seus dados usando: Paralelismo lgico: para todos os neurnios da mesma camada; Operaes seriais: quando a informao de uma camada transferida para neurnios de outra camada.

33

Existem trs caractersticas principais que descrevem uma RN biolgica, e a que contribuem para a sua habilidade funcional: Topologia (arquitetura); Dinmica; Aprendizado.

As RN's esto sendo adotadas para uso em uma variedade de aplicaes comerciais e militares que atinge desde o reconhecimento de padres at otimizao e seqenciamento [6]. Realiza tarefas bem melhor que outras tecnologias mais convencionais (incluindo sistema especialistas). O campo de estudo mantm dependncias interdisciplinares com as cincias cognitivas, a ciberntica, a psicologia, a neuro-biologia, a matemtica e a fsica.

3.2 As Redes Neurais

O funcionamento da grande maioria dos computadores digitais em uso atualmente baseado no princpio de centralizar todas as operaes em um processador poderoso e complexo. Essa a idia bsica da arquitetura Von Neumann, assim chamada, pois foi proposta por John Von Neumann, um dos pioneiros da computao, em 1947. O poder de tal processador 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 nmero de processadores, ou seja, esses processadores operam em paralelo. A representao do conhecimento distribuda pelas conexes e o aprendizado feito alterando-se os valores associados com as conexes. Todavia, os mtodos de aprendizagem ainda precisam ser programados e para cada problema especfico um mtodo de aprendizado apropriado deve ser escolhido.

3.2.1 Histrico das Redes Neurais Artificiais

A histria das redes neurais artificiais relativamente recente. Conta com um pouco mais de meio sculo se considerarmos como pioneiros os trabalhos dos neuro-fisiologistas Donald Hebb e Karl Lashley, por volta de 1940, quando as primeiras simulaes foram feitas com papel e lpis [12].

34

O primeiro modelo artificial de um neurnio biolgico foi fruto do trabalho pioneiro do psiquiatra e neuro-anatomista Warren McCulloch e Walter Pitts em 1943 [85]. O trabalho publicado em 1943, "A logical Calculus of the Ideas Immament in Nervous Activity", apresentada uma discusso sofisticada das redes lgicas de neurnios e novas idias sobre mquinas de estados finitos, elementos de deciso de limiar lineares e representaes lgicas de vrias formas comportamento e memria. Nos conceitos da ciberntica, fez-se uma analogia entre clulas nervosas vivas e o processo eletrnico num trabalho publicado sobre os neurnios formais. O trabalho consistia num modelo de resistores variveis e amplificadores representando conexes sinpticas de um neurnio. Parte da discusso em RNAs gira em torno dos mtodos de aprendizado para que neurnios possam ser capazes de executar uma determinada funo. O trabalho mencionado anteriormente deMcCulloch e Pitts se concentra muito mais em descrever um modelo artificial de um neurnio e de apresentar as suas capacidades computacionais do que apresentar tcnicas de aprendizado. Os fatos bsicos percebidos por McCulloch e Pitts, que tornaram possvel a modelagem matemtica do neurnio [5, 6, 12 , 85], foram: Neurnios comportam-se como "somadores algbricos"; Adicionam entradas excitatrias; Subtraem entradas inibitrias; Neurnios possuem uma propriedade de "limiar", isto , quando as entradas integradas excedem o limiar, disparam um sinal atravs do axnio; Neurnios comportam-se analogicamente enquanto o axnio comportam-se de forma digital.

Dessa forma, um tratamento discreto e binrio utilizando o clculo proposicional temporal poderia ser empregado para modelar neurnios biolgicos. O neurnio foi definido como tendo dois estados: Verdadeiro e falso do clculo da lgica proposicional de ordem zero; O zero e um da lgebra de booleana. O estado do neurnio analisado a cada instante de tempo, onde o neurnio est disparado ou est inativo.

35

O primeiro mecanismo de aprendizagem foi iniciado por Donald Hebb, em 1949. Ele props uma regra de aprendizagem conhecida hoje como regra de aprendizagemHebbiana. Hebb demonstrou que a capacidade de aprendizagem em RN's pode ser conseguida atravs da variao dos pesos das conexes entre os neurnios. A regra de Hebb diz que, quando um estmulo de entrada influncia na produo de estmulos de sada, o peso da conexo entre os neurnios deve ser incrementado. A regra Hebbiana tem sido utilizada em vrios algoritmos de aprendizagem de redes neurais artificiais. Mais tarde, Widrow e Hoff sugeriram uma regra de aprendizagem, conhecida com regra de Widrow-Hoff ou Regra Delta, que ainda hoje bastante utilizada. Esta, por sua vez, baseada no mtodo do gradiente para minimizao do erro na sada de um neurnio com resposta linear [6, 12, 85]. Os pesquisadores Widrow e Hoff desenvolveram o Adaline (Adaptive Linear Network Element) e o Madaline (Many Adaline) Perceptron como um dispositivo prtico para resolver tarefas de reconhecimento de padres. O Adaline/Madaline usou sadas analgicas em vez de binrias como originariamente proposto por McCulloch e Pitts. Pela primeira vez, imitava o crebro humano com processadores paralelos em vez de uma nicaCPU [52]. Em 1958, Frank Rosenblatt em seu livro "Principles of Neurodynomics", forneceu vrias idias a respeito do perceptrons (novo modelo), que so RN's de limiar baseado no modelo de Mc-Culloch e Pitts [52]. O perceptron mais simples descrito por Rosenblatt possui trs camadas: A primeira recebe as entrada do exterior e possui conexes fixas; A segunda recebe impulsos da primeira atravs de conexes, cuja eficincia de transmisso (pesos) ajustvel; E por sua vez, envia sadas para a terceira camada (resposta). Uma das principais idias deRosenblatt foi elaborao da arquitetura back-coupled perceptron e o algoritmo "back-coupled error correction algorithm", que capaz de adaptar os pesos de um conjunto de entradas de uma unidade de associao, de acordo com uma sada desejada. Tanto o algoritmo "back-couple error conection" quanto regra delta de WidrowHoff so mtodos de aprendizagem para redes perceptron de apenas uma camada de neurnios [52]. Em 1969, Marvin Minsky e Seymour Papert fizeram um estudo desses algoritmos e publicaram o livro Perceptrons [12]. Provaram formalmente que uma rede formada de uma nica camada de neurnios, independente do algoritmo de aprendizagem, capaz apenas de

36

resolver o problema de associao de padres quando os conjuntos de pares de padres so linearmente separveis. Naquela poca era sabido que redes perceptron com mais de uma camada de neurnios, chamadas Multi Layer Perceptrons (MLP) ou ainda redes feedforward, tinham o poder computacional de aprender padres linearmente dependentes, contudo era desconhecido um algoritmo de aprendizagem que pudesse realizar tal associao. Em particular, demostraram que um perceptron incapaz sequer de distinguir a letra de um C. T Estes resultados e observaes feitas por Minsky e Papert foram devastadoras, e a abordagem conexionista ficou em segundo plano durante a dcada de 70 at o incio da dcada de 80 [6, 12, 85]. Em 1982 John Hopfield, fsico e bilogo do Instituto de Tecnologia da Califrnia, deu um novo impulso s RN's. Usando uma pesquisa baseada no sistema neurolgico de uma lesma de jardim, que apresentou um sistema computacional neural composto de muitos elementos de processamento interconectados, que buscam atingir um estado de energia mnima (em repouso). O modelo do fsico representa a operao a partir de um determinado nvel de excitao (limiar), mostrando que a memria do sistema armazenada na interconexes entre as unidades neurais [52]. A importncia das redes perceptron na resoluo do problema de associao de padres para um conjunto de padres no linear foi praticamente eliminada por Rumelhart, Hinton e Willians [6, 12, 25, 52, 85]. A soluo encontrada foi a Regra Delta Generalizada, mais conhecida como algoritmo de Correo de Erros Backpropagation, em 1986, para redes perceptron de multicamadas de neurnios com entradas e sadas analgicas. As funes de ativao foram substitudas por funes contnuas sigmides. Um resultado similar j havia sido encontrado independentemente por Parker, em 1982, o qual foi chamado de "The Learning Logic", porm sem repercusso na poca [52, 85].

3.2.2 Fundamentos Biolgicos


Sabe-se que o crebro humano contm em torno de 1011 neurnios aproximadamente [85]. O neurnio possui um corpo e diversas ramificaes, cujas as funes so: Recebe informaes, ou impulsos nervosos, oriundos de outros neurnios, para conduzi-los at o corpo celular;

37

No corpo celular a informao processada e novos impulsos so gerados. Estes impulsos so transmitidos a outros neurnios; A transmisso feita atravs de um ponto chamado axon hillock (filamento axnico), onde surge um filamento comprido que o axnio. Este entra em contato com os dentritos dos neurnios seguintes.

O ponto de contato entre a terminao axnica de um neurnio e o dendrito de outro chamado de sinapse. As sinapses liberadas pelos neurnios representam a funcionalidade das RN's. As sinapses funcionam como vlvulas, sendo capazes de controlar a transmisso de impulsos. Isto , o fluxo da informao entre neurnios na rede neural (ver figura 3.1). O efeito das sinapses varivel, e esta variao que d ao neurnio a capacidade de adaptao. Um neurnio possvel estar conectado a outros neurnios e gerar at 10.000 sinapses, ou seja, at 10.000 conexes com neurnios adjacentes [12].

Figura 3.1 Componente do neurnio biolgico [12]

O axnio pode transmitir impulso eltrico em ambas as direes, onde o fluxo de informao vai ao sentido dos dentritos para o axnio, onde h um impulso eltrico no lado do axon hillock. Em condies normais, se uma corrente eltrica aplicada em ponto do axnio, o seu potencial ir decair exponencialmente medida que a corrente propagada atravs do axnio. H uma diferena de potencial entre o interior e o exterior do neurnio, ocasionada pela diferena entre a concentrao de potssio (interna clula) e sdio (externa clula). A concentrao de ons de potssio dentro da clula cria um potencial eltrico de -70 mV (potencial de repouso) em relao ao exterior. Para a que a clula dispare, produzindo um

38

potencial de ao (impulso nervoso), preciso que os impulsos das sinapses reduzam este nvel em cerca de -50 mV (ver figura 3.2).

Figura 3.2 Potencial de ao em um neurnio [12]

Quando as entradas chegam ao corpo da clula, ocorre um processo de integrao (soma) dos estmulos de entrada, e como resultado pode ser gerado um impulso eltrico que comea no axon hillock e se propaga at os terminais do axnio. O processo de controle da produo do impulso eltrico normalmente aceito como uma funo de limiar que produz uma sada, caso a soma das entradas seja maior ou igual a um dado limiar.

3.2.3 Caractersticas de uma Rede Neural

Existem trs caractersticas principais que descrevem uma RN biolgica, e a que contribuem para a sua habilidade funcional:

a) Topologia do Sistema Neural:

Os princpios importantes que podem ser encontrados subjacentes organizao estrutural das reas diferentes do crebro: Camadas de elementos de processamento; Colunas de elementos de processamento; Especializao do tecido neural em sistemas especficos e no especficos.

39

Interfaces sensoras captam informaes do mundo para o crebro. Os dados so passados atravs de nveis mltiplos do sistema nervoso, ou camadas de neurnios. Atravs desta transferncia de nveis do funcionamento cerebral ocorre a abstrao, conceitualizao e deteco de caracterstica. Por exemplo, o sistema nervoso pode detectar caractersticas especficas, todavia este tambm espalha informao ambgua. Estas sensaes no podem ser entendidas enquanto no forem processadas por muitas camadas nas vrias reas do crebro.

b) Dinmica do Sistema Neural:

Diversos processos dinmicos que ocorrem no sistema neural biolgico so integralmente ligados s estruturas destes sistemas: Representao distribuda de informao; Codificao temporal da informao; Regra de inibio; Processamento feedforward e feedback. A informao que acessada por vrios sensores biolgicos distribuda para neurnios mltiplos. Essa informao processada por uma parte do crebro e enviada para outra rea do crebro. Esta nova rea processa e passa de volta a informao para a locao original ou atravs locaes intermedirias.

c) Aprendizado no Sistema Neural:

A habilidade do sistema neural biolgico de aprender adaptativamente em resposta experincia e ao ambiente um dos mais notveis aspectos deste sistema. Existem alguns aspectos associados com tal aprendizado: Aprendizado sobrepe conexes rgidas; Conceitualizao.

40

O crebro adaptativo no incio da vida, contudo desenvolve uma fixao ou inflexibilidade com a maturao. Apesar de uma relativa inflexibilidade, na fase adulta, existe uma habilidade contnua do crebro em adaptar-se e aprender novas coisas.

3.3 Princpios da Neurocomputao

Apesar de uma rede neural ser simulada e executada em um computador seqencial, a rede est muito mais para o funcionamento cerebral do que para um computador. A RNA algoritmo computacional, onde a camada de entrada recebe um conjunto de dados (previamente selecionados e conhecido), cujas sucessivas repeties faz com que um critrio de convergncia ou parada ocorra. Assim, a rede treinada e os parmetros so ajustados e definidos nas camadas intermedirias e de sada (ver figura 3.4). Com isto, diz-se que 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 conhecimento no est localizado em um endereo e, dessa forma, a rede no separa memria de dados armazenados. O conhecimento armazenado est distribudo por toda a rede, da mesma forma que no se pode dissecar um crebro para extrair conhecimento. O programa implementado est previamente condicionado para tal atividade, no far outra coisa seno a estabelecida, ou seja, a atividade treinada.

41

Ao se escrever um programa para realizar uma ao diante de um fato, tem-se que prever todas as situaes possveis para associar as aes pertinentes a cada ao. Porm, como todos sabem, existem certos casos que simplesmente no possvel prever exatamente todos os fatos, a comear pela quantidade de situaes diferentes que possam vir a ocorrer, dependendo do problema. Dessa forma, quando acontece uma dessas situaes inesperadas, o programa de computador tomaria uma atitude imprevista, ou no tomaria atitude nenhuma, pois no saberia o que fazer. A culpa no do programa, pois no programado para reagir diante de situaes que ainda no lhe foram apresentado, e muito menos do computador [12]. O crebro no pensa assim, pois, baseado no conhecimento sinapticamente acumulado, tomar alguma ao perante a nova situao, ponderando pelo julgamento dos elementos que aprendeu. O crebro humano consome de 20 a 25% da energia corporal e possui um total de 10 bilhes de neurnios, sendo que cada um faz entre mil e dez mil conexes com os neurnios adjacentes [85].O aprendizado sinptico paralelo, que o torna flexvel, rpido e eficaz. Um comparativo entre o crebro e o computador, resulta, no quadro a seguir, os seguintes valores (ver tabela 3.1):

Tabela 3.1 Comparativo entre o crebro humano e o computador [85] Parmetro Material Velocidade Tipo de Processamento Armazenamento Controle de Processos Nmero de elementos processados Ligaes entre elementos processados Crebro Orgnico Milisegundo Paralelo Adaptativo Distribudo 1011 a 1014 10.000 Computador Metal e plstico Nanosegundo Seqencial Esttico Centralizado 105 a 106 <10

Dentro deste contexto, o estudo e a definio das RNA's teve origem nos fundamentos do crebro humano e de suas conexes sinpticas.

42

3.4 Estruturas e Dinmicas das Redes Neurais Artificiais

O modelo de neurnio proposto por McCulloch e Pitts (MCP - neurnio artificial) uma simplificao do que se sabia a respeito do neurnio biolgico naquela poca [98]. A sua descrio matemtica resultou em um modelo (ver tabela 3.2), o comparativo entre um neurnio artificial e biolgico.

Tabela 3.2 Comparao entre o neurnio biolgico e artificial Parmetros Neurnio Biolgico Neurnio Artificial

Modelo

Entrada Saida Pesos Efeito da uma sinapse

Dentritos Axnio Comportamento das sinapses Neurnio ps-sinptico

x1, x2, x3,..., xn y w1, w2, w3,..., wn s = x i .w i


i =1 n

O neurnio recebe um conjunto de sinais de entrada de outros neurnios. Ento, computada a mdia ponderada entre os sinais de entrada e os pesos da conexes (cujos valores podem ser positivos ou negativos, dependendo das sinapses correspondentes serem inibitrias ou excitatrias). O resultado disto aplicado funo de ativao, tambm chamada de funo de transferncia. O resultado final chamado deativao do neurnio. Normalmente, existe um valor de s que, quando atingido, ocasiona um disparo sbito ocasionando pela funo de ativao, seja ela contnua ou no. Este chamado de valor limiar e representado por L. Considerando a funo de ativao do perceptron, o modelo matemtico do processamento governado pelas equaes 3.1:

43

s = x i .w i
i =1

1 se s L y = f (s ) = 1 se s L

(3.1)

onde: n o nmero de entradas no neurnio; wi peso associado entrada xi; s o limiar do neurnio.

A operao de um neurnio artificial com suas conexes inspirada no modelo biolgico, como mostrado a seguir na figura 3.4:

Figura 3.4 Modelo do neurnio artificial [52]

Os modos em que neurnios artificiais diferem um do outro, e que pode ser modificados para nova performance incluem: mudana da funo de transferncia e adio, novos parmetros ou funes para a rede (tais como vis, ganho e limiares adaptativos). J os aspectos que diferem as redes neurais so as conexes dos nmeros de camadas e tipo de treinamento. Entre os modelos j publicados em revistas especializadas, encontram-se, como clssicos, os modelos: Backpropagation, Kohonen, Perceptron, Boltzman e outros [52]. O modelo de MCP apresenta algumas limitaes como: Redes MCP com apenas uma camada s conseguem implementar funes linearmente separveis; Pesos negativos so mais adequados para representar disparos inibidores; O modelo foi proposto com pesos fixos, no ajustveis.

44

O vis (bias) uma entrada adicional que pode ser acrescentada ao neurnio artificial, no proveniente de nenhum outro neurnio, e de valor de entrada fixado em+1. Seu peso de conexo w0 ajustvel pelo aprendizado como qualquer outro peso da conexo. Toma-se como exemplo o perceptron, onde pode-se escrever as equaes 3.2 e a figura 3.5: se s 0 1 y = f (s ) = 1 se s 0

s = x i .w i + w 0
i =1

(3.2)

Figura 3.5 Modelo do neurnio artificial com entrada de vis [85]

Embora o vis inexista biologicamente, seu uso nos modelos artificiais prov meios de transladar o valor limiar da funo transferncia.

3.4.1 Sinais de Entrada e Sada

O neurnio possui, a princpio, um ou mais sinais de entrada e um de sada. As entradas de neurnio artificial podem ser comparadas como estmulos para o neurnio natural. Todos esses estmulos so enviados at o neurnio simultaneamente, ou seja, se um neurnio possui cinco entradas, os sinais das cinco entradas devem chegar at o ncleo de processamento ao mesmo tempo, isto quer dizer, paralelamente (ver figura 3.6).

45

Figura 3.6 Neurnio com n entradas e pesos definidos [85]

O processamento paralelo em computadores seqenciais pode ser paradoxal. A simulao de um ambiente paralelo possvel, e desta forma que ocorre esse tipo de processamento nas RN. O modelo matemtico simula o paralelismo da rede neural atravs de um algoritmo e os pesos (wn) da rede so ajustados por uma rotina de treinamento.

3.4.2 Pesos

Os pesos, representados por w so valores que apresentam o grau de importncia que determinada entrada possui em relao quele neurnio. Quando uma entrada bastante estimulada, acaba estimulando, tambm, o peso correspondente sua conexo. Os pesos podem ser vistos, matematicamente, como um vetor de valores (w1, w2, w3,..., wn). Havendo mais um neurnio na rede, pode-se ento ter uma coleo de vetores, ou seja, uma matriz de pesos, onde cada vetor, corresponde a um neurnio. O sinal de excitao no neurnio a soma das multiplicaes entre as entradas (x1, x2, x3,..., xn) e os pesos. As entradas multiplicadas pelos pesos, recebem, depois desta operao, o nome de entradas ponderadas. A funo do neurnio , depois de acumulado o valor somado dos produtos ocorridos entre as entradas e os pesos comparar esse valor com o limiar. Atingindo-o, o valor ento passado adiante atravs da sada. A esse processo chama-se de funo de transferncia. Caso contrrio, se o valor no atinge o limiar, o sinal no transferido adiante.

46

3.4.3 Funo de Ativao e Transferncia

A funo de ativao antecede a de transferncia, e tem por atribuio repassar o sinal para a sada do neurnio. A funo de ativao uma funo de ordem interna, cuja atribuio fazer acontecer um nvel de ativao dentro do prprio neurnio, ou seja, uma deciso tomada pelo neurnio sobre o que fazer com o valor resultante do somatrio das entradas ponderadas [85]. Veja a seguir um neurnio na figura 3.7.

Figura 3.7 Um neurnio com as funes de ativao e transferncia [85]

Em modelos simples de redes neurais, a funo de ativao pode ser a prpria funo de soma das entradas ponderadas do neurnio. Em modelos mais complexos, a funo de ativao possui um processamento atribudo. Aps o valor ter sido processado pela funo de ativao, ento passado para funo de transferncia, que produzir o valor da sada do neurnio [85]. A funo de transferncia pode ter muitas formas e mtodos, podendo ser simples ou complexa. A funo de transferncia conhecida como limiar lgico Essa funo quem . envia para fora do neurnio o valor passado pela funo de ativao [52]. As funes de transferncia (y) mais conhecidas so apresentadas na figura 3.8.

47

Figura 3.8 Funes de transferncia mais empregadas [103]

Algumas so especificadas como: Degrau e rampa: possuem decises rspidas, principalmente para valores extremos. Essas funes refletem a sada dentro de uma faixa (digamos entre0 e 1). Isto quer dizer que , ultrapassado um certo limite, a funo dispara o valor0 ou 1, ou -1, dependendo da funo e da forma que ser utilizada. Sigmide: caracterizam-se pelo seu formato em letra S alongada, so contnuas e monotonicamente crescentes, limitadas por duas assntotas horizontais. Possuem a vantagem adicional de fornecer uma forma para controle automtico de ganho. medida que a magnitude cresce, o ganho decresce. Deste modo, sinais de grande amplitude podem ser acomodados pela rede sem uma saturao abrupta, enquanto sinais baixos passam sem excessiva atenuao.

As funes sigmoidais so empregadas com sucesso como funes de transferncias, porque apresentam a propriedade de ser derivvel em todos os pontos [25]. Esta caracterstica importante para a lei de aprendizagembackpropagation (ver item 3.5.1.2 ou Apndice I), que requer clculo do gradiente do vetor do erro. Conforme ser visto oportunamente, as trocas nos pesos das conexes so proporcionais derivada de ativao. Para as funes

48

sigmoidais, o argumento soma das entradas ponderadas de alta magnitude significa derivadas de baixa magnitude, e assim as trocas nos pesos das conexes durante a aprendizagem sero menores; j um argumento de baixa magnitude para a funo representa uma derivada de magnitude maior e, conseqentemente, uma maior quantidade de trocas nos pesos.

3.4.4 Camadas Escondidas

Algumas vezes a sada do neurnio conduzida para outros neurnios, em vez de ser conduzida como resposta final, ou seja, os sinais da sada vo para uma prxima camada, chamadas tambm de intermedirias ou ocultas. Essas camadas intermedirias se situam entre a camada de entrada e a camada de sada da rede neural (ver figura 3.9).

Figura 3.9 Redes exemplificando camadas escondidas ou ocultas [85]

Essas camadas so compostas por neurnios que possuem exatamente a mesma estrutura que os neurnios da camada de sada. No existe uma regra que define o nmero de camadas escondidas.

3.4.5 Arquiteturas das Redes Neurais Artificiais

As conexes entre as camadas podem gerar diferentes estruturas. Cada conexo visa tornar o sinal de sada em um sinal de entrada, tanto para um outro neurnio, quanto para o mesmo que o gerou. Fazem parte da definio da arquitetura os seguintes parmetros:

a) Nmero de Camadas da Rede

Alguns exemplos de arquiteturas de RNAs quanto ao nmero de camadas:

49

Redes de camada nica: s existe um n entre qualquer entrada e qualquer sada da rede, ver exemplos na figura 3.10.

(a)

(b)

Figura 3.10 Redes de camada nica [12] Redes de mltiplas camadas: existe mais de um neurnio entre alguma entrada e alguma sada da rede (ver figura 3.11).

(a)

(b) Figura 3.11 Redes de mltiplas camadas [12]

(c)

O nmero de neurnios da camada escondida livre, no obedece nenhuma regra especfica.

b) Redes Multi-Layer Perceptron (MLP)

As redes de uma s camada resolvem apenas problemas linearmente separveis [12]. A soluo de problemas no linearmente separveis passa pelo uso das redes com uma ou mais camadas ocultas. Segundo Cybenko, uma rede com uma camada intermediria pode implementar qualquer funo contnua [45, 98]. A utilizao de duas camadas intermedirias permite a aproximao de qualquer funo.

50

Porm, o problema passa a ser ento como treinar estas redes, ou qual a definio do erro dos neurnios das camadas intermedirias. Para treinar as redes com mais de uma camada foi proposto um mtodo que se baseia em gradiente descendente (backpropagation) [6, 12, 70]. Afim de que este mtodo possa ser utilizado, a funo de ativao precisa ser contnua, diferencivel e, de preferncia, no decrescente. A funo de ativao deve informar os erros cometidos pela rede para as camadas anteriores com a maior preciso possvel. A alternativa utilizada para superar os problemas acima citados foi a utilizao de funes de ativao do tipo sigmoidal (logstica e tangente hiperblica). O treinamento supervisionado, e suas principais aplicaes so: classificao de padres, predio e interpolao. Com relao ao nmero de neurnios nas camadas intermedirias, este geralmente definido empiricamente. Este nmero depende fortemente da distribuio dos padres de treinamento e validao de rede. O nmero adequado de neurnios na camada oculta depende de vrios fatores, como: Nmero de exemplos de treinamento; Quantidade de rudo presente nos exemplos; Complexidade da funo a ser aprendida; Distribuio estatstica dos dados de treinamentos.

O nmero de unidades intermedirias pode tambm crescer exponencialmente com o nmero de entradas. A soluo neural mais eficiente aquele onde o nmero de unidades cresce apenas polinomialmente com o aumento do nmero de unidades de entradas [52].

c) Conexes dos Neurnios

Alguns exemplos de arquiteturas de RNAs quanto ao tipo de conexes dos nodos. Feedforward ou acclica: a sada de um neurnio na i-sima camada da rede no pode ser usada como entrada de neurnios em camadas de ndice menor ou igual a i. Nesta rede no existe uma medida de estabilidade de rede, devido simplicidade de fluir as informaes entre as camadas (ver figuras 3.10 (a) e (b), e 3.11 (a)).

51

Feedback ou cclica: as sadas de algum neurnio i-sima camada da rede usada como entrada de neurnios em camadas de ndice menor ou igual ai (ver figura 3.11 (b) e (e), e 3.12).O sinal pode ser usado tanto para excitar a camada inteira como tambm para excitar apenas um neurnio em particular, ou at mesmo, o prprio neurnio, que realizou o disparo.

Figura 3.12 Redes feedback [85]

Enfim, a arquitetura da rede neural livre, pode ser modificada conforme critrio ou necessidade do projetista.

3.5 Aprendizado das Redes Neurais Artificiais

Um conjunto de procedimentos bem definidos para adaptar os parmetros de umaRNA para que a mesma possa aprender uma determinada funo chamado de algoritmo de aprendizado. Como era de se esperar, no h nico algoritmo de aprendizado. O que se tem um conjunto de ferramentas representadas por diversos algoritmos, cada qual com suas vantagens e desvantagens. Estes algoritmos basicamente diferem pela maneira de como o ajuste dos pesos feito. A etapa de aprendizado consiste em um processo iterativo de ajuste de parmetros da rede, os pesos das conexes entre as unidades de processamento, que guardam, ao final do processo, o conhecimento que a rede adquiriu do ambiente em que est operando. Diversos mtodos para treinamento de redes foram desenvolvidos, podendo estes serem agrupados em dois paradigmas principais: aprendizado supervisionado e nosupervisionado [12, 85]. Outros dois paradigmas bastante conhecidos so os de aprendizado por reforo (caso particular de aprendizado supervisionado) e aprendizado por competio (caso particular de aprendizado no supervisionado).

52

3.5.1 Aprendizado Supervisionado

Este mtodo de aprendizado o mais comum no treinamento das RNAs, tanto de neurnios com pesos, como os sem pesos, sendo chamado de aprendizado supervisionado. Porque a entrada e a sada desejadas para a rede so fornecidas por um supervisor externo (ver figura 3.13). O objetivo ajustar os parmetros da rede, de forma a encontrar uma ligao entre os pares de entrada e sada fornecidos.

Figura 3.13 Aprendizado supervisionado [12]

A rede tem sua sada calculada e comparada com a sada, recebendo informaes do supervisor sobre o erro da resposta atual. A cada padro de entrada submetido rede, compara-se a resposta desejada com a resposta calculada, ajustando-se os pesos das conexes para minimizar o erro existente. A desvantagens do aprendizado supervisionado que, na ausncia do professor, a rede no conseguir aprender novas estratgias para situaes no cobertas pelos exemplos do treinamento da rede. Os exemplos mais conhecidos de algoritmos para aprendizado supervisionado so a regra delta e a sua generalizao para redes de mltiplas camadas, o algoritmo backpropagation.

53

a) Regra Delta

Procura minimizar a diferena entre a soma ponderada das entradas pelo pesos (sada calculada pela rede) e a sada desejada, ou seja, o erro da resposta atual da rede. O termo e(t) do erro deve ser escrito pela equao (3.3): e(t ) = d (t ) y (t )

(3.3)

onde: d(t) a sada desejada; y(t) resposta atual no instante t.

A forma genrica para alterao dos pesos pela regra delta dada pela equao 3.4: wi (t + 1) = wi (t ) + .e(t ).xi (t )

(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 neurnio no instante t. A cada novo padro apresentado rede o peso atualizado. A constante de aprendizado controla a estabilidade e velocidade de convergncia. Uma faixa prtica para sua escolha 0.1 1.

b) Algoritmo Backpropagation

O algoritmo backpropagation utilizado no treinamento de redes MLP, esse algoritmo foi importante no ressurgimento de interesse em RNAs, por ocasio da publicao do livro Parallel Distributed Processing, mais conhecido como PDP, em 1986 [52]. O backpropagation baseado na regra delta proposta por Widrow e Hoff, assim sendo chamada

54

de regra delta generalizada [85]. Os ajustes dos pesos so realizados utilizando o mtodo do gradiente [82]. As redes feedforward com algoritmos de aprendizado tipo backpropagation se tornaram muito populares, devido capacidade de resolver a maioria dos problemas de reconhecimentos de padres, alm da utilizao em aplicaes de sistema de controles [6]. Esse algoritmo supervisionado e utilizam pares (entrada, sada desejada) para, atravs de um mecanismo de correo de erros, ajustar os pesos da rede. O treinamento ocorre em duas fases, onde cada fase percorre a rede em um sentido. Estas duas fases so chamadas de 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 sada da rede para um dado padro de entrada, j a fase backward utiliza a sada desejada e a sada fornecida pela rede para atualizar os pesos de suas conexes.

Descrio Qualitativa do Backpropagation

O backpropagation um algoritmo de aprendizado [98]. Uma rede neural com uma topologia feedforward, usando este algoritmo para treinamento, tem uma camada de entrada, pelo menos uma camada escondida, e uma camada de sada. Uma redeopera em dois passos durante o treinamento. Inicialmente, um padro de entrada apresentado camada de entrada da rede. H fluxo de atividade, devido as excitaes dos neurnios atravs da rede, desde a camada de entrada at que a sada seja gerada. Ento, o segundo passo calcular o erro entre esse padro de sada e o padro esperado; esse erro passado da camada de sada, para trs, com os pesos das conexes sendo alterados, conforme o erro se propaga para trs [5, 70, 82].

55

Um neurnio tpico tem diversas entradas (xj), cada uma das quais multiplicada pelos correspondentes pesos (wi), como mostrado na figura 3.15 e a equao 3.5.

Figura 3.15 Estrutura de um elemento neurnio [85]

s = wi .xi
i =1

(3.5)

Esse sinal passa atravs da funo de ativao que tipicamente no-linear, como uma funo sigmoidal.

No backpropagation, o treinamento da rede neural tem por objetivo estimar o erro, ou seja, a diferena entre os valores obtidos e os reais para um determinado estimulo na entrada. A reduo deste erro atravs da alterao dos pesos atribudos ao caminho do fluxo desse estimulo nas diversas camadas da rede.

Descrio Analtica do Backpropagation

A seguir descrito o mecanismo interno do backpropagation. Para maiores esclarecimentos matemticos veja Apndice I. A regraDelta Generalizada um algoritmo de aprendizado como segue na equao 3.6: ij = . E ij (3.6)

onde: wij representa o peso w da entrada xj; wij a variao incremental de um peso partcula;

56

i ndice da entrada; j ndice do neurnio; um coeficiente de aprendizado; E uma funo de erro em relao ao peso que est sendo modificado.

Para conexes entre a camada escondida e a sada, o gradiente de descida expresso como: j = .E j . y (s ) = .( y desejado y obtido ) y ( s ) j j (3.7)

O erro de sada que causa a alterao dos pesos a diferena entre o valor desejado e o obtido. Como a funo y(s) geralmente sigmoidal (logstica ou tangente hiperblica), a sua derivada dado por: dy ( s ) = y ( s ).[1 y ( s )] ds (3.8)

A atualizao do vetor w depende dos valores: yjdesejado , das entradas e da sada yjobtida . Este procedimento ilustrado com o diagrama de blocos da figura 3.16, onde G(s) a funo de ativao.

x (entrada) G(s) yjobtido

. yjobtido . (1 yjobtido )

+
yjdesejado Figura 3.16 Diagrama de blocos da regra delta generalizada [45]

57

A equao 3.9 descreve a relao entre o erro na sada e um peso que esteja no caminho do fluxo de excitao. A variao das conexes entre a camada de entrada e a escondida dada por: ij = . y k ( s ).[1 y k (s )] jk .Eksada . y k ( s )
k 1 n

(3.9)

Nas superfcies de ordem elevada, o gradiente de descida pode ser muito lento se o coeficiente de aprendizado for muito pequeno, e produz oscilaes se for muito alto [6, 12, 84]. A adio de um termo de momento pode melhorar bastante a implementao (ver equao 3.10). ij = . E + .( ij ) anterior ij (3.10)

A equao 3.7 modificada para incluir o termo de momento , que influncia diretamente na inrcia do aprendizado.

3.5.2 Aprendizado No-Supervisionado

Neste tipo de aprendizado no h um supervisor para acompanhar o processo de aprendizagem. No algoritmo, somente os padres de entrada esto disponveis para a rede (ver figura 3.17).

Figura 3.17 Aprendizado no-supervisionado [12]

No aprendizado supervisionado necessrio um conjunto de treinamento que contenha os pares de entrada e sada.

58

3.5.3 Aprendizado por Competio

Neste aprendizado, dado um padro de entrada e se faz com que as unidades de sada disputem entre si para serem ativadas. Assim, h uma competio entre as unidades de sada para decidir qual delas ser a vencedora e que conseqentemente, ter sua sada e seus pesos atualizados no treinamento [12]. As unidades de entradas so diretamente conectadas s unidades de sada, sendo que estas ltimas tambm podem estar ligadas entre si via conexes laterais inibitrias, ou negativas. A unidade de sada com maior ativao inicial, ter maior chance de vencer a disputa entre outras unidades, onde, a unidade mais forte, fica ainda mais forte e seu efeito inibidor sobre as outras unidades de sada torna-se dominante. Com o tempo, todas as outras unidades de sada ficaro completamente inativas, exceto a vencedora [12, 25]. Um problema neste algoritmo que uma unidade da sada pode se tornar dominante e ficar ativa todo o tempo, podendo captar para si todo o espao de entradas. A soluo para tal problema limitar os pesos, ou seja, a soma dos pesos sobre as linhas de entrada de uma unidade limitada em 1 [12]. Para aumentar o peso de uma conexo, preciso diminuir o peso de alguma outra, conforme descrito na equao 3.11: .x j M .w j

w j =

(3.11)

onde: j = 1, 2, ..., n; w j o peso da conexo da unidade de entrada j com a unidade ativa; xj o valor do j-simo bit de entrada; M o nmero de unidades de entrada ativas no vetor de entrada; a taxa de aprendizado.

O aprendizado por competio base dos modelos de ART (Adaptative Resonance Theory) de Grossberg e dos mapas de Kohonen [12].

59

3.5.4 Aprendizado por Reforo

A principal diferena entre o aprendizado supervisionado clssico e o aprendizado por reforo a medida de desempenho usada em cada um dos sistemas [80]. No aprendizado supervisionado, a medida de desempenho baseada no conjunto de respostas desejadas usando um critrio de erro conhecido, enquanto que no aprendizado por reforo o desempenho baseado em qualquer medida que possa ser fornecida ao sistema [12, 80]. No aprendizado por reforo, a nica informao de realimentao fornecida rede se uma determinada sada est correta ou no (ver figura 3.18).

Figura 3.18 Aprendizado por reforo [12]

Exemplificando esse aprendizado, basta pensar na analogia do aprendizado de um animal, em que, se ele faz algo correto, ele recompensado. Se fizer algo incorreto, punido. Estes so os estmulos (recompensa ou punio) que servem como feedback para que a rede neural aprenda.

3.6 Processo de Treinamento

O critrio de parada define como a rede atinge uma aprendizagem aceitvel do conjunto de padres de treinamento, este avaliado a partir das respostas da rede em relao s sadas desejadas.

60

Aps a aprendizagem ser concluda, um outro conjunto de dados, o conjunto de teste, contendo pares de vetores de entrada e sadas desejadas, dever ser utilizado para testar a eficincia da rede. Se o resultado do teste for insatisfatrio, o conjunto de treinamento insuficiente. Logo, devem-se incluir novos exemplares no conjunto de treinamento e treinar novamente a rede neural. No treinamento de uma rede h uma concepo errnea relativa ao processo iterativo. No caso do supertreinamento, deve-se treinar a rede para reduzir o erro, mas para isso necessrio aumentar o conjunto de treinamento, a fim de aumentar seu desempenho [70]. Embora parcialmente verdadeira esta afirmao, o super ajustamento do conjunto de treinamento pode levar a uma m generalizao [50, 52, 70, 103]. A figura 3.19 mostra o erro de uma rede neural para o conjunto de treinamento e para o conjunto de teste.

Figura 3.19 Anlise do supertreinamento [52]

O aumento do tamanho da camada escondida pode melhorar o desempenho da rede para os dados de treinamento, porm podem prejudicar a preciso da rede para os novos dados. Esse um fenmeno de memorizao, ou seja, a rede procura juntar grupos de dados especficos para cada neurnio da camada escondida, perdendo no entanto a capacidade de generalizao. Deve-se sempre comparar o erro obtido, com os dados para treinamento, com os novos dados, os quais devem ser da mesma ordem de grandeza [52, 50, 70, 103].

3.7 Projeto de uma Rede Neural

A figura 3.20 mostra um diagrama de blocos com as etapas necessrias para se treinar e desenvolver uma rede neural.

61

Figura 3.20 Fluxograma do desenvolvimento de uma rede neural [85]

A topologia inicial da rede depende da experincia do projetista. Na prtica melhor iniciar com um nmero pequeno de ns na camada escondida e gradualmente aumentar o tamanho dessa camada atravs de tentativas e erro.

3.8 Concluso
Neste captulo foram apresentados a base biolgica e artificial dos neurnios, e os mtodos de aprendizagem, que correspondem ao ajuste dos pesos das conexes sinpticas. Na ausncia de modelos matemticos de processo, as redes neurais podem utilizar um histrico de dados para se construir modelos preditivos, ou seja, um modelo que pode predizer as reaes do processo a novas condies. As RNAs constituem uma rea emergente de estudos que tomou vulto de forma explosiva, e que tem como base a realizao de tarefa de alto nvel mental em nvel de mquina, atravs de uma computao massivamente paralela atravs de neurnios artificiais.

Você também pode gostar