Professional Documents
Culture Documents
Resumo: Este documento apresenta uma introduo para a rea de redes neurais
artificiais (RNA). Em primeiro lugar motiva-se o paradigma da neurocomputao pelas
capacidades cognitivas de redes neurais biolgicas, inspirado pelo conhecimento da
neurocincia. Os fundamentos das RNA so o modelo de um neurnio, a topologia da
rede e os paradigmas de aprendizagem. O modelo de McCulloch e Pitts serve como
modelo bsico de um neurnio artificial. Propagao para frente e redes com
realimentao constituem as principais topologias de redes. Paradigmas de
aprendizagem apresentados so a aprendizagem supervisionada e aprendizagem nosupervisionada. Em relao s regras para a adaptao dos pesos distingue-se entre a
regra de Hebb, a regra de delta e a aprendizagem competitiva.
A classe de redes de propagao para frente representada pelo perceptron, o
ADALINE e o perceptron com uma camada escondida. Nas regras de aprendizagem do
ADALINE apresentam-se duas tcnicas principais para adaptar os pesos, a soluo
determinstica linear pela pseudoinversa e a descida de gradiente. O algoritmo de
retropropagao do erro a ferramenta fundamental para treinar o perceptron multicamada.
Redes com realimentao que apresentam um comportamento dinmico so
representadas pelo modelo de Hopfield. Motiva-se a topologia e funcionalidade da rede
e analisa-se a estabilidade dos pesos. A introduo de uma funo de energia por
Hopfield junto com pesos simtricos garante a estabilidade da rede. Um exemplo de
aplicao desse tipo de rede o armazenamento e recuperao de imagens binrias.
Redes competitivas concluem a apresentao. Dentro de uma camada competitiva
existe um vencedor que mostra a maior coincidncia com o sinal de entrada. O mapa de
preservao topolgica de Kohonen adicionalmente ao uso da aprendizagem
competitiva impe uma ordem topolgica sobre os neurnios individuais.
NDICE
I
INTRODUO
I.1 A Inspirao da Neurocincia
I.2 Histria da Neurocomputao
I.3 Referncias para Aprofundamento na Matria de Redes Neurais
II FUNDAMENTOS
II.1 Modelo de Neurnio Artificial
II.2 Topologia de Redes de Neurnios Artificiais
II.3 Paradigmas de Aprendizagem
II.3.1 Aprendizagem supervisionada
II.3.2 Aprendizagem no-supervisionada
II.4 Regras de Adaptao dos Pesos
II.4.1 Aprendizagem pela Regra de Hebb
II.4.2 Aprendizagem pela Regra de Delta
II.4.3 Aprendizagem Competitiva
II.5 Taxinomia de Redes
III REDES DE PROPAGAO PARA FRENTE
III.1 Perceptron
III.2 ADALINE
III.2.1 O erro quadrtico mnimo
III.2.2 Soluo determinstica
III.2.3 Soluo iterativa: Descida de Gradiente
III.3 Perceptron Multi-Camada e Retropropagao de Erro
III.3.1 Arquitetura
III.3.2 Adaptao dos pesos
IV REDES COM REALIMENTAO
IV.1 Modelo de Hopfield
IV.2 Associatividade de Padres na Rede de Hopfield
IV.3 Estabilidade e Aprendizagem de Pesos
IV.4 Relaxao, Minimizao de Energia
IV.5 Aplicao: Recuperao de Imagens
V REDES COMPETITIVAS
V.1 Determinao do Vencedor
V.2 Adaptao dos Pesos
V.3 O Mapa de Preservao Topolgica de Kohonen
VI CONCLUSES
BIBLIOGRAFIA
I. INTRODUO
Uma das reas de pesquisa mais fascinante presentemente a simulao de capacidades
cognitivas de um ser humano. Projetam-se mquinas capazes de exibir um comportamento
inteligente, como se fossem reaes humanas. A inteligncia do ser humano a mais avanada
dentro do universo das criaturas e o local dessa inteligncia dentro do corpo humano o
crebro. As entidades bsicas so os neurnios, interconectados em redes o que permite a troca
de informao entre eles, criando a inteligncia biolgica. Uma ambio bvia que surge
desses fatos a tentativa de copiar a estrutura e o funcionamento do crebro em um ambiente
tcnico. Isso significa que a pesquisa tenta entender o funcionamento da inteligncia residente
nos neurnios e mape-la para uma estrutura artificial, por exemplo uma combinao de
hardware e software, assim transformando as redes neurais biolgicas em redes neurais
artificiais.
Foram definidas uma quantidade extensa de modelos de redes neurais artificiais e os mtodos
associados para adapt-los s tarefas a serem resolvidas. Um aviso prvio o fato que os
modelos artificiais tm pouco em comum com as redes neurais reais. Por outro lado existem
paralelos entre os dois mundos que prometem que as redes neurais artificiais sejam uma
aproximao apropriada para resolver problemas cognitivos complexos.
Neste material tenta-se dar uma breve introduo ao campo de computao neural. As
restries de espao permitem unicamente a apresentao de alguns dos modelos e algoritmos
de redes neurais artificiais. Tenta-se dar uma idia bsica sobre as capacidades e limitaes
desse rea de pesquisa e engenharia. Para o leitor interessado do-se referncias para o
aprofundamento da matria.
quando for excitada pelo impulso do axnio. A substncia se transmite entre sinapse e dendrite
realizando a conexo entre dois neurnios vizinhos. Conforme as excitaes (ou inibies) que
clulas vizinhas transmitem para a clula em considerao ela processa a informao
novamente e a transmite via seu axnio.
sinapse
axnio
ncleo
soma
dendrites
II. FUNDAMENTOS
Uma rede neural artificial (RNA) tem duas facetas elementares: a arquitetura e o algoritmo de
aprendizagem. Essa diviso surge naturalmente pelo paradigma como a rede treinada. Ao
contrrio de um computador com arquitetura de von Neumann que programado, a rede
treinada por exemplos de treino. O conhecimento sobre o problema em considerao est
guardado dentro dos exemplos que tm que estar obrigatoriamente disponveis. O algoritmo de
aprendizagem generaliza esses dados e memoriza o conhecimento dentro dos parmetros
adaptveis da rede, os pesos. Assim o construtor de um sistema baseado em RNA tem dois
graus de liberdade, a definio sobre o tipo de rede para resolver o problema em considerao
e o algoritmo para treinar a rede, i.e. para adaptar os pesos da rede.
A composio da rede feita pelos neurnios. Normalmente o tipo de processamento de um
nico neurnio a combinao linear das entradas com os pesos seguida pela passagem da
combinao linear por uma funo de ativao.
A natureza do problema a ser resolvido normalmente define restries em relao aos tipos de
redes e algoritmos de aprendizagem possveis. Neste texto distinguem-se redes com
propagao do fluxo de informao para frente, redes recorrentes (com realimentao das
sadas para as entradas) e redes competitivas. Em relao aos algoritmos de adaptao, vamos
distinguir entre aprendizagem supervisionada e aprendizagem no-supervisionada.
j = 1 w jx j = w
D
peso w j que reflete a importncia da entrada x j . O resultado dessa combinao linear o valor
net . Se esse valor ultrapassar um limiar , o neurnio dispara o valor 1 na sada binria y ,
se no ultrapassar o limiar a sada fica passiva em y = 0 . A comparao de net com o limiar
realizada pela funo de Heaveside (funo de escada) ( x ) = 1 se x 0 e ( x ) = 0
caso contrrio.
y = ( j = 1 w j x j )
D
x1
PESOS
FUNO DE
w1
ENTRADAS
(1)
w2
x2
wD
xD
ATIVAO
net
COMBINAO
SADA
LIMIAR
LINEAR
NEURNIO ARTIFICIAL
A funo de ativao no caso do modelo de [McCulloch and Pitts, 1943] no a nica maneira
de produzir o valor de sada do neurnio. Figura 3 mostra diferentes tipos de funes de
ativao. A funo linear produz uma sada linear contnua, a funo de escada, uma sada
binria (no-linear discreta) e a funo sigmoidal, uma sada no-linear contnua.
y ( net )
y ( net )
y ( net )
net
net
LINEAR
ESCADA
net
SIGMOIDAL
(2)
e tem um conjunto de propriedades que se mostraro muito teis nos clculos relacionados
aprendizagem dos pesos e ao mapeamento realizado pela rede:
No linear
Contnua e diferenivel em todo o domnio de R
Derivada tem forma simples e expressa pela prpria funo: g' ( z ) = g ( z ) ( 1 g ( z ) )
Estritamente montona: z 1 z 2 g ( z 1 ) g ( z 2 )
Em termos do domnio dos valores calculados y i distingue-se basicamente entre sadas
binrias com y i { 0, 1 } ou y i { 1, 1 } e sadas contnuas com y i R .
Eventualmente o neurnio possui uma memria local, i.e. o estado de ativao anterior
tomado em considerao no clculo da ativao atual. Esse tipo de processamento dinmico
est fora do mbito desse texto.
CAMADAS
ESCONDIDAS
ENTRADAS
Realimentao
Uma categorizao fundamental da topologia dos neurnios pode ser feita em relao ao
mtodo de propagao da informao recebida, veja Figura 4. Pode-se distinguir entre redes de
propagao para frente (feedforward) e redes realimentadas (recurrent). No caso das redes de
propagao para frente o fluxo de informao unidirecional. Neurnios que recebem a
informao simultaneamente agrupam-se em camadas. Camadas que no esto ligadas s
entradas e nem s sadas da rede chamam-se camadas escondidas. Exemplos para esse tipo de
rede so o perceptron [Rosenblatt, 1958], o perceptron multi-camada [Rumelhart et al., 1986] e
o ADALINE [Widrow and Hoff, 1960]. Uma rede que adicionalmente tem uma relao
topolgica de vizinhana entre os neurnios o mapa auto-organizvel de Kohonen [Kohonen,
1972], [Kohonen, 1990].
Redes realimentadas tm ligaes entre os neurnios sem restries. Ao contrrio das redes
sem realimentao, o comportamento dinmico desempenha o papel fundamental nesse
modelo. Em alguns casos os valores de ativao da rede passam por um processo de relaxao
at chegarem a um estado estvel. O modelo que se apresentar como representante a rede
auto-associativa de [Hopfield, 1982].
*
* *
( x 1, y 1 )
( x n, y n )
*
*
y = w0 + w1 x
*
x
Figura 5 - Regresso linear
Adaptao de peso: w ij
(l)
(l)
= w ij + w ij
(3)
w ii
w ij
w ji
Neurnio j
w jj
aos mesmo tempo deve ser reforado. Para o nosso modelo essa lei traduz-se para a
Regra de aprendizagem de Hebb: w ij = y i y j
(4)
(5)
Isso significa que todos os outros neurnios tm uma ativao igual a zero y i = 0 para i i e
*
Aprendizagem Competitiva: w ij = y i ( x j w ij )
(6)
O efeito dessa regra que os pesos w i se deslocam em direo do estmulo (entrada) da rede x .
Vamos considerar a rede de Kohonen como exemplo de uma rede neural artificial que usa
aprendizagem competitiva para adaptar os pesos.
supervisionada a regra de Hebb tambm pode ser usada, por exemplo para estimar a densidade
de probabilidade com base nos exemplos dados. Uma arquitetura de rede com um algoritmo
competitivo a rede topolgica de Kohonen.
Modelo com
capacidade de aprendizagem
Aprendizagem supervisionada
Regresso, Classificao
(Regra de Delta)
Perceptron
Associativo
(Regra de Hebb)
Adaline
Perceptron
Multi-Camada
Hopfield
Aprendizagem no-supervisionada
Associativo
(Regra de Hebb)
Densidade
de probabilidade
Competitivo
Kohonen
III.1 Perceptron
Classificao uma das aplicaes principais do clculo que as redes neurais so capazes de
realizar. O objetivo associar uma categoria de um universo finito a um objeto. Exemplos para
classificao so:
Reconhecimento automtico de caracteres
Deteco de falhas em processos
Identificao de pessoas por impresses digitais, voz, iris do olho
Diagnstico mdico
O perceptron [Rosenblatt, 1958] capaz de classificar entre duas classes que linearmente so
separveis, veja Figura 8 (O modelo extensvel facilmente para o caso de vrias classes).
Junto com a arquitetura foi proposto um mtodo de como os pesos podem ser adaptados.
Tambm foi dada uma prova formal da convergncia em um nmero finito de iteraes desse
algoritmo em caso da separabilidade linear.
A funo que o perceptron implementa a do neurnio de McCulloch e Pitts (1), onde a
funo de escada ( . ) substituda pela funo do sinal sgn ( z ) = 1 se z 0 e sgn ( z ) = 1
se z < 0 . Pode-se absorver o limiar no clculo como = w 0 , introduzindo um novo valor
de entrada fixo x 0 = 1 :
Regra de Classificao do Perceptron: d ( x ) = sgn ( j = 0 w j x j )
D
(7)
A funo calculada d ( x ) fornece uma resposta binria de que lado est o objeto
T
*
**
**
d( x) > 0
d( x) < 0
d( x) = 0
* Classe 1
+ Classe 2
x1
A estrutura da rede ento foi definida simplesmente pela equao linear de (7). Resta agora o
algoritmo de adaptao dos pesos, o algoritmo de aprendizagem de perceptron. A ideia bsica
uma adaptao iterativa nos moldes de (3) por um algoritmo iterativo. O algoritmo classifica
n
(8)
Escolhem-se pesos aleatrios inicialmente. A regra (8) adapta os pesos em um nmero finito
de iteraes, se existe uma separao linear.
O perceptron um sistema de uma rede neural simples (nesse caso D + 1 entradas, uma
sada), capaz de resolver problemas lineares de classificao. Est equipado com um algoritmo
de adaptao de pesos que aprende baseado nos exemplos de treino. Obviamente a capacidade
de clculo do perceptron est limitada pela separabilidade linear das classes. Para classificar
problemas em que as classes se distribuem de tal maneira que seja impossvel criar um
hiperplano para separ-las, tcnicas mais sofisticadas tm que ser usadas, como o perceptron
multi-camada.
III.2 ADALINE
Vimos no exemplo anterior do perceptron que as sadas estavam limitadas para terem valores
binrios. Um modelo muito parecido com o perceptron em termos de arquitetura o ADALINE
[Widrow and Hoff, 1960]. A diferena porm est nas sadas contnuas, i.e. permite-se calcular
valores de sada do domnio dos nmeros reais, veja Figura 9. A funo calculada
simplesmente a combinao linear dos pesos e das entradas, ou equivalentemente o produto
interno do vetor de pesos e o vetor das entradas:
Funo do ADALINE: d ( x ) =
j = 0 w jx j
D
(9)
= w x
Foi outra vez introduzido uma entrada com um valor constante de 1 que facilita a
representao da funo calculada.
SADA
Camada de sada
d, t
Rede
Entradas
d( x) =
w jx j
j=0
w0
w1
1
x1
w2 w3
x2
x3
w4
x4
ENTRADAS
Outra vez o problema para resolver (a funo para calcular) est especificado nos n exemplos
n
1. Se tivssemos c sadas d i e no s uma sada d , teramos que introduzir mais um ndice i para os
pesos w ij , assim indicando a ligao entre entrada j e sada i . Em vez de ter um vetor de pesos
w = ( w 0, w 1, , w D )
T T
(10)
O valor desejado o valor de alvo t p . O valor calculado pela rede d ( x p ) . Como o erro (10)
pode ser negativo ou positivo, calcula-se o quadrado para sempre ter uma diferena positiva
que no se elimina, considerando todos os exemplos individuais x p do conjunto de treino T .
2
(11)
p=1
1
e ( x p ) = --n
(t p w
x)
(12)
p=1
T T
O exemplo x p deve ser mapeado pela rede para w x p = t p . Assim pode-se formular o clculo
de
todos
os
exemplos
de
treino
xp
numa
nica
equao
de
dimenso
( n ( D + 1 ) ) ( ( D + 1 ) 1 ) = ( n 1 ) de vetores e matrizes:
Mapeamento de ADALINE de todos os exemplos: X w = t
Uma pr-multiplicao de (13) pela matriz transposta X
T
(13)
T
de X resulta em X X w = X t.
(14)
(l)
(l)
EQM ( w )
Gradiente
E ( w )
--------------w
E ( w )
Gradiente
--------------negativo ponderado
w
w min
w
w
(l)
Taxa de aprendizagem
(l + 1)
(l + 1)
(l + 1)
= w
(l)
+ w
(l)
= w
(l)
(l)
(15)
Agora fica mais clara a necessidade da propriedade da funo sigmoidal (2) de que ela seja
contnua e diferenivel em todo o domnio de R . Assim consegue-se calcular o gradiente para
uma rede com funo de mapeamento no-linear, como ainda vamos verificar mais tarde.
(0)
(l)
consecutivos w
e w seja menor do que uma tolerncia eps . A diferena poderia por
exemplo ser a distncia Euclidiana entre os dois vetores de pesos. Todos os passos esto
resumidos no Algoritmo 1.
Algoritmo 1: Descida de Gradiente
Objetivo: Aprende uma vetor de pesos timos w opt que minimize a funo de custos E
0.) Nmero mximo de iteraes: l max
Diferena mnima entre dois vetores de pesos consecutivos: eps
Taxa de aprendizagem:
(0)
1.) l = 0 , w arbitrrio
2.) Repete iterao l
(l)
= E
(l)
(l)
w j
wj
(l)
(l)
= w j + w j
at ( l > l max ou w
(l + 1)
(l)
(l)
(l)
= w j E j
=
(l + 1)
j = 0 (w j
D
(l) 2
w j ) < eps )
E j = E w j = ( e ( x p ) ) w j = 2e ( x p ) ( e ( x p ) w j )
= 2e ( x p ) ( ( t p j = 0 w j x pj ) w j ) = 2e ( x p )x pj
D
p = 1 e
n
( x p ) (aprendizagem
o que resulta nas regras de atualizao de pesos (15) (absorvendo o termo constante 2 na taxa
de aprendizagem ):
(l)
(l + 1)
= w j + e ( x p )x pj , para j = 0, , D
(l + 1)
= w j + p = 1 e ( x p )x pj , para j = 0, , D
1.) w j
2.) w j
(l)
A regra de adaptao de pesos apresentada acima chama-se regra de delta, regra de adaline,
regra de Widrow-Hoff [Widrow and Hoff, 1960] ou regra da mdia dos quadrados mnimos
(LMS, least mean square rule), veja tambm [Hertz et al., 1991].
* Classe 1
+ Classe 2
x1
*0
+
1
Figura 11- O problema XOR. No existe uma separao linear entre as duas classes.
Era conhecido que a introduo de mais camadas no perceptron poderia resolver o problema de
XOR. O que no se conhecia era um mtodo para adaptar os pesos, especialmente em
problemas de regresso e classificao de maior complexidade. [Rumelhart et al., 1986]
popularizaram o algoritmo de retropropagao de erro. Apresenta-se em seguida o perceptron
com uma camada escondida e vrias sadas, treinado pela retropropagao de erro.
III.3.1 Arquitetura
Qualquer perceptron com pelo menos uma camada escondida (nem entrada, nem sada) um
perceptron multi-camada. Consideramos aqui o caso de uma nica camada escondida. A
generalizao para mais que uma camada escondida direta e a teoria aplica-se sem alterao,
veja a literatura. Um neurnio recebe vrias entradas da camada anterior e calcula uma
combinao linear (9) dessas variveis. O resultado da combinao linear passa pela funo de
ativao, neste caso novamente a funo sigmoidal (2). Usamos mais que uma sada. Isso
significa que a sada um vetor d = ( d 1, , d c )
d,
i.e.
rede
d( x)
calcula
com
d ( x ) = ( d 1 ( x 1, , x D ), , d c ( x 1, , x D ) ) .
A camada escondida tem um nmero H de neurnios. Usa-se eventualmente outra vez uma
entrada constante de 1 tambm na camada escondida. Um peso entre a varivel de entrada x j
e o neurnio com ndice h na camada escondida chama-se w hj . Todos os pesos w hj podem ser
juntados na matriz de pesos entrada-escondida W h . Em analogia, existe um peso w ih que
liga o neurnio com ndice h na camada escondida com a sada d i . Todos os w ih formam a
matriz W i .
H
Camada de sada
d, t
d1
d2
d3
gi
i
1
g ( z ) = --------------z
1+e
w ih
h
Camada escondida(s)
Rede
W = W i, W h
d i ( x ) = g w ih g w hj x j
h = 0
j = 0
SADAS
gh
h
w hj
Entradas
x1
x2
x3
x4
ENTRADAS
Figura 12- Perceptron multi-camada com uma camada escondida. Quatro variveis de entrada, trs
variveis de sada. Funo de ativao sigmoidal.
(16)
Uma das grandes vantagens dessa tcnica que o perceptron multi-camada um aproximador
universal de funes. Isso significa que desde que os pesos sejam bem adaptados e a rede
dispe um nmero suficiente de neurnios escondidos, o clculo desejado atingido.
de
t p = ( t p1, , t pc ) .
alvo
d ( x p ) = ( d 1 ( x p ), , d c ( x p ) )
valor
calculado
pela
rede
vetor
( t pi d i ( x p ) )
(17)
i=0
2
Finalmente o valor esperado do erro quadrtico E { e ( x p ) } pode ser estimado pela mdia dos
erros quadrticos de todos os exemplos do conjunto de treino T .
1
Erro quadrtico mdio: EQM = --n
1
e ( x p ) = --n
2
p=1
( t pi d i ( x p ) )
(18)
p = 1i = 0
Utilizamos outra vez a filosofia da descida de gradiente (15) e o Algoritmo 1 para adaptar os
pesos. Desta vez porm, temos que adaptar pesos que dependem no-linearmente do gradiente
de erro. Na adaptao dos pesos da camada escondida para a camada de sada W i = [ w ih ]
ainda podemos usar a regra de delta. Para a adaptao dos pesos da entrada para a camada
escondida W h = [ w hj ] temos que usar a regra de delta generalizada.
Vamos considerar unicamente a aprendizagem orientada a cada exemplo x p . Resta ento
calcular o gradiente em relao aos pesos da camada escondida para a camada de sada
E ih = E w ih e o gradiente em relao aos pesos da entrada para a camada escondida
E hj = E w hj . Usamos as seguintes abreviaes:
e i = t pi d i ( x p )
H
d i ( x p ) = g i = g ( i ) = g w ih g h = g w ih g ( h ) = g w ih g w hj x j
h = 0
j = 0
h = 0
h = 0
i = 0 ( xi yi )
dim
= ( i = 1 ( t i g i ) ) w ih =
2
i = 1 ( t i gi )
c
w ih =
= 2 i = 1 ( t i g i ) ( g i w ih ) = 2 ( t i g i ) ( g i w ih ) = 2e i g i w ih
c
= 2e i [ g i ( 1 g i ) ( i w ih ) ] = 2e i [ g i ( 1 g i )g h ] = 2 i g h
onde a quantidade i = e i g' i = e i ( g i ( 1 g i ) ) foi definida como o delta da camada de sada.
Entrada para camada escondida: Regra de delta generalizada:
E hj = E w hj = e w hj = ( i = 1 e i ) w hj = ( i = 1 ( t i g i ) ) w hj
2
Fica clara que os deltas da camadas anteriores so propagadas para trs, assim justificando o
nome retropropagao de erro (error backpropagation).
A rede neural artificial do perceptron multi-camada um instrumento poderoso de realizar
aproximaes universais de funes a partir de um conjunto de dados de treino. Existem
muitos campos de aplicao que permitem mapear o problema para uma rede e adaptar os
pesos pelos dados de treino especificados.
Uma desvantagem do perceptron multi-camada o tempo de treino extenso. Em um problema
complexo pode-se levar vrias semanas at se obter um conjunto de pesos adequados. A
escolha da taxa de aprendizagem desempenha tambm um papel fundamental. Como j foi dito
existe a possibilidade de que a funo de erro fique presa em um mnimo local. Existem
heursticas para tentar resolver esse problema (fora do mbito desse texto). Paralisia do treino
um fenmeno que acontece quando a magnitude dos pesos grande. A derivada da funo
sigmoidal (2) fica muito pequena nesse caso, o que causa que a modificao dos pesos
praticamente desaparece.
(19)
rede tem que responder nas sadas com o estado x ( t ) = x p quando esse mesmo estado for
apresentado inicialmente rede, i.e. x ( 0 ) = x p . A resposta deveria ser tambm o padro
memorizado, mesmo se o estmulo inicial somente for parecido1 com um dos padres
memorizados, i.e. x ( 0 ) x p . Dessa capacidade de recuperar informao memorizada, mesmo
com informao inicial incompleta, corrompida ou parcialmente errada deriva-se a ambio
desse tipo de rede, nomeadamente de ser uma memria associativa que capaz de imitar as
capacidades do ser humano.
o estado calculado pela rede segundo (19) teria que ficar inalterado para
x i ( t + t ) = sgn ( j = 0 x i ( t ) x j ( t ) x j ( t ) ) = sgn ( j = 0 x i ( t ) 1 )
D
= sgn ( D x i ( t ) ) = x i ( t )
Normalizando pelo nmero dos neurnios presentes na rede (e ignorando o ndice t do tempo)
pode-se definir a:
1
Regra de aprendizagem para o peso w ij para um padro: w ij = ---- x i x j
H
(20)
Uma rede treinada por essa regra vai recuperar o padro ensinado x mesmo quando a metade
(menos 1) das entradas esteja diferente do padro. Um estmulo inicial parecido com x
rapidamente relaxa para x .
No caso de n padres diferentes a extenso bvia da regra (20) a superposio do peso para
todos os padres. Observa-se que a regra de aprendizagem de Hebb (4) foi aplicada em (20),
dando o nome regra de aprendizagem para o peso w ij para n padres.
1 n
Regra de Hebb, Regra de Hebb Generalizada: w ij = ---- p = 0 x pi x pj
H
(21)
i = 0 [ x pi ( 1 xqi ) + ( 1 x pi )xqi ]
H
introduo de uma
H
1
Funo de Energia: H = ---
2
wij xi x j
(22)
i=0j=0
garante que a rede sempre relaxa para um estado estvel. Isso acontece porque com os pesos
simtricos a energia obrigatoriamente tem que diminuir em cada passo de relaxamento. Para
uma prova desse fato veja [Hertz et al., 1991].
Vale a pena ainda ser mencionada que a rede relaxa para estados que no s so os padres
memorizados. Existem estados reversos e estados esprios. Veja tambm [Hertz et al., 1991]
para a definio desses efeitos colaterais no desejveis na recuperao de informao na rede
de Hopfield.
x1
x3
x4
Padres
memorizados
Relaxao
Estmulo
inicial
x(0)
Energia H
x ( t final )
Resposta
final
Tempo t
uma imagem inicial rede, i.e. inicializar o estado x ( 0 ) com a imagem inicial. Espera-se
ento que a rede relaxe para uma das imagens guardadas que seja a mais parecida com a
imagem inicial. Assim, permite-se relembrar de uma imagem completa, mesmo que a imagem
inicial seja apenas uma verso parcialmente errada ou incompleta da imagem memorizada.
V. REDES COMPETITIVAS
Consideremos o caso de aprendizagem no-supervisionada, em que a nica informao
n
neurnio vencedor i o nico que tem o direito de emitir um sinal de sada que seja 1 , i.e.
y * = 1 (vencedor-pega-tudo ou winner takes all). Todos os outros neurnio ficam inativos,
i
i.e. y i = 0 , para i i .
Sadas
y1
y2
y4
y3
EM CASO DE RELAO
TOPOLGICA:
Interao
lateral com
vizinho em termos
de topologia
yi
wi
Camada competitiva
(Camada de Kohonen)
w ij
xj
x1
x2
x3
Entrada x
Figura 14 - Rede Competitiva. A nica sada que emite um sinal y * = 1 aquela do neurnio i , o
i
(23)
ou equivalentemente pelo menor ngulo i entre peso e sinal de entrada, veja Figura 15 a.
x2 w2
w1
w1
x2 w2
1
Distncia
Euclidiana
1
2
w2
w2
w1
0
x1
w1
x1
1
b.)
a.)
A segunda opo para determinar a maior semelhana entre a entrada x e o peso w i medir a
distncia Euclidiana entre os dois vetores x w i =
j = 0 ( x j wij )
D
. No caso em que os
dois vetores no estejam normalizados como na Figura 15 b, essa conveno toma melhor em
considerao o comprimento dos vetores e no o ngulo entre eles.
direo aos estmulos, i.e. na direo do vetor w * pertencendo ao neurnio vencedor i , i.e.
i
Como as sadas dos neurnios no-vencedoras so nulos para i i , pode-se juntar a regra
para todos os pesos, obtendo (6):
(l + 1)
(l)
(l)
= w ij + y pi ( x pj w ij )
(24)
Entrada
...
w2
w1
...
w2
...
wi
...
wi
...
...
a.)
b.)
Figura 16- Mapa auto-organizvel de Kohonen de duas dimenses: a.) Topologia retangular. Cada
neurnio tem quatro vizinhos imediatos. b.) Topologia hexagonal. Cada neurnio tem seis vizinhos
imediatos.
Na Figura 16 mostra-se uma organizao topolgica dos neurnios (que todos fazem parte da
camada competitiva) em uma estrutura 2-D. Cada neurnio tem 4 ou 6 vizinhos imediatos,
conforme a organizao retangular ou hexagonal das ligaes entre os membros da camada.
Cada neurnio recebe o mesmo estmulo externo x e o vencedor determinado, conforme a
conveno ilustrada na Figura 15. A regra (24) modificada de maneira que se modificam
*
w ij
(l)
(l)
= w ij + h ( i , i ) ( x pj w ij )
(25)
A funo h ( ., . ) deve ter um valor mximo no centro, i.e. no neurnio vencedor e ter um
comportamento decrescente com distncia crescente do centro. Uma funo que satisfaz essas
condies a funo Gaussiana, veja Figura 17. A introduo de h ( ., . ) provoca que, alm do
vencedor, os pesos dos vizinhos do vencedor tambm se atraem em direo do estmulo, mas
em quantidade menor. Se h ( ., . ) for outra funo com valores menor que zero na vizinhana
teramos ligaes inibitrias que em vez de atrair os pesos para o estmulo os afastariam do
estmulo.
h ( ., . )
VI. CONCLUSES
Neste documento deu-se uma breve introduo rea das redes neurais artificiais. A ambio
desse texto a familiarizao com os conceitos bsicos da neurocomputao, neurnio
artificial, topologia da rede, paradigmas de aprendizagem e regras para a adaptao dos pesos.
Ao mesmo tempo tentou-se esclarecer as capacidades e limitaes de uma rede neural
artificial. Desde que seja possvel mapear o problema em considerao para a arquitetura de
uma rede, pode-se esperar a resoluo de problemas cognitivas interessantes. Ao mesmo
tempo tem que ficar claro que a classe de problemas resolveis por uma rede neural artificial
limitada. Basicamente redes neurais artificiais so aproximadores universais de funes. Em
outras reas cientficas existem propostas para a obteno da funo desejada, como por
exemplo na estatstica. A vantagem das redes a aprendizagem por um conjunto de treino,
junto com um carter universal da arquitetura da rede. Isso significa que o projetista de uma
rede no tem que se preocupar muito com parmetros internos da rede. Por exemplo em um
perceptron com uma camada escondida praticamente o nico grau de liberdade o nmero dos
neurnios nessa camada escondida. Mesmo assim esse tipo de rede possui um potencial grande
para ser usado em vrias reas de aplicao. Pode-se concluir que o caminho para um sistema
artificial realmente inteligente provavelmente tenha que ter incorporado alguns dos princpios
de redes neurais artificiais.
BIBLIOGRAFIA
[Anderson, 1995]
Anderson, J. A., An Introduction to Neural Networks, Cambridge, MA: The MIT Press, 1995
[Anderson and Rosenfeld, 1988]
Anderson, J. A. and Rosenfeld E., eds., Neurocomputing: Foundations of Research, Cambridge, MIT
Press, 1988.
[Bishop, 1995]
Bishop, C. M., Neural Networks for Pattern Recognition, Oxford: Oxford University Press, 1995
[Fausett, 1994]
Fausett, L., Fundamentals of Neural Networks: Architectures, Algorithms, and Applications, Englewood
Cliffs, NJ: Prentice Hall, 1994
[Haykin, 1994]
Haykin, S., Neural Networks, a Comprehensive Foundation, Macmillan, New York, NY, 1994
[Hebb, 1949]
Hebb, D. O., The Organization of Behavior. Wiley, New York, 1949, Partially reprinted in [Anderson and
Rosenfeld, 1988]
[Hertz et al., 1991]
Hertz, J., Krogh, A., and Palmer, R., Introduction to the Theory of Neural Computation. Addison-Wesley:
Redwood City, California, 1991
[Hinton, 1992]
Hinton, G.E., How Neural Networks Learn from Experience, Scientific American, 267 (September),
144-151, 1992
[Hopfield, 1982]
Hopfield, J. J., Neural networks and physical systems with emergent collective computational abilities,
Proc. of the National Academy of Sciences, USA, vol. 79, pp. 2554-2558, 1982, Reprinted in [Anderson
and Rosenfeld, 1988]
[Kohonen, 1972]
Kohonen, T., Correlation Matrix Memories, IEEE C-21 (4), pp. 353-359, 1972
[Kohonen, 1990]
Kohonen, T., The self-organizing map, Proc. of the IEEE, vol. 78, no. 9, 1990.
[Masters, 1994]
Masters, T., Practical Neural Network Recipes in C++, Academic Press, 1994
[McCulloch and Pitts, 1943]
McCulloch, W. S., and Pitts, W., A logical calculus of the ideas immanent in nervous activity, Bulletin of
Mathematical Biophysics, vol. 5, pp. 115-133, 1943, Reprinted in [Anderson and Rosenfeld, 1988]
[Minsky and Papert, 1969]
Minsky, M., Papert S., Perceptrons, The MIT Press, Cambridge, MA, 1969.
[Ripley, 1996]
Ripley, B.D., Pattern Recognition and Neural Networks, Cambridge: Cambridge University Press, 1996
[Rosenblatt, 1958]
Rosenblatt, F., The perceptron: A probabilistic model for information storage and organization in the
brain, Psychological Review, vol. 65, pp. 386-408, 1958.
[Rumelhart et al., 1986]
Rumelhart, D. E., Hinton, G. E., and Williams, R. J., Learning internal representations by error
propagation, in Rumelhart, D. E., and McClelland, J. L. (eds.), Parallel Distributed Processing:
Explorations in the Microstructure of Cognition I, pp. 318-362, MIT Press, Cambridge MA, 1986.
[Widrow and Hoff, 1960]
B. Widrow, and M. E. Hoff, Adaptive switching circuits, in 1960 WESCON Convention Record, New
York, 1960.