de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 1
1. Introdução e Motivação
• O treinamento de redes neurais com várias camadas pode ser entendido como um
caso especial de aproximação de funções, onde não é levado em consideração
nenhum modelo explícito dos dados.
• A retro-propagação (backpropagation) do gradiente do erro provou sua utilidade
no treinamento supervisionado de redes multicamadas para aplicação a muitos
problemas de classificação e mapeamento estático de funções não-lineares.
• Há casos em que a velocidade de aprendizagem é um fator limitante para
possibilitar a implementação prática deste tipo de ferramenta computacional no
processo de solução de problemas que requerem otimalidade, robustez e rapidez na
convergência do processo de ajuste de parâmetros.
• Mesmo em aplicações onde uma resposta em tempo real não é necessária, a
complexidade temporal do algoritmo pode resultar na intratabilidade
computacional do problema.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 2
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 3
T
∂ ∂ ∂
• ∇ F ( x ) = F ( x) F ( x) F ( x)
∂x1 ∂x2 ∂xn
T
∂2 ∂2 ∂2
F ( x) F (x) F ( x)
∂x1
2 ∂x1∂x2 ∂x1∂xn
∂2 ∂ 2
∂2
F ( x) F ( x ) F ( x )
∇ F (x) = ∂x2∂x1
2
∂x22 ∂x2∂xn
•
2
∂ ∂ ∂
2 2
F ( x) F ( x) F ( x )
∂xn ∂x1 ∂xn ∂x2 ∂xn2
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 4
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
1 2 1 4
• F ( x ) = 1 − x + x +
2 24
cos(x)
2 2
F4(x)
1
F0(x)
1
0 0
-1
-1 F2(x)
-2
-2 -6 -3 0 3 6
-6 -3 0 3 6
x
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 5
• Este tópico descreve alguns métodos que mostram acelerar a convergência média
da fase de treinamento.
• Alguns destes métodos, ao passo que requerem poucas modificações no algoritmo
de retropropagação padrão, resultam em elevados graus de aceleração além de não
mais requererem a escolha de parâmetros críticos da rede neural como a taxa de
aprendizagem e o coeficiente de momento.
• Como o treinamento de redes multicamadas pode sempre ser entendido como um
problema geral de aproximação de funções, far-se-á uma breve introdução sobre a
teoria de aproximação de funções e avaliação do nível de aproximação.
• Em seguida serão apresentados métodos de otimização do processo de
aproximação resultante.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 6
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
2. Aproximação de Funções
• Considere o problema de aproximar uma função g(.): X ⊂ ℜm → ℜr por um
modelo de aproximação representado pela função ĝ (., ¨ ) : X × ℜP → ℜr, onde θ ∈
ℜP (P finito) é um vetor de parâmetros.
• O problema geral de aproximação pode ser formalmente apresentado como segue:
o Considere a função g(.): X ⊂ ℜm → ℜr, que mapeia pontos de um subespaço
compacto X ⊂ ℜm em pontos de um subespaço compacto g[X] ⊂ ℜr.
o Com base nos pares de vetores de entrada saída {(x l , s l )}l =1 amostrados a partir
N
vetor de parâmetros θ* ∈ ℜP tal que dist(g(.), ĝ (., ¨*) ) ≤ dist(g(.), ĝ (., ¨ ) ), para
todo θ ∈ ℜP, onde o operador dist(.,.) mede a distância entre duas funções
definidas no espaço X.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 7
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 8
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 9
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 10
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 11
¨ i +1 = ¨ i + ¡ i di , i ≥ 0, (3)
onde θi ∈ ℜP é o vetor de parâmetros, αi ∈ ℜ+ é um escalar que define o passo de
ajuste e di ∈ ℜP é a direção de ajuste, todos definidos na iteração i.
• Os algoritmos de otimização revisados neste capítulo são aplicados na obtenção da
direção de ajuste do processo iterativo dado pela Equação (3) acima.
• A forma pela qual cada um dos algoritmos procede no cálculo da direção de ajuste
dos parâmetros e do passo a cada iteração permite estabelecer distinções entre eles.
• Quando a direção de minimização está disponível, é preciso definir o tamanho do
passo αi ∈ ℜ+ para se determinar o ajuste de parâmetros naquela direção.
• Podem ser utilizados inúmeros procedimentos de busca unidimensional na
determinação do passo. Alguns destes procedimentos serão vistos posteriormente.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 12
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 13
• Uma última divisão inclui os algoritmos cujos parâmetros são ajustados de maneira
empírica, ou seja, através de procedimentos de tentativa e erro. Classificam-se
como métodos empíricos.
ESTRATÉGIAS DE TREINAMENTO
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 14
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
-5
-10
Mínimo local
-15
Mínimo global
-20
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 15
• Os métodos discutidos neste tópico têm como objetivo determinar mínimos locais,
que são pontos na vizinhança dos quais o funcional de erro possui o menor valor.
• Teoricamente, os métodos de segunda ordem não são mais capazes de encontrar
um mínimo global do que os métodos de primeira ordem.
• O problema de determinação de mínimos globais, mesmo dentro de um conjunto
de mínimos locais bem definidos, é difícil devido a impossibilidade fundamental
de se reconhecer um mínimo global utilizando-se apenas informações locais.
• Mínimos locais não são únicos por uma de duas razões:
o a função é multimodal;
o se a Hessiana é singular em um mínimo local, este mínimo constitui um
conjunto compacto ao invés de um ponto isolado. Isto é, o valor da função deve
ser constante ao longo de uma direção, de um plano ou de um subespaço maior.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 16
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 17
gradiente d = − ∇ J (¨ ) é efetuado.
• No algoritmo padrão, a minimização é geralmente feita com um passo α fixo. A
determinação do passo α é fundamental, pois para valores muito baixos, o tempo
de treinamento pode tornar-se exageradamente alto, e para valores muito altos os
parâmetros podem divergir.
• A velocidade de convergência é geralmente melhorada adicionando-se um termo
de momento:
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 18
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
¨ i +1 = ¨ i + ¡ i d i + ¢ i ∆¨ i −1 , i≥0 (5)
• Este termo adicional geralmente evita oscilações no comportamento do erro, pois
pode ser interpretado como a inclusão de uma aproximação da informação de
segunda ordem
Método do Gradiente
• Dentre os métodos que utilizam diferenciação e busca, o método do gradiente é o
mais simples para obtenção da direção di, pois utiliza apenas informações de
primeira ordem.
• Na i-ésima iteração, a direção di é definida como a direção de módulo unitário de
maior decrescimento da função J:
∇J (¨ )
d=−
∇J (¨ ) .
• A lei de ajuste do método do gradiente é, então, dada por:
∇J (¨ i )
¨ i +1 = ¨ i − ¡ i
∇J (¨ i )
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 19
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 20
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
• Deve ser enfatizado que a sua aplicação prática aos perceptrons multicamadas é
pouco recomendada uma vez que o cálculo da matriz Hessiana representa um
elevado custo computacional pois exige a inversão, análise espectral e
armazenagem de uma matriz quadrada que é da ordem do número de parâmetros P
a serem ajustados.
• O vetor θi+1, é a solução que minimiza exatamente J(θ) dado pela Equação (4),
atendendo portanto a condição de otimalidade:
∂J quad (¨ i +1 )
=0 (6)
∂¨ i +1
[
¨ i +1 = ¨ i − ∇ 2 J (¨ i ) ]
−1
∇J (¨ i ) , (7)
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 21
[
¨ i + 1 = ¨ i − ¡ i ∇ 2 J (¨ i ) ]−1
∇J (¨ i ) . (8)
• Na forma como foi apresentado acima, o método de Newton ainda não apresenta
garantia de convergência, pois nada pode ser afirmado sobre o sinal da matriz
hessiana, que deve ser definida positiva por duas razões:
o para garantir que a aproximação quadrática tenha um mínimo; e
o para garantir que a inversa da matriz hessiana exista, que é a condição necessária
para resolver as Equações (7) ou (8) a cada iteração.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 22
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
¨ i +1 = ¨ i − ¡ i M i−1∇J (¨ i ) ,
onde
M i = ∇ 2 J (¨ i ) se « [min
i]
>0
,
M i = ∇ J (¨ i ) + (¥ − « min )I se « min ≤ 0
2 [i ] [i ]
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 23
[i ]
com « min o autovalor mínimo de Mi. Ainda não existem resultados que conduzam
à determinação automática de um valor ótimo para ε.
• É importante mencionar ainda que em lugar de positivar Mi poder-se-ia, em
princípio, utilizar qualquer outra matriz definida positiva de dimensões
apropriadas.
• A razão para optar pelo processo de positivação da hessiana é a analogia com o
tradicional método de Levenberg-Marquardt (que será visto a seguir) que pode ser
interpretado como uma combinação entre a lei de ajuste do método do gradiente e
a lei de ajuste do método de Newton.
• A determinação exata da matriz hessiana não é uma tarefa fácil. C. BISHOP (1992)
apresenta expressões que permitem o cálculo exato da matriz hessiana para
arquiteturas MLP com uma ou mais camadas intermediárias.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 24
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Método de Levenberg-Marquardt
• Este método, assim como o método de Newton, é bastante eficiente quando
estamos tratando de redes que não possuem mais do que algumas centenas de
conexões a serem ajustadas.
• Isto deve-se, principalmente, ao fato de que estes algoritmos necessitam armazenar
uma matriz quadrada cuja dimensão é da ordem do número de conexões da rede.
• O funcional de erro apresentado na Equação (1) representa o erro quadrático médio
(MSE).
• Se considerarmos como funcional a soma dos erros quadráticos (SSE), e ainda
levarmos em conta que o problema pode ter múltiplas saídas, obtemos a seguinte
expressão para o funcional de erro:
( ) = ∑ rl2
N m q
J (¨ ) = ∑∑ g ij (x) − gˆ ij (x, ¨ ) 2
(9)
i =1 j =1 k =1
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 25
∇ 2 J ≈ 2J T J .
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 26
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
[ ]
Ƭ = J T J
−1 T
J r.
• A modificação de Levenberg-Marquardt para o método de Gauss-Newton é:
[
∆¨ = J T J + ¬I ]−1 T
J r.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 27
lim H i = ∇ 2 J (¨ ) −1 .
i →∞
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 28
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Onde p i = ¡ i d i e q i ≡ g i +1 − g i = ∇ J (¨ )p i .
2
matriz hessiana ∇ J (¨ ) .
2
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 29
onde s i = ¨ i+1 − ¨ i = p i .
qT q sT g qT g sTi g i
Ai = − 1 + Ti i Ti i + Ti i ; Bi =
s i q i s i q i s i q i sTi q i .
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 30
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 31
1
J (¨ ) = ¨ T Q¨ − bT ¨
2
• A lei de ajuste do método das direções conjugadas é dada por:
d Ti ∇J (¨ i )
¨ i +1 = ¨ i − di .
d Ti Qd i
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 32
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Senão, faça: di = g i .
• Outra aproximação é dada pelo método de Fletcher-Reeves (FR).
2
g i +1
Se (i mod P ≠ 0), faça d i +1 = g i + ¢ i d i , onde ¢ i = 2 .
gi
Senão, faça: di = g i .
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 33
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 34
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 35
1. ¡ i = t a ¡ i ; ¨ ip+1 = ¨ i − ¡ i
∇J (¨ i )
∇J (¨ i ) ; calcule
J ¨ ip+1 ( )
2.
p
( )
Enquanto J ¨ i +1 ≥ J(θi) faça:
2.1. ¡ i = t r ¡ i
∇J (¨ )
2.2. ¨ i +1 = ¨ i − ¡ i ∇J (¨ )
p i
3. ¨ i ← ¨ ip
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 36
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
• Este método faz apenas uma avaliação da função caso seja determinado uma
redução no erro na primeira tentativa.
• Caso contrário, avalia a função quantas vezes forem necessárias para garantir um
comportamento monotonicamente decrescente do funcional de erro.
• É importante observar que, a menos que haja problemas de precisão numérica na
representação computacional, é sempre possível encontrar um αi > 0 que garanta
um passo minimizante.
• No entanto, este método de busca não conduz a um valor ótimo para αi.
• O objetivo aqui é apenas encontrar um passo αi tal que J(θi+1) < J(θi), e não
min J(θ ).
¡ i
i+1
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 37
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 38
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
• Este método, assim como o método da Seção Áurea e da Falsa Posição, que serão
apresentados em seguida, utiliza a seguinte metodologia:
o Dado um ponto θi, encontre um passo satisfatório ¡ que gere um novo ponto
¨ = θi + ¡ di.
• Determinar o passo αi envolve a solução do subproblema ¡ min
∈( 0, ¡ ]
J(θi + αidi), que é
i
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 39
unidimensional.
• Estratégias comuns como o método de Newton e outros podem ser utilizados.
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 40
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
5. Capacidade de Generalização
• Quando estamos trabalhando com dados de mundo real surgem alguns
inconvenientes que geralmente, não existem nos problemas artificiais, dentre eles
destacam-se:
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 41
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 42
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 43
erro
MSE
nível ótimo de
generalização
_ _ _ Erro de treinam ento, ____ Erro de Validação
_ _ _ Erro de treinamento, ____ Erro de Validação 0.04
0.18
0.16 0.035
0.14 0.03
0.12 0.025
0.1
0.02
0.08
0.015
0.06
0.01
0.04
0.02 0.005
0 0
0 50 100 150 200 0 100 200 300 400 500
Épocas Época
s
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 44
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 45
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 46
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 47
MSEopt(t) = min
t '≤t
MSEval(t).
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 48
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 49
6. Comparação de Desempenho
• Para a análise dos algoritmos estudados e validação dos métodos propostos, foram
abordados oito problemas (benchmarks).
• Estes problemas podem ser divididos em três grupos:
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 50
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
o problemas de paridade;
o classificação; e
o aproximação de funções.
• Seja k o número de entradas, N o número total de amostras e m o número de saídas
da rede.
o XOR - paridade: k = 2; N = 4 e m = 1
o COD/DEC - paridade: k = 10; N = 10 e m = 10
o sen(x).cos(2x) - aproximação de funções: k = 1; N = 21 e m = 1
o ESP - aproximação de funções: k = 2; N = 75 e m = 5
o SOJA - aproximação de funções: k = 36; N = 144 e m = 1
o IRIS - classificação: k = 4; N = 150 e m = 1
o ECOLI - classificação: k = 7; N = 336 e m = 1
o GLASS - classificação: k = 10; N = 214 e m = 1
• Algoritmos Implementados:
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 51
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 52
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 53
Estatísticas
33,3%
66,7%
FR GRAD
GRAD
SCG SCG
DFP SCG
75,0% DFP
66,7%
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 54
IA353 – Profs. Fernando Von Zuben & Leandro N. de Castro
DCA/FEEC/Unicamp
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 55
Estatísticas
33,3%
BP
16,7% 16,7% 16,7% SCG
FR FR
FR SCG PR
SCG PR GRAD
50,0% PR 50,0% DFP 16,7% 16,7% DFP
Tópico 11: Técnicas de Otimização Não-Linear Irrestrita para Treinamento de Redes MLP 56