• Nenhum resultado encontrado

Procedimento de Ajuste das Redes Neuronais

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(dim

w

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 quantizado

z

. A forma como e feita a normalizac~ao para se obter o vetor de entrada

e

a partir do vetor de imagem

z

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 vetor

e

. 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 imagem

z

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 pontos

Cap 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) ou

w

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 vetor

w

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 vetor

w

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))K

w

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))K

w

32(j) vjj

2

h1;('j(vj))2i (3.43)

@@j = +(Yq;F(

z

q))K

w

32(j) j

2

h1;('j(vj))2i (3.44)

@

w

@2(j) = ;(Yq;F(

z

q))K

w

32(j) jj

2

h1;('j(vj))2i1 (3.45)

@

W

@21(j i) = ;(Yq;F(

z

q))K

w

32(j) jj

2

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 imagem

z

q (equac~ao (3.19))

ii. Obtenha a resposta F(

z

q) da rede neuronal

iii. 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.