3.2 Algoritmos Neuronais
3.2.2 Procedimento de Ajuste das Redes Neuronais
Cap tulo 3. Estimac~ao do Erro de Trajetoria 44
F = K
2
4w3+XNo
j=1yj
w
32(j)3
5, (3.26)
comyj sendo a sada do j-esimo neur^onio da camada oculta,
w
32(dimw
32 =No x 1) e um vetor que contem os pesos das conex~oes que ligam cada sada da camada oculta e as entradas do neur^onio de sada, w3 e a polarizac~ao do neur^onio de sada e K e uma constante. Para as redes neuronais utilizadas, K = 100.A partir das equac~oes (3.20), (3.21) e (3.26), verica-se que a sada F da rede neuronal e func~ao do vetor de entrada
e
, que por sua vez e func~ao do vetor de imagem quantizadoz
. A forma como e feita a normalizac~ao para se obter o vetor de entradae
a partir do vetor de imagemz
esta relacionada a estrutura da rede neuronal. As sadas dos neur^onios podem apresentar valores positivos ou negativos. Para aumentar a velocidade de converg^encia da rede neuronal na fase de ajuste, e interessante que as sadas dos neur^onios da camada oculta n~ao estejam saturadas, o que pode ocorrer com valores sempre positivos dos elementos do vetore
. Neur^onios com as sadas saturadas apresentam uma pequena variac~ao nas sadas para grandes variac~oes nos par^ametros, ou seja, um pequeno gradiente de suas sadas em relac~ao aos par^ametros internos. Isto implica em mais iterac~oes no procedimento de ajuste para que os par^ametros cheguem a seus valores ideais 23]. A normalizac~ao do vetor de imagem e apenas uma estrategia para tornar mais rapida a converg^encia da rede neuronal, o que n~ao implica que sem uma normalizac~ao o procedimento de ajuste n~ao obtenha sucesso.Cap tulo 3. Estimac~ao do Erro de Trajetoria 45 comq sendo o ndice do q-esimo par de pontos (
z
q ;q) e (z
q q), q = 1:::Nt. Estas func~oes representam o erro medio quadratico entre as sadas das redes neuronais cor-respondentes aos vetores de imagemz
q ( ^F;(z
q) ou ^F(z
q)) e as suas sadas desejadas (;q ou q, respectivamente), e s~ao calculadas para os Nt pares de pontos.As redes neuronais empregadas neste trabalho s~ao modelos n~ao-lineares. Alguns metodos de ajuste de modelos n~ao-lineares s~ao apresentados por Ljung em 24]. Estas ferramentas empregam tecnicas numericas iterativas baseadas em busca por gradiente.
A tecnica mais famosa e um metodo newtoniano chamado desteepest descent. Com este metodo, um determinado par^ametro do modelo n~ao-linear e ajustado recursivamente.
A regra de ajuste na i-esima iterac~ao e da forma
i =i;1;@@ (3.29)
com sendo uma func~ao do erro de ajuste da rede neuronal, i;1 e o par^ametro obtido na iterac~ao anterior e e o ganho de ajuste. Com esta regra de ajuste, a trajetoria de e em direc~ao contraria ao crescimento da func~ao de custo , ou seja, o objetivo e obter um mnimo para . Valores muito grandes de podem levar a instabilidade do algoritmo e valores muito pequenos implicam em reduzida velocidade de converg^encia.
No contexto de redes neuronais, o ganho e chamado de taxa de treinamento (ou taxa de aprendizagem). O metodo steepest descent foi aplicado em um algoritmo de ajuste chamado de back-propagation. Neste algoritmo, cada iterac~ao e chamada de ciclo de treinamento. Da mesma forma, o procedimento de ajuste da rede neuronal a um conjunto de pontos entrada/sada e chamado de treinamento da rede neuronal.
Quando a rede neuronal tem seus par^ametros ajustados uma unica vez para todos os pontos de treinamento, isto e, (
z
q ;q) ou (z
q q), q = 1:::Nt, ent~ao diz-se que ocorreu uma epoca de treinamento. A cada epoca, ocorre apenas um unico ajuste dos par^ametros da rede neuronal para cada ponto de treinamento.E necessario obter regras de adaptac~ao de todos os par^ametros ajustaveis da rede neuronal. A rede neuronal recebe como entrada um vetor de imagem
z
q e deve apre-sentar em sua sada um valor desejado Yq(Yq pode representar ;q ou q). As regras de adaptac~ao podem ser ainda aplicadas em lote, no qual s~ao avaliados todos os pontosCap tulo 3. Estimac~ao do Erro de Trajetoria 46 de treinamento para ent~ao o ajuste ser realizado, ou ser aplicada a cada amostra dos pontos de treinamento. Neste trabalho, o ajuste dos par^ametros sera realizado a cada apresentac~ao de uma amostra dos pontos de treinamento. A func~ao do erro de ajuste da rede neuronal e escrita como
= 12(Yq;F(
z
q))2 (3.30)com F(
z
q) sendo a resposta da rede neuronal para o q-esimo vetor de imagem, de acordo com a equac~ao (3.26). Esta func~ao e um medida do quanto a rede neuronal esta ajustada para a amostra (z
q Yq):O procedimento de obtenc~ao das regras de ajuste dos par^ametros consiste emavaliar os gradientes da camada de sada e depois os da camada oculta. Para uma rede neuronal com mais de uma camada oculta, o procedimento de ajuste tem incio na camada de sada e em direc~ao a primeira camada oculta. Por isto o metodo e chamado de back-propagation, ou ainda, propagac~ao retroativa. Sendo um par^ametro da rede neuronal, de acordo com a camada deste par^ametro, as seguintes derivadas parciais da func~ao em relac~ao a s~ao obtidas pela regra da cadeia para derivadas parciais:
@@ = @
@F @F
@ , para sendo
w
32(j) ou w3 (3.31)@@ = @
@F @F
@yj @yj
@ , para sendo j,j ou j, (3.32)
@@ = @
@F @F
@yj @yj
@vj @vj
@ , para sendo
W
21(j i) ouw
2(j). (3.33) A partir da equac~ao (3.30), obtem-se@F =@ ;(Yq;F(
z
q)): (3.34)Iniciando-se pela camada de sada, os par^ametros ajustaveis s~ao os elementos do vetor
w
32 e a polarizac~ao w3: O ganho K = 100 do neur^onio de sada e mantido constante. Da equac~ao (3.26), obtem-se:Cap tulo 3. Estimac~ao do Erro de Trajetoria 47
@w@F3 = K (3.35)
@
w
@F32(j) = Kyj: (3.36)Na camada oculta s~ao ajustados os par^ametros j,j ouj das func~oes de ativac~ao e os elementos da matriz
W
21 e do vetorw
2. Usualmente n~ao se realiza ajustes nos par^ametros da func~ao de ativac~ao, que s~ao mantidos constantes. Entretanto, alguns trabalhos mostram que melhores resultados podem ser obtidos ajustando tambem os par^ametros da func~ao de ativac~ao 25, 18, 22]. Ainda da equac~ao (3.26), tem-se que@y@Fj =K
w
32(j): (3.37)Comoyj ='j(vj), as equac~oes (3.23), (3.24) e (3.25) s~ao as expres~oes para @yj=@, com sendo substitudo por j, j ej, respectivamente. Da mesma forma, a equac~ao (3.22) e equivalente a @yj=@vj. Para a obtenc~ao das regras de ajuste dos elementos da matriz
W
21 e do vetorw
2, obtem-se da equac~ao (3.20) as seguintes derivadas parciais:@vj
@
W
21(j i) =e
(i) (3.38)@vj
@
w
2(j) = 1: (3.39)Assim, aplicando-se os ultimos resultados as formulas dadas pela equac~oes (3.31), (3.32) e (3.33), as seguintes derivadas parciais s~ao obtidas:
@w@3 = ;(Yq;F(
z
q))K (3.40)@
w
@32(j) = ;(Yq;F(z
q))Kyj (3.41)@@j = ;(Yq;F(
z
q))Kw
32(j) 1;exp(;jvj +j)1 + exp(;jvj +j) (3.42)
Cap tulo 3. Estimac~ao do Erro de Trajetoria 48
@@j = ;(Yq;F(
z
q))Kw
32(j) vjj2
h1;('j(vj))2i (3.43)
@@j = +(Yq;F(
z
q))Kw
32(j) j2
h1;('j(vj))2i (3.44)
@
w
@2(j) = ;(Yq;F(z
q))Kw
32(j) jj2
h1;('j(vj))2i1 (3.45)
@
W
@21(j i) = ;(Yq;F(z
q))Kw
32(j) jj2
h1;('j(vj))2i
e
(i): (3.46) Aplicando-se estas equac~oes a regra geral de ajuste dada pela equac~ao (3.29), as seguintes regras de ajuste s~ao obtidas:w3 = w3; @@w3 (3.47)
w
32(j) =w
32(j); @@w
32(j) (3.48)j = j;s @
@j (3.49)
j = j;s @
@j (3.50)
j = j;s @
@j (3.51)
w
2(j) =w
2(j); @@w
2(j) (3.52)W
21(j i) =W
21(j i); @@W
21(j i): (3.53) Verica-se nestas equac~oes que o ganho de ajuste e para as conex~oes sinapticas e s para os par^ametros das func~oes de ativac~ao da camada oculta. Desta forma e possvel aplicar diferentes taxas de ajuste para estes dois tipos de par^ametros.O algoritmo de ajuste das redes neuronais e formulado como:
Cap tulo 3. Estimac~ao do Erro de Trajetoria 49 1. Adquira Nt pares de pontos de treinamento (
z
q Yq), com q = 1:::Nt, pela pla-taforma de testes. Yq pode ser ;q ou q de acordo com a rede neuronal a ser ajustada.2. Determine o numero de epocas de treinamento Ne. A condic~ao de parada do algoritmo e o numero de epocas.
3. Incio de uma epoca de treinamento. Faca:
(a) Escolha aleatoriamente um par de pontos de treinamento (
z
q Yq). Realize uma unica vez os seguintes passos:i. Obtenha o vetor de entrada
e
da rede neuronal atraves da normalizac~ao do vetor de imagemz
q (equac~ao (3.19))ii. Obtenha a resposta F(
z
q) da rede neuronaliii. Aplique as regras de ajuste dos par^ametros da rede neuronal dadas pelas equac~oes (3.47), (3.48), (3.49), (3.50), (3.51), (3.52) e (3.53)
(b) Repita este laco ate que todos os pontos de treinamento tenham sido utili-zados.
4. Enquanto o numero de epocas de treinamento n~ao chegar a Ne, volte ao ponto 3.
A apresentac~ao aleatoria dos pontos de treinamento durante uma epoca torna mais eciente o ajuste da rede neuronal 23]. A condic~ao de parada deste algoritmo e o numero de epocas de treinamento.