3.2 Algoritmos Neuronais
3.2.3 Experimento de Treinamento das Redes Neuronais
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.
Cap tulo 3. Estimac~ao do Erro de Trajetoria 50 de posicionamento (;q q) da UAI na plataforma de testes eram escolhidos de forma aleatoria e adquirido o vetor de imagem
z
q correspondente. Entretanto, resultados posteriores mostraram que a melhor forma de gerar os pontos de treinamento das redes neuronais era escolher uniformemente tais pontos, resultando em pontos que melhor representam o espaco das variaveis de erro de trajetoria. Ainda assim foi mantida a apresentac~ao aleatoria dos pontos de treinamento no algoritmo de ajuste das redes neuronais.A escolha dos pontos de treinamento e baseada na func~ao que determina o ^angulo maximo de posicionamento da UAI pela plataforma de testes para um determinado deslocamento ortogonal (ver equac~ao (2.16)). Esta equac~ao e reescrita aqui da seguinte forma
max(;) = 180 tan;1
0
@
Dp ;j;j
2pL
1
A: (3.54)
O deslocamento ortogonal ; deve estar no intervalo ;30 30] e o vetor de imagem
z
sera consistente se o ^angulo de desvio estiver no intervalo ;max(;) max(;)].Como na plataforma de testes as resoluc~oes de posicionamento para ; e s~ao p e 0 75o, respectivamente, para cada valor de ; existe tambem um numero limitado de possveis posic~oes. Este numero de possveis posic~oes sera maior quanto maior formax: Para um determinado valor de ;, s~ao geradas m posic~oes da UAI na plataforma de testes: (; 1), (; 2), :::, (; m): Os m valores de s~ao escolhidos uniformemente no intervalo ;max max]. O numero m de pontos para ; variando de -25 a +25 (o que corresponde ao intervalo de ;39 0mm a +39 0mm), e dado pela Tabela 3.1. Por exemplo, para ; =;25, os valores validos de est~ao no intervalo de -17,25o a 17,25o. Assim, foram gerados os seguintes pares: (; = 6 =;17 25o), (; = 6 =;10 35o), (; = 6 =;3 45o), (; = 6 = 3 45o), (; = 6 = 10 35o) e (; = 6 = 17 25o).
Na Tabela 3.1 s~ao tambem mostrados o numero de pares de pontos para cada intervalo de ;. A soma destes numeros e Nt= 750.
O experimento de treinamento visa obter duas redes neuronais, uma para a estima-tiva do deslocamento ortogonal ; e outra para a estimaestima-tiva do ^angulo de desvio a
Cap tulo 3. Estimac~ao do Erro de Trajetoria 51 Tabela 3.1: Distribuic~ao por intervalo de ; dos 750 pontos de treinamento.
; m
Total no intervalo
Para ; de -25 a -20 7 7 x 6 = 42 Para ; de -19 a -10 15 15 x 10 = 150
Para ; de -9 a -1 18 18 x 9 = 162 Para ; = 0 42 42 x 1 = 42 Para ; de 1 a 9 18 18 x 9 = 162 Para ; de 10 a 19 15 15 x 10 = 150 Para ; de 20 a 25 7 7 x 6 = 42
partir do vetor de imagem quantizado
z
. No total foram treinadas 10 redes neuronais, 5 para a estimativa de ; e 5 para a estimativa de . Os experimentos de treino foram aplicados a redes neuronais com diferentes numeros de neur^onios na camada oculta (No = 2, 4, 7, 14 ou 28 neur^onios). O criterio de parada do algoritmo de ajuste foi baseado no numero de epocas de treinamento, no caso em Ne = 400 epocas. Com este numero de epocas, as func~oes de custo de treinamento n~ao reduziam mais. Se o criterio de parada do algoritmo fosse baseado em algum valor mnimo aceitavel para a func~ao de custo, poderia acontecer que o algoritmo nalizasse sua execuc~ao mesmo que a func~ao de custo continuasse a decrescer. O criterio de parada poderia tambem ser baseado na variac~ao mnima aceitavel da func~ao de custo em determinado numero de epocas passadas.O grau de ajuste das redes neuronais ao conjunto de pontos de treino foi medido pelas func~oes de custo expressas nas equac~oes (3.27) ou (3.28), de acordo com a estima-tiva desejada (; ou ). Os programas de treino foram implementados em linguagem C.
Os gracos da Figuras 3.7, 3.8, 3.9, 3.10 e 3.11 mostram a progress~ao das func~oes de custo de acordo com as epocas de treino para as diferentes redes neuronais. Verica-se em todos os casos que em ate 50 epocas de treino as func~oes de custo ja estavam proximas de um valor mnimo. Os valores iniciais dos par^ametros das redes neuronais contriburam para acelerar a converg^encia. Todas as conex~oes sinapticas foram
inicia-Cap tulo 3. Estimac~ao do Erro de Trajetoria 52
0 50 100 150 200 250 300 350 400
0 20 40 60 80
(a) Deslocamento Ortogonal (No = 2)
J
0 50 100 150 200 250 300 350 400
0 10 20 30 40 50
(b) Angulo de Desvio (No = 2)
J
Época de treinamento
Figura 3.7: Gracos da progress~ao da func~ao de custo de treinamento das redes neu-ronais (No = 2) de acordo com o numero de epocas. (a) Deslocamento Ortogonal. (b)
^Angulo de Desvio.
Cap tulo 3. Estimac~ao do Erro de Trajetoria 53
0 50 100 150 200 250 300 350 400
0 10 20 30 40 50
(a) Deslocamento Ortogonal (No = 4)
J
0 50 100 150 200 250 300 350 400
0 10 20 30 40 50
(b) Angulo de Desvio (No = 4)
J
Época de treinamento
Figura 3.8: Gracos da progress~ao da func~ao de custo de treinamento das redes neu-ronais (No = 4) de acordo com o numero de epocas. (a) Deslocamento Ortogonal. (b)
^Angulo de Desvio.
Cap tulo 3. Estimac~ao do Erro de Trajetoria 54
0 50 100 150 200 250 300 350 400
0 10 20 30 40
(a) Deslocamento Ortogonal (No = 7)
J
0 50 100 150 200 250 300 350 400
0 10 20 30 40 50
(b) Angulo de Desvio (No = 7)
J
Época de treinamento
Figura 3.9: Gracos da progress~ao da func~ao de custo de treinamento das redes neu-ronais (No = 7) de acordo com o numero de epocas. (a) Deslocamento Ortogonal. (b)
^Angulo de Desvio.
Cap tulo 3. Estimac~ao do Erro de Trajetoria 55
0 50 100 150 200 250 300 350 400
0 10 20 30 40
(a) Deslocamento Ortogonal (No = 14)
J
0 50 100 150 200 250 300 350 400
0 10 20 30 40
(b) Angulo de Desvio (No = 14)
J
Época de treinamento
Figura 3.10: Gracos da progress~ao da func~ao de custo de treinamento das redes neu-ronais (No = 14) de acordo com o numero de epocas. (a) Deslocamento Ortogonal.
(b) ^Angulo de Desvio.
Cap tulo 3. Estimac~ao do Erro de Trajetoria 56
0 50 100 150 200 250 300 350 400
0 10 20 30 40 50 60
(a) Deslocamento Ortogonal (No = 28)
J
0 50 100 150 200 250 300 350 400
0 10 20 30 40
(b) Angulo de Desvio (No = 28)
J
Época de treinamento
Figura 3.11: Gracos da progress~ao da func~ao de custo de treinamento das redes neu-ronais (No = 28) de acordo com o numero de epocas. (a) Deslocamento Ortogonal.
(b) ^Angulo de Desvio.
Cap tulo 3. Estimac~ao do Erro de Trajetoria 57 Tabela 3.2: Par^ametros de treinamento das redes neuronais para o deslocamento orto-gonal.
Rede Neuronal
s J;No = 2 0,000003 0,000002 0,329118 No = 4 0,00001 0,000002 0,333244 No = 7 0,000008 0,000002 0,343200 No = 14 0,000005 0,000002 0,365171 No = 28 0,000002 0,000002 0,337202
Tabela 3.3: Par^ametros de treinamento das redes neuronais para o ^angulo de desvio.
Rede Neuronal
s JNo = 2 0,00001 0,000002 2,599172 No = 4 0,00001 0,000002 2,987561 No = 7 0,000008 0,000002 2,706097 No = 14 0,000005 0,000002 2,748786 No = 28 0,000002 0,000002 2,688231
das com valores aleatorios entre -0,1 e 0,1 (matriz
W
21, vetoresw
2 ew
32, e o escalar w3). Seguindo sugest~ao de Haykin 23], os par^ametrosjej (j = 1:::No) das func~oes de ativac~ao da camada oculta foram iniciados em 2=3 e 1 716, respectivamente. j foi iniciado em 0 para todos os neur^onios da camada oculta.A Tabela 3.2 mostra par^ametros e resultados de treinamento de diferentes redes neuronais para a estimativa de ;, classicadas de acordo com o numero de neur^onios na camada oculta. O mesmo mostra a Tabela 3.3, mas para a estimativa de :
Observa-se que os resultados da func~ao de custo para a estimativa de uma mesma variavel de erro de trajetoria s~ao bastante proximos (em torno de 0,34 para J; e 2,70 para J). Entretanto, as redes neuronais com No = 2 apresentaram resultados um pouco melhores. Estes resultados foram obtidos com os pontos distribuidos.
Em treinamentos realizados anteriormente com pontos de treinamento gerados
alea-Cap tulo 3. Estimac~ao do Erro de Trajetoria 58 Tabela 3.4: Tempos de processamento para diferentes redes neuronais.
Rede Neuronal Tempo de Processamento
Estimativa de ; Estimativa de
No= 2 58s 58s
No= 4 103s 103s
No= 7 171s 171s
No = 14 344s 344s
No = 28 680s 680s
toriamente, os melhores resultados foram J; = 1 77 e J = 3 23. Isto era esperado pois, como explicado no comeco desta sec~ao, com a gerac~ao aleatoria de pontos de treinamento pode-se obter um conjunto n~ao-representativo do espaco de aplicac~ao da rede neuronal e ainda existir agrupamentos e regi~oes pouco exploradas. E assim, a rede neuronal pode n~ao ser capaz de realizar generalizac~oes (interpolac~oes ou extrapolac~oes).
O emprego dos algoritmos que dever~ao compor a UAI sera na estimac~ao em tempo real de ; e . Portanto, o tempo de processamento de cada algoritmo deve ser tambem levado em considerac~ao. A Tabela 3.4 apresenta as parcelas de tempo de processamento para cada rede neuronal correspondentes a estimac~ao de ; e . Esta computado apenas o tempo de calculo da estimativa a partir do vetor de entrada
e
, n~ao fazendo parte portanto o tempo de aquisic~ao de uma imagem e o tempo de normalizac~ao. Os experimentosde medic~ao destes tempos foram realizados na mesma base computacional em que esta ligada a plataforma de testes: um microcomputador Pentium - 100 MHz.As redes neuronais com No = 2 s~ao portanto os representantes desta classe de algoritmos de estimac~ao. Eles apresentaram melhores resultados no treinamento com um conjunto de pontos que representam bem o espaco de estimac~ao ao qual ser~ao empregados em uma aplicac~ao em tempo real. Devido a sua simplicidade, estas redes tambem s~ao rapidas se comparadas com as outras redes neuronais.
Cap tulo 3. Estimac~ao do Erro de Trajetoria 59