Anda di halaman 1dari 37

Redes Neurais Artificiais

NDICE 2 O NEURNIO BIOLGICO....................................................................................................................5 3 NEURNIOS ARTIFICIAIS: O MODELO MCP (MCCULLOCH E PITTS)..................................6 4 FUNES DE ATIVAO.......................................................................................................................8 5 APRENDIZADO .......................................................................................................................................10 5.1 APRENDIZADO SUPERVISIONADO 5.2 CORREO DE ERROS 5.3 APRENDIZADO NO SUPERVISIONADO 5.4 APRENDIZADO HEBBIANO 5.5 APRENDIZADO POR COMPETIO 5.6 APRENDIZADO POR REFORO 10 11 12 12 13 14

6 ALGUMAS ARQUITETURAS DE RNAS.............................................................................................16 6.1 PERCEPTRON DE CAMADA NICA E SEU ALGORITMO DE APRENDIZADO 16 6.2 - PERCEPTRON MULTICAMADAS 19 6.2.1 Arquitetura MLP.....................................................................................................................21 6.2.2 Definio de uma Topologia Ideal para o MLP......................................................................21 6.2.3 Otimizao da topologia utilizando pruning...........................................................................22 6.2.4 Treinamento de Redes MLP....................................................................................................24 6.2.5 Problemas Enfrentados no Treinamento de Redes MLP.........................................................27 6 CONCLUSO...............................................................................................................................................30 APNDICE 1 ESTUDO DE CASO............................................................................................................31 1 INTRODUO 2 HEPATITE: TIPOS E DIAGNSTICOS 3 DESCRIO DOS DADOS UTILIZADOS 4 TREINAMENTO, TESTE E VALIDAO DOS DADOS 5 CLASSIFICAO 6 CONCLUSO 31 31 32 33 33 34

BIBLIOGRAFIA UTILIZADA......................................................................................................................35

Conceitos e Aplicaes 1

NDICE DE FIGURAS E TABELAS


FIGURA 1 - COMPONENTES DE UM NEURNIO BIOLGICO.........................................................5 FIGURA 2 - NEURNIO DE MCCULLOCH E PITTS..............................................................................6 FIGURA 3 - ALGUMAS FUNES DE ATIVAO.................................................................................9 FIGURA 4 - APRENDIZADO SUPERVISIONADO..................................................................................11 FIGURA 5 - APRENDIZADO NO SUPERVISIONADO......................................................................12 FIGURA 6 APRENDIZADO POR REFORO..........................................................................................14 FIGURA 7 - TOPOLOGIA DE UM PERCEPTRON SIMPLES COM UMA NICA SADA............16 FIGURA 8 - FUNCIONAMENTO DO PERCEPTRON DE UMA CAMADA.......................................17 FIGURA 9 - CLASSIFICAO DO PERCEPTRON J TREINADO...................................................19 FIGURA 10 - REDE MLP COM CAMADA INTERMEDIRIA............................................................21 FIGURA 11 - FLUXO DE PROCESSAMENTO DO ALGORITMO BACK-PROPAGATION.........25 FIGURA 12 - SUPERFCIE DO ERRO DE UMA REDE MLP...............................................................27

TABELA 1 - ARQUITETURAS PARA TREINAMENTO.......................................................................33 TABELA 2 - % DE REGISTROS ACEITVEIS EM RELAO A TAXA DE ERRO......................34

1 Introduo
O que so Redes Neurais Artificiais ? O final da dcada de 80 foi marcado pelo ressurgimento da rea de Redes Neurais Artificiais (RNAs), tambm conhecida como conexionismo ou sistemas de processamento paralelo e distribudo. Esta forma de computao no algortmica, e sim caracterizada por sistemas que, de alguma forma ou de alguma maneira, relembram a estrutura do crebro humano. Por no ser baseada em regras ou programas, a computao neural constitui em uma alternativa computao algortmica convencional. As RNAs so sistemas paralelos distribudos compostos por unidades de processamentos simples (nodos) que computam determinadas funes matemticas (normalmente no lineares). Tais unidades so dispostas em uma ou mais camadas e interligadas por um grande nmero de conexes, geralmente, unidirecionais. Na maioria dos modelos estas conexes esto associadas a pesos, os quais armazenam o conhecimento representado no modelo e servem para ponderar a entrada recebida por cada neurnio da rede. O funcionamento destas redes inspirado em uma estrutura fsica concebida pela natureza do crebro humano. A soluo de problemas atravs das RNAs bastante atrativa. Pois o paralelismo constitui-se na caracterstica principal das RNAs, onde esta cria a possibilidade de um desempenho superior em relao a soluo de problemas baseados nos modelos convencionais. Em RNAs, o procedimento usual na soluo de problemas passa inicialmente por uma fase de aprendizagem, onde um conjunto de exemplos apresentado para rede, que extrai automaticamente as caractersticas necessrias para representar a informao fornecida. Essas caractersticas so utilizadas posteriormente para gerar respostas para o problema. A capacidade de aprender atravs de exemplos e de generalizar a informao aprendida so, os atrativos principais da soluo de problemas atravs das RNAs. A generalizao est associada capacidade da rede em aprender atravs de um conjunto reduzido de exemplos, e posteriormente, dar respostas coerentes a dados no apresentados a rede. Isto uma demonstrao que a capacidade das RNAs vai, alm de, simplemente mapear relaes de entrada e saida. As RNAs so capazes de extrair informaes noapresentadas de forma explcita atravs de exemplos. Outras caractersticas importantes so a capacidade de auto-organizao e processamento temporal que, aliadas aquela citada anteriormente, fazem das RNAs uma ferramenta computacional extremamente poderosa e atrativa para a soluo de problemas complexos.

Este relatrio trata das principais caractersticas das RNAs, com enfoque em algumas topologias e apresenta uma soluo de um problema utilizando RNAs.

2 O Neurnio Biolgico
Como as RNAs so baseadas na estrutura do crebro (neurnio), sero mostradas as principais caractersticas de um neurnio biolgico, para uma posterior compreenso, a respeito, do funcionamento das RNAs. O neurnio biolgico uma clula que pode ser dividida em trs sees: o corpo da clula, os dendritos e o axnio, cada uma com funes especficas, porm complementares. O corpo do neurnio mede apenas alguns milsimos de milmetros e os dendritos apresentam poucos milmetros de comprimento. O axnio pode ser mais longo. Os dendritos tm como funo, receber informaes, ou impulsos nervosos, oriundas de outros neurnios, e conduzi-las at o corpo celular. Ali, a informao processada e novos impulsos so gerados. Estes impulsos so transmitidos a outros neurnios (nodos), passando pelo do axnio e atingindo os dendritos dos neurnios seguintes. O ponto de contato entre a terminao axnica de um neurnio e o dentrito de outro chamado sinapse. pelas sinapses que os nodos se unem funcionalmente, formando as redes neurais. As sinapses funcionam como vlvulas, sendo capazes de controlar a transmisso de impulsos, isto , o fluxo da informao entre os nodos na rede neural. O efeito das sinapses varivel, esta variao que d ao neurnio capacidade de adaptao. Na Figura 1 est ilustrada, de forma simplificada, os componentes do neurnio.

Figura 1 - Componentes de um Neurnio Biolgico Os sinais oriundos dos nodos pr-sinpticos so passados para o corpo do neurnio, onde so comparados com outros sinais recebidos pelo neurnio. Se o percentual em um intervalo curto de tempo suficientemente alto, a clula dispara, produzindo um impulso que transmitido para as clulas seguintes (nodos pssinpticos). Este sistema simples responsvel pela maioria das funes realizadas pelo nosso crebro. A capacidade de solucionar funes complexas surge com a operao em paralelo de todos os 1011 nodos do nosso crebro.

3 Neurnios Artificiais: O Modelo MCP (McCulloch e Pitts)


