Você está na página 1de 15

Professor Jos Gomes de Carvalho Jr.

Modelos Conexionistas - Redes Neurais 1 INTRODUO


Redes Neurais Artificiais ou simplesmente Redes Neurais (tambm conhecidas como modelos conexionistas) tm sido, ao longo dos ltimos anos, uma rea de pesquisa de grande interesse. Redes Neurais podem ser caracterizadas como modelos computationais com habilidades de adaptar, aprender, generalizar, agrupar ou organizar dados, nos quais a operao baseada em processamento paralelo. A origem das pesquisas nesta rea, data da poca em que foi apresentado o modelo computacional de um neurnio biolgico por McCulloch e Pitts, em 1943. Quando Minsky e Papert publicaram o livro Perceptrons em 1969, no qual eles mostraram as deficincias do modelo Perceptron, at ento o nico que possua um algoritmo de treinamento conhecido, a maioria dos estudos em redes neurais foram redirecionados e muitos pesquisadores abandonaram a rea. Uns poucos continuaram o trabalho, notadamente Teuvo Kohonen, Stephen Grossberg, James Anderson, e Kunihiko Fukushima. O interesse pela rea s reemergiu depois que alguns resultados tericos importantes foram atingidos, dentre os quais destaca-se o algoritmo de retro propagao (Back propagation) dos erros em redes Perceptrons de mltipla camadas. Hoje em dia, a maioria das universidades tem um grupo de pesquisas em redes neurais dentro dos departamentos de Psicologia, Fsica, Informtica, Biologia ou Engenharia. Neste tutorial feita uma introduo a Redes Neurais Artificiais (RNA). O ponto de vista desta abordagem computacional. No h preocupao com a implicao psicolgica das redes e s inicialmente so citados modelos biolgicos. Neste tutorial, o captulo 2 discute as propriedades fundamentais. O captulo 3 descreve algumas redes clssicas e suas limitaes. O Captulo 4 continua com a descrio das tentativas para superar estas limitaes e introduz a 1

Professor Jos Gomes de Carvalho Jr.

aprendizagem do algoritmo de retro-propagao. Redes autoorganizadas so discutidas no captulo 5. O captulo 6 discute as redes recorrentes.

2 CONCEITOS BSICOS
As redes neurais possuem arquiteturas baseadas em blocos construtivos semelhantes entre si e que realizam o processamento de forma paralela. Neste captulo ns primeiramente discutiremos estas unidades de processamento e a seguir as redes e suas diferentes topologias. Na ltima seo sero apresentadas algumas estratgias de aprendizado. 2.1- Os fundamentos do modelo conexionista Uma rede neural formada por um conjunto de unidades de processamento simples que se comunicam enviando sinais uma para a outra atravs de conexes ponderadas. O componente elementar desse modelo so as unidades de processamento, tambm chamadas ns, neurnios ou clulas. Essa unidade de processamento um modelo matemtico, que possui uma inspirao no modelo biolgico de um neurnio. 2.1.1 O modelo do neurnio biolgico O crebro humano possui milhes de clulas nervosas (neurnios), que se interligam entre si, formando uma rede disposta em camadas. Nesta redes, so processadas todas as informaes referentes aos seres humanos. A capacidade de pensar, memorizar e resolver problemas tem levado muitos cientistas a tentar modelar a sua operao. Diversos pesquisadores tm buscado criar um modelo computacional que represente a funcionalidade do crebro, de uma maneira simples.
FIG. 1M ICROFOTOGRAFIA DE NEURNIOS HUMANOS

Professor Jos Gomes de Carvalho Jr.

Um destes modelos resultou na Neurocomputao, que tem como objeto de estudo as redes neurais. O neurnio a clula nervosa dos organismos, encontrada no crebro. Seu funcionamento descrito a seguir. Os estmulos entram nos neurnios atravs das sinapses, que conectam os dendritos (ramificaes de entrada) de um neurnio com axnios de outros neurnios ou com o sistema nervoso.
FIG. 2NEURNIO BIOLGICO

