Professional Documents
Culture Documents
exp 1
1 (4.1)
onde
j
v o potencial de ativao (isto , a soma ponderada de todas as entradas
sinpticas mais a polarizao) do neurnio j, e
j
y a sada do neurnio.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
5
2. O MLP contm uma ou mais camadas de neurnios escondidos que no so parte da
camada de entrada ou da camada de sada da rede. Estes neurnios escondidos
possibilitam que a rede aprenda tarefas complexas, extraindo progressivamente mais
caractersticas significativas dos padres de entrada (vetores de entrada).
3. A rede MLP exibe um alto grau de conectividade, determinado pelas sinapses da rede.
Uma mudana na conectividade da rede requer uma mudana na populao de conexes
sinpticas, ou pesos sinpticos.
Estas mesmas caractersticas, entretanto, so tambm responsveis pelas
dificuldades encontradas na anlise de tais redes. Por exemplo, a presena das
no-linearidades distribudas e a alta conectividade tornam difcil a anlise terica das
redes MLPs. Em uma rede MLP, o conhecimento aprendido sobre o ambiente
representado pelos valores assumidos pelos pesos sinpticos da rede. A natureza distribuda
deste conhecimento ao longo da rede a torna de difcil interpretao. Alm disso, o uso de
neurnios escondidos torna o processo de aprendizado mais difcil de ser "visualizado" na
estrutura da rede.
Observe, na Figura 4.1 que o sinal flui atravs da rede MLP no sentido direto, da
esquerda para a direita e de camada a camada. A Figura 4.2 apresenta um detalhe parcial de
uma rede MLP. Dois tipos de sinais so identificados nesta rede:
1. Sinais funcionais: So estmulos que chegam aos ns de entrada da rede, se
propagam de forma direta (neurnio a neurnio) atravs da rede e emergem da
camada de sada da rede como sinais de sada. Cada neurnio de um MLP tem
aplicado s suas entradas um conjunto de sinais funcionais que gera um sinal
funcional na sada do respectivo neurnio . Na camada de entrada de um MLP o
conjunto de sinais funcionais aplicado a cada neurnio o prprio conjunto de
sinais de entrada (vetor de entrada). A denominao sinal funcional decorre do
fato de que estes sinais so obtidos na sada de cada neurnio como uma funo
dos sinais de entrada do respectivo neurnio.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
6
2. Sinais de Erro: Um sinal de erro se origina em um neurnio de sada da rede
MLP e se propaga de volta (camada a camada) atravs da rede. Este sinal
referido como sinal de erro porque seu clculo, a cada neurnio da rede, envolve
algum tipo de funo de erro.
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.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
7
4.1 O Algoritmo Backpropagation
Assim como o algoritmo LMS considerado o mais renomado dos algoritmos
utilizados em filtragem linear adaptativa, o algoritmo backpropagation foi estabelecido
como o mais popular algoritmo utilizado no contexto do aprendizado de RNAs MLP.
A popularidade do algoritmo backpropagation resulta de sua relativa simplicidade
de implementao e do fato de ser um poderoso dispositivo para armazenar o contedo de
informao (adquirido pela rede MLP a partir do conjunto de dados) nos pesos sinpticos
da rede.
Na medida em que o conjunto de dados usado para treinar uma RNA MLP seja
grande o suficiente para ser representativo do ambiente no qual a rede est inserida, a rede
MLP treinada atravs do algoritmo backpropagation desenvolver a capacidade de
generalizar. Especificamente, esta capacidade permite rede MLP apresentar um
desempenho satisfatrio quando alimentada com dados de teste retirados do mesmo
espao de entrada que os dados de treino, mas no previamente apresentados ao MLP.
Antes de passarmos descrio do algoritmo backpropagation, conveniente
fazermos algumas consideraes quanto notao que ser utilizada:
! Os ndices i, j e k se referem a diferentes neurnios no MLP. Os sinais
funcionais se propagam atravs da rede, da esquerda para a direita, sendo
que o neurnio j est na camada direita do neurnio i, e o neurnio k est
na camada direita do neurnio j, quando o neurnio j uma unidade
escondida.
! Na iterao n, o n-simo padro de treino (vetor-exemplo) apresentado
ao MLP.
! O smbolo ( ) n se refere soma instantnea dos erros quadrticos nos ns
de sada do MLP (ou energia do erro) na iterao n. A mdia de ( ) n sobre
todos os valores de n (isto , o conjunto de treino inteiro) representa a
energia mdia do erro
av
.
! O smbolo ( ) n e
j
se refere ao sinal de erro na sada do neurnio j para a
iterao n.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
8
! O smbolo ( ) n d
j
se refere resposta desejada para o neurnio j e usado
para computar ( ) n e
j
.
! O smbolo ( ) n y
j
se refere ao sinal funcional encontrado na sada do
neurnio j, na iterao n.
! O smbolo ( ) n w
ji
denota o peso sinptico que conecta a sada do neurnio
i entrada do neurnio j, na iterao n. A correo aplicada a este peso na
iterao n denotada por ( ) n w
ji
.
! O potencial de ativao (isto , a soma ponderada de todas as entradas
sinpticas mais a polarizao) do neurnio j na iterao n denotado por
( ) n v
j
e constitui o sinal aplicado funo de ativao associada ao
neurnio j.
! A funo de ativao que descreve a relao funcional entrada-sada da
no-linearidade associada ao neurnio j denotada por ( )
j
.
!
A polarizao aplicada ao neurnio j denotada por
j
b ; seu efeito
representado por uma sinapse de peso
0 j j
b w conectada a uma entrada
fixa igual a (+1). Alternativamente, a polarizao pode ser gerada por uma
sinapse de peso
j j
w
0
conectada a uma entrada de valor fixo e igual a
(1), quando recebe o nome de threshold. A nvel de operao do MLP,
para todos os fins prticos as duas alternativas apresentam os mesmos
resultados. Neste estudo consideraremos apenas o nome genrico
polarizao, a qual pode ser originada de um valor fixo positivo (+1) ou
negativo (-1).
! O i-simo componente do vetor de entrada do MLP denotado por ( ) n x
i
.
! O k-simo componente do vetor de sada do MLP denotado por ( ) n o
k
.
! O parmetro razo de aprendizado denotado por .
Tendo estabelecido a notao, inicialmente apenas descreveremos as equaes de
definio do algoritmo backpropagation e sua forma de operao. Posteriormente,
deduziremos as equaes que regem sua operao.
Seja o sinal de erro na sada do neurnio j da camada de sada na iterao n (isto ,
na apresentao do n-simo vetor de treinamento) definido por
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
9
( ) ( ) ( ) e n d n y n
j j j
(4.2)
Define-se o valor instantneo do erro quadrtico para o neurnio j como ( )
1
2
2
e n
j
.
Correspondentemente, o valor instantneo da soma dos erros quadrticos ( ) n
obtida somando ( )
1
2
2
e n
j
sobre todos os neurnios da camada de sada. Estes so os nicos
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
( ) ( )
2
1
2
C j
j
n e n
(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
) (
1
0
1
1
N
n
av
n
N
(4.4)
O valor instantneo da soma dos erros quadrticos ( ) n ,e portanto o MSE denotado
por
av
, funo de todos os parmetros livres (isto , pesos sinpticos e nveis de
polarizao) do MLP. Para um dado conjunto de treino,
av
representa a Funo de Custo
do processo de minimizao do erro de aprendizado, constituindo uma medida inversa do
desempenho do processo de aprendizado a partir do conjunto de treino. Para minimizar
av
os pesos sinpticos so atualizados a cada apresentao n de um novo padro ao MLP
atravs do vetor de entrada at o trmino de uma poca. Uma poca consiste no intervalo
correspondente apresentao de todos os N vetores-exemplo do conjunto de treino
camada de entrada do MLP. O ajuste dos pesos feito de acordo com os respectivos erros
computados para cada padro apresentado ao MLP. A mdia aritmtica destas alteraes
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
10
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.
Figura 4.3: Grafo de fluxo de sinal no neurnio j.
O potencial de ativao ( ) n v
j
aplicado na entrada da no-linearidade associada ao
neurnio j , portanto
( ) ( ) ( )
m
i
i ji j
n y n w n v
0
(4.5)
onde m o nmero total de entradas (excluindo a polarizao) aplicadas ao neurnio j. O
peso sinptico w
j0
(correspondente entrada fixa y
0
= -1 ) define a polarizao
j
aplicada
ao neurnio j. ( ) n w
ji
o peso sinptico conectando a sada do neurnio i ao neurnio j e
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
11
( ) n y
i
o sinal no i-simo n de entrada do neurnio j, ou equivalentemente, o sinal na
sada do neurnio i. Portanto o sinal ( ) n y
j
resultante na sada do neurnio j na iterao n :
( ) ( ) ( )
y n v n
j j j
(4.6)
De maneira similar ao algoritmo LMS, o algoritmo backpropagation aplica a
correo ( ) n w
ji
ao peso sinptico ( ) n w
ji
, tendo como base a direo contrria do
gradiente local da superfcie de erro ( ) w relativo ao peso sinptico.
Se, para uma dada variao no peso sinptico, o algoritmo movimenta-se em uma
trajetria ascendente na superfcie ( ) w , ento significa que esta variao deve ser aplicada
com o sinal invertido sobre o peso sinptico, j que houve um aumento do erro, e
objetiva-se uma diminuio do erro.
Por outro lado, se para uma dada variao no peso sinptico o algoritmo
movimenta-se em uma trajetria descendente na superfcie ( ) w , ento significa que esta
variao deve ser aplicada com o sinal positivo sobre o peso sinptico, j que houve uma
diminuio do erro e, portanto, o movimento deve ser encorajado naquela direo.
Este mtodo de correo dos pesos sinpticos denominado de Regra Delta. No
algoritmo LMS, estudado em captulo anterior, a Regra Delta definida pela j conhecida
expresso ( ) ( ) ( ) n w n w J , onde ( ) ( )
( ) ( )
( )
( ) { }
( ) n w
n e
n w
n w
n w
2
2
1
J
J o gradiente local
da superfcie de erro gerada pela funo de custo ( ) ( ) ( ) n e n w
2
2
1
J J a ser minimizada no
instante n.
No caso do MLP, o gradiente local da superfcie de erro ( ) w relativo ao peso
sinptico
ji
w representa, portanto, um fator de sensibilidade, determinando a direo de
movimento no espao de pesos sinpticos para o valor do peso sinptico
ji
w que minimiza
( ) w .
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
12
A correo ( ) n w
ji
aplicada a ( ) n w
ji
, ditada pela Regra Delta, definida por
( ) ( ) ( )
( )
( )
1
n w
n
n w n w n w
ji
ji ji ji
+
(4.7)
onde a constante que determina a razo de aprendizado do algoritmo backpropagation.
O uso do sinal negativo em (4.7) impe a movimentao contrria direo apontada pelo
gradiente na superfcie de erro definida no espao de pesos sinpticos.
O algoritmo backpropagation estabelece (ver Seo 4.1.5 para a demonstrao das
equaes que seguem) o aprendizado de um MLP atravs da Regra Delta como sendo a
correo efetuada em suas sinapses atravs de
( ) ( ) ( ) n y n n w
i j ji
(4.8)
onde ( ) n w
ji
a correo aplicada i-sima sinapse do neurnio j, ( ) n y
i
o sinal de
entrada no i-simo n de entrada do neurnio j (= sinal na sada do neurnio i, pertencente
camada esquerda da que pertence o neurnio j, se este no estiver na primeira camada
escondida se o neurnio j estiver na primeira camada escondida ento ( ) n y
i
corresponde
ao i-simo n de entrada ( ) n x
i
do MLP) e ( ) n
j
o gradiente local do neurnio j, definido
por
(4.9a)
( )
( ) ( ) ( )
( ) ( ) ( ) ( )
'
n
kj
k
k j j
j j j
j
w n n v
n e n v
n
, neurnio j de sada
, neurnio j escondido (4.9b)
De acordo com (4.9a) o gradiente local ( ) n
j
para o neurnio de sada j igual ao
produto do correspondente sinal de erro ( ) n e
j
pela derivada ( ) ( ) n v
j j
da funo de
ativao associada. Neste caso o fator chave necessrio envolvido no clculo do ajuste dos
pesos ( ) n w
ji
o sinal de erro ( ) n e
j
na sada do neurnio j.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
13
Quando o neurnio j est localizado em uma camada escondida, conforme mostra a
Figura 4.4, mesmo no sendo diretamente acessveis, tais neurnios dividem a
responsabilidade pelo erro resultante na camada de sada. A questo, no entanto, saber
como penalizar ou recompensar os pesos sinpticos de tais neurnios pela sua parcela de
responsabilidade, j que no existe resposta desejada especificada neste local do MLP e,
portanto, no h como calcular o sinal de erro.
A soluo, dada pela equao (4.9b), computar o sinal de erro recursivamente para
o neurnio escondido j retro-propagando os sinais de erro de todos os neurnios direita do
neurnio j aos quais a sada deste encontra-se conectado.
Figura 4.4: Grafo de fluxo de sinal mostrando os detalhes do neurnio de sada k comectado
ao neurnio escondido j.
O fator ( ) ( ) n v
j j
envolvido na computao do gradiente local ( ) n
j
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, ( ) n
k
, requer conhecimento dos sinais de erro ( ) n e
k
recursivamente
retro-propagados, conforme veremos adiante, a partir de todos aqueles neurnios
localizados na camada imediatamente direita do neurnio escondido j e que esto
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
14
diretamente conectados a ele (ver Figura 4.4). O segundo conjunto de termos, ( ) n w
kj
,
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. m
L
o nmero de neurnios da camada de sada.
4.1.1 Os Dois Passos Computacionais do
Algoritmo Backpropagation
Na aplicao do algoritmo backpropagation, dois passos computacionais distintos
podem ser identificados, um passo direto e um passo reverso.
No passo direto (forward pass) os pesos sinpticos permanecem inalterados em todo
MLP e os sinais so propagados da entrada da rede para a sada, de neurnio a neurnio.
O sinal que resulta na sada do neurnio j computado por
( ) ( ) ( ) n v n y
j j
(4.10)
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
15
onde ( ) n v
j
o potencial de ativao do neurnio j, definido por
( ) ( ) ( )
0
m
i
i ji j
n y n w n v
(4.11)
sendo m o nmero total de entradas (excluindo a polarizao) aplicadas ao neurnio j,
( ) n w
ji
o peso sinptico conectando a sada do neurnio i ao neurnio j e ( ) n y
i
o sinal
de entrada do neurnio j, ou equivalentemente, o sinal na sada do neurnio i. Se o neurnio
j est na primeira camada escondida do MLP, ento o ndice i refere-se ao i-simo n de
entrada do MLP, para o qual escreve-se
( ) ( ) y n x n
i i
(4.12)
onde ( ) n x
i
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 n o n
j j
(4.13)
sendo ( ) n o
j
o j-simo componente do vetor de sada.
Esta sada comparada com a resposta desejada ( ) n d
j
sendo obtido o sinal de erro
( ) n e
j
para o j-simo neurnio de sada.
Portanto, o passo direto comea na primeira camada escondida pela apresentao do
vetor de entrada a ela e termina na camada de sada com a determinao do sinal de erro
para cada neurnio desta camada.
O passo reverso (backward pass) comea na camada de sada, propagando os sinais
de erro na direo contrria atravs do MLP (de volta para a entrada retro-propagando),
de camada em camada, e recursivamente computando os gradientes locais para cada
neurnio.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
16
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.
4.1.2 A Derivada da Funo de Ativao
A determinao do gradiente local para cada neurnio do MLP requer o
conhecimento da derivada ( ) da funo ativao ( ) associada com o neurnio,
conforme se infere de (4.9). Para que esta derivada exista, necessrio que a funo de
ativao ( ) seja contnua. Uma funo de ativao no-linear continuamente
diferencivel, comumente aplicada em redes MLP a funo sigmoidal, j descrita no
Captulo 1. Duas formas da funo sigmoidal so aqui tratadas:
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
17
a) Funo Logstica:
Esta forma de no-linearidade sigmoidal definida por:
( ) ( )
( ) ( )
( ) < < 0 >
+ 1
1
n v a
n av
n v
j
j
j j
- e ,
exp
(4.14)
onde ( ) n v
j
o potencial de ativao do neurnio j. De acordo com esta no-linearidade, a
amplitude da sada fica restrita ao intervalo 1 0
j
y . Omitindo os ndices n e j por
simplicidade, e derivando a funo de ativao expressa em (4.14) com respeito a ( ) n v
j
,
temos
( ) ( )
( )
( )
( ) [ ]
+ 1
'
+ 1
1
2
-av
-av a
av dv
d
v
dv
d
v
exp
exp
exp
(4.15)
( )
( )
( ) ( ) ( ) v v a
v
v a
,
_
1
1
2
e como ( ) ( ) ( ) n v n y
j j
,
( ) ( ) ( ) ( ) ( ) ( ) [ ] n y n y a n v
dv
d
n v
j j j j
1
(4.16)
Note na Equao (4.16) que a derivada atinge valor mximo em ( ) 5 0 . n y
j
, e seu
valor mnimo (= zero) em ( ) 0 n y
j
, ou ( ) 0 . 1 n y
j
.
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.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
18
b) Funo Tangente Hiperblica:
Esta forma de no-linearidade sigmoidal definida por:
( ) ( ) ( ) ( )
( ) ( )
( ) ( )
0 >
'
2 + 1
2 1
b a
n bv
n bv
a n bv a n v
j
j
j j j
, ,
exp
exp
tanh
(4.17)
De acordo com esta no-linearidade, a amplitude da sada fica restrita ao intervalo
a y a
j
. Omitindo os ndices n e j por simplicidade, a derivada da funo ativao
pode ser obtida atravs de
( ) ( ) ( ) ( ) ( ) 1
2 2
bv ab bv ab bv a
dv
d
v
dv
d
v tanh ) ( sech tanh
(4.18)
( ) ( ) ( ) ( )
,
_
,
_
,
_
,
_
1
2
2
2
2 2
a
v
ab
a
bv a
ab
a
bv a
ab
tanh tanh
( ) ( )( ) y a y a
a
b
y a
a
b
a
y a
ab
a
y
ab +
,
_
,
_
1
2 2
2
2 2
2
2
Portanto
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) n y a n y a
a
b
n v
dv
d
n v
j j j j
+
(4.19)
A Figura 4.6 mostra o grfico da funo tangente hiperblica e de sua derivada para
7159 1 . a e 3 2 b .
Observe que, ao utilizarmos a Equao (4.16) como derivada da funo logstica e a
Equao (4.19) como derivada da funo tangente hiperblica, o gradiente local
j
dado
por (4.9) pode ser calculado sem o uso explcito da definio analtica da funo de
ativao.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
19
Figura 4.6: Grfico de ( ) ( ) bv a v tanh e ( ) ( ) ( ) bv ab v
2
1 tanh p/ 7159 1 . a e 3 2 b .
4.1.3 Razo de Aprendizado e Fator de Momento
O algoritmo backpropagation prov uma aproximao da trajetria de movimento
sobre a superfcie de erro no espao de pesos sinpticos a qual, a cada ponto da superfcie,
segue a direo de descida mais ngreme.
Quanto menor for feita a razo de aprendizado , menores sero as correes
aplicadas aos pesos sinpticos do MLP de uma iterao para a prxima e mais suave ser a
trajetria no espao de pesos. Isto obtido sob o custo de uma lenta convergncia do
algoritmo at um valor de erro pequeno o suficiente para ser aceitvel.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
20
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
( ) ( ) ( ) ( ) 1 n y n n w n w
i j ji ji
+
(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
j
W de um neurnio j qualquer seja a trajetria de um mvel de grande
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.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
21
4.1.4 Sumrio do Algoritmo Backpropagation e
Sugestes Operacionais
I - Inicializao:
1.Define-se o nmero de camadas do MLP. Em geral, sob o ponto de vista de rapidez de
reduo do MSE, prefervel utilizar poucas camadas escondidas com muitos neurnios
por camada do que muitas camadas escondidas com poucos neurnios por camada. Isto
porque o uso de muitas camadas escondidas dilui o efeito corretivo da retro-propagao
dos sinais de erro sobre as sinapses ao longo do backward pass. Em conseqncia, o MLP
demorar mais pocas para atingir um MSE suficientemente baixo. Por outro lado, um
nmero maior de camadas escondidas habilita o MLP a captar melhor as estatsticas de
ordem superior do processo a ser aprendido, melhorando, assim, a capacidade de
generalizao do MLP. Isto ocorre porque um maior nmero de camadas escondidas torna
o mapeamento
L
m m
1
realizado pelo MLP, sendo
1
m e
L
m respectivamente o
nmero de ns de entrada e sada do MLP, um mapeamento com maior no-linearidade
recursiva. A informao sobre o processo a ser aprendido pelo MLP fica armazenada nas
sinapses dos neurnios de cada camada, e as sadas de cada camada recursivamente
alimentam as entradas da camada seguinte durante a fase de treino. Cada camada executa
uma operao no-linear devido a funo de ativao, portanto, a medida que uma camada
alimenta a seguinte uma nova instncia da operao no-linear efetuada. A operao
no-linear efetuada pela funo de ativao definida pela funo exponencial
x
e (ou
por uma combinao de exponenciais no caso da Tangente Hiperblica) , sendo
x
e
passvel de ser expandida na srie de potncias
e
x
1 x
1
2
x
2
.
1
6
x
3
.
1
24
x
4
.
1
120
x
5
.
...
.
Ora, como a informao recursivamente acumulada nas sinapses do MLP, sendo
processada atravs de vrias instncias recursivas de uma srie de potncias durante o
treino, fica implcito que o MLP acumula informao na forma de estruturas de
correlao estatstica de ordem superior, isto , aps a fase de treino do MLP a
informao armazenada no conjunto de sinapses est associada
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
22
{ } { } { } ! + + +
l k j i k j i j i
x x x x E x x x E x x E onde
i
x ,
j
x , ... representam
individualmente todos os possveis N vetores existentes no conjunto de treino, {} E o
operador mdia estatstica;
j i
x x representa a matriz m m formada pelos
2
m produtos
entre os m componentes do vetor
i
x pelos m componentes do vetor
j
x , isto ,
T
j i j i
x x x x ;
k j i
x x x representa a estrutura cbica em
3
formada pelos
3
m
produtos entre os
2
m elementos da matriz
j i
x x e os m componentes do vetor
k
x ; e
assim sucessivamente.
1- Subtrai-se o vetor mdia do conjunto de N vetores de treino.
2- Normaliza-se a i-sima componente de cada vetor de treino pelo desvio padro do
conjunto de N valores formado pela i-sima componente de todos os N vetores de
treino.
3- Normaliza-se o conjunto de N sadas desejadas para o intervalo [-1,+1].
4- Definem-se os parmetros a e b da funo de ativao. Em geral, 7159 1 . a e 3 2 / b
so valores adequados para ( ) ( ) bv a v tanh , de modo que ( ) 1 14 1 0 . ab .
5- Inicializam-se os pesos sinpticos com valores aleatrios de distribuio uniforme. Uma
possvel heurstica adotar uma inicializao randmica com valores compreendidos no
intervalo [-2.4/F
i
, +2.4/F
i
] onde F
i
o fan-in ou o nmero total de ns de entrada
(sinapses) do neurnio. Outra possvel heurstica adotar uma inicializao randmica
com conjunto de valores de mdia zero e varincia definida por
i
F / 1 .
6- Definem-se o momento 0< < 1 e a razo de aprendizado 0<<1 por camada do MLP.
7- Visto que os neurnios prximos da camada de sada tendem a ter maiores gradientes
locais, atribui-se a eles usualmente razes de aprendizado menores. Outro critrio a ser
considerado simultaneamente que neurnios com muitas entradas devem ter
menores.
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
23
II - Treinamento:
1- Apresenta-se cada exemplo (vetor de entrada) do conjunto de treino ao MLP. Definindo
como
L
m m
1
: o mapeamento ou processo a ser aprendido pelo MLP, sendo
1
m e
L
m 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.
III - Critrio de Parada:
O critrio de parada no treino de uma rede MLP subjetivo, j que no existe prova de que
o algoritmo backpropagation tenha convergido para o mnimo global da superfcie de erro
(se que existe o mnimo global).
Sugere-se como critrio de parada o seguinte procedimento:
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
24
As iteraes de treino so terminadas se:
1- O valor do MSE atingiu um valor suficientemente baixo e/ou
2- A razo de variao do MSE atingiu um valor suficientemente baixo
em valor absoluto e negativo.
Quando qualquer uma das condies acima atingida, considera-se que o MLP no
necessita mais ser treinado. Note que o critrio 2 pode significar que o backpropagation
ficou preso em um mnimo local e no global.
importante observar que um MSE baixo ao final do treino no necessariamente
implica em uma alta capacidade de generalizao. Se o conjunto de treino escolhido para
representar o processo a ser aprendido pelo MLP constituir um sub-conjunto cujas
propriedades estatsticas no correspondem s de , ento o MLP falhar em inferir o
resultado correto quando um vetor de que no pertence ao conjunto de treino for
apresentado ao MLP.
4.1.5 A Determinao da Expresso do Gradiente
Local do Algoritmo Backpropagation
Conforme j discutido, o algoritmo backpropagation aplica a correo ( ) n w
ji
ao
peso sinptico ( ) n w
ji
, tendo como base a direo contrria do gradiente local
( )
( )
n w
n
ji
da
superfcie de erro ( ) w relativo ao peso sinptico. Em ltima anlise, o gradiente local
( )
( )
n w
n
ji
(4.21)
De (4.3) temos
( ) ( ) ( ) ( ) ( ) ( ) { } n e n e n e n e n e n
L
L
m j
m
j
j
2
1
2 2
1
2
0
1
0
2
2
1
2
1
+ + + + +
! !
(4.22)
onde m
L
o nmero de neurnios da camada de sada.
Derivando (4.22) em relao ( ) n e
j
resulta em
( )
( ) ( )
( ) ( ) ( ) ( ) { } ( ) n e n e n e n e n e
n e n e
n
j m j
j j
L
+ + + + +
2
1
2 2
1
2
0
2
1
! !
(4.23)
Derivando (4.2) em relao ( ) n y
j
obtemos
( )
( )
1
n y
n e
j
j
(4.24)
Derivando (4.6) em relao ( ) n v
j
temos
( )
( )
( ) ( ) n v
n v
n y
j j
j
j
(4.25)
valor j determinado por (4.16) ou (4.19), dependendo da funo de ativao utilizada no
MLP.
De (4.5) temos
( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
'
+ + +
+ +
n y n w n y n w
n y n w n y n w
n y n w n v
m jm i ji
j j
m
i
i ji j
! !
!
1 1 0 0
0
(4.26)
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
26
Derivando (4.26) em relao ( ) n w
ji
resulta em
( )
( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) n y
n y n w n y n w
n y n w n y n w
n w n w
n v
i
m jm i ji
j j
ji ji
j
'
+ + +
+ +
! !
!
1 1 0 0
(4.27)
Substituindo (4.23), (4.24), (4.25) e (4.27) em (4.21), temos
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )( ) ( ) ( ) ( ) n y n v n e
n w
n v
n v
n y
n y
n e
n e
n
n w
n
i j j j
ji
j
j
j
j
j
j ji
1
(4.28)
Substituindo (4.28) em (4.7)
( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 n y n v n e n w n w n w
i j j j ji ji ji
+
(4.29)
Note de (4.28) que o termo ( ) ( ) ( ) n v n e
j j j
em (4.29) origina-se da cadeia de
operaes
( )
( )
( )
( )
( )
( )
( )( ) ( ) ( ) n v n e
n v
n y
n y
n e
n e
n
j j j
j
j
j
j
j
1
(4.30)
isto
( )
( )
( )
( )
( )
( )
( ) ( ) ( ) n v n e
n v
n y
n y
n e
n e
n
j j j
j
j
j
j
j
(4.31)
ou ainda, simplificando os diferenciais intermedirios em (4.31), obtemos o denominado
gradiente local j
( )
( )
( )
( ) ( ) ( ) n v n e
n v
n
n
j j j
j
j
(4.32)
Note que (4.32) equivalente (4.9a). Substituindo (4.32) em (4.29) obtemos
( ) ( ) ( ) ( ) ( ) 1 n y n n w n w n w
i j ji ji ji
+
(4.33)
Observe que (4.33) a Equao (4.8).
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
27
No entanto, (4.32) no pode ser explicitamente determinada exceto para neurnios
na camada de sada, porque na camada de sada existe um erro ( ) n e
j
associado a cada
neurnio j no instante n.
Como proceder, ento, para determinar o gradiente local ( ) n
j
de neurnios
pertencentes a camadas escondidas, onde no existe um erro explcito associado a cada
neurnio? Para solucionar este problema, inicialmente vamos expandir (4.32) em
( )
( )
( )
( ) ( ) ( )
( )
( )
( )
( )
( )
( )
( ) ( ) n v
n y
n
n v
n y
n y
n
n v n e
n v
n
n
j j
j j
j
j
j j j
j
j
(4.34)
Reescrevendo (4.22), temos
( ) ( ) ( )
k
k
m
k
k
n e n e n
L
2
1
0
2
2
1
2
1
(4.35)
A Equao (4.35) idntica (4.22) apenas com o ndice do somatrio substitudo
por k para caraterizar que (4.35) refere-se erros quadrticos de neurnios da camada de
sada. Isto feito para evitar confuso com neurnios da camada escondida imediatamente
esquerda da camada de sada, os quais, segundo a conveno aqui adotada devem ser
indexados por j. conveniente relembrar que estamos buscando determinar o gradiente
local ( ) n
j
de neurnios pertencentes a camadas escondidas, onde no existe um erro
explcito associado a cada neurnio.
De (4.35) temos
( )
( ) ( )
( ) ( )
( )
( )
k j
k
k
k
k
j j
n y
n e
n e n e
n y n y
n
2
2
1
(4.36)
que pode ser re-escrita como
( )
( )
( )
( )
( )
( )
( )
( )
k j
k
k
k
k
k j
k
k
j
n y
v
v
n e
n e
n y
n e
n e
n y
n
(4.37)
Mas, da Figura 4.4 temos para o neurnio k na camada de sada
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
28
( ) ( ) ( ) ( ) ( ) ( ) n v n d n y n d n e
k k k k k k
(4.38)
e, portanto, derivando (4.38) em relao ( ) n v
k
( )
( )
( ) ( ) n v
n v
n e
k k
k
k
(4.39)
De (4.5), temos que o potencial de ativao para um neurnio k situado na camada
direita da que esto situados os neurnios de ndice j a ele conectado dado por
( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
'
+ + +
+ +
1 1 0 0
0
n y n w n y n w
n y n w n y n w
n y n w n v
m km j kj
k k
m
j
j kj k
! !
!
(4.40)
onde m o nmero total de entradas (excluindo a polarizao) aplicadas ao neurnio k.
Derivando (4.40) em relao a ( ) n y
j
temos
( )
( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) n w
n y n w n y n w
n y n w n y n w
n y n y
n v
kj
m km j kj
k k
j j
k
'
+ + +
+ +
1 1 0 0
! !
!
(4.41)
Substituindo (4.39) e (4.41) em (4.37) obtemos
( )
( )
( )
( )
( )
( ) ( ) ( ) ( )
k
kj k k k
k j
k
k
k
k
j
n w n v n e
n y
v
v
n e
n e
n y
n
(4.42)
Mas de (4.34) com j substitudo por k temos
( ) ( ) ( ) ( ) n v n e n
k k k k
(4.43)
Substituindo (4.43) em (4.42),
( )
( )
( ) ( )
k
kj k
j
n w n
n y
n
(4.44)
Substituindo (4.44) em (4.34) resulta em
( )
( )
( )
( )
( )
( ) ( ) ( ) ( ) ( ) ( )
k
kj k j j j j
j j
j
n w n n v n v
n y
n
n v
n
n
(4.45)
PUCRS - FENG - DEE - Mestrado em Engenharia Eltrica
Redes Neurais Artificiais
Fernando Csar C. de Castro e Maria Cristina F. de Castro
29
Observe que (4.45) a Equao (4.9b), vlida quando o neurnio j encontra-se em
uma camada escondida.
Desta forma, fica demonstrada a consistncia das Equaes (4.8)/(4.20) e (4.9)
utilizadas na atualizao das sinapses do MLP durante o backward pass.
4.2 Referncias Bibliogrficas do Captulo 4
[1] M. H. Hassoun, Fundamentals of Artificial Neural Networks, MIT Press,
Massachusetts, 1995.
[2] R. D. Strum e D. E. Kirk, First Principles of Discrete Systems and Digital Signal
Processing, Addison-Wesley, 1989.
[3] S. Haykin, Adaptive Filter Theory, 3
rd
ed., Prentice Hall, Upper Saddle River, New
Jersey, 1996.
[4] S. Haykin, Neural Networks, 2
nd
ed., Prentice Hall, Upper Saddle River, New Jersey,
1999.
[5] Z.L.Kovcs, Redes Neurais Artificiais, Editora Acadmica So Paulo, So Paulo,
1996.