O modelo de neurnio proposto por McCulloch e Pitts (MCP) em 1943 [1] uma simplificao do que se sabia respeito do neurnio biolgico naquela poca. A sua descrio matemtica resultou em um modelo com n terminais de entrada x1, x2, . . . ,xn (que representam os dendritos), e apenas um terminal de sada y (que representa o axnio). Para emular o comportamento das sinapses, os terminais de entrada do neurnio tm pesos acoplados w1, w2, . . . ,wn, cujo valores podem ser positivos ou negativos, dependendo das sinapses correspondentes serem inibitrias ou excitatrias. O efeito de uma sinapse particular i no neurnio ps-sinptico dado por: xi wi. Os pesos determinam em que grau o neurnio deve considerar sinais de disparo que ocorrem naquela conexo. Uma descrio do modelo est ilustrado na Figura 2. Um neurnio dispara quando a soma dos impulsos que ele recebe ultrapassa o seu limiar de excitao chamado de threshold. O corpo do neurnio, por sua vez, emulado por um mecanismo simples que faz a soma dos valores xi wi recebidos pelo neurnio (soma ponderada). E decide se o neurnio deve ou no disparar (sada igual a 1 ou a 0) comparando a soma obtida ao limiar ou threshold do neurnio. No modelo MCP, a ativao do neurnio obtida atravs da aplicao de uma funo de ativao, que ativa a sada ou no, dependendo do valor da soma ponderada das suas entradas. Na descrio original do modelo MCP, a funo de ativao dada pela funo limiar descrita na a seguir. O nodo MCP ter ento sua sada ativa quando:

x w
i =1 i

onde n o nmero de entradas do neurnio, wi o peso associado entrada xi, e o limiar (threshold) do neurnio.
X1 X2 W1 W2

. . .
Xn Wn

Figura 2 - Neurnio de McCulloch e Pitts McCulloch e Pitts simplificaram seu modelo assumindo que os nodos em cada camada da rede disparam sincronamente, isto , que todos os nodos so avaliados ao mesmo tempo e tambm que as entradas em um instante de tempo t produzem a sua sada no tempo t + 1. Em sistemas biolgicos, sabe-se que no existe um mecanismo para sincronizar as aes de nodos, nem h restrio para que as suas sadas sejam ativadas em tempos discretos como no modelo MCP. Sabe-se tambm que o valor da prxima sada dos nodos biolgicos depende enormemente das ativaes dos neurnios anteriores, j que at mesmo os neuro-transmissores liberados anteriormente levam algum tempo para se re-combinarem, influenciando, assim, as ativaes seguintes.

Finalmente, pode-se levantar algumas limitaes na descrio do modelo MCP original, como: 1. Redes MCP com apenas uma camada conseguem implementar funes linearmente separveis; 2. Pesos negativos so mais adequados para representar disparos inibidores; 3. O modelo foi proposto com pesos fixos, no ajustveis. No h a presena de um algoritmo de aprendizado.

4 Funes de Ativao
A partir do modelo proposto por McCulloch e Pitts foram derivados vrios outros modelos que permitem a produo de uma sada qualquer, no necessariamente zero ou um, e com diferentes funes de ativao. A Figura 3 ilustra, graficamente, quatro funes de ativao diferentes: a funo linear, a funo rampa, a funo degrau (step) e a funo sigmoidal. A funo de ativao linear, mostrada na Figura 3a, definida pela equao abaixo. y = x Onde um nmero real que define a sada linear para os valores de entrada, y a sada e x a entrada. A funo linear pode ser restringida para produzir valores constantes em uma faixa [-, +], e neste caso, passa a ser a funo rampa mostrada, graficamente, na Figura 3b definida pela notao abaixo. + y= x se se se x x = x

Os valores mximo e mnimo da sada so -, +. A funo rampa usada geralmente, como uma funo linear simplificada. A funo step, ilustrada na Figura 3, similar a uma funo rampa, pois a funo produz a sada + para valores de x maiores que zero, caso contrrio a funo produz o valor de -. A funo step definida por. + y= se se x>0 x0

A funo sigmoidal, conhecida tambm como S-shape, ilustrada na Figura 3d, uma funo semi-linear. possvel definir vrias funes sigmoidais. Uma das funes sigmoidais mais importantes a funo logstica definida por. y= 1 1 + ex /T

Onde parmetro T determina a suavidade de curva.

f(x)

f(x)

f(x)

f(x)

(a)

(b)

(c)

(d)

Figura 3 - Algumas funes de ativao

5 Aprendizado
As RNAs possuem a capacidade de aprender atravs exemplos e fazer interpolaes e extrapolaes do que aprenderam. No aprendizado conexionista no se procura obter regras como na abordagem simblica da Inteligncia Artificial (IA), mas determinar a intensidade das conexes entre os neurnios. Um conjunto de procedimentos bem definidos para adaptar os parmetros de uma RNA, afim de que a mesma possa aprender uma determinada funo chamado de algoritmo de aprendizado. Como era de se esperar, no h um nico algoritmo de aprendizado. O que temos um conjunto de ferramentas representadas por diversos algoritmos, cada qual com suas vantagens e desvantagens. Estes algoritmos, basicamente, diferem pela maneira atravs da qual o ajuste dos pesos feito. A utilizao de uma RNA na soluo de uma tarefa passa, inicialmente, por uma fase de aprendizagem, onde a rede extrai caractersticas relevantes de padres de informaes apresentados para a mesma, criando assim uma representao prpria para o problema. A etapa de aprendizagem consiste em um processo iterativo de ajuste de parmetros da rede, os pesos das conexes entre as unidades de processamento, que guardam o conhecimento que a rede adquiriu do ambiente em que est operando. Uma definio geral do que vem a ser aprendizagem pode ser expressa da seguinte forma [11]. Aprendizagem o processo pelo qual os parmetros de uma rede neural so ajustados atravs de uma forma continuada de estmulos fornecidos pelo ambiente no qual a rede est operando, sendo que o tipo especfico de aprendizagem realizado, definido pela maneira particular como ocorrem os ajustes realizados nos parmetros. Diversos mtodos para treinamento de redes foram desenvolvidos, podendo estes serem agrupados em dois paradigmas principais: Aprendizado Supervisionado e Aprendizado No Supervisionado. Outros dois paradigmas bastante conhecidos so os de Aprendizado por Reforo (que um caso particular de Aprendizado Supervisionado) e Aprendizado por Competio (que um caso particular de Aprendizado No Supervisionado). Nas prximas sees estes paradigmas sero estudados, juntamente, com dois mecanismos de aprendizados encontrados na literatura, Correo de Erros e o Aprendizado Hebbiano. 5.1 Aprendizado Supervisionado Este mtodo de aprendizado o mais comum no treinamento das RNAs, tanto de neurnios com pesos, quanto de neurnios sem pesos, sendo chamado Aprendizado Supervisionado porque a sada desejada que a rede deve resultar fornecida por um supervisor (professor) externo. O objetivo ajustar os parmetros da rede, de forma a encontrar uma ligao entre os pares de entrada e sada fornecidos. A Figura 4 ilustra o mecanismo de Aprendizado Supervisionado. O professor indica, explicitamente, um comportamento bom ou ruim para a rede, visando direcionar o processo de treinamento. A rede tem sua sada corrente (calculada) comparada com a sada desejada, recebendo informaes do supervisor sobre o erro da resposta atual. A cada padro de entrada submetido rede compara-se a resposta desejada (que representa uma ao tima a ser realizada pela rede) com a resposta calculada, e os pesos das conexes so ajustados para minimizar o erro. A minimizao da diferena incremental, j que pequenos ajustes

so feitos nos pesos cada etapa de treinamento, de tal forma que estes caminhem, se possvel, para uma soluo.
Professor

RNA Entrada

+ Erro

Figura 4 - Aprendizado Supervisionado A desvantagen 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 de Aprendizado Supervisionado so a regra delta ou correo de erros (vide seo 5.2) [18] e a sua generalizao para redes de mltiplas camadas, o algoritmo back-propagation [15]. O Aprendizado Supervisionado pode ser implementado, basicamente, de duas formas: off-line e on-line. Para treinamento off-line, os dados do conjunto de treinamento no mudam, sendo que uma vez obtida uma soluo para a rede, esta deve permanecer fixa. Por sua vez, no aprendizado on-line, o conjunto de dados muda, continuamente, visto que a rede deve estar em contnuo processo de adaptao. Na seo seguinte, ser apresentada noo geral sobre o mtodo de aprendizado atravs da Correo de Erros. 5.2 Correo de Erros O processo de aprendizado por correo de erros 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) denota o erro e deve ser calculado atravs da seguinte expresso: e(t) = d(t) y(t), onde d(t) a sada desejada e y(t) a resposta atual (calculada) no instante de tempo t. A forma genrica para alterao dos pesos por correo de erros definida por: wi(t+1) = wi(t) + e(t) xi(t) onde a taxa de aprendizado e xi(t) a entrada para o neurnio i no tempo t. Segundo a equao acima, o ajuste dos pesos deve ser proporcional ao produto do erro pelo valor de entrada da sinapse naquele instante de tempo. Esta expresso aparece tanto no algoritmo de treinamento do perceptron [14] quanto no algoritmo para treinamento do ADALINE [18] e posterior generalizao para o algoritmo back-propagation [15]. O mtodo de aprendizado por correo de erros tambm pode ser chamado de regra delta de aprendizado. Este mtodo caracteriza o conceito de aprendizado supervisionado descrito na Seo 5.1. Existem outros conceitos de aprendizado entre eles, o Aprendizado No Supervisionado mostrado na Seo 5.3.