As sinapses regulam as quantidades de informaes que passam dos dendritos para o neurnio. Os sinais so ento passados para o somador (corpo celular), que os adiciona e os aplica a um sensor de limiar, que determina o nvel de energia mnima de entrada acima do qual o neurnio dispara uma carga eltrica. Se a soma dos sinais maior que o nvel de limiar, o neurnio envia energia atravs do axnio, de onde a energia transmitida para outras sinapses (se bem que, muitas vezes, os axnios conectam-se diretamente com outros axnios ou corpos celulares); ou tambm pode realimentar a sinapse original. Entretanto, se a soma for menor do que o limiar, nada acontece. As sinapses tm um papel fundamental na memorizao, pois nelas que so armazenadas as informaes. Pode-se imaginar que em cada sinapse a quantidade de neurotransmissores que podem ser liberados para uma mesma freqncia de pulsos do axnio representa a informao armazenada pela sinapse. Em mdia, cada neurnio forma entre mil e dez mil sinapses. O crebro humano possui cerca de 16 bilhes de neurnios, e o nmero de sinapses de mais de 100 trilhes, possibilitando a formao de uma rede muito complexa. 3

Professor Jos Gomes de Carvalho Jr.

2.1.2 O Modelo De Neurnio Artificial Objetivando simular o comportamento deste neurnio biolgico, McCullock e Pitts (1943), propuseram o modelo da figura 3. Neste modelo, cada sinal positivo ou negativo que entra pelo sistema, multiplicado por um nmero, ou peso, que indica a sua influncia na sada. Caso a soma ponderada dos sinais exceda um certo limite, gerada uma resposta na sada.
FIG. 3NEURNIO ARTIFICIAL

onde: - X1, X2, ..., Xp so os sinais de entrada; - W1, W2, ..., Wp so os pesos aplicados aos sinais de entrada; - a funo somadora, tendo como sada a (funo lquida); - f(a) a funo de transferncia (funo de Ativao), que no caso do neurnio de McCullock-Pitts uma funo de limiar; - y a sada. 2.1.3 Funes De Ativao Outros modelos de neurnio, implementam funes de ativao distintas. O papel da funo de ativao determinar a forma e a intensidade de alterao dos valores transmitidos de um neurnio a outro. preciso quantificar a influncia de cada entrada na ativao da unidade. Para isso definimos a funo de ativao fi que, dada uma entrada total ai(t) e a ativao atual, produz um novo valor para a ativao da unidade i. 4

Professor Jos Gomes de Carvalho Jr.

Diferentes tipos de funes de ativao tm sido usados por diferentes autores. A seguir descrevemos algumas. 2.1.4 - Funo de Ativao Limiar A primeira rede com neurnios artificiais utilizava uma funo de Ativao por Limiar (Rosenblatt, 1958). O modelo de neurnio usado por Rosenblatt foi o mesmo proposto por McCulloch e Pitts (1943). Neste modelo, as unidades so ditas binrias, isto , suas sadas assumem normalmente o valor 0 ou 1. Esta unidade responde com uma sada igual a 1 se o valor da entrada lquida for superior a um determinado valor chamado Threshold (que na maioria das vezes zero), caso contrrio, a sada da unidade assume o valor zero (figura 7). 1 se ai(t) 0 y = f i (ai (t )) = 0 se ai(t) < 0
FIG. 4FUNO DE ATIVAO LIMIAR

Algumas vezes os valores 0 e 1 so substitudos por -1 e 1. Uma rede de camada simples utilizando este tipo de unidade denominada Perceptron Simples . 2.1.5 - Funo de Ativao Linear Em 1972, Kohonen definiu um novo modelo de redes neurais conhecido como Mapa Auto-Organizvel de Caractersticas que, ao contrrio do Perceptron, no era limitado a valores binrios. Os valores das entradas, dos pesos e das sadas poderiam ser contnuos. A sada do neurnio neste caso representada (figura 5) por F(a) uma funo linear da forma descrita abaixo: 1 se ai(t) 1/2 y = f i a i t = ai(t) se -1/2 < ai(t) < 1/2 a -1 se ai(t) -1/2

