1. Base Biolgica
Como o crebro processa informaes? Como ele organizado? Quais so os mecanismos envolvidos no funcionamento cerebral? Estas so apenas algumas das perguntas mais desafiadoras para a cincia. O crebro especialista em desempenhar funes como reconhecimento de padres, controle motor, percepo, inferncia, intuio, adivinhaes, etc. Entretando, o crebro tambm preconceituoso, lento, impreciso, realiza generalizaes incorretas e, acima de tudo, geralmente incapaz de explicar suas prprias aes (embora este seja um requisito cultural e no funcional). Os neurnios so considerados como as unidades bsicas de processamento do crebro. De modo anlogo, modelos simplificados dos neurnios biolgicos constituem as unidades bsicas de processamento das redes neurais artificiais (RNAs).
Os neurnios biolgicos esto conectados uns aos outros atravs de conexes sinpticas. Acredita-se que a capacidade das sinapses serem moduladas a principal base para todos os processos cognitivos, como percepo, raciocnio e memria. Sendo assim, algumas informaes essenciais sobre neurnios, sinapses e organizao estrutural so importantes para o projeto de RNAs. 1.1. O Sistema Nervoso Todos os organismos multicelulares possuem algum tipo de sistema nervoso, cuja complexidade e organizao varia de acordo com o tipo de animal. Mesmo os vermes, lesmas e insetos so capazes de adaptar seu comportamento e armazenar informaes em seus sistemas nervosos. O sistema nervoso responsvel por dotar o organismo, atravs de entradas sensoriais, de informaes sobre o estado do ambiente no qual ele vive e se move.
A informao de entrada processada, comparada com as experincias passadas, e transformada em aes apropriadas ou absorvidas sob a forma de conhecimento. O sistema nervoso pode ser organizado em diferentes nveis: molculas, sinapses, neurnios, camadas, mapas e sistemas.
h
N e tw o rk o f n e u ro n s
N e u ro n B ra in
S yn a p se
O processo de transmisso de sinais entre neurnios central para a capacidade de processamento de informao do crebro. Uma das descobertas mais empolgantes em neurocincia foi a de que a efetividade da transmisso de sinais pode ser modulada, permitindo o crebro se adaptar a diferentes situaes. A plasticidade sinptica, ou seja, a capacidade das sinapses sofrerem modificaes, o ingrediente chave para o aprendizado da maioria das RNAs. Os neurnios podem receber e enviar sinais a vrios outros neurnios. Os neurnios que enviam sinais, chamados de neurnios pr-sinpticos ou enviadores, fazem contato com os neurnios receptoress ou ps-sinpticos em regies especializadas denominadas de sinapses. A sinapse portanto, a juno entre o axnio de um neurnio pr-sinptico e o dendrito ou corpo celular de um neurnio ps-sinptico (ver figura).
A capacidade de processamento de informao das sinapses permite que elas alterem o estado de um neurnio ps-sinptico, eventualmente gerando um pulso eltrico, denominado potencial de ao, no neurnio ps-sinptico. A ativao de um neurnio ocorre apenas quando seu potencial de membrana maior do que um dado limiar (threshold).
Portanto, um neurnio pode ser visto como um dispositivo capaz de receber estmulos (de entrada) de diversos outros neurnios e propagar sua nica sada, funo dos estmulos recebidos e do estado interno, a vrios outros neurnios. Os neurnios podem ter conexes de sentido positivo (feedforward) e/ou de sentido negativo (feedback) com outros neurnios, ou seja, as conexes podem ter um nico sentido ou serem recprocas. Diversos neurnios interconectados geram uma estrutura em rede conhecida como rede neural. Um agrupamento de neurnios interconectados pode exibir comportamentos complexos e uma capacidade de processamento de informao que no pode ser predita tomando-se cada neurnio individualmente. Uma caracterstica marcante das redes neurais a representao distribuda de informao e seu processamento paralelo.
Muitas reas do crebro apresentam uma organizao laminar de neurnios. Lminas so camadas de neurnios em contato com outras camadas. Um dos arranjos mais comuns de neurnios uma estrutura bi-dimensional em camadas organizada atravs de um arranjo topogrfico das respostas de sada. O exemplo mais conhecido deste tipo de estrutura o crtex humano. O crtex corresponde superfcie externa do crebro; uma estrutura bidimensional com vrios dobramentos, fissuras e elevaes. Diferentes partes do crtex possuem diferentes funes (ver figura). Em geral os neurnios do crtex esto organizados em camadas distintas, que so sub-divididas em camada de entrada, camadas intermedirias ou escondidas e camada de sada.
A camada de entrada recebe os sinais sensoriais ou de entrada, a camada de sada envia sinais para outras partes do crebro e as camadas intermedirias recebem (enviam) sinais de (para) outras camadas do crtex. Isso significa que as camadas intermedirias nem recebem entradas diretamente e nem produzem uma sada do tipo motora, por exemplo. Um princpio organizacional importante em vrios sistemas sensoriais e motores o mapa topogrfico. o Por exemplo, neurnios em reas visuais do crtex esto arranjados topograficamente, no sentido de que neurnios adjacentes possuem campos de recepo visual adjacentes e, coletivamente, eles constituem um mapa da retina. o Obs: Como neurnios vizinhos ocupam-se de representaes similares, mapas topogrficos constituem uma forma parcimoniosa de organizao do crebro (h economia de conexes, por exemplo).
10
A organizao estrutural em redes, mapas topogrficos e camadas so todos casos especiais de um princpio mais geral: a explorao das propriedades estruturais e espao-temporais para o processamento e armazenagem de informao.
Tpico 5: Redes Neurais Artificiais
11
1.2. Base Biolgica e Fsica da Aprendizagem e Memria O sistema nervoso est continuamente sofrendo modificaes e atualizaes. Virtualmente todas as suas funes, incluindo percepo, controle motor, regulao trmica e raciocnio, so modificadas por estmulos. Observaes comportamentais permitiram verificar graus de plasticidade do sistema nervoso: existem mudanas rpidas e fceis, mudanas lentas e profundas, e mudanas mais permanentes (porm ainda modificveis). Em geral, a aprendizagem global resultado de alteraes locais nos neurnios. Existem diversas formas de modificaes possveis em um neurnio: o Dendritos podem nascer, assim como tambm podem ser removidos o Alguns dendritos podem se esticar ou ser encolhidos permitindo ou eliminando, respectivamente, a conexo com outras clulas o Novas sinapses podem ser criadas ou sofrerem alteraes o Sinapses tambm podem ser removidas o Todo neurnio pode morrer e tambm se regenerar.
12
Toda esta vasta gama de adaptao estrutural pode ser convenientemente condensada simplesmente referindo-se s sinapses, pois estas modificaes envolvem a modificao sinptica de forma direta ou indireta. Sendo assim, a aprendizagem via modulao sinptica o mecanismo mais importante para as redes neurais, sejam elas biolgicas ou artificiais. A modulao sinptica poder depender de mecanismos de adaptao de neurnios individuais e de redes neurais como um todo.
13
unidades, dentro de um raio de vizinhana, e possivelmente pelas entradas externas. Uma rede neural artificial um circuito composto por uma grande quantidade de unidades simples de processamento inspiradas no sistema neural (Nigrin, 1993). Uma RNA um sistema massivamente paralelo e distribudo, composto por unidades de processamento simples que possuem uma capacidade natural de armazenar e utilizar conhecimento. (Haykin, 1999) As RNAs apresentam diversas caractersticas em comum com o sistema nervoso: o O processamento bsico de informao ocorre em diversas unidades simples denominadas de neurnios artificiais ou simplesmente neurnios (ou ns); o Os neurnios esto interconectados gerando redes de neurnios, ou redes neurais; o A informao (sinais) transmitida entre neurnios atravs de conexes ou sinapses;
Tpico 5: Redes Neurais Artificiais
14
o A eficincia de uma sinapse, representada por um peso associado, corresponde informao armazenada pelo neurnio e, portanto, pela rede neural; e o O conhecimento adquirido do ambiente atravs de um processo de aprendizagem que , basicamente, responsvel por adaptar os pesos das conexes aos estmulos recebidos do ambiente. Uma caracterstica importante das RNAs o local onde o conhecimento est armazenado. Nos casos mais simples, este conhecimento armazenado nos pesos das conexes entre neurnios. Esta caracterstica tem grandes implicaes para a capacidade de processamento e aprendizagem da rede. A representao de conhecimento feita de forma que o conhecimento necessariamente influencie a forma de processamento da rede, ou seja, o seu comportamento de entrada-sada.
15
Se o conhecimento est armazenado nos pesos das conexes, ento o processo de aprendizagem corresponde a identificar um conjunto apropriado de pesos de forma que a rede se comporte como desejado. Esta caracterstica possui duas implicaes importantes para as RNAs: a possibilidade de desenvolvimento de tcnicas de aprendizagem, e a representao distribuda de conhecimento. Existem tipos de redes neurais cujo treinamento (ou projeto) mais complicado do que a simples determinao de conjuntos apropriados de pesos sinpticos. Uma rede neural artificial pode ser projetada atravs de: 1. Uma definio ou escolha de um conjunto de neurnios artificiais; 2. A definio ou escolha de um padro de conectividade entre os neurnios, ou seja, de uma arquitetura para a rede; e 3. A definio de um mtodo de determinao dos parmetros livres da rede, denominado de algoritmo de aprendizagem ou treinamento.
Tpico 5: Redes Neurais Artificiais
16
Embora seja possvel projetar uma rede neural a partir da definio do papel (computao global) que ela deve desempenhar, combinando-se os efeitos individuais de todos os neurnios, uma rede neural usualmente se adapta para atingir a funcionalidade desejada a partir de uma ou mais estratgias de aprendizado, as quais vo atuar junto a parmetros configurveis da rede neural. fundamental, portanto, que a rede neural possua meios de interagir com o ambiente. Cada rede neural artificial representa uma arquitetura de processamento especfica, havendo uma famlia de arquiteturas, cada qual adequada para funcionalidades especficas. A diversidade de arquiteturas tem aumentado muito, sendo que as ltimas geraes de redes neurais j no podem ser caracterizadas por apresentarem um grande nmero de unidades e conexes, com funes de transferncia simples e idnticas para todas as unidades.
Tpico 5: Redes Neurais Artificiais
17
2.1. O Neurnio Genrico em RNAs No neurnio biolgico, os sinais de entrada chegam atravs de canais localizados nas sinapses, permitindo a entrada e sada de ons. Um potencial de membrana aparece como resultado da integrao dos sinais de entrada, que iro determinar se o neurnio ir produzir um sinal de sada (spike, pulso, ou potencial de ao) ou no. O potencial de ao resulta na liberao de neurotransmissores na sinapse sempre que o potencial de membrana for superior a um determinado limiar (threshold). O efeito lquido de todos estes processos biolgicos que ocorrem nas sinapses representado por um peso associado. O elemento computacional bsico empregado na maioria das RNAs um integrador. Trata-se de um elemento processador de informaes que fundamental para a operao das RNAs. As principais partes do neurnio artificial genrico so:
Tpico 5: Redes Neurais Artificiais
18
o as sinapses, caracterizadas pelos seus pesos associados; o a juno somadora; e o a funo de ativao.
Pesos das conexes
x1
Entradas
bk Limiar(bias)
Funo de ativao
wk1 wk2 uk
f(uk) Sada Juno somadora
x2
wkm
yk
xm
Nesta representao, o primeiro subscrito k do peso sinptico wkj corresponde ao neurnio ps-sinptico, e o segundo subscrito corresponde sinapse ligada a ele.
19
A juno somadora soma todos os sinais de entrada ponderados pelos pesos das conexes. Assumindo os vetores de entrada e de pesos como sendo vetores coluna, esta operao corresponde ao produto interno do vetor de entradas x pelo vetor de pesos wk, mais o limiar bk. Genericamente, trata-se de uma combinao linear das entradas pelos pesos associados, mais o limiar bk. A funo de ativao geralmente utilizada com dois propsitos: limitar a sada do neurnio e introduzir no-linearidade no modelo. O limiar bk tem o papel de aumentar ou diminuir a influncia do valor da entrada lquida para a ativao do neurnio k. Matematicamente, a sada do neurnio k pode ser descrita por:
m m = = ( ) y f u f w x + y k = f (u k ) = f w x b k k k ou kj j , kj j = 0 j 1 j =
onde x0 um sinal de entrada de valor 1 e peso associado wk0 = bk:
20
a)
b)
21
1 e pu k y = f (u k ) = pu = e k + 1 1 + e pu k
235 ! "$# %
a)
p=3 p=1.5 p=0.8
y = pu k (1 u k ) > 0 u k
22
e pu k e pu k y = f (u k ) = tanh( pu k ) = pu e k + e pu k
p=2.2
y = p( 1 u 2 k )> 0 u k
p=2.2
p=1 p=0.6
p=1 p=0.6
a)
b)
Funo tangente hiperblica (a) e sua derivada em relao entrada interna (b)
23
2.2. Arquiteturas de Rede Muito pouco sabido sobre os padres de conexo entre os neurnios biolgicos. Entretanto, a maioria das RNAs utilizam arquiteturas padronizadas, projetadas especialmente para resolver algumas classes de problemas. O processo de conexo entre neurnios artificiais leva gerao de sinapses e construo de redes neurais artificiais.
yj 1 w i0
w ui xij w ij g yi
w
Tpico 5: Redes Neurais Artificiais
24
Existem basicamente trs camadas em uma rede neural artificial: uma camada de entrada, uma camada intermediria, e uma camada de sada. Entretanto, nem todas as RNAs possuem camadas intermedirias. A forma pela qual os neurnios esto interconectados est intimamente relacionada ao algoritmo a ser utilizado no seu treinamento. Existem, basicamente, trs tipos principais de arquitetura em RNAs: redes feedforward de uma nica camada, redes feedforward de mltiplas camadas, e redes recorrentes. Rede Feedforward com Uma nica Camada Este caso mais simples de rede em camadas consiste em uma camada de entrada e uma camada de sada. Geralmente os neurnios de entrada so lineares, ou seja, eles simplesmente propagam o sinal de entrada para a prxima camada. So tambm denominados de neurnios sensoriais.
Tpico 5: Redes Neurais Artificiais
25
x0
w10 w21 . .
y1 y2 y3 yo
Camada de sada
Neurnio sensorial
x1 x2
Neurnio de processamento
. .
xm
wom
Camada de entrada
Esta rede denominada feedforward porque a propagao do sinal ocorre apenas da entrada para a sada, ou seja, apenas no sentido positivo. w10 W= wo 0 w11 w1m wo1 wom 26
yi = f(wi.x) = f(j wij.xj) , j = 1,,m. Note que a primeira coluna de W corresponde ao vetor de bias. Em forma matricial: y = f(W.x), onde W om, wi 1m, i = 1,,o, x m1, e y o1. Rede Feedforward de Mltiplas Camadas As redes de mltiplas camadas possuem uma ou mais camadas intermedirias ou escondidas. Adicionando-se camadas intermedirias no-lineares possvel aumentar a capacidade de processamento de uma rede feedforward. A sada de cada camada intermediria utilizada como entrada para a prxima camada. Em geral o algoritmo de treinamento para este tipo de rede envolve a retropropagao do erro entre a sada da rede e uma sada desejada conhecida.
27
+1 x1 x2 x3
+1
+1
y1 y2
xm
Input layer First hidden layer Second hidden layer Output layer
Seja Wk a matriz de pesos da camada k, contadas da esquerda para a direita. wij corresponde ao peso ligando o neurnio ps-sinptico i ao neurnio prsinptico j na camada k. Em notao matricial, a sada da rede dada por:
Tpico 5: Redes Neurais Artificiais
k
yo
28
y = f3(W3 f2(W2 f1(W1x + b1) + b2) + b3) Note que fk, k = 1,..., M (M = nmero de camadas da rede) uma matriz quadrada fk ll, onde l o nmero de neurnios na camada k. O que acontece se as funes de ativao das unidades intermedirias forem lineares? Redes Recorrentes O terceiro principal tipo de arquitetura de RNAs so as denominadas de redes recorrentes, pois elas possuem, pelo menos, um lao realimentando a sada de neurnios para outros neurnios da rede.
29
Z1
Z1
Z1
30
2.3. Paradigmas de Aprendizagem A capacidade de aprender associada a uma rede neural uma das mais importantes qualidades destas estruturas. Trata-se da habilidade de adaptar-se, de acordo com regras pr-existentes, ao seu ambiente, alterando seu desempenho ao longo do tempo. Sendo assim, considera-se aprendizado o processo que adapta o comportamento e conduz a uma melhoria de desempenho. No contexto de redes neurais artificiais, aprendizagem ou treinamento corresponde ao processo de ajuste dos parmetros livres da rede atravs de um mecanismo de apresentao de estmulos ambientais, conhecidos como padres (ou dados) de entrada ou de treinamento: estmulo adaptao novo comportamento da rede
31
Nas RNAs mais simples e tradicionais, os parmetros livres da rede correspondem apenas aos pesos sinpticos. Toda a estrutura da rede, incluindo os tipos de neurnios e suas funes de ativao, pr-definida. O objetivo do aprendizado em redes neurais a obteno de um modelo implcito do sistema em estudo, por ajuste dos parmetros da rede. Dada uma rede neural artificial, seja w(t) um peso sinptico de um dado neurnio, no instante de tempo t. O ajuste w(t) aplicado ao peso sinptico w(t) no instante t, gerando o valor corrigido w(t+1), na forma: w(t+1) = w(t) + w(t) A obteno de w(t) pode ser feita de diversas formas. O tipo de aprendizado determinado pela tcnica empregada no processo de ajuste dos pesos sinpticos (parmetros da rede neural).
32
Um conjunto bem definido de regras para obt-los denominado um algoritmo de aprendizagem ou treinamento. Exemplos de alguns algoritmos: regra de Hebb, algoritmo de backpropagation, estratgias de competio, mquina de Boltzmann. A maneira pela qual o ambiente influencia a rede em seu aprendizado define o paradigma de aprendizagem. Exemplos de paradigmas: aprendizado supervisionado, aprendizado por reforo e aprendizado no-supervisionado (ou auto-organizado). Existem basicamente trs paradigmas de aprendizado: aprendizado
supervisionado, aprendizado no-supervisionado e aprendizado por reforo. Aprendizagem Supervisionada Este curso vai se ocupar com o desenvolvimento de tcnicas para aprendizado supervisionado e no-supervisionado em redes neurais artificiais. Pelo fato de serem mais intuitivas, tcnicas de aprendizado supervisionado sero abordadas primeiro.
Tpico 5: Redes Neurais Artificiais
33
Idia intuitiva: controle de processos (ex. pouso e decolagem de avies) Exemplos de problemas de engenharia que podem ser apresentados na forma de um problema de aprendizado supervisionado:
identificao de sistemas
controle de processos
Formalizao do processo de aprendizado supervisionado Seja dj(t) a resposta desejada para o neurnio j no instante t e yj(t) a resposta observada do neurnio j no instante t, obtida atravs de um estmulo x(t) presente na entrada da rede neural.
34
x(t) e dj(t) constituem um EXEMPLO de par estmulo-resposta apresentado ao neurnio no instante t, possivelmente extrados de um ambiente ruidoso, cujas distribuies de probabilidade so desconhecidas. ej(t) = dj(t) yj(t) o sinal de erro observado na sada do neurnio j no instante t. Observe que, em ambiente ruidoso, ej(t) uma varivel aleatria. O processo de aprendizado supervisionado tem por objetivo corrigir este erro observado (em todos os neurnios), e para tanto busca minimizar um critrio (funo objetivo) baseado em ej(t), j=1,2, , o, onde o o nmero de neurnios da rede neural, de maneira que, para t suficientemente alto, yj(t), j=1,2, , o, estejam prximos de dj(t), j=1,2, , o, no sentido estatstico.
35
x(t)
Output neuron j
yj(t)
ej(t)
dj(t) +
36
1 o 2 = ( ) J J k e j (k ) . mdio: o j =1
Nesta fase do curso, vamos considerar que a minimizao de J(t) realizada apenas em relao aos pesos sinpticos da rede neural. Mais adiante, sero apresentados procedimentos para ajuste das funes de ativao dos neurnios e da arquitetura da rede neural. Aprendizagem No-Supervisionada No paradigma no-supervisionado ou auto-organizado no existe nenhum supervisor para avaliar o desempenho da rede em relao aos dados de entrada. Nenhuma medida de erro utilizada para realimentar a rede. Os dados so ditos no-rotulados, no sentido de que as classes s quais eles pertencem ou as sadas desejadas da rede so desconhecidas.
Tpico 5: Redes Neurais Artificiais
37
A rede se adapta a regularidades estatsticas nos dados de entrada, desenvolvendo uma capacidade de criar representaes internas que codificam as caractersticas dos dados de entrada, tornando-se portanto capaz de identificar a quais classes novos padres pertencem.
Input patterns Environment Neural Network
Geralmente as redes auto-organizadas empregam um algoritmo competitivo de aprendizagem. Na aprendizagem competitiva, os neurnios de sada da rede competem entre si para se tornarem ativos, com um nico neurnio sendo o vencedor da competio.
38
Esta propriedade que faz com que o algoritmo seja capaz de descobrir regularidades estatsticas no conjunto de dados. Neurnios individuais aprendem a se especializar a conjuntos (grupos ou clusters) de padres similares. Eles se tornam detectores ou extratores de caractersticas para diferentes classes dos dados de entrada. Idia intuitiva: agrupamento de dados (ex. bales coloridos) Formalizao do processo de aprendizado competitivo Para que um neurnio i seja o vencedor, a distncia entre este o vetor de pesos wi deste neurnio e um determinado padro de entrada x deve ser a menor dentre todos os outros neurnios da rede, dada uma mtrica de distncia |||| (geralmente utiliza-se a distncia Euclidiana). A idia encontrar o neurnio cujo vetor de pesos seja o mais parecido ao padro de entrada, ou seja: i = arg mini ||x wi||, i.
Tpico 5: Redes Neurais Artificiais
39
Se um neurnio no responde a um padro de entrada, ou seja, no o vencedor, ento nenhuma adaptao sofrida por este neurnio. Entretanto, o neurnio i que ganhou a competio sofre um ajuste wi no seu vetor de pesos na direo do vetor de entrada:
40
Na aprendizagem por reforo existe um objetivo a ser alcanado. Durante o processo de aprendizagem, a rede tenta algumas aes (sadas) e recebe um sinal de reforo (estmulo) do ambiente que permite avaliar a qualidade de sua ao. O sistema em aprendizagem seletivamente retm as aes que levam a uma maximizao dos sinais de reforo. Idia intuitiva: ex. ensinar animais circenses. A cada iterao t, o sistema em aprendizagem recebe uma entrada x(t) (representando o estado do ambiente), fornece uma sada y(t), e no prximo passo recebe um escalar de reforo r(t+1) e um novo estado do ambiente x(t+1). Portanto, os dois conceitos bsicos por trs da aprendizagem por reforo so: busca por tentativa e erro e reforo retardado.
41
Rede Neural
Sada da rede
42
Se os padres de entrada forem linearmente separveis, o algoritmo de treinamento do perceptron possui convergncia garantida, ou seja, capaz de encontrar um conjunto de pesos que classifica corretamente os dados. Os pesos dos neurnios que compem o perceptron sero tais que as superfcies de deciso produzidas pela rede neural estaro apropriadamente posicionadas no espao. Os neurnios do perceptron so similares ao neurnio de McCulloch & Pitts (funo de ativao tipo degrau), mas possuem pesos associados, incluindo o bias. Perceptron Simples para Classificao de Padres O algoritmo do perceptron funciona como a seguir. o Para cada padro de treinamento (dado de entrada) xi, a sada da rede yi calculada. o Em seguida, determinado o erro ei entre a sada desejada para este padro di e a sada da rede yi, ei = di yi.
Tpico 5: Redes Neurais Artificiais
43
o O vetor de pesos conectando as entradas (neurnios pr-sinpticos) a cada sada (neurnios ps-sinpticos) e o bias do neurnio so atualizados de acordo com as seguintes regras: wi(t+1) = wi(t) + ei xi, b(t+1) = b(t) + ei, onde w 1m, x 1m, e b 11. Considere agora o caso mais simples do perceptron com um nico neurnio.
44
+1 x1
w0 = b w1
Funo de ativao
Entradas
x2
w2
wm
Juno somadora
u
f(u)
y
Sada
xm
O objetivo desta rede, mais especificamente deste neurnio, classificar alguns padres de entrada como pertencentes ou no pertencentes a uma dada classe. Considere o conjunto de dados de entrada como sendo formado por N amostras {x1,d1}, {x2,d2}, , { xN,dN}, onde xj o vetor j de entradas, e dj sua sada desejada (classe) correspondente.
45
Seja X mN, a matriz de dados de entradas com N padres de dimenso m cada (colunas de X), e d 1N o vetor de sadas desejadas. O algoritmo abaixo pode ser utilizado para treinar o perceptron de um nico neurnio:
procedure [w] = perceptron(max_it,E,,X,d) initialize w // por simplicidade, inicialize com 0 initialize b //por simplicidade, inicialize com 0 t 1 while t < max_it & E > 0 do, for i from 1 to N do, //para cada padro de entrada //determine a sada para xi yi f(wxi + b) //determine o erro para xi ei di yi w w + ei xi //atualize o vetor de pesos //atualize o bias b b + ei end for E sum(ei) t t + 1 end while end procedure Algo 1: Simple perceptron learning algorithm. (The function f() is the threshold function)
46
Exemplo de Aplicao e Motivao Geomtrica Considere o problema de utilizar o perceptron com um nico neurnio para representar a funo lgica AND.
Entradas x1 x2 0 0 0 1 1 0 1 1
Sadas x1 AND x2 0 0 0 1
(0,1)
(1,1)
(0,0)
(1,0)
0 0 1 1 X= d = [0 0 0 1] 0 1 0 1
A sada yi do neurnio para o vetor de dados xi pode ser representada na forma: yi = f(wxi + b) Para quaisquer valores de w e b, a funo f(u) separa o espao de entradas em duas regies, sendo que a curva de separao (superfcie de deciso) uma linha reta.
Tpico 5: Redes Neurais Artificiais
47
A equao desta reta dada por: w1 x1 + w2 x2 + b = 0 Se a funo de ativao do tipo sinal (degrau) possui = 0, ento w1 x1 + w2 x2 + b 0 resultar em uma sada positiva da rede. Inicializando todos os pesos e o limiar em zero w = [0 0] e b = 0, e definindo = 1, o algoritmo de treinamento do perceptron fornece o seguinte: w1 = 2; w2 = 1; b = 3, portanto 2x1 + 1x2 3 = 0. Obs.: note que os pesos do perceptron tambm poderiam ter sido inicializados com valores aleatrios pequenos. o Neste caso, a superfcie de deciso obtida seria diferente. o Considere para efeitos ilustrativos: w1 = 0.015; w2 = 0.768; b = 0.971. o A figura a seguir mostra as duas superfcies de deciso e os pesos e bias determinados pelo algoritmo de treinamento do perceptron.
Tpico 5: Redes Neurais Artificiais
48
w1 = 2; w2 = 1; b = 3
(0,1)
(1,1)
(0,0)
(1,0)
Perceptron com Mltiplos Neurnios Note que a regra de aprendizagem do perceptron do tipo supervisionada, empregando a aprendizagem por correo de erro. Esta regra pode ser facilmente estendida para atualizar os pesos de uma rede de neurnios em uma nica camada. 49
Neste caso, para cada vetor de entrada xi haver um vetor de sadas da rede: yi = f(Wxi + b); W om, xi m1, i = 1, , N, yi o1, e b o1, D oN. Existe agora um vetor de erros para cada padro de entrada: ei = di yi.
procedure [W] = perceptron(max_it,,X,D) initialize W //for simplicity set it to zero initialize b //for simplicity set it to zero t 1 while t < max_it do, for i from 1 to N do, //para cada padro de entrada yi f(Wxi + b) //determine a sada da rede para xi ei di yi //determine o vetor de erros para xi T W W + ei xi //atualize a matriz de pesos b b + ei //atualize o vetor de bias end for t t + 1 end while end procedure Algo 2: Learning algorithm for the perceptron with multiple outputs.
50
Exemplo de Aplicao: Reconhecimento de Caracteres Considere o problema de aplicar o perceptron com mltiplas sadas ao problema de classificao (reconhecimento) dos seguintes caracteres binrios:
Cada um destes oito padres de entrada possui uma resoluo de 1210 pixels e as classes a que eles pertencem (0,1,2,3,4,6,T,9) esto pr-definidas. Vamos projetar um perceptron com oito neurnios de sada, onde cada neurnio ir corresponder a uma classe. Temos ento X 1208 e D 88 (matriz diagonal). O algoritmo de treinamento do perceptron ser responsvel ento por definir uma hipersuperfcie de deciso em um espao de dimenso 120 capaz de classificar os dados corretamente.
51
Aspectos Prticos do Treinamento do Perceptron Condio inicial: verificou-se que diferentes conjuntos iniciais de pesos para o perceptron podem levar a diferentes superfcies de deciso. o Na verdade, o problema de ajuste supervisionado de pesos pode ser visto como um processo de busca por um conjunto de pesos que otimizam uma determinada superfcie de erro. o Sendo assim, uma escolha inadequada da condio inicial da rede pode levar o algoritmo a uma convergncia para timos locais desta superfcie de erro. Critrio de convergncia: no caso do perceptron, possvel garantir que, dado um conjunto de padres linearmente separveis, o algoritmo capaz de encontrar uma superfcie de deciso capaz de classificar corretamente os dados. o Sendo assim, possvel utilizar como critrio de convergncia para o perceptron simples (classificao binria) a determinao de erro igual a zero para todos os padres de entrada.
Tpico 5: Redes Neurais Artificiais
52
o Outro critrio que pode ser utilizado a adaptao por uma quantidade finita de iteraes, denominadas de pocas de treinamento. Parmetros de treinamento: o algoritmo de treinamento do perceptron possui basicamente o parmetro de treinamento que deve ser definido pelo usurio. Treinamento versus aplicao da rede: importante diferenciar entre o processo de treinamento e aplicao da rede. o O treinamento da rede corresponde ao processo de ajuste de pesos. o Aps treinada, a rede poder ser aplicada ao mesmo problema, de forma a verificar a qualidade do aprendizado, ou a outro problema, de forma a verificar sua capacidade de generalizao.
procedure [y] = perceptron(W,b,Z) //para cada padro de entrada xi for i from 1 to N do, //determine as sadas da rede yi f(Wxi + b) end for end procedure Algo 3: Algorithm used to run the trained single-layer perceptron network.
Tpico 5: Redes Neurais Artificiais
53
3.2. Perceptron de Mltiplas Camadas O perceptron de mltiplas camadas (multi-layer perceptron) uma rede do tipo perceptron com, pelo menos, uma camada intermediria. Trata-se de uma generalizao do perceptron simples estudado anteriormente. O treinamento da rede MLP foi feito originalmente utilizando-se um algoritmo denominado de retropropagao do erro, conhecido como backpropagation. Este algoritmo consiste basicamente de dois passos: o Propagao positiva do sinal funcional: durante este processo todos os pesos da rede so mantidos fixos; e o Retropropagao do erro: durante este processo os pesos da rede so ajustados baseados no erro. O sinal de erro propagado em sentido oposto ao de propagao do sinal funcional, por isso o nome de retro-propagao do erro. Uma rede MLP tpica possui trs caractersticas principais:
Tpico 5: Redes Neurais Artificiais
54
o Os neurnios das camadas intermedirias (e de sada) possuem uma funo de ativao no-linear do tipo sigmoidal (p. ex. funo logstica ou tangente hiperblica). o A rede possui uma ou mais camadas intermedirias. o A rede possui altos graus de conectividade.
+1 x1 x2 x3 +1 +1
y1 y2
yo
Functional signal propagation Error backpropagation
xm
Input layer First hidden layer Second hidden layer Output layer
55
A regra delta generalizada ser utilizada para ajustar os pesos e limiares (bias) da rede de forma a minimizar o erro entre a sada da rede e a sada desejada para todos os padres de treinamento. Para isso, sero utilizadas informaes sobre o gradiente do erro em relao aos pesos e limiares da rede, pois j sabemos que atualizando os pesos da rede na direo oposta ao vetor gradiente em relao aos pesos estamos minimizando o erro entre a sada da rede e a sada desejada. Entretanto, o erro calculado diretamente apenas para a camada de sada. A pergunta que o algoritmo de retropropagao do erro responde como determinar a influncia do erro nas camadas intermedirias da rede.
m wim , j (t + 1) = wi , j (t )
(t ) , wim ,j
bim (t + 1) = bim (t )
(t ) bim
A derivao do algoritmo de backpropagation est fora do escopo deste curso, porm ela pode ser encontrada em diversas fontes.
Tpico 5: Redes Neurais Artificiais
56
x 1
y u1 f
1
y u2 f
2
y u3 f
3
.1 F (W )
2 T
.2 F (W )
2
3 T
.3 F
2 (y s)
57
procedure [W] = backprop(max_it,min_err,,X,D) for m from 1 to M do, initialize Wm //small random values initialize bm //small random values end for t 1 while t < max_it & MSE > min_err do, for i from 1 to N do, //for each training pattern //forward propagation of the functional signal y0 xi , M 1, yim + 1 fm + 1 (Wm + 1yim + bm + 1), m = 0, 1, //backpropagation of sensitivities M M M i 2F (u i )(d i y i ) m = M 1, ,2,1, //update weights and biases
m i
m (u m )( W m+1 )T F i
m i
m i ,
m +1 , i
Wm Wm
bm bm
T
(y im1 )T , m = 1, , M,
m = 1, , M, T Ei ei ei = (di yi) (di yi) //calculate the error for pattern i end for MSE 1/N.sum(Ei) //MSE t t + 1 end while end procedure
Tpico 5: Redes Neurais Artificiais
58
3.3. Capacidade de Aproximao Universal Uma arquitetura do tipo MLP pode ser vista como uma ferramenta prtica geral para fazer um mapeamento no-linear de entrada-sada. Especificamente, seja m o nmero de entradas da rede e o o nmero de sadas. A relao entrada-sada da rede define um mapeamento de um espao euclidiano de entrada m-dimensional para um espao euclidiano de sada o-dimensional, que infinitamente continuamente diferencivel. CYBENKO (1989) foi o primeiro pesquisador a demonstrar rigorosamente que uma rede MLP com uma nica camada intermediria suficiente para aproximar uniformemente qualquer funo contnua que encaixe em um hipercubo unitrio. O teorema da aproximao universal aplicvel a redes MLP descrito abaixo:
59
Teorema:
Seja
f (. )
uma
funo
contnua
no-constante,
limitada,
monotonicamente crescente. Seja Im um hipercubo unitrio m-dimensional (0,1)m. O espao das funes contnuas em Im denominado C(Im). Ento, dada qualquer funo g C(Im) e > 0, existe um inteiro M e conjuntos de constantes reais i e wij, onde i = 1, , M e j = 1, , m, tais que pode-se definir
F ( x1 , x2 ,..., xm ) =
i =1 M i
m f w x w 0 ij j i =1 j
Para todo {x1,, xm} Im. Este teorema diretamente aplicvel aos perceptrons de mltiplas camadas: o Percebemos que a funo logstica, ou tangente hiperblica, utilizada como a no-linearidade de um neurnio contnua, no-constante, limitada, e monotonicamente crescente; satisfazendo as condies impostas funo f(.).
Tpico 5: Redes Neurais Artificiais
60
o Verificamos tambm que a equao para a funo F() representa as sadas de uma rede MLP descrita como segue: a rede possui m ns de entrada e uma nica camada intermediria com M unidades; o conjunto de entradas {x1,, xm} o neurnio intermedirio i possui pesos wi1, , wim e limiar w0i a sada da rede uma combinao linear das sadas das unidades intermedirias, com 1, , M definindo os coeficientes dessa combinao. O teorema afirma que um perceptron de mltiplas camadas com uma nica camada intermediria capaz de realizar uma aproximao uniforme, dado um conjunto de treinamento suficientemente significativo para representar a funo. Note que este teorema um teorema de existncia. Nada garante que um MLP com uma nica camada timo no sentido de tempo de processamento, facilidade de implementao e eficincia na representao.
61
w01 w11 + f
Fl
wM1 +
wMm
62
3.4. Aspectos Prticos do Treinamento de Redes MLP Treinamento Local ou em Lote Em aplicaes prticas do algoritmo de retro-propagao, o aprendizado resultado de apresentaes repetidas de todas as amostras do conjunto de treinamento ao MLP. Cada apresentao de todo o conjunto de treinamento durante o processo de aprendizagem chamada de poca. O processo de aprendizagem repetido poca aps poca, at que um determinado critrio de parada seja atingido (prxima seo). uma boa prtica fazer com que a ordem de apresentao das amostras seja feita aleatoriamente de uma poca para a outra. Esta aleatoriedade tende a fazer com que a busca no espao de pesos tenha um carter estocstico ao longo dos ciclos de treinamento.
63
Para um dado conjunto de treinamento, a atualizao dos pesos pode ser feita de duas maneiras bsicas: o Atualizao local: neste mtodo, a atualizao dos pesos feita imediatamente aps a apresentao de cada amostra de treinamento. Especificamente, considere uma poca consistindo de N padres de treinamento arbitrariamente ordenados
64
O ajuste relativo a cada apresentao de um par de entrada acumulado (somado). Este mtodo tambm conhecido como mtodo de atualizao offline ou batch. Critrios de Parada O processo de minimizao do MSE (ou da funo custo), em geral, no tem convergncia garantida e no possui um critrio de parada bem definido. Um critrio de parada no recomendvel, por no levar em conta o estado do processo iterativo de treinamento, interromper o treinamento aps um nmero fixo (definido previamente) de iteraes. Sero discutidos aqui critrios de parada que levam em conta alguma informao a respeito do estado do processo iterativo, cada qual com seu mrito prtico. Para formular tal critrio, deve-se considerar a possibilidade de existncia de mnimos locais.
65
Seja * o vetor de parmetros (pesos) que denota um ponto de mnimo, seja ele local ou global. Uma condio necessria para que * seja um mnimo, que o vetor gradiente
66
o considerado
variao do erro quadrtico de uma poca para a outra atingir um valor suficientemente pequeno. Obs.: esse critrio proposto devido a uma outra propriedade nica de um mnimo: o fato de que a funo custo, ou medida de erro, med() estacionria no ponto = *. o considerado que o algoritmo de retro-propagao convergiu quando o erro quadrtico mdio atingir um valor suficientemente pequeno, ou seja, med() , onde um valor suficientemente pequeno. Obs.: este critrio uma variao do critrio anterior. Se o critrio de parada , por exemplo, um valor mnimo para o MSE, ento no podemos garantir que o algoritmo ser capaz de atingir o valor desejado. Por outro lado, ao tomarmos como critrio de parada um valor mnimo para a norma do vetor gradiente devemos estar conscientes de que o algoritmo,
Tpico 5: Redes Neurais Artificiais
67
provavelmente, ir produzir como resultado o mnimo local mais prximo da condio inicial. Atualmente existe uma grande quantidade de pesquisadores procurando funes de erro (custo) alternativas, com o objetivo de melhorar as caractersticas de convergncia dos perceptrons de mltiplas camadas. Um exemplo disso a funo de custo chamada de entropia cruzada (crossentropy) (SHEPHERD, 1997), dada por:
i ,n 1 yiM = ln (yiM ,n ) ( ,n )
Sm
n =1 i =1
1 si , n
],
onde N o nmero de amostras, M o nmero de camadas, Sm a dimenso de cada camada e y so as sadas da rede. Outro critrio de parada bastante til, e geralmente utilizado em conjunto com algum dos critrios anteriores, a avaliao da capacidade de generalizao da
68
rede aps cada poca de treinamento. O processo de treinamento interrompido antes que a capacidade de generalizao da rede seja deteriorada. Arquitetura da Rede A quantidade de neurnios na camada de entrada da rede geralmente dada pelo problema ser abordado. Entretanto, a quantidade de neurnios nas camadas intermedirias e de sada so caractersticas de projeto. Aumentando-se a quantidade de neurnios na camada intermediria aumenta-se a capacidade de mapeamento no-linear da rede MLP. Porm, preciso tomar cuidado para que o modelo no se sobre-ajuste aos dados, pois se houver rudo nas amostras de treinamento, ento a rede estar sujeita ao sobre-treinamento (overfitting). Uma rede com poucos neurnios na camada intermediria pode no ser capaz de aproximar o mapeamento desejado, causando um underfitting.
Tpico 5: Redes Neurais Artificiais
69
1.0 0.8 0.6 0.4 0.2 0.0 -0.2 -0.4 -0.6 -0.8 -1.0 -3 -2 -1 0 1 2 3
1.0 0.8 0.6 0.4 0.2 0.0 -0.2 -0.4 -0.6 -0.8 -1.0 -3 -2 -1 0 1 2 3
70
O underfitting tambm pode ser causado caso o treinamento seja interrompido prematuramente. Normalizao dos Dados de Entrada Uma das caractersticas importantes das funes sigmoidais a presena de saturao, ou seja, para valores muito grandes de seu argumento elas estaro operando na regio saturada da curva. importante portanto, fazer com que os valores dos atributos dos dados de entrada estejam contidos em um intervalo pr-definido, por exemplo, [0,1] ou [1,1]. Inicializao dos Vetores de Pesos e Limiares (Bias) A qualidade e eficincia do aprendizado supervisionado em redes multicamadas depende fortemente da especificao de arquitetura da rede, funo de ativao dos neurnios, regra de aprendizagem e valores iniciais do vetor de parmetros (pesos).
71
Valores timos destes itens so desconhecidos a priori, pois dependem principalmente do conjunto de treinamento e da natureza da soluo (THIMM & FIESLER, 1997). Assumimos aqui que a arquitetura da rede, as funes de ativao dos neurnios e a regra de aprendizado j foram determinadas adequadamente, embora no necessariamente de maneira tima. Sob essas consideraes, um processo de treinamento bem sucedido passa a depender somente de uma boa definio do conjunto inicial de pesos, ou seja, um conjunto que guie o processo de treinamento para uma soluo satisfatria, fora de mnimos locais pobres e problemas de instabilidade numrica. Logo, o conjunto inicial de pesos a ser utilizado no treinamento supervisionado de redes multicamadas possui grande influncia na velocidade do aprendizado e na qualidade da soluo obtida aps a convergncia.
72
Uma escolha inicial inadequada para os valores dos pesos pode fazer com que o treinamento no conduza a modelos de aproximao satisfatrios (mesmo que o processo de otimizao seja bem-sucedido) ou apresente problemas numricos que de outro modo poderiam ser evitados. Atualmente, existem vrias tcnicas propostas no sentido de definir
adequadamente o conjunto de pesos iniciais. 3.5. Superfcies de Erro Seja uma rede neural com n pesos a serem ajustados. Este conjunto de pesos pode ser visto como um ponto em um espao n-dimensional, denominado de espao de pesos (weight space). Se a rede neural utilizada para classificar um conjunto de padres, para cada um destes padres a rede ir gerar um determinado sinal de erro.
73
Isso significa que cada conjunto de pesos e bias possui um valor associado de erro. Os valores de erro para todos os conjuntos possveis de pesos e bias definem uma superfcie no espao de pesos denominada de superfcie de erro. A questo que resulta ento qual o papel do algoritmo de treinamento. A forma que boa parte dos algoritmos supervisionados operam atravs da minimizao de uma funo de custo baseada no erro entre as sadas da rede e as sadas desejadas. Trs concluses importantes devem ser salientadas: o A visualizao do treinamento de RNAs via minimizao do erro permite a interpretao do problema como um problema de otimizao, que geralmente no-linear e irrestrito. Isso permite a aplicao de diversas tcnicas de otimizao no-linear irrestrita para o treinamento de RNAs feedforward. o A superfcie de erro possui, potencialmente, uma grande quantidade de mnimos locais, sugerindo que os algoritmos de treinamento esto sujeitos a ficarem presos em mnimos locais da superfcie de erro.
Tpico 5: Redes Neurais Artificiais
74
o Outros mtodos de busca como algoritmos evolutivos tambm podem ser empregados no treinamento de RNAs.
Global minimum Local minimum
75
O que se busca so regras gerais para o crescimento e evoluo de estruturas sistmicas. Com isso, espera-se poder prever a organizao futura que ir resultar de alteraes promovidas junto aos componentes de um dado sistema, alm de poder estender estes resultados a outros sistemas semelhantes. Em geral, os mecanismos estabelecidos pelos componentes de um dado sistema capaz de expressar auto-organizao so: realimentao positiva, realimentao negativa e interao local. importante buscar respostas (direta ou indiretamente) para as seguintes questes: o Uma vez caracterizadas as regras de interao que iro definir o comportamento individual de cada componente de um sistema, ao longo do tempo, e que supostamente permitem desenvolver e manter um processo auto-organizado, ocorrer efetivamente algum tipo de auto-organizao do comportamento espao-temporal?
76
o Se a resposta questo acima for afirmativa, qual ser o padro emergente, ou seja, o resultado final da auto-organizao? o Dado que existe, na natureza, a formao de padres espao-temporais no devidos a processos auto-organizados, como diferenci-los de um processo autoorganizado? o Qual o nvel de complexidade local que cada componente deve apresentar para permitir a emergncia da complexidade global observada no sistema? o O quanto do comportamento observado no agregado devido ao efeito da ao individual de cada componente e o quanto devido dinmica do meio? 4.1. Motivao para Treinamento No-Supervisionado Dados rotulados so aqueles que assumem valores em um mesmo espao vetorial multidimensional e que vm acompanhados da classe a que cada um pertence (rtulo), podendo haver mltiplas classes, com varincias e nmero de dados distintos ou no para cada classe.
Tpico 5: Redes Neurais Artificiais
77
Dados no-rotulados so aqueles que assumem valores em um mesmo espao vetorial multidimensional, e que no se conhece a priori a classe a que cada um pertence, embora cada um pertena a uma classe especfica. O nmero de classes pode ser conhecido a priori ou no. A varincia e o nmero de dados de cada classe pode diferir ou no. Como aprender a representar padres de entrada de modo a refletir a estrutura estatstica de toda a coleo de dados de entrada? Que aspectos da entrada devem ser reproduzidos na sada? Em contraposio ao treinamento supervisionado e ao treinamento por reforo, no h aqui nenhuma sada desejada explcita ou avaliao externa da sada produzida para cada dado de entrada. O treinamento no-supervisionado predominante no crebro humano. sabido que as propriedades estruturais e fisiolgicas das sinapses no crtex cerebral so influenciadas pelos padres de atividade que ocorrem nos neurnios sensoriais.
Tpico 5: Redes Neurais Artificiais
78
No entanto, em essncia, nenhuma informao prvia acerca do contedo ou significado do fenmeno sensorial est disponvel. Sendo assim, a implementao de modelos computacionais para ajuste de pesos sinpticos via treinamento no-supervisionado deve recorrer apenas aos dados de entrada, tomados como amostras independentes de uma distribuio de probabilidade desconhecida. Duas abordagens tm sido propostas para aprendizado no-supervisionado: o tcnicas para estimao de densidades de probabilidade, que produzem modelos estatsticos explcitos para descrever os fenmenos responsveis pela produo dos dados de entrada. Ex: redes bayesianas. o tcnicas de extrao de regularidades estatsticas (ou ento irregularidades) diretamente dos dados de entrada. Ex: redes de Kohonen.
79
4.2. Mapas Auto-Organizveis de Kohonen Um mapa de Kohonen um arranjo de neurnios, geralmente restrito a espaos de dimenso 1 ou 2, que procura estabelecer e preservar noes de vizinhana (preservao topolgica). Se estes mapas apresentarem propriedades de auto-organizao, ento eles podem ser aplicados a problemas de clusterizao e ordenao espacial de dados. Neste caso, vai existir um mapeamento do espao original (em que os dados se encontram) para o espao em que est definido o arranjo de neurnios. Como geralmente o arranjo de neurnios ocorre em espaos de dimenso reduzida (1 ou 2), vai existir uma reduo de dimensionalidade sempre que o espao original (em que os dados se encontram) apresentar uma dimenso mais elevada. Toda reduo de dimensionalidade (relativa dimensionalidade intrnseca dos dados) pode implicar na perda de informao (por exemplo, violao topolgica). Sendo assim, este mapeamento deve ser tal que minimiza a perda de informao.
Tpico 5: Redes Neurais Artificiais
80
A informao uma medida da reduo da incerteza, sobre um determinado estado de coisas. Neste sentido, a informao no deve ser confundida com o dado ou seu significado, e apresenta-se como funo direta do grau de originalidade, imprevisibilidade ou valor-surpresa do dado (ou conjunto de dados). Espaos normados so aqueles que permitem o estabelecimento de propriedades topolgicas entre seus elementos. Ex: medida de distncia (fundamental para a definio do conceito de vizinhana), ordenamento.
4.2.1. Arranjo unidimensional
Um mapa de Kohonen unidimensional dado por uma seqncia ordenada de neurnios lineares, sendo que o nmero de pesos igual ao nmero de entradas. H uma relao de vizinhana entre os neurnios (no espao unidimensional vinculado ao arranjo), mas h tambm uma relao entre os pesos dos neurnios no espao de dimenso igual ao nmero de entradas. Para entender a funcionalidade dos mapas de Kohonen, necessrio considerar ambas as relaes.
Tpico 5: Redes Neurais Artificiais
81
...
x1 x2 xdim
Figura 1 - Rede de Kohonen em arranjo unidimensional: nfase na vizinhana
82
i j x1 x2 xdim
t11 y1 tn1 y2
wij
n y i ( k + 1) = max 0, til y l ( k ) l =1
t1n yn
83
Exemplo: Para dim = 2, considere n = 4, sendo que os vetores de pesos so dados na forma: 2 1 3 3 w1 = , w 2 = , w 3 = e w 4 = 3 1 0 2 x2 1 2 3 x1 4
Figura 3 - Mapa de Kohonen em arranjo unidimensional (nesta caso, existe vizinhana entre primeiro e ltimo neurnios)
Tpico 5: Redes Neurais Artificiais
84
4.2.2.
Arranjo bidimensional
...
...
...
...
x1 x2 xdim
Figura 4 - Rede de Kohonen em arranjo bidimensional: nfase na vizinhana
Tpico 5: Redes Neurais Artificiais
85
4.2.3.
Fase de competio
Trs elementos bsicos em uma lei de aprendizado competitivo: 1. um conjunto de neurnios similares, exceto pelo valor de seus pesos; 2. um limite imposto ao valor que os pesos podem atingir; 3. um mecanismo de competio. A competio vai produzir um nico neurnio ativo para cada entrada (winnertakes-all) Como implementar? definindo uma regra de influncia da ativao de um neurnio junto a todos os demais.
86
4.2.4.
Se os pesos se mantiverem com norma unitria, ento a definio do neurnio vencedor pode se dar de duas formas: 1. produto escalar; 2. norma euclidiana ( a nica vlida tambm no caso de pesos no-normalizados). Seja j o neurnio vencedor: Alternativa 1 Somente o neurnio j ajustado na forma:
w j (k + 1) = w j (k ) + (x(k ) w j (k ) )
87
Alternativa 2 caso existam mltiplos representantes para cada agrupamento de dados, ento interessante ajustar o neurnio vencedor e seus vizinhos mais prximos. Implementao
vizinhana
vizinhana
importante que a influncia de cada neurnio vencedor seja ampla no incio do processo e sofra uma reduo continuada com o decorrer das iteraes.
88
4.2.5.
while <condio de parada> falso, ordene aleatoriamente os N padres de entrada; for i=1 at N, j = arg min x i w j
j
J Viz(j) do:
w J = w J + (dist ( j, J ) )(x i w J );
end do end for atualize a taxa de aprendizado ; atualize a vizinhana; avalie a condio de parada; end while
89
4.2.6.
Dada a conformao final de neurnios (no rotulados), como realizar a clusterizao, ou seja, definio de agrupamentos e atribuio do mesmo rtulo a todos os neurnios pertencentes a um dado agrupamento? Soluo: matriz(vetor)-U (ULTSCH, 1993; COSTA, 1999) Aspecto a ser explorado: aps o processo de auto-organizao, dados de entrada com caractersticas semelhantes passam a promover reaes semelhantes da rede neural. Assim, comparando-se as reaes da rede neural treinada, possvel agrupar os dados pela anlise do efeito produzido pela apresentao de cada um rede. A matriz-U uma ferramenta que permite realizar a discriminao dos agrupamentos, a partir de uma medida do grau de similaridade entre os pesos de neurnios adjacentes na rede. O perfil apresentado pelas distncias relativas entre neurnios vizinhos representa uma forma de visualizao de agrupamentos.
Tpico 5: Redes Neurais Artificiais
90
Recebeu a denominao de matriz por ter sido proposta no caso de mapas bidimensionais, sendo que o grau de similaridade plotado na terceira dimenso gerando uma superfcie em relevo em 3D. Para o caso de mapas unidimensionais, tem-se o vetor-U. Topologicamente, as distncias entre neurnios vizinhos refletem os
agrupamentos, pois uma depresso ou um vale da superfcie de relevo representa neurnios pertencentes a um mesmo agrupamento. Neurnios que tm uma distncia grande em relao ao neurnio adjacente, a qual representada por um pico da superfcie de relevo, so neurnios discriminantes de agrupamentos.
4.2.7. Aplicao
Como utilizar o mapa de Kohonen, aps a fase de treinamento no-supervisionado e depois de ter as classes devidamente discriminadas, para classificao de padres? Exemplo de aplicao: Agrupamento de dados (clusterizao)
Tpico 5: Redes Neurais Artificiais
91
0.2
0.4
0.6
0.8
92
0.6
18
21
93
-2
-4 -6
-4
-2
94
-4 -4
95
4.2.8.
Sintonia de parmetros Neurnios que no vencem nunca (devem ser podados para aumentar eficincia) Neurnios que vencem sempre Dimenso do arranjo para uma dada aplicao Nmero de neurnios, uma vez definido o arranjo Inicializao dos pesos Apresentao dos dados rede (padro-a-padro ou em batelada?) Interpretao do mapa resultante (anlise discriminante) Mtodos construtivos e de poda Outras aplicaes e mltiplos mapeamentos simultneos Comparaes com ferramentas similares
96