5.3 Aprendizado No Supervisionado No Aprendizado No Supervisionado, como o prprio nome sugere, no h um professor ou supervisor para acompanhar o processo de aprendizado. Este mtodo ilustrado na Figura 5. Para este tipo de aprendizado, somente os padres de entrada esto disponveis para rede, ao contrrio do Aprendizado Supervisionado, cujo conjunto de treinamento possui pares de entrada e sada. A partir do momento em que a rede estabelece uma harmonia com as regularidades estatsticas da entrada de dados, desenvolve-se nela uma habilidade de formar representaes internas para codificar caractersticas da entrada e criar novas classes ou grupos automaticamente. Este tipo de aprendizado, s se torna possvel, quando existe redundncia nos dados de entrada. Sem redundncia seria impossvel encontrar quaisquer padres ou caractersticas dos dados de entrada.
Meio Externo Estado do Meio Externo Resposta RNA

Figura 5 - Aprendizado No Supervisionado Uma das vantagens do Aprendizado No Supervisionado pode ser visualizada na ausncia do supervisor ou professor (responsvel pela indicao da sada desejada). A desvantagem est, intimamente, ligada ao conjunto de dados para treinamento, onde este deve ser redundante para que a rede consega abstrair caractersticas em seu treinamento. 5.4 Aprendizado Hebbiano Os resultados obtidos por Hebb [6] motivaram os primeiros mtodos de aprendizado em RNAs. Como originalmente postulado, a regra de Hebb prope que o peso de uma conexo sinptica deva ser ajustado, caso exista sincronismo entre os nveis de atividade das entrada e sadas. Caso dois neurnios, em lados distintos da sinapse, so ativados sincronamente, teremos um fortalecimento desta sinapse. Entretanto, se os neurnios forem ativados assincronamente, a sinapse ser enfraquecida ou mesmo eliminada. Em outras palavras, se o neurnio pr-sinptico tiver grande influncia na ativao do neurnio ps-sinptico, a conexo entre eles dever ser reforada. A sinapse Hebbiana possui quatro caractersticas principais: Mecanismo interativo: dentro do aprendizado Hebbiano, no se pode analisar atividades pr-sinpticas de forma isolada; qualquer modificao na sinapse Hebbiana depende (estatisticamente ou deterministicamente) da interao entre os dois tipos de atividades (pr e ps-sinpticos). Mecanismo local: uma sinapse Hebbiana uma transmisso com sinais contnuos que produz modificaes sinpticas locais que so entradas especficas. a partir do mecanismo local que sinapses Hebbianas efetuam Aprendizado No Supervisionado. Mecanismo dependente do tempo: as modificaes em uma sinapse Hebbiana dependem do momento exato de ocorrncia das atividades pr e ps-sinpticas.

Mecanismo correlacional ou conjuncional: a sinapse Hebbiana pode ser chamada de sinapse conjuncional pelo fato de que a ocorrncia conjunta de atividades pr e ps-sinpticas suficiente para que haja uma modificao. Alm disso, pode tambm ser chamada de sinapse correlacional, porque uma correlao entre estas mesmas atividades suficiente para gerar mudanas.

Pode-se expressar o postulado de Hebb em termos matemticos a partir da seguinte equao, que consiste em uma regra para a mudana do peso sinptico wij (regra do produto de atividade): wij (t ) = . yi (t ) x j (t ) onde uma constante positiva que determina a taxa de aprendizado, yi a sada desejada no instante de tempo t e xj a entrada do neurnio j no instante de tempo t. Apesar dos vetores de entrada e sada serem fornecidos (como no Aprendizado Supervisionado), a regra de Hebb classificada como Aprendizado No Supervisionado, j que no existe supervisor externo para verificar a qualidade da resposta da rede para prover um ajustes de pesos. Neste caso, o treinamento da rede feito, independentemente, da resposta atual, atravs de um mecanismo local sinapse. 5.5 Aprendizado por Competio Aprendizado por Competio um caso particular de Aprendizado No Supervisionado [2, 8, 3]. A idia neste caso , dado um padro de entrada, fazer com que as unidades de sada disputem entre si para serem ativadas. Existe, portanto, uma competio entre as unidades de sada para decidir qual delas ser a vencedora e, consequentemente, ter a sua sada ativada e seus pesos atualizados no treinamento. As unidades de entrada 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 mais chance de vencer a disputa com as outras unidades, que perdero o poder de inibio ao longo do tempo sobre as unidades de maior ativao. 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. Este tipo de inibio mtua tambm conhecido como winner tasks all. Um algoritmo simples de aprendizado competitivo : 1. Apresentar um vetor de entrada; 2. Calcular a ativao inicial de cada unidade de sada; 3. Deixar as unidades de sada competirem at que apenas uma permanea ativa; 4. Aumentar os pesos sobre as conexes entre as unidades de sada ativa e as unidades de entrada ativas. Com isso, a unidade de sada ter maior probabilidade de ficar ativa na prxima repetio do padro.

Um problema neste algoritmo que uma unidade de sada pode se tornar dominante e ficar ativa todo tempo, podendo captar para si todo o espao de entrada. A soluo para tal problema est em racionar os pesos, de tal forma que a soma dos pesos sobre as linhas de entrada de uma unidade seja limitada a 1. Para aumentar o peso de uma conexo, preciso diminuir o peso de outra, tal que.

wj = xj / M - wj
para todo j = 1, 2, . . . , n, onde wj 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 e a taxa de aprendizagem. Este algoritmo funciona em muitos casos, porm, s vezes, uma unidade de sada ganha sempre. Uma soluo para este problema a leaky learning [4] que foi desenvolvido por Grossberg. O Aprendizado por Competio a base dos modelos ART de Grossberg [4] e dos mapas de Kohonen [8, 9]. 5.6 Aprendizado por Reforo Aprendizado por Reforo pode ser visto como um caso particular de Aprendizado Supervisionado. A principal diferena entre o Aprendizado Supervisionado clssico e o Aprendizado por Reforo a medida de desempenho usada em cada um dos sistemas. 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. No Aprendizado por Reforo, a nica informao de realimentao fornecida rede se uma determinada sada est correta ou no, isto , no fornecida a rede a resposta correta para o padro de entrada. O Aprendizado por Reforo ilustrado na Figura 6.
Crtico Reforo / Penalidade RNA ao

Aprendizado por Reforo

Figura 6 Aprendizado por Reforo Aprendizado por Reforo uma forma de aprendizado on-line obtido por um mapeamento de entrada-sada, atravs de um processo de triagem de erro desenvolvido para maximizar o ndice de desempenho escalar chamada de sinal de reforo. O termo Aprendizagem por Reforo foi, inicialmente, citado por Minsky [13] em seus estudos iniciais de IA. A idia bsica que est por trs do termo reforo tem sua origem em estudos experimentais sobre aprendizado dos animais [5]. Neste contexto, interessante lembrar a Lei do Efeito [17] que diz quanto maior a satisfao obtida com uma certa experincia em um animal, maiores as chances dele aprender. Sutton [16] conceitualiza o Aprendizado por Reforo como:

Se uma ao tomada pelo sistema de aprendizagem seguida de estados satisfatrios, ento a tendncia do sistema de produzir esta ao particular reforada. Se no for seguida de estados satisfatrios, a tendncia do sistema de produzir esta ao enfraquecida. Neste captulo foi apresentado os principais tipos de aprendizados. O modelo mais utilizado atualmente o Aprendizado Supervisionado. No prximo captulo ser mostrado duas arquiteturas no universo das RNAs, perceptron de uma camada, e o perceptron multicamadas. Ambas arquiteturas utilizam o conceito do Aprendizado Supervisionado em seus algoritmos.