( ( ))

FIG. 5-

FUNO DE ATIVAO LINEAR

Professor Jos Gomes de Carvalho Jr.

As redes que usam este tipo de funo de ativao apresentam apenas uma camada de entrada e uma de sada. Tais redes possuem uma srie de limitaes quanto ao que so capazes de representar (Hertz et al., 1991). No existe nenhuma vantagem de uma rede com mais de duas camadas ou com conexes do tipo "feedback". Em outras palavras, tudo que pode ser aprendido por uma rede de multicamadas (mais de duas) com neurnios usando este tipo de funo de ativao, pode tambm ser aprendido por uma de camadas simples equivalente (Hertz et al., 1991). Na verdade, uma rede multi-camadas que utilize neurnios artificiais com funes de ativao com algum tipo de no linearidade, tem um potencial de aprendizado muito maior que uma rede com unidades lineares (Minsky e Paper, 1969). Com unidades no lineares em uma rede com pelo menos uma camada escondida possvel representar algumas associaes que no so possveis de representar com uma rede linear ou uma camada simples que utilize a mesma funo de ativao. Entretanto, Minsky e Paper (1969) mostraram que no existe um algoritmo que assegure o treinamento desse tipo de rede multi-camadas. 2.1.6 - Funes de Ativao Semi-Lineares Uma das respostas falta de um algoritmo de treinamento, para o tipo de rede discutido anteriormente, a utilizao de redes com unidades semi-lineares ( Hertz et al., 1991 ). As funes de ativao mais F(a) usadas por este tipo de unidades so a funo logstica (Figura 6) e a tangente hiperblica. A popularidade destas funes est ligada ao fato de suas a derivadas poderem ser expressas em funo das prprias funes.
FIG. 6FUNO DE ATIVAO LOGSTICA

Professor Jos Gomes de Carvalho Jr.

Esta caracterstica agiliza a implementao em computadores de modelos baseados nas mesmas. Estas funes podem ser expressas pelas equaes abaixo, onde a representa a entrada lquida da unidade. 1 f(a) = g(a) = tanh (a ) 1 + e(-2 a) As equaes abaixo representam as primeiras derivadas das mesmas
f (a) = 2 f(1 - f)

g(a)= (1 - g 2 )

2.2- Os modelos de Redes Neurais Artificiais - RNAs Uma rede de computao neural um modelo matemtico que consiste na conexo de vrias unidades simples, anlogas aos neurnios humanos, denominados elementos de processamento. Estes elementos so organizados em camadas, onde cada elemento tem conexes ponderadas com outros elementos, sendo que estas conexes podem tomar diferentes configuraes, dependo da aplicao desejada. A rede neural , geralmente, constituda de uma camada de entrada, que recebe os estmulos, e de uma camada de sada, que produz a resposta. Algumas redes podem ter uma ou mais camadas internas (tambm chamadas ocultas ou escondidas). A capacidade computacional de uma rede neural est nas conexes entre os elementos processadores. Nos pesos que ponderam cada conexo so armazenadas as informaes que a rede aprendeu.
FIG. 7REDE NEURAL ARTIFICIAL

Professor Jos Gomes de Carvalho Jr.

Da combinao entre elementos de processamento e conexes surgem as diferentes topologias de Redes Neurais Artificiais. Pode-se fazer uma analogia com um grafo onde os nodos so os elementos de processamento e as arestas so as conexes. A figura 7 mostra um exemplo de RNA. 2.3-Topologias Em uma RNA os neurnios podem estar agrupados por camadas direcionadas ou no, com ligaes em um sentido (para frente) ou em ambos (para frente e para trs). As redes com ligaes somente para a frente, tambm chamadas de diretas ou Feed-forward, se dividem em redes monocamada e multicamadas. As redes com ligaes em mais de um sentido, tambm chamadas de redes com ciclos, se dividem em redes recorrentes e redes competitivas. 2.3.1 Redes diretas (feed-forward ) So aquelas cujo grafo no apresentam ciclos. Seu aspecto geral o da figura 8(a). Freqentemente, possvel representar estas redes em camadas; neste caso, so chamadas redes multicamadas. No caso de serem organizadas por camadas, um neurnio de uma camada s pode se conectar a um neurnio da camada seguinte, como na figura 8(b). No caso mais simples as redes em camadas possuem uma s camada, como na figura 8(c).

