Escolar Documentos
Profissional Documentos
Cultura Documentos
Rna C4 PDF
Rna C4 PDF
Captulo 4
Multilayer Perceptrons
As redes Multilayer Perceptron (MLPs) tm sido aplicadas com sucesso em uma
variedade de reas, desempenhando tarefas tais como: classificao de padres
(reconhecimento), controle e processamento de sinais.
Uma RNA do tipo MLP constituda por um conjunto de ns fonte, os quais
formam a camada de entrada da rede (input layer), uma ou mais camadas escondidas
(hidden layers) e uma camada de sada (output layer). Com exceo da camada de entrada,
todas as outras camadas so constitudas por neurnios e, portanto, apresentam capacidade
computacional. O MLP uma generalizao do Perceptron que estudamos no Captulo 3.
A Figura 4.1 mostra a arquitetura de uma rede neural MLP com uma camada de
entrada, 2 camadas escondidas e uma camada de sada.
Figura 4.1: Arquitetura de uma rede neural multilayer perceptron com duas camadas
escondidas.
2.
II
III A especificao dos pesos sinpticos que interconectam os neurnios nas diferentes
camadas da rede.
1
1 + exp v j
(4.1)
2.
Figura 4.2: Ilustrao das direes dos dois fluxos bsicos de sinal em uma rede multilayer
perceptron: propagao direta dos sinais e retro-propagao dos sinais de erro.
Cada neurnio de cada camada escondida ou da camada de sada de uma RNA MLP
desempenha duas operaes computacionais:
1. A computao do sinal funcional na sada de cada neurnio, o qual
expresso como uma funo contnua no-linear do sinal funcional de
entrada e dos pesos sinpticos associados com aquele neurnio.
2. A computao de uma estimativa do vetor gradiente (isto , os
gradientes da superfcie de erro com respeito aos pesos conectados
s entradas de um neurnio), clculo este que necessrio para o
passo reverso atravs da rede MLP.
(4.2)
1 2
e j (n) .
2
1 2
e (n) sobre todos os neurnios da camada de sada. Estes so os nicos
2 j
neurnios visveis para os quais os sinais de erro podem ser calculados de forma direta. A
soma instantnea dos erros quadrticos na camada de sada do MLP ento escrita como
(n ) =
1
2
e j (n )
2 jC
(4.3)
onde o conjunto C inclui todos os neurnios na camada de sada. Seja N o nmero total de
padres (vetores-exemplo) contidos no conjunto de treino. O erro mdio quadrtico (MSE)
obtido somando (n ) sobre todo n e ento normalizando com respeito ao tamanho N do
conjunto de treino, conforme
av =
1 N 1
(n)
N 1 n =0
(4.4)
individuais nos pesos sobre o conjunto de treino portanto uma estimativa da verdadeira
alterao que resultaria a partir da alterao de pesos baseada na minimizao da funo
custo av sobre todo conjunto de treino.
Considere a Figura 4.3, a qual descreve o neurnio j sendo alimentado por um
conjunto de sinais produzidos na sada dos neurnios da camada sua esquerda.
v j (n ) = w ji (n )yi (n )
(4.5)
i =0
10
y j (n) = j v j (n)
(4.6)
J (w(n )) 12 e 2 (n )
o gradiente local
=
w(n )
w(n )
(w) .
11
w ji (n ) = w ji (n + 1) w ji (n ) =
(n )
w ji (n )
(4.7)
(4.8)
, neurnio j de sada
j v j (n ) e j (n )
j (n ) =
j v j (n ) k (n )wkj (n ) , neurnio j escondido
(4.9a)
(4.9b)
12
Figura 4.4: Grafo de fluxo de sinal mostrando os detalhes do neurnio de sada k comectado
ao neurnio escondido j.
O fator j (v j (n )) envolvido na computao do gradiente local j (n ) na equao
(4.9b) depende somente da funo de ativao associada com o neurnio escondido j. Os
demais fatores envolvidos no somatrio sobre k em (4.9b) dependem de dois conjuntos de
termos. O primeiro, k (n ), requer conhecimento dos sinais de erro e k (n ) recursivamente
retro-propagados, conforme veremos adiante, a partir de todos aqueles neurnios
localizados na camada imediatamente direita do neurnio escondido j e que esto
13
diretamente conectados a ele (ver Figura 4.4). O segundo conjunto de termos, wkj (n ) ,
consiste dos pesos sinpticos dos neurnios direita do neurnio j e que com ele
estabelecem conexo.
Figura 4.5: Grafo de fluxo de sinal mostrando o processo de retro-propagao dos sinais de
erro na camada de sada para um neurnio j da camada escondida imediatamente
esquerda. mL o nmero de neurnios da camada de sada.
14
(4.10)
v j (n ) = w ji (n )yi (n )
(4.11)
i =0
yi (n) = xi (n)
(4.12)
onde xi (n ) o i-simo componente do vetor de entrada do neurnio j. Se, por outro lado, o
neurnio j est na camada de sada, o ndice j refere-se ao j-simo n de sada do MLP,
para o qual escreve-se
y j (n) = o j (n)
(4.13)
15
Este processo recursivo de determinao dos gradientes locais permite que sejam
executadas correes nos pesos sinpticos do MLP de acordo com a Regra Delta (Equao
(4.8)).
Para um neurnio localizado na camada de sada, o gradiente local simplesmente o
sinal de erro daquele neurnio multiplicado pela primeira derivada de sua no-linearidade
(equao (4.9a)).
A partir do gradiente local de cada neurnio da camada de sada, usa-se a equao
(4.8) para computar as mudanas em todas as sinapses (conexes) que alimentam a camada
de sada.
Obtidos os gradientes locais para os neurnios da camada de sada, usa-se a equao
(4.9b) para computar o gradiente local de cada neurnio na camada esquerda.
A partir do gradiente local de cada neurnio da camada esquerda, usa-se a equao
(4.8) para computar as mudanas em todas as sinapses (conexes) que alimentam esta
camada.
Este procedimento continuado recursivamente, propagando correes nos pesos
sinpticos camada por camada, at a camada de entrada.
Note que durante cada ciclo passo direto - passo reverso ao longo da apresentao
do conjunto de treino ao MLP, o vetor de entrada para aquele ciclo mantido fixo.
16
a) Funo Logstica:
Esta forma de no-linearidade sigmoidal definida por:
j (v j (n )) =
1
, a > 0 e - < v j (n ) <
1 + exp( av j (n ))
(4.14)
(v ) =
d
d
a exp(-av )
1
(v ) =
=
=
dv
dv 1 + exp( av ) [1 + exp(-av )]2
(4.15)
= a 2 (v )
1 = a (v )(1 (v ))
(v )
e como y j (n ) = (v j (n )),
(v j (n )) =
d
(v j (n )) = a y j (n )1 y j (n )
dv
(4.16)
Note na Equao (4.16) que a derivada atinge valor mximo em y j (n ) = 0.5 , e seu
valor mnimo (= zero) em y j (n ) = 0 , ou y j (n ) = 1.0 .
J que a quantidade de mudana em um peso sinptico do MLP proporcional
derivada, segue que, para uma funo de ativao sigmoidal, os pesos sinpticos sofrem a
maior alterao para aqueles neurnios no MLP onde os sinais assumem valores no meio de
seu intervalo de variao. Esta uma caracterstica que contribui para a estabilidade do
algoritmo de aprendizagem.
17
1 exp( 2bv j (n ))
j (v j (n )) = a tanh (bv j (n )) = a
, a, b > 0
1 + exp( 2bv j (n ))
(4.17)
(v ) =
d
d
(v ) = a tanh (bv ) = ab sech 2 (bv) = ab 1 tanh 2 (bv ) =
dv
dv
a tanh (bv ) 2
(a tanh (bv ))2
= ab 1
= ab1
a
a2
(4.18)
2 (v )
= ab1 2 =
y2
a2 y2 b 2
b
= a y 2 = (a + y )(a y )
= ab1 2 = ab
2
a
a
a
a
Portanto
(v j (n )) =
d
b
(v j (n )) = (a + y j (n ))(a y j (n ))
dv
a
(4.19)
A Figura 4.6 mostra o grfico da funo tangente hiperblica e de sua derivada para
a = 1.7159 e b = 2 3 .
18
19
Se, por outro lado, a razo de aprendizado feita grande, de modo a acelerar a
convergncia do algoritmo, as correes feitas nos pesos sinpticos podem resultar
demasiadamente grandes, de modo que o algoritmo se torna instvel (oscilatrio).
Um mtodo simples utilizado para acelerar a convergncia e manter a trajetria
estvel o acrscimo do chamado Fator de Momento Regra Delta (mostrada na Equao
4.7). Assim, teremos
w ji (n ) = w ji (n 1) + j (n )y i (n )
(4.20)
onde a constante denominada de Constante de Momento com 0 < < 1. Seu efeito
aumentar a velocidade da trajetria no espao de pesos na direo da descida mais ngreme.
Da equao (4.20) nota-se que se a correo aplicada em determinado peso
sinptico mantm o mesmo sinal algbrico durante vrias iteraes consecutivas, situao
que ocorre quando a trajetria na superfcie de erro desenrola-se ao longo de um caminho
em descida ngreme, a correo do peso sinptico acelerada pelo fator de momento, j
que, sendo o caminho uma descida ngreme, o mnimo deve estar longe ainda. Um eventual
mnimo local encontrado ao longo desta descida acelerada pode, ento, ser facilmente
transpassado. Isto ocorre porque, imaginando que a trajetria das coordenadas do vetor de
pesos sinpticos W
massa descendo uma ladeira irregular (i.e., com vrios mnimos locais), em conseqncia
do alto momento de inrcia (energia cintica) do mvel devido sua massa, as
irregularidades (mnimos locais) no conseguem parar o movimento do mvel.
Por outro lado, se a correo aplicada em determinado peso sinptico troca o sinal
algbrico durante vrias iteraes consecutivas, situao esperada ocorrer quando a
trajetria na superfcie de erro desenrola-se ao longo de um caminho prximo ao mnimo
global, a correo do peso sinptico freada pela reduo do valor absoluto mdio do fator
de momento acrescentado, j que um mnimo (provavelmente global) est prximo e uma
alta velocidade poderia desestabilizar o algoritmo em torno do mnimo.
20
m L respectivamente o
(ou
1.
2
1.
6
1. 4
x
24
1 . 5
x
120
...
armazenada
no
conjunto
21
de
sinapses
est
associada
E {x i x j }+ E {x i x j x k }+ E {x i x j x k x l }+ ! onde
x i , x j , ... representam
II - Treinamento:
1- Apresenta-se cada exemplo (vetor de entrada) do conjunto de treino ao MLP. Definindo
como : m1 mL o mapeamento ou processo a ser aprendido pelo MLP, sendo m1 e
m L respectivamente o nmero de ns de entrada e sada do MLP, o conjunto de treino
deve conter uma parcela suficientemente significativa do universo de vetores-exemplo
que descrevem o processo , caso contrrio, aps o treino o MLP no ter condies
de inferir um resultado correto quando a ele for apresentado um vetor de que no
encontrava-se no conjunto de treino. Em outras palavras, o conjunto de treino deve
conter uma parcela suficientemente significativa do universo de vetores-exemplo que
descrevem o processo para no prejudicar a capacidade de generalizao do MLP.
2- Para cada exemplo executa-se completamente um ciclo passo direto - passo reverso,
mantendo-se o vetor de entrada aplicado entrada do MLP.
3- O final da apresentao de todos os exemplos do conjunto de treino define uma poca .
A cada determinado nmero de pocas em que for observado uma significativa queda
no MSE, aumenta-se o momento e/ou a razo de aprendizado .
4- Prossegue-se o treino do MLP de poca em poca, eventualmente ajustando e ,
at que se atinja o Critrio de Parada.
23
(n )
da
w ji (n )
superfcie de erro (w) relativo ao peso sinptico. Em ltima anlise, o gradiente local
(n )
representa a variao resultante (w) no erro quadrtico instantneo (w) do
w ji (n )
MLP quando aplicada uma pequena variao ao peso sinptico que liga a sada do
neurnio i ao i-simo n de entrada do neurnio j.
24
(n )
w ji (n )
(n ) (n ) e j (n ) y j (n ) v j (n )
=
w ji (n ) e j (n ) y j (n ) v j (n ) w ji (n )
(4.21)
De (4.3) temos
(n ) =
1 mL 1 2
1 2
2
2
2
e j (n ) = e0 (n ) + e1 (n ) + ! + e j (n ) + ! + emL 1 (n )
2 j =0
2
(4.22)
(n ) 1
2
2
2
2
e0 (n ) + e1 (n ) + ! + e j (n ) + ! + emL 1 (n ) = e j (n )
=
e j (n ) 2 e j (n )
(4.23)
e j (n )
y j (n )
= 1
(4.24)
y j (n )
v j (n )
= j (v j (n ))
(4.25)
v j (n ) = w ji (n )yi (n ) =
i =0
! + w ji (n )yi (n ) + ! + w jm (n )y m (n )
m
25
(4.26)
= yi (n )
w ji (n ) w ji (n ) ! + w ji (n )yi (n ) + ! + w jm (n )y m (n )
v j (n )
(4.27)
(n ) (n ) e j (n ) y j (n ) v j (n )
=
= e j (n )( 1) j (v j (n ))yi (n )
w ji (n ) e j (n ) y j (n ) v j (n ) w ji (n )
(4.28)
w ji (n ) = w ji (n + 1) w ji (n ) = e j (n ) j (v j (n ))yi (n )
(4.29)
(n ) e j (n ) y j (n )
= e j (n )( 1) j (v j (n ))
e j (n ) y j (n ) v j (n )
(4.30)
(n ) e j (n ) y j (n )
= e j (n ) j (v j (n ))
e j (n ) y j (n ) v j (n )
(4.31)
isto
j (n ) =
(n )
= e j (n ) j (v j (n ))
v j (n )
(4.32)
w ji (n ) = w ji (n + 1) w ji (n ) = j (n )yi (n )
Observe que (4.33) a Equao (4.8).
26
(4.33)
j (n ) =
(n )
(n ) y j (n )
(n )
= e j (n ) j (v j (n )) =
=
j (v j (n ))
v j (n )
y j (n ) v j (n )
y j (n )
(4.34)
1 mL 1 2
1
2
(n ) = ek (n ) = ek (n )
2 k =0
2 k
(4.35)
e (n )
(n ) 1
2
=
ek (n ) = ek (n ) k
y j (n ) 2 y j (n ) k
y j (n )
k
(4.36)
e (n )
e (n ) vk
(n )
= ek (n ) k
= ek (n ) k
y j (n ) k
y j (n ) k
vk y j (n )
Mas, da Figura 4.4 temos para o neurnio k na camada de sada
27
(4.37)
ek (n ) = d k (n ) y k (n ) = d k (n ) k (vk (n ))
(4.38)
(4.39)
vk (n ) = wkj (n )y j (n ) =
j =0
! + wkj (n )y j (n ) + ! + wkm (n )y m (n )
(4.40)
vk (n )
wk 0 (n )y0 (n ) + wk 1 (n )y1 (n ) + !
=
= wkj (n )
y j (n ) y j (n ) ! + wkj (n )y j (n ) + ! + wkm (n )y m (n )
(4.41)
e (n ) vk
(n )
= ek (n ) k
= ek (n ) k (vk (n ))wkj (n )
y j (n ) k
vk y j (n )
k
(4.42)
k (n ) = ek (n ) k (vk (n ))
(4.43)
(n )
= k (n )wkj (n )
y j (n )
k
(4.44)
j (n ) =
(n )
(n )
=
j (v j (n )) = j (v j (n )) k (n )wkj (n )
v j (n )
y j (n )
k
28
(4.45)
29