6 Algumas Arquiteturas de RNAs


Nesta seo ser abordado o modelo perceptron de nica e mltiplas camadas. O perceptron foi proposto por Rosenblatt [14] e originou-se do trabalho de McCullch e Pitts [1]. 6.1 Perceptron de Camada nica e seu Algoritmo de Aprendizado O trabalho original que enfocou o modelamento de um neurnio e sua capacidade computacional de solucionar problemas, teve incio com as pesquisas de McCulloch e Pitts [1]. Naquela poca surgiram os primeiros computadores digitais e entende-se que a associao de um modelo artificial de um neurnio com a capacidade de resolver funes Booleanas est, provavelmente, ligada ao pensamento vigente na poca de que era possvel construir uma mquina inteligente atravs de operadores lgicos bsicos. Foi somente com o trabalho de Frank Rosenblatt em 1958 [14] que o conceito aprendizado em RNAs foi introduzido. O modelo proposto por Rosenblatt, conhecido como perceptron, era composto por uma estrutura de rede tendo como unidades bsicas nodos MCP e uma regra de aprendizado. Alguns anos mais tarde, Rosenblatt demostrou o teorema de convergncia do perceptron, o qual mostra que um nodo MCP treinado com o algoritmo de aprendizado do perceptron sempre converge, caso o problema em questo seja linearmente separvel [19]. A topologia original descrita por Rosenblatt era composta por unidades de entrada (retina), por um nvel intermedirio formado pelas unidades de associao e por um nvel de sada formado pelas unidades de resposta. Embora, esta topologia original possua trs nveis, ela conhecida como perceptron de um nica camada, j que somente o nvel de sada (unidade de resposta) possui propriedades adaptativas. A Figura 7 mostra um esboo da topologia do perceptron.
. . . Associao r

Resposta

Entrada

Figura 7 - Topologia de um perceptron simples com uma nica sada Apesar de ter causado grande euforia na comunidade cientifica da poca, o perceptron no teve vida muito longa, j que duras crticas de Minsky e Papert [12] foram feitas em relao sua capacidade computacional, causando, assim, um grande impacto sobre as pesquisas em RNAs, o que levou a um grande desinteresse pela rea durante os anos 70 e incio dos anos 80. Esta viso pessimista sobre a capacidade do perceptron e das RNAs de um maneira geral mudou, devido as descries da rede de Hopfield em 1982 [7] e do

algoritmo de back-propagation (que ser visto nas prximas sees). Foi em conseqncia destes trabalhos que a rea de RNAs ganhou novo impulso, ocorrendo a partir do final dos anos 80, uma forma de expanso no nmero de trabalhos de aplicao e tericos envolvendo RNAs e tcnicas correlatadas. O algoritmo de aprendizagem do perceptron utiliza o algoritmo de correo de erros como base. Pode-se ilustrar o funcionamento e o mtodo de aprendizagem do perceptron de uma camada atravs da formulao exemplo. Dada uma rede do tipo perceptron formada por 3 terminais de entrada utilizando pesos iniciais de w0 = 0.4, w1 = -0.5, w2 = 0.6; valor threshold = 0.5 e a taxa de aprendizado = 0.4 (Figura 8). Ensinar a rede gerar a sada 1 para o padro 001 sada de 1 para o padro 110. Aps a rede treinada, determinar a que classe pertence os padres 111, 000, 100, 011. + 1 y= 1 se se x>0 x0

Utilize como funo de ativao a funo step Soluo:


-1

x1 x2 x3

0 w0 = 0.4

= 0.5

w1 = -0.5 w2 = 0.6

wixi

-1 1 d

Figura 8 - Funcionamento do Perceptron de uma camada

xi = padres de entrada. d = valor desejada para sada aps processamento da rede. Processamento para o padro 001: y = (-1 . 0,5) + (0 . 0,4) + (0 . 0,5) + (1 . 0,6) y = 0,1 [aplicar funo de ativao]

y = 1, onde y representa a sada do padro processado De acordo com o processamento da rede, percebe-se que a sada est incorreta em relao a sada desejada, deve-se ento aplicar o algoritmo de treinamento do perceptron:

wi = wi + e xi | e = (d y) w3 = 0,5 + 0,4 . (-1 -1) . -1 w3 = 1.3 | w3 = w0 = 0,4 + 0,4 . (-1 -1) . 0 w0 = 0,4 w1 = -0,5 + 0,4 . (-1 -1) . 0 w1 = -0.5 w2 = 0,6 + 0,4 . (-1 -1) . 1 w2 = -0.2
Com os pesos atualizados de acordo com o algoritmo de aprendizagem, devese processar o padro de entrada novamente. Processamento para o padro 001: y = (-1 . 1,3) + (0 . 0,4) + (0 . -0.5) + (1 . -0,2) y = -1,5 y = -1 Neste momento, verifica-se que a sada desejada igual a sada obtida pela rede, com isso no necessrio a atualizao dos pesos, pois a rede emitiu uma sada correta. Processamento para o padro 110: y = (-1 . 1,3) + (1 . 0,4) + (1 . -0.5) + (0 . -0,2) y = -1.4 [aplicar a funo de ativao] y = -1 [aplicar a funo de ativao]

Novamente, percebe-se que a sada emitido pela rede est incorreta em relao a sada desejada, deve-se ento aplicar o algoritmo de treinamento do perceptron:

wi = wi + e xi | e = (d y) w3 = 1.3 + 0,4 . (1 - (-1) ) . -1 w3 = 0,5 w0 = 0,4 + 0,4 . (1 - (-1) ) . 1

w0 = 1,2 w1 = -0,5 + 0,4 . (1 - (-1) ) . 1 w1 = 0.3 w2 = -0,2 + 0,4 . (-1 - (-1) ). 0 w2 = -0.2
Com os pesos atualizados de acordo com o algoritmo de aprendizagem, devese processar o padro de entrada novamente. Processamento para o padro 110: y = (-1 . 0,5) + (1 . 1,2) + (1 . 0,3) + (0 . -0,2) y=1 y=1 Neste momento, verifica-se que a sada desejada igual a sada obtida pela rede, com isso no necessrio a atualizao dos pesos, pois a rede emitiu uma sada correta. Com o treinamento realizado, pode-se ento classificar os padres 111, 000, 100, 011 e obter as sadas 1, -1, 1, -1 respectivamente. A Figura 9 ilustra tal classificao [aplicar a funo de ativao]

Figura 9 - Classificao do Perceptron j treinado 6.2 - Perceptron Multicamadas Conforme citado na seo anterior, as redes de uma s camada resolvem apenas problemas linearmente separveis. A soluo de problemas no linearmente separveis passa pelo uso de redes com uma ou mais camadas intermedirias, ou escondidas. Segundo [20], uma rede com camada uma intermediria pode implementar qualquer funo contnua. A utilizao de duas camadas intermedirias permite a aproximao de qualquer funo [21].

Com a utilizao desta arquitetura necessrio, ento, encontrar uma forma de treinar tal rede. Uma possibilidade seria a diviso da rede em um conjunto de sub-rede para cada camada, com treinamento independente. Uma rede com uma camada intermediria pode ser formada por um conjunto de redes perceptron, uma rede para cada grupo de entradas linearmente separveis. Na camada de sada, uma outra rede combina as sadas produzidas pelas redes da primeira camada, gerando, assim, a classificao final. Esta soluo esbarra na dificuldade de dividir um problema em subproblemas. Geralmente, esta diviso ou no possvel ou muito complicada. Uma outra alternativa seria treinar a rede completa de uma s vez. O problema agora esta em como treinar os nodos da camada intermediria desta rede. Quais seriam a respostas desejadas para estes nodos? Ou melhor, como seria definido o erro destes nodos? O problema passa agora ser a definio do erro dos nodos das camadas intermedirias. Se uma funo de ativao do tipo limiar (funo threshold) for utilizada, a avaliao do erro ser bastante complexa, uma vez, que os nodos das camadas intermedirias e de sada no sabero quo distantes as respostas de seus nodos estaro dos valores desejados, este um dos problemas da rede perceptron. Uma alternativa seria a utilizao de funes de ativao lineares. No entanto, uma rede com mais de uma camada cujos nodos utilizaro funes de ativao lineares equivalente a uma rede de uma s camada. Esta afirmao pode ser, facilmente, provada: Seja uma Rede Neural com uma camada intermediria e funes de ativao lineares. Seja x o vetor de entrada e wA e wB as matrizes de pesos para nodos da primeira e segunda camadas, respectivamente. O vetor de sada da rede gerado de acordo com: y = (x wA). wB Utilizando propriedades da lgebra Linear [22], tem-se que:

(wA e wB) wC | wC = wA . wB
Logo: y = x . wC onde x o vetor de entrada, y o vetor de sada e wA, wB, e wC, so vetores de pesos. Para treinar redes com mais de uma camada foi proposto um mtodo que se baseia em gradiente descendente [15]. Afim de que, este mtodo possa ser utilizado, a funo de ativao precisa ser contnua, diferenivel 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. Esta seo tem por objetivo descrever e explicar o funcionamento das RNAs do tipo perceptron multicamadas, ou MLP (do ingls MultiLayer Perceptron), que so RNAs que apresentam pelo menos uma camada intermediria ou escondida [15].

6.2.1 Arquitetura MLP Conforme visto nas sees anteriores, a inexistncia ou desconhecimento de algoritmos para treinar redes com uma ou mais camadas intermedirias foi uma das causas para reduo das pesquisas em RNAs na dcada de 70. Tal problema foi primeiro apontado por Minsky e Papert, no livro Perceptrons [12] e, por representar uma reduo no universo de aplicaes de RNAs, causou uma diminuio drstica tanto do nmero de pesquisadores que trabalhavam na rea quanto no financiamento de projetos envolvendo RNAs. As redes MLP apresentam um poder computacional maior do que aquele apresentado pelas redes sem camadas intermedirias. As redes MLPs podem tratar com dados que no so linearmente separveis. A preciso obtida e a implementao de uma rede MLP dependem do nmero de nodos utilizados nas camadas intermedirias, e um dos problemas a definio de uma funo de ativao. Na Figura 10 apresentada um rede MLP tpica.
camada de entrada

camada de sada

camada intermediria

Figura 10 - Rede MLP com camada intermediria Conforme j observado, um dos principais aspectos relacionados ao projeto de redes MLP diz respeito funo de ativao utilizada. Diversas funes de ativao tm sido propostas para redes multicamadas. Estas funes so no lineares e diferenciveis. As funes precisam ser diferenciveis para que o gradiente possa ser calculado, direcionando o ajuste dos pesos. A funo de ativao mais utilizada sigmoidal logstica. A orientao da sigmoidal determinada pela direo do vetor de pesos w. O valor do termo de polarizao, corresponde ao peso wo, determina a localizao da funo sigmoidal, ou seja, define a posio da funo com relao ao eixo da ordenada. 6.2.2 Definio de uma Topologia Ideal para o MLP A definio de um topologia de uma rede do tipo MLP est intimamente ligada com a definio dos nodos de camada intermediria; este nmero , geralmente, definido empiricamente e depende, fortemente, da distribuio dos padres de treinamento e validao da rede. Alguns mtodos, no entanto, tm sido propostos. Os mais utilizados so: Definir o nmero de unidades em funo do nmero de entradas e sadas;

Utilizar um nmero de conexes dez vezes menor que o nmero de exemplos. Este mtodo apenas reduz a incidncia de overfitting (rede memoriza padres de treinamento, ao invs de extrair as caractersticas). Se o nmero de exemplos for muito maior que o nmero de conexes, overfitting improvvel, mas pode ocorrer underfitting (a rede no converge durante o seu treinamento).

O nmero adequado de nodos na camada intermediria 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 treinamento.

Existem problemas que necessitam apenas de uma unidade de entrada e uma unidade de sada, e outros que podem precisar de milhares de unidades intermedirias. O nmero de unidades intermedirias pode tambm, em alguns casos, crescer, exponencialmente, com o nmero de entradas. A soluo neural mais eficiente aquela onde o nmero de unidades cresce apenas polinomialmente com o aumento do nmeros de unidades de entrada. Para soluo de problemas prticos de reconhecimento de padres, aloca-se para a rede um nmero de unidades intermedirias suficiente para a soluo do problema. Deve-se ter cuidado para no utilizar unidades demais, o que pode levar a rede memorizar padres de treinamento, ao invs de extrair as caractersticas gerais que permitiro a generalizao ou reconhecimento de padres no vistos durante o treinamento (este problema chamado de overfitting), no utilizar um nmero muito pequeno, que possa forar a rede a gastar tempo em excesso tentando encontrar uma representao tima (as unidade utilizadas podem ficar sobrecarregadas, tendo que lidar com um elevado nmero de restries). 6.2.3 Otimizao da topologia utilizando pruning Conforme observado nos pargrafos anteriores, uma das maiores dificuldades em se definir a estrutura de uma RNA o fiel dimensionamento de sua topologia. Normalmente, o nmero de camadas e o nmero de nodos em cada camada definido em funo de uma inspeo prvia nos dados e da complexidade do problema. Uma vez definida a topologia inicial, a estrutura final mais adequada para o modelamento , normalmente, obtida atravs de refinamentos sucessivos, que pode levar a um tempo de dimensionamento alto, j que este tem um grande componente emprico. O objetivo desta etapa de ajuste a obteno de uma topologia de rede que modele com preciso os dados do conjunto de treinamento, mas tambm resulte em uma aproximao com boa capacidade de generalizao. Como, na maioria dos casos, os conjunto de treinamento de uma RNA composto de dados experimentais, estes contm, implicitamente, erros inerentes aos processos de amostragem. Desta forma, a

aproximao atravs de RNAs deve ser feita visando a obteno de uma estrutura que seja capaz de modelar os dados sem modelar o rudo contido neles. Este um problema no projeto de RNAs conhecida na literatura como bias and variance delemma [23], que envolve a obteno de um modelo que no seja muito rgido a ponto de no modelar fielmente os dados, mas que tambm no seja, excessivamente, flexvel a ponto de modelar tambm o rudo. O equilbrio entre a rigidez e flexibilidade da rede obtido atravs de seu dimensionamento. Quanto maior a sua estrutura, maior o nmero de parmetros livres ajustveis e, consequentemente, maior a sua flexibilidade. Porm, quando os dados so apresentados rede, no se tem real conhecimento de sua complexidade, da a dificuldade do problema de dimensionamento. Uma forma de evitar o overfitting estimar o erro de generalizao durante o processo de treinamento [24]. Para isto, o conjunto de dados dividido em conjunto de treinamento e conjunto de validao. O conjunto de treinamento utilizado na modificao dos pesos e o conjunto de validao utilizado para estimar a capacidade de generalizao da rede durante o processo de aprendizagem. O treinamento deve ser interrompido quando o erro do conjunto de validao comear a subir, ou seja, quando a rede comear a incorporar o rudo presente nos dados o que causa degradao na sua capacidade de generalizao [24]. Embora, esta alternativa possa se mostrar eficiente em algumas situaes, a sua utilizao limitada para os casos em que um conjunto de treinamento muito grande est disponvel, j que os dados do conjunto de validao no podem ser utilizados para treinamento. Uma outra soluo conhecida adoo de tcnicas de pruning [24] que, por sua vez, envolvem a eliminao de pesos e nodos irrelevantes para a funo executada pela rede. Existem, basicamente, dois tipos de mtodos de pruning: mtodos baseados na avaliao da sensibilidade da sada e os mtodos que envolvem modificaes na funo de custo [24]. A filosofia dos mtodos do primeiro grupo a retirada de elementos da rede e subsequente verificao da variao do erro de sada [25, 26, 27]. Caso a retirada do elemento no cause grande variao no erro de sada, conclui-se que a rede pouco sensvel a este e que o mesmo pode ser retirado sem perda da capacidade da rede modelar dados. A desvantagem deste mtodo que a retirada dos elementos no considera a correlao entre eles, Um exemplo de situao em que este mtodo poderia falhar seria o caso de dois nodos que anulam as suas sadas em uma camada intermediria da rede. Como um par eles no causam nenhum efeito na sada de rede, mas individualmente, podem ter um grande efeito quando a remoo de um deles analisada [24]. Por sua vez, os mtodos que envolvem modificao na funo de custo [28, 10], utilizam, em uma primeira etapa, termos de regularizao [29] adicionados ao termo de erro padro. A idia deste algoritmos a obteno de solues com pesos de norma mnima, para isto, as solues com valores altos de pesos so penalizadas durante o treinamento. Comea-se com uma rede com topologia super-dimensionada e desta so retirados os pesos irrelevantes.