(a)
FIG. 8-

(b)
REDES DIRETAS

(c) 8

Professor Jos Gomes de Carvalho Jr.

No caso de possurem mais de uma camada possuem o aspecto da figura 6b. Neste caso, os neurnios que recebem sinais de excitao pertencem camada de entrada. Neurnios que tm sua sada como sada da rede pertencem camada de sada. Neurnios que no pertencem a nenhuma destas camadas so internos rede e pertencem a uma ou mais camadas internas. 2.3.2 Redes com ciclos Redes com ciclos so aquelas cujo grafo de conectividade contm ao menos um ciclo e cujos neurnios apresentam a possibilidade de realimentarem outros neurnios. Quando, alm disto, envolvem neurnios dinmicos, so chamadas de recorrentes (figura 9a). Quando neurnios competem entre si, de forma que s as sadas de alguns so consideradas, so chamadas de redes competitivas (figura 9b).

(a)
FIG. 9-

(b)
REDES COM CICLOS

2.4-Treinamento e Generalizao Os sistemas de computao neural so dinmicos e autoadaptativos. Eles so auto-adaptveis porque os elementos de 9

Professor Jos Gomes de Carvalho Jr.

processamento tm capacidade de auto-ajuste. So tambm capazes de utilizar a experincia para modificar as respostas em certas situaes. So dinmicos porque podem estar mudando constantemente para adaptar-se a novas condies, de forma a responder satisfatoriamente a novas entradas. Trs processos compreendem a adaptabilidade dos sistemas neurais: o aprendizado; o treinamento; e, a generalizao. 2.4.1 Aprendizado Aprendizado auto-adaptao ao nvel de elemento de processamento. No processo de aprendizado, as conexes ponderadas so ajustadas para encontrar resultados especficos. Atravs de um processo, que chamamos treinamento e que discutiremos a seguir, o sistema se adapta, ajustando as conexes ponderadas entre os elementos de processamento. Regras de aprendizagem so esquemas de atualizao dos valores do pesos das sinapses de uma rede neural, de forma a obter da rede um padro de processamento desejado. O processo de aprendizado pode ser feito basicamente de duas maneiras: aprendizado supervisionado ou no-supervisionado. No aprendizado supervisionado, os exemplos das entradas e suas respectivas sadas ( conjunto de padres ) so usados no treinamento da rede neural. Geralmente, este mtodo se baseia na minimizao do erro entre o valor desejado de sada das unidades da camada de sada e o valor computado pela rede para as mesmas. Baseado nessa diferena os pesos da rede so ajustados a cada apresentao de padro, de forma a minimizar o erro na sada para o conjunto de padres. O processo repetido diversas vezes at que que os padres tenham incorporado o conhecimento sobre o funcionamento dos padres. No aprendizado no supervisionado, apenas os exemplos de entradas so mostrados no treinamento da rede neural. As unidades respondem a caractersticas "interessantes" das entradas apresentadas no processo de treinamento. Este tipo 10

Professor Jos Gomes de Carvalho Jr.

de treinamento est intimamente ligado com a topologia de conexo competitiva. 2.4.2 Treinamento Treinamento o modo pelo qual o sistema computacional neural aprende a respeito da informao que ele precisar, a fim de resolver certos problemas. O treinamento envolve a exposio do sistema a um conjunto especfico de informao para encontrar um estado de auto-organizao particular. Hebb (1949) introduziu a idia de que deu base ao desenvolvimento de redes neurais artificiais. Sua idia bsica consiste no fato de que, se um neurnio biolgico recebe uma entrada de outro neurnio e ambos se encontram altamente ativados, ento, a ligao entre eles reforada. Aplicando-se esta observao ao esquema de redes neurais artificiais poderamos dizer que se uma unidade i recebe uma entrada de outra unidade k altamente ativada, ento, a importncia desta conexo deve ser aumentada, isto , o valor do peso entre as unidades deve ser acrescido. A maneira mais simples de se representar matematicamente esta relao representada pela equao (1), onde Oi a sada da unidade i e Ok a sada da unidade k e wik a alterao a ser feita no peso wik que liga a unidade k a unidade i. (2.1) Entretanto, se as duas unidades tiverem sadas negativas, isto tambm causar o aumento do peso entre elas e esta reao no combina com o fato fisiolgico, observado por Hebb. A equao (2.1) foi estendida e modificada e pode ser descrita pela equao (2.2), conhecida como regra de Hebb generalizada. (2.2) A equao (2.1) pode ser vista como um caso particular da equao (2.2), onde as funes g e h simplesmente dependem do primeiro argumento e o parmetro igual a um. O parmetro denominado taxa de aprendizagem e Di a 11

wik = Oi O k

wik = g( Oi , Di ) h( O k , wik )

Professor Jos Gomes de Carvalho Jr.

sada desejada na unidade i. Algumas variaes desta regra geral foram implementadas, tais como, a regra de Perceptron (Rosenblatt,1958). Uma regra de aprendizado importante, que pode ser vista como uma variante da equao (2.2) chamada processo de correo do erro. Neste treinamento supervisionado, o algoritmo de aprendizado consiste em alterar o valor do peso entre unidades numa forma proporcional diferena entre as sadas desejada e computada pela rede. Esta idia, s pode ser aplicada diretamente a uma rede de camada simples, j que no caso de existirem camadas escondidas, o valor desejado no conhecido. Em sua forma mais simples, esta relao matematicamente descrita pela equao (2.3). (2.3) Esta regra pode ser vista como uma variao particular da regra generalizada de Hebb (equao (2.2)). Neste caso, a funo g expressa como a diferena entre o valor desejado e o valor computado pela rede, enquanto a funo h definida como sendo igual ao valor de entrada (independente do valor do peso). A equao (2.3) pode ser generalizada, a fim de poder ser aplicada a redes de multicamadas. Esta generalizao chama-se regra de retropropagao (Backpropagation). Diversos outros autores desenvolveram outras regras de treinamento, como por exemplo, a Estocstica e a Competitiva. 2.4.3 Generalizao Um dos principais problemas do treinamento a capacidade de generalizao, isto , a capacidade da rede de responder adequadamente a padres que no fizeram parte do conjunto de treinamento. Alm da habilidade de aprendizado, os sistemas computacionais neurais so tambm capazes de generalizar um pedao especfico ou limitado de entrada para produzir uma soluo de sada. Ao fornecer-se uma entrada que nunca foi apresentada anteriormente, o sistema deve ser 12

wik = ( Di - Oi ) O k

Professor Jos Gomes de Carvalho Jr.

capaz de generalizar esta entrada para fornecer uma resposta. Este conceito muito importante, porque permite que o sistema fornea solues, mesmo quando as informaes de entrada so incompletas ou imprecisas. A topologia, tamanho da rede e forma de executar o treinamento da rede so bastante determinantes da capacidade de generalizao. A rede generaliza bem quando a relao entrada-sada aprendida no treinamento representativa do problema. Uma rede super-treinada tende a aprender rudo junto com a entrada. A regularidade do mapeamento est associada a uma boa generalizao. Ao adicionarmos complexidade ao modelo, por exemplo utilizando um modelo de quinta ordem ao invs de um modelo de terceira ordem, estamos aumentando a possibilidade e obter uma generalizao pobre. Por ser demasiadamente complexo o modelo capta excessivos detalhes dos dados de treinamento em detrimento de propriedades mais gerais. No caso das redes neurais os parmetros a serem estimados so os pesos e polarizadores e portanto, quanto mais camadas e neurnios nas camadas ocultas tivermos, mais complexo ser o modelo. Quanto menor a quantidade de dados mais simples deve ser o modelo. w Em geral, haver generalizao se: N> onde: (2.4) W o nmero de pesos da rede. o erro admitido na fase de teste. N o nmero de exemplos de treinamento. Por exemplo, se o erro admitido de 10%, o nmero de exemplos deve ser maior que 10 x W. Para evitar que o treinamento se especialize nos dados para os quais est sendo treinado, utiliza-se um conjunto de dados de validao, que no contribui para o treinamento. Este conjunto usado para medir a capacidade de generalizao. Os dados deste conjunto, que tipicamente possui 20% ou 30% do tamanho do conjunto de dados de treinamento, so usados 13