Como exemplo, forma geral da funo custo para o treinamento do algoritmo weight decay [136] apresentada na equao seguinte. Pode-se ento observar que se minimiza no somente a soma dos erros quadrticos, mas tambm a norma de vetor de pesos. J= 1 k 1 (di yi ) 2 + 2 || w ||2 2 i =1

onde k o nmero de nodos de sada, di e sada desejada do nodo i, yi a sada gerada pelo nodo i e w o vetor de pesos. Uma vez obtida uma soluo com pesos de norma mnima, aqueles com valores muito pequenos so ento considerados irrelevantes e eliminados, Espera-se ento obter uma soluo com um fiel equilbrio entre a rigidez e a flexibilidade da rede. A contrapartida para esta abordagem, que parece mais elegante, a busca de uma soluo com norma mnima tambm depende do ajuste de forma emprica do parmetro de regularizao . Quando este nulo somente a soma dos erros quadrticos minimizada quando possui valor muito grande a soluo para a vetor de pesos tende para w = 0. Portanto, um valor satisfatrio intermedirio deve ser encontrado. Uma soluo para contornar este problema , obviamente, incluir o parmetro como uma das vaiveis a serem ajustadas, porm, isto incorpora mais complexidade ao processo de treinamento. Outros procedimentos para a construo de redes com estrutura otimizada a utilizao de redes construtivas. 6.2.4 Treinamento de Redes MLP Existem, atualmente, vrios algoritmos para treinar rede MLP [30, 31, 32, 33, 34, 35]. Estes algoritmos so do tipo supervisionado. De acordo com os parmetros que eles atualizam, os algoritmos para treinamento de redes do tipo MLP podem ser classificados em: Estticos; Dinmicos.

Como os algoritmos estticos no alteram a estrutura da rede, variando apenas os valores de seus pesos, os algoritmos dinmicos podem tanto reduzir quanto aumentar o tamanho da rede (nmero de camadas, nmero de nodos nas camadas intermedirias e nmero de conexes). Quando se utiliza o aprendizado esttico, a mesma regra de aprendizado empregada para redes do tipo MLP com diferentes tamanhos e formatos. Interessante observar que topologias diferentes podem resolver o mesmo problema. O algoritmo de aprendizado mais conhecido para treinamento destas redes o back-propagation [30]. A maioria dos mtodos de aprendizado para RNAs do tipo MLP utiliza variaes deste algoritmo. O back-propagation foi um dos principais responsveis pelo ressurgimento de interesse em RNAs, por ocasio da publicao do livro Parallel Distributed Processing, mais conhecido como PDP, em 1986 [30]. Embora a popularizao deste algoritmo tenha surgido a partir de 1986, ele foi proposto muito antes, com diferentes propsitos, por diferentes pequisadores como : Bryson e Ho [36] (1969), Werbos [37] (1974) , Parker [38] (1985) e Le Cun [39] (1985).

O back-propagation um algoritmo supervisionado, que utiliza 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 fase forward e fase backward. Esto ilustrada estas duas fases na Figura 11.
fase forward

fase Backward

Figura 11 - Fluxo de Processamento do algoritmo back-propagation. A fase forward envolve os seguintes passos: 1 A entrada apresenta primeira camada da rede, a camada C0. 2 Para cada camada Ci a partir da camada de entrada 2.1 Aps os nodos da camada Ci (i > 0) Calcular os sinais de sada, estes servem como entrada para a definio das sadas produzidas pelos nodos da camada Ci+1. 3 As sadas produzidas pelos nodos da ltima cada so comparadas s sadas desejadas A fase backward envolve as etapas listadas a seguir: 1 A partir da ltima camada, at chegar na camada de entrada: 1.1 Os nodos da camada atual ajustam seus pesos de forma a reduzir seus erros 1.2 O erro de um nodo da camada intermediria calculado, utilizando os erros dos nodos da camada seguinte conectados a ele, ponderado pelos pesos das conexes entre eles O algoritmo back-propagation, que faz uso destas duas fases, apresentado a seguir: 1 Inicializar pesos e parmetros

2 Repita at o erro ser mnimo ou a realizao de um dado nmero de ciclos: 2.1 Para cada padro de treinamento X 2.1.1 Definir sada da rede atravs de fase forward 2.1.2 Comparar sadas produzidas com as sadas desejadas 2.1.3 Atualizar pesos do nodos atravs da fase backward O back-propagation baseado na regra proposta por Widrow e Hoff [18], sendo tambm chamada de regra delta generalizada. Este algoritmo prope uma forma de definir o erro dos nodos das camadas intermedirias, possibilitando o ajuste de seus pesos. Os ajustes dos pesos so realizados utilizando o mtodo do gradiente. Na literatura da anlise numrica, a regra delta generalizada conhecida como mtodo da bola pesada [40]. A derivao da regra delta generalizada simples e semelhante derivao da regra delta. Tambm neste caso, a funo a ser minimizada uma funo erro, definida pela soma doe erros quadrticos e representada por: E=
k 1 (dip yip ) 2 2 p i =1

onde E a medida de erro total, p o nmero de padres, k o nmero de unidades de sada, di a i-sima sada desejada e yi a i-sima sada gerada pela rede. Esta equao define o erro total cometido pela rede, ou a quantidade que, para todos os padres p de um dado conjunto, as sadas geradas pela rede diferem das sadas desejadas. A regra delta generalizada requer que as funes de ativao utilizadas pelos nodos sejam contnuas, diferenciveis, geralmente, no decrescente da entrada total recebida pelo nodo. Estas funes so chamadas de funes semi-lineares. A Equao abaixo ilustra o clculo do valor de ativao. y jp = f j (net jp ) onde: net jp = xip w ji
i =1 n

A constante n represente o nmero de conexes de entrada do nodo j e wij o p peso da conexo entre a entrada xi e o nodo j. H garantia de convergncia se a superfcie do erro for simples. Uma forma de visualizar a influncia do treinamento da rede no valor do erro est ilustrada pela superfcie de erro da Figura 12. Esta Figura ilustra um caso simples de uma rede com apenas um nodo e duas conexes. Os valores dos pesos da rede definem a coordenada de

um ponto da superfcie do erro. O erro produzido pela rede, para cada combinao de valores de pesos, pela altura da superficie naquele ponto.
Superfcie do erro

Soluo Desejada

Figura 12 - Superfcie do Erro de uma Rede MLP As trs equaes anteriores mostram como encontrar o erro global da rede e como encontrar o erro local de um determinado padro de entrada, processadas as duas equaes anteriores deve-se aplicar e equao seguinte que ajustar os pesos das diversas camadas: w ji = j xi ou

wij (t + 1) = wij (t ) + j (t ) xi (t ) onde j = (d j y j ) para camada de sada e j = wij i para camadas intermedirias, i unidade em questo, j camada em questo. 6.2.5 Problemas Enfrentados no Treinamento de Redes MLP Um dos problemas enfrentados no treinamento de rede MLP diz respeito definio de seus parmetros. A seleo dos parmetros de treinamento do algoritmo back-propagation um processo pouco conhecido, muitas vezes chamado de magia negra. Pequenas diferenas nestes parmetros podem levar a grandes divergncias tanto no tempo de treinamento como na generalizao obtida. Esta uma dvida que surge, naturalmente. Em que momento parar de treinar a rede? Existem vrios mtodos para a determinao do momento que o treinamento deva ser encerrado. Estes mtodos so chamados de critrios de parada. Os critrios de paradas mais utilizados so: 1. Encerrar o treinamento aps n ciclos; 2. Encerrar o treinamento aps o erro quadrtico mdio ficar abaixo de uma constante c. 3. Encerrar o treinamento quando a percentagem de classificaes corretas estivarem acima de uma constante c (mais indicados para sadas binrias); 4. Combinao dos mtodos acima.

Outro aspecto que precisa ser observado freqncia das atualizaes dos pesos. A freqncia de ajustes dos pesos influncia o desempenho obtido durante o treinamento. Duas abordagens diferentes tm sido utilizadas quanto freqncia (periodicidade) para o ajuste de pesos pelo algoritmo back-propagation: Por padro (on-line); Por ciclo (batch).

Existem vantagens e desvantagens em cada uma destas abordagens. Na abordagem por padro, os pesos so atualizados aps a apresentao de cada padro de treinamento. Esta abordagem estvel se a taxa de aprendizado for pequena ( a aconselhvel reduzir progressivamente esta taxa). Quando taxas elevadas so utilizadas, a rede torna-se instvel. A abordagem por padro mais rpida, principalmente, se o conjunto de treinamento for grande e redundante. Outra vantagem desta tcnica e que ela requer menos memria. Na abordagem por ciclo, por sua vez, os pesos so atualizados aps todos os padres terem sido apresentados. Esta tcnica mais estvel, mas ela pode ser lenta, se o conjunto de treinamento for grande e redundante. Esta abordagem apresenta uma estimativa mais precisa do vetor gradiente, ao custo da necessidade de mais memria. A escolha da abordagem a ser utilizada depende da aplicao e da distribuio estatstica dos dados. O principal problema diz respeito a lentido do algoritmo para superfcies complexas. Uma forma de minimizar este problema considerar efeitos de segunda ordem (taxa de momentum) para o gradiente descendente. No raro o algoritmo convergir para mnimos locais. Mnimos locais so pontos na superfcie de erro que apresentam uma soluo estvel, embora no seja correta. Algumas tcnicas so utilizadas tanto para acelerar o algoritmo back-propagation como para reduzir a incidncia de mnimos locais: Utilizar taxa de aprendizado decrescente; Adicionar ns intermedirios; Utilizar um termo momentum;

Entre as vrias tcnicas utilizadas para acelerar o processo de treinamento e evitar mnimos locais, a adio de um termo momentum [236] uma das mais freqentes. O termo momentum representado por: wij (t + 1) = wij (t ) + j (t ) xi (t ) + ( wij (t ) wij (t 1)) onde taxa de momentum a ser utilizada no processamento do aprendizado da rede. A incluso da taxa de momentum na frmula de ajuste dos pesos aumenta a velocidade de aprendizado (acelerao), reduzindo o perigo de instabilidade. A taxa momentum pode acelerar o treinamento em regies muito planas para a superfcie de erro. Alm disso, ele suprime a oscilao de pesos em valores de ravinas.

Nesta seo foi mostrado as principais arquiteturas utilizadas na rea de RNAs. Dentre os tpicos estudados destacam-se os algoritmos de aprendizagem do modelo MLP. Para um entendimento completo sobre tais conceitos apresentados o Apndice 1, utiliza um rede MLP para a previso de vida em doentes com hepatite.

6 Concluso
A utilizao de RNAs pode ser considerada uma arte. Dentre os fatores inseridos no contexto de RNAs, pode-se destacar a configurao de dados para o treinamento, a escolha e anlise das possveis topologias. Ambos fatores citados so considerados de vital importncia para que se obtenha uma soluo plausvel para um determinado problema. Este trabalho discutiu alguns conceitos sobre RNAs, dando nfase as arquiteturas Perceptron de uma e de multiplas camadas.

Apndice 1 Estudo de Caso


1 Introduo As RNAs so consideradas ferramentas de grande potencial em diversas reas do conhecimento, isto ocorre devido a sua grande capacidade de aprendizagem. Tais redes podem classificar e reconhecer diversos padres, como por exemplo, udio, imagem, etc. O objetivo deste estudo classificar a perspectiva de vida em doentes com hepatite, utilizando Redes Neurais do tipo MLP. Foi utilizada uma abordagem tradicional em relao aos experimentos com rede MLP, que pode ser verificada em [41]. Os dados utilizados neste trabalho so de domnio pblico e podem ser encontrados no endereo www.ics.uci.edu/~mlearn/ MLSumary.html. 2 Hepatite: Tipos e Diagnsticos Segundo [42], hepatite um termo genrico que designa a inflamao do fgado, seja ela por conseqncia da agresso direta ou parte de um processo sistmico. As hepatites mais comuns so as virais e as txicas. Dentre os processos txicos, encontram-se a hepatite medicamentosa, causada por ingesto excessiva ou inadequada de medicamentos; a hepatite decorrente de usos de drogas e alcolica, que tambm pode ser crnica, ou seja, se d por leso direta clula heptica e a causa mais freqente de cirrose. Entende-se por hepatite crnica, a inflamao do fgado por um perodo superior a 6 meses. Existem vrios tipos de hepatite, dentre estes tipos encontram-se: Hepatite A - de transmisso fecal-oral e com a contaminao pela gua e pelos alimentos, no se transmite pelo sangue, a no ser durante o perodo agudo. A taxa de mortalidade muito baixa e no h relato de hepatite crnica por Hepatite A. Hepatite B - se transmite por contato com sangue infectado, por via sexual ou pela chamada transmisso vertical, isto , da me infectada para o recm nascido, no momento do parto. Os grupos de risco incluem os homossexuais, usurios de drogas intravenosas, pacientes em hemodilise e profissionais da sade. A hepatite pode ter cura completa, tornar-se fulminante ou cncer de fgado. Hepatite C tem alta incidncia entre usurios de drogas intravenosas, com 80 % dos casos contrados por transfuso de sangue. Hepatite D - causada pelo agente delta e se desenvolve somente com a associao da Hepatite B. epidmica em algumas reas, especialmente, na Amaznia. Hepatite E - transmitida pela gua e epidmica na sia, no norte da frica e no Mxico. A sua transmisso fecal-oral. Hepatite F - causada por partcula viral detectada em pacientes submetidos a transplante heptico.

A identificao dos diferentes tipos de hepatite se faz pela deteco do vrus, no sangue do paciente. O quadro clnico , extremamente varivel, podendo ocorrer casos completamente sem sintomas, s detectados por exames de laboratrios, alm dos quadros de morte em poucos dias (hepatite fulminante). O perodo de incubao varia de duas a seis semanas na Hepatite A, de seis semanas a seis meses na Hepatite B. A doena se manifesta por sintomas gerais de mal estar, fadiga intensa, nuseas e vmitos, febres, dor na regio do fgado, que se apresenta de tamanho aumentado, fezes esbranquiadas e urina escura. Cinco dias aps o aparecimento dos sintomas tem incio uma fase ictrica, em que a pele e as conjuntivas se apresentam amareladas. A doena aguda regride de duas a trs semanas, os exames de laboratrios que monitoram a evoluo da doena s revelam resultados normais aps nove semanas (Hepatite A) ou dezesseis semanas (Hepatite B e C). A Hepatite C verificada em 1% dos casos. 3 Descrio dos Dados Utilizados A base de dado utilizada, como descrito na introduo, de domnio publico. Esta base possui 155 instncias, isto , os dados de 155 pacientes. Cada instncia possui 20 atributos descritos a seguir: Atributos binrios: Sexo. Steroid: Substncia qumica presente em nosso organismo. Antivrus: Substncia qumica presente em algumas pessoas. Fadiga: Sinais de cansao aps pequenos esforos fsicos. Malaise: Enzima presente em nosso organismo. Anorexia: Substncia qumica presente em nosso organismo. Fgado Inchado. Fgado Duro. Bao palpvel. Spiders: Substncia qumica presente em algumas pessoas. Ascites: Enzima presente em nosso organismo. Varices: Substncia qumica encontrada em nosso organismo. Histologia: Estudo da clulas do paciente Classificao. Vivo ou Morto

Atributos numricos:

Idade. Birilubin. Protena encontrada em nosso organismo Fosfato. Sgot: Substncia qumica encontrada em nosso organismo. Albumin. Protena encontrada na gema do ovo. Protime: Substncia qumica encontrada em nosso organismo.

A classificao dos dados de responsabilidade do atributo classificao. Este atributo mostra se o paciente com determinadas caractersticas, valores dos demais atributos, encontra-se no estado vivo ou morto. 4 Treinamento, Teste e Validao dos Dados A arquitetura utilizada neste estudo de caso, o MLP mostrado no Captulo 6. O algoritmo de aprendizagem utilizado o back-propagation e o tipo de aprendizado o supervisionado. Para o treinamento, teste e validao da rede do tipo MLP foram utilizadas as topologias mostradas na Tabela 1. Camada 1 Camada 2 19 5 19 6 19 7 19 8 Camada 3 1 1 1 1

Tabela 1 - Arquiteturas para Treinamento Em tais topologias foram empregadas vrias parties da base de dados. A diviso destas parties foram baseadas em [41]. A taxa de aprendizado foi inicializada em 0,54. Utilizou-se a taxa de momentum inicializada em 0,60. O erro mnimo aceitvel para o treinamento foi determinado na casa de 0,04. Atravs destes atributos pode-se classificar, dentre as topologias que foram utilizadas, qual se portou da melhor forma para soluo deste problema. 5 Classificao Dentro do processo de classificao podemos destacar os seguintes atributos: % registros que variaram de 0 0,04 em relao a taxa de erro aceitvel no processo de treinamento; % registros que foram classificados corretamente aps o treinamento da rede.

A Tabela 2 mostra como as diferentes topologias se portaram em relao aos atributos analisados.

Topologia % de erro aceitvel. 19-5-1 83,00 19-6-1 88,67 19-7-1 87,67 19-8-1 89,67 Tabela 2 - % de Registros Aceitveis em Relao a Taxa de Erro De acordo com os atributos classificatrios analisados, pode-se perceber que a topologia que melhor se adaptou em relao ao problema questionado (doentes com hepatite), foi a que utilizou 19 neurnios na camada de entrada, 8 neurnios na camada interna e 1 neurnio na cada de sada. O processo de escolha da topologia est, intimamente, relacionado questo da distribuio dos dados empregados para o treinamento, teste e validao da rede. 6 Concluso A utilizao de RNAs voltada rea de medicina pode ser muito til se considerada uma ferramenta auxiliar para os especialistas inseridos dentro desta rea. Este estudo de caso, analisou as perspectivas de vida de doentes com hepatite utilizando RNAs, mostrando as topologias e os resultados obtidos.

Bibliografia Utilizada
[1] W.S. McCulloch and W. Pitts. A Logical Calculus of the Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics, 5:115-133, 1943. [2] K. Fukushima. Cognitron: A Self-Organising Multilayered Neural Network. Biol. Cybern., 23:121-134, 1975 [3] S. Grossberg. Adaptive Pattern Recognition and Universal Recoding: Parallel Development and Coding of Neural Feature Detectors. Biol. Cybern., 24:121-134, 1976. [4] S. Grossberg. Competitive Learning: From Interactive Activation to Adaptive Resonance. Cognitive Science, 11:23-63, 1987. [5] S. E. Hampson. Connectionistic Problem Solving: Computational Aspects of Biological Learning. Berlin: Birkhauser, 1990. [6] D. O. Hebb. The Organization of Behavior. Wiley, 1949. [7] J. J. Hopfield. Neural Networks and Physical Systems with Emergent Collective Properties. Proc. Nat. Acad. Sci., 79:2554-8, 1982. [8] T. Kohonen. Self-organized Formation of Topologically Correct Feature Maps. Biological Cybernetics, 43, 1982. [9] T. Kohonen. Self-Organization and Associative Memory. Springer-Verlag, Berlim 3 edition, 1989. [10] Y. Le Cun, J.S. Denker S.A. Solla. Optimal Brain Damage. In D.S. Touretzky, editor, Neural Information Processing Systems, volume 2, pages 598-605, Denver 1989, 1990. Morgan Kaufmann, San Mateo. [11] J. M. Mendel and R. W. McLaren. Adaptive, Learning, and Pettern Recognition Systems; Theory and Applications, chapter Reinforcement-learning control and pattern recogniton systems, pages 287-318. New York: Academic Press, 70. [12] M. Minsky and S. Papert. Perceptrons: an Introduction to Computational Geometry. MIT Press, Massachusetts, 1969. [13] M. L. Minsky. Steps Towards Artificial Intelligence. In Proc. of the Institute of Radio Engineers 49, pages 8-32 1961. [14] F. Rosenblatt. The Perceptron: A Probabilistic Model for Information Storange and Organization in the Brain. Psychol. Rev., 65:386-408, 1958. [15] D. E. Rumelhart, G. E. Hinton, and R. J. Williams. Learning Representations by Back-propagation Error. Nature, 323:533-536, 1986. [16] R. S. Sutton. A. G. Barto, and R. J. Willians. Reinforcement Learning is Direct Adaptive Optimal Control. In Proc. of the American Control Coference, pages 2143-2146: 1991.

[17] E. L. Thorndike, Animal Intelligence. Darien, 1911. [18] B. Widrow and M.E. Hoff. Adaptative Switching Circuits. Institute of Radio Enginners. Western Electronic Show and Convention, 1960. [19] K. Sycara. Using Case-Based Reasoning for plan Adaptation and Repair. In Case Based Reasoning Workshop, DARPA, pages 425-434, Morgan Kaufmann, 1988. [20] G. Cybenko. Approximation by Superpositons of a Sigmoid Function. Mathematics of Control, Signals and Systems, 2:303-314, 1989. [21] G. Cybenko. Continuos Valued Neural Network with two Hidden Layers are Sufficient. Technical Report, Departament of Computer Science, Tufts University, 1988. [22] D. Lay. Algebra Linear and its Applications. Addison Wesley, 1997. [23] S. Geman, E. Bienenstock, and R. Doursat. Neural Network and the Bias-variance Dilemma. Neural Computation, 4:1-58, 1992. [24] Russel Reed. Pruning Algorithms A survey. IEEE Transactions on Neural Networks, 4(5):740-746, 1993. [25] M. C. Mozer and P. Smolensky. Skeletonization: A Technique for Trimming the fat from a Network via Rebalance Assessment. In D. S. Touretzky, editor, Advances in Neural Information Processing System 1, pages 107-115. Morgan Kaufmann, 1989 [26] Ehud D. Karnin. A Simple Procedure for Pruning Back-Propagation Trained Neural Networks. IEEE Transactions on Neural Networks, 1:(2):239-242, 1990. [27] Y. Le Cun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard, and L.D. Jackel. Handwritten Digit Recognition with a Back-propagation Network. In D.S. Touretzky, editor, Neural Information Processing Systems, volume 2, pages 396-404, Denver 1989, 1990. Morgan Kaufmann, San Mateo. [28] Geoffrey E. Hinton and Stephen J. Nowlan. How Learning Can Guide Evolution Complex Systems, 1(1):495-502, June 1987. [29] A. N. Tikhonov And V. Y. Arsenin. Solutions of III-Posed Problems. V.H. Winston & Sons, John Wiley & Sons, Washington D.C., 1977. Translation editor Fritz John. [30] D. E. Rumelhart and J. L. McClelland. Parallel Distributed Processing, volume 1: Foundations. The MIT Press, 1986. [31] S. E. Fahlman. An Empirical Study of Learning Speed in Back-propagation Network. Technical Report, Carnegie Mellow University, 1988. [32] M. Riedmiller. Rprop Description and Implementation Details. Techinical Report Universty of Karlsruhe, 1994.

[33] B. Pearlmutter. Gradient Descent: Second Order Momentum and Saturation Erro. In J. E. Moody, S. Hanson, and R. Lippmann, editors, Advances in Neural Information Processing Systems 2, pages 887-894. Morgan Kaufmann, 1992. [34] - R. Barletta. An Introduction to Case-based Reasoning. AI Expert, pages 43-49, 1991. [35] M. Hagan and M. Menhaj. Training Feedforward Network with The Marquardt Algorithm. IEEE Transactions on Neural Networks, 5(6):989-993, November 1994. [36] A. E. Bryson and Y. Ho. Applied Optimal Control. Blaisdell, 1969. [37] P. Werbos. Beyond Regression: News Tools For Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harvard University, 1974. [38] D. Parker Learning Logic: Casting the Cortex of the Human Brain in Silicon Technical Report, Center for Computational Research in Economics and Management Science, MIT, 1985. [39] Y. Le Cun. A learning Procedure for Assymetric Threshold Network. In Proceedings of Cognitiva 85, pages 599-604, 1985. [40] D. Bertsekas. Non Linear Progamming. Athena Scientific, 1995. [41] Lutz Prechelt. Problem 1 A Set of Neural Network Benchmark Problems and Benchmarking Rules. Technical Report, University Karlsruhe Germany, 1994. [42] Nova Enciclopdia Barsa. Encyclopaedia Britnica do Brasil Publicaes Ltda. Rio de Janeiro So Paulo, 1998. Volume 7, pginas 356, 357.

Anda mungkin juga menyukai