Professor Jos Gomes de Carvalho Jr.

para validar, a um intervalo de pocas de treinamento, a rede obtida at quela iterao. Isto feito, comparando-se os erros em uma determinada iterao (poca de treinamento) do conjunto de treinamento e do conjunto de validao. Os pesos das ligaes so modificados durante o treinamento de forma a minimizar o erro para os padres apresentados. Se a quantidade de padres apresentados suficientemente representativa da funo, a tendncia durante o treinamento que o erro, tanto do conjunto de padres de treinamento quanto do conjunto de padres de validao, v diminuindo medida que a rede v generalizando o aprendizado, como pode ser visto na figura 10.
Conj. Treinamento. 100 80 Erro 60 40 20 0 Tempo de treinamento Conj. Validao

FIG. 10-

COMPORTAMENTO TPICO DO TREINAMENTO

Entretanto, aps um certo tempo o erro do conjunto de validao atinge um mnimo e comea a crescer, enquanto que o erro do conjunto de treinamento continua a cair, indicando uma tendncia da rede de incorporar informaes que so especficas do conjunto de treinamento, tal como, por exemplo, os erros de medidas daquele conjunto. Uma soluo parar o treinamento quando a tendncia de erro do conjunto de validao comea a divergir da tendncia do conjunto de treinamento. Dessa forma, o conjunto de treinamento usado para modificar os pesos enquanto que o conjunto de validao usado para estimar a capacidade de generalizao. Uma outra abordagem para evitar o excesso de treinamento limitar a capacidade da rede de absorver as correlaes 14

Professor Jos Gomes de Carvalho Jr.

esprias entre os dados de entrada. Isto acontece basicamente quando a rede possui mais graus de liberdade (que so proporcionais ao nmero de ligaes) do que o nmero de padres de treinamento. Assim, o problema da generalizao est diretamente ligado ao problema do dimensionamento da rede. Ou seja, basicamente a idia conseguir a menor rede que acomode as informaes contidas no conjunto de dados de treinamento. O problema justamente estimar qual esse tamanho mnimo que permite que a rede ainda aprenda sem incorporar os dados esprios do conjunto de treinamento. A abordagem simples, embora bastante ineficiente, simplesmente executar vrias redes de diversos tamanhos e verificar qual a rede mnima que consegue aprender os padres de entrada. Mesmo que seja possvel determinar a menor rede por este processo, ainda se fica muito susceptvel aos parmetros de treinamento, de forma que pode ser muito difcil determinar se a rede muito pequena para aprender os padres, se ela simplesmente aprende lentamente ou se devido a valores de iniciao ou parmetros de treinamento mal escolhidos ela caiu em algum mnimo local. A abordagem escolhida por vrios autores e que trataremos a mais frente, parte do princpio comum de iniciar o treinamento com uma rede maior do que o necessrio e ir podando (removendo) partes da rede que no sejam necessrias. Como inicialmente a rede grande, possui graus de liberdade suficientes para acomodar rapidamente as caractersticas gerais dos dados de entrada de uma forma pouco sensvel s condies iniciais e aos mnimos locais. Aps a acomodao inicial ento a rede pode ser podada de forma a eliminar caractersticas especficas do conjunto de treinamento, favorecendo portanto os critrios desejveis de generalidade.

15