Este documento apresenta algoritmos de poda de redes neurais baseados na análise da matriz Hessiana durante o treinamento. Discute-se a modelagem local da superfície de erro utilizando aproximações quadráticas e a computação da inversa da Hessiana de forma iterativa. Realizam-se testes nos problemas MONK's para comparar os métodos Optimal Brain Surgeon e Optimal Brain Damage.
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
1. Poda de Rede Baseada na Hessiana
Apresentação de TP-536
Inteligência Artificial
Ramon Mayor Martins
Renann de Oliveira Barbedo Ponte
2. • Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inversa da Matriz Hessiana
• Testes e Experimentos
• Conclusões
• Referências Bibliográficas
3. • Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inversa da Matriz Hessiana
• Testes e Experimentos
• Conclusões
• Referências Bibliográficas
4. Introdução
• Derivadas Parciais de Segunda Ordem
– Utilizadas para determinar se um ponto crítico (a,b) de
uma função f(x,y) é um mínimo ou um máximo local
da função.
• Matriz Hessiana
– É uma matriz quadrada de derivadas parciais de
segunda ordem de uma função. Descreve a curvatura
local de uma função de várias variáveis.
– Se a Hessiana é definida-positiva em x, então f alcança
um mínimo local em x, se é definida-negativa em x,
então alcança um máximo local em x.
5. Introdução
• Informação sobre as derivadas de segunda
ordem da superfície de erro
– Compromisso entre complexidade da rede e o
desempenho de erro de treinamento.
• Modelagem local da superfície de erro
– Prever analiticamente o efeito das perturbações
sobre os pesos sinápticos.
6. • Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inversa da Matriz Hessiana
• Testes e Experimentos
• Conclusões
• Referências Bibliográficas
7. Modelagem local da Superfície de Erro
• Aproximação local da função de custo “Emed”
usando uma série de Taylor:
• Onde:
– δw: variação do parâmetro w
– H: matriz hessiana
𝛿� = (
𝜕�
𝜕�
)�
∗ 𝛿� +
1
2
𝛿��
∗ � ∗ 𝛿� + � ቀหȁ𝛿�ȁห
3
ቀ (1.1)
8. Aproximações para a resolução do
problema
• Aproximação Extrema
– A rede está treinada para um mínimo (local),
portanto elimina-se o primeiro termo (linear) da
Equação 1.1.
• Aproximação Quadrática
– A superfície de erro é aproximadamente quadrática
em torno de um mínimo local. Assim eliminamos o
termo de terceira ordem da Equação 1.1.
9. Aproximação para a resolução do
problema
• Assim a Equação 1.1 fica:
𝛿� =
1
2
𝛿��
∗ � ∗ 𝛿� (1.2)
10. • Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inversa da Matriz Hessiana
• Testes e Experimentos
• Conclusões
• Referências Bibliográficas
11. Algoritmos de Poda de Rede Baseada na
Hessiana
• OBS – Optimal Brain Surgeon;
• OBD – Optimal Brain Damage
12. Algoritmos de Poda de Rede Baseada na
Hessiana
• OBS – Optimal Brain Surgeon;
• (Hassibi,1992) demonstra que a computação completa da
matriz Hessiana torna o método mais poderosos.
• OBD – Optimal Brain Damage
• (Le Cun, 1990) simplifica a saliência fazendo a imposição de
que a Hessiana seja uma matriz diagonal.
13. Optimal Brain Surgeon
• Objetivo:
– Fixar um dos pesos sinápticos em zero para
minimizar o aumento incremental da função custo
medε
14. Optimal Brain Surgeon
• Reformulação do objetivo como um Problema
de Otimização Convexa:
- Minimize a forma quadrática
sujeito a restrição
- Minimize o resultado em relação ao índice i;
A minimização 1, acontece sobre os vetores dos pesos sinápticos que
permanecem.
A minimização 2 é sobre o vetor particular que é podado.
wHwS T
δδ **
2
1
=
01 =+ i
T
i wwδ
15. Optimal Brain Surgeon
• Passos para resolução do Algoritmo:
1- Utiliza-se o Método dos Multiplicadores de Lagrange S;
2- Aplica-se a derivada no Lagrangeano;
3- Computa-se a Inversa da Matriz Hessiana;
4- Constata-se a modificação ótima do vetor peso w.
5- Encontra a menor saliência;
6- Poda e faz uma atualização de pesos;
7- Encerra quando mais nenhum peso puder ser eliminado da
rede, sem um grande aumento no MSE.
8- Retreina a rede (Sempre que um peso ou pequena parte dele é
eliminado).
16. Optimal Brain Surgeon
• Passos para resolução do Algoritmo:
1)
2,3,4,5)
-Usa-se o q para atualizar todos os pesos.
-Se não tiver mais pesos para serem deletados, que não
influenciam no Erro. Retreina a rede.
)*1(**
2
1
q
T
q
T
wwwHwL +−= δλδδ
qq
q
q
qq
q
H
w
L
H
H
w
w
][2
1
*
][
1
2
1
1
−
−
−
=
=δ
17. Optimal Brain Surgeon
• Saliência
- Representa o aumento no MSE (média de desempenho) que
resulta na eliminação de wi.Assim pequenos pesos tem um
efeito pequeno no MSE.
- O Lagrangeano Si, otimizado em relação a ,sujeito a
restrição que o i-ésimo peso sináptico seja eliminado, é
denominado saliência de wi.
- Se a inversa da Hessiana for pequena, então mesmo pesos
pequenos deverão ter um efeito substancial no MSE.
- No OBS, o peso correspondente a menor saliência é aquele
selecionado para a eliminação.
wδ
18. Optimal Brain Damage
- O OBD simplifica os cálculos fazendo uma suposição
adicional: A matriz Hessiana H é uma matriz diagonal. O que
não é feito no OBS.
- Diversos pesos podem ser excluídos entre cada procedimento
de retreino, devido à aproximação da independência [1].
19. Optimal Brain Damage
• Passos para resolução do Algoritmo:
1- Utiliza-se o Método dos Multiplicadores de Lagrange S;
2- Aplica-se a derivada no Lagrangeano;
3- Computa-se os elementos da diagonal da Inversa da Matriz
Hessiana;
4- Computa-se as Saliências
5- Poda a rede (deleta todos os pesos que tenham as mínimas
saliências)
6- Retreina a rede até um erro aceitável;
7- Se não atingir o critério de parada, repete o passo 2.
20. Optimal Brain Damage
• Passos para resolução do Algoritmo:
1)
3) Computa-se os elementos da diagonal da Inversa da Matriz
Hessiana;
4) Computa a Saliência: para todo peso :
5,6,7)
)*1(**
2
1
q
T
q
T
wwwHwL +−= δλδδ
qw
2
)( 2
qqq
q
wH
S
δ
=
21. • Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inversa da Matriz Hessiana
• Testes e Experimentos
• Conclusões
• Referências Bibliográficas
22. Computação da inversa da matriz
Hessiana
• Quando o número de parâmetros livres da
rede, W, é grande, o problema de computar a
inversa pode ser intratável
– Iremos reduzir a matriz Hessiana para uma matriz
de covariância associada à certos vetores
gradientes.
23. Computação da inversa da matriz
Hessiana
• Considere uma rede neural não-linear com um
vetor de entrada in de dimensão ni, e um vetor
de saída o de dimensão no, mapeados de acordo
com:
• Onde:
– w : vetor n-dimensional representando os pesos e outros
parâmetros da rede neural
� = �(�, 𝑖�) (3.1)
24. Computação da inversa da matriz
Hessiana
• A função de custo (MSE) pode ser definida
como:
• Onde:
– P: número de pares de treino
– t[k]
: resposta esperada na rede para k-ésimo par de treinamento
– o[k]
: resposta fornecida pela rede para k-ésimo par de
treinamento
� =
1
2�
σ (�ሾ�ሾ
− �[�]
)�
∗ (�ሾ�ሾ
− �[�]
)�
�=1 (3.2)
25. Computação da inversa da matriz
Hessiana
• A derivada primeira da função (3.2) em
relação à w fica:
• A segunda derivada ou Hessiana fica:
𝛿�
𝛿�
= −
1
�
σ
𝛿�൫�,𝑖� ሾ�ሾ൯
𝛿�
(�ሾ�ሾ
− �[�]
)�
�=1 (3.3)
� ≡
1
�
σ ൦
𝛿�൫�,𝑖� �൯
𝛿�
∗
𝛿�൫�,𝑖� � ൯
�
𝛿�
−
𝛿2�൫�,𝑖� � ൯
𝛿2�
∗ (�ሾ�ሾ
− �[�]
)
൪�
�=1 (3.4)
26. Computação da inversa da matriz
Hessiana
• Supondo que a rede foi totalmente treinada
(aproximação extrema)
– A função de custo foi ajustada para um mínimo
local na superfície de erro
– O valor de t[k]
é próximo ao valor de o[k]
– t[k]
– o[k]
≈ 0
• Assim a Equação 3.4 fica:
� =
1
�
σ ሾ
𝛿�൫�,𝑖� �൯
𝛿�
∗
𝛿�൫�,𝑖� �൯
�
𝛿�
ሾ�
�=1 (3.5)
27. Computação da inversa da matriz
Hessiana
• Supondo uma rede com apenas uma saída,
podemos definir um vetor X[k] de derivadas
como:
• Assim, a Equação 3.4 pode ser reescrita como:
�[�]
≡
𝛿�(�,𝑖� [�])
𝛿�
(3.6)
� =
1
�
σ ሾ�[�]
∗ �[�]�൧�
�=1 (3.7)
28. Computação da inversa da matriz
Hessiana
• Então em uma rede com múltiplas saídas, X
será uma matriz de n x no:
• Assim, generalizamos a Equação 3.5 para:
�ሾ�ሾ
≡
𝛿�൫�,𝑖� ሾ�ሾ൯
𝛿�
=
𝛿�1൫�,𝑖� ሾ�ሾ൯
𝛿�
, … ,
𝛿��0
൫�,𝑖� ሾ�ሾ൯
𝛿�
= (�1
�
, … , ��0
�
) (3.8)
� =
1
�
σ σ ሾ��
[�]
∗ ��
[�]�
ሾ
�0
�=1
�
�=1 (3.9)
29. Computação da inversa da matriz
Hessiana
• A Equação 3.9 pode ser reescrita de uma forma
interativa, que é de fácil implementação:
• Porém nosso algorítmo requer a inversa da matriz
Hessiana, que pode ser calculada utilizando a
seguinte fórmula de inversão de matriz:
��+1 = �� +
1
�
�[�+1]
∗ �[�+1]�
(3.10)
ሾ� + � ∗ � ∗ �ሾ−1
=
�−1
− �−1
∗ � ∗ (�−1
+ � ∗ �−1
∗ �)−1
∗ � ∗ �−1
(3.11)
30. Computação da inversa da matriz
Hessiana
• Aplicando a inversão matricial, a Equação
3.10 fica:
��+1
−1
= ��
−1
−
��
−1∗�[� +1]∗�[� +1]�∗��
−1
�+�[� +1]� ∗��
−1∗�[� +1] (3.12)
31. • Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inversa da Matriz Hessiana
• Testes e Experimentos
• Conclusões
• Referências Bibliográficas
32. Testes e Experimentos
Problemas MONK’s
- Testes e conclusões em cima dos problemas MONK’s.
- (Thrun et al. 1991), projetaram três redes totalmente
conectadas treinadas por um backpropagation com decaimento
de peso sobre estes problemas, em uma competição de
aprendizagem de máquina.
- O objetivo era encontrar o número de pesos que poderiam ser
eliminados pelos diferentes métodos e ainda executar.
33. Testes e Experimentos
Problemas MONK’s
- Os problemas MONK’s são problemas padrões, nos quais os
robôs são descritos com diferentes atributos
(Thrun,Mitchel,Cheng , 1991).
- A tarefa de aprendizagem é uma tarefa de classificação
binária.
- Cada problema é dado por uma descrição lógica de uma
classe.
- Mas ao invés de fornecer uma descrição completa da classe à
aprendizagem, apenas um subconjunto de todos os 432, é
possível com a sua classificação.
- A tarefa de aprendizagem é, então, generalizar sobre estes
exemplos
34. Testes e Experimentos
Problemas MONK’s
- Número de pesos utilizados entre os Algoritmos para obter a
mesma performance do Backpropagation com decaimento de
peso. (Thrun et al. 1991).
35. Testes e Experimentos
Problemas MONK’s
- -O Algoritmo baseado em
Magnitude usando BPWD, e
o algoritmo OBS, com eta =
0.1 e taxa d decaimento =
0.0001. Precisou de 3
épocas para realizar o
problema.
-O Algoritmo OBD, usando
os mesmos parâmetros,
precisou de 300 épocas para
obter a mesma performance.
36. Quando parar a Poda de Rede:
- Se a poda for interrompida muito cedo, o máximo proveito do
método de poda não foi tomado.
- Se a poda for interrompida muito tarde, então não só pesos
desnecessários foram removidos, mas talvez também pesos de
importância crucial para o desempenho da ANN.
- Durante a poda o conjunto de validação é usado para
monitorar o desempenho do ANN.
- O erro no conjunto de validação é uma estimativa do erro no
conjunto de teste.
- Quando o erro de validação aumenta além de um limiar é hora
de parar de poda.
37. • Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inversa da Matriz Hessiana
• Testes e Experimentos
• Conclusões
• Referências Bibliográficas
38. Conclusões
- O OBS possui uma melhor generalização nos dados de teste.
- O OBS permite entre 76% e 90% de redução de pesos
sinápticos sobre o Backpropagation com decaimento d peso
em problemas padrões MONKs.
- Somente o OBS exclui corretamente os pesos na rede em um
treino de XOR em todos os casos.
- O OBS é mais sofisticado (Buhr,1995), mais estável e robusto
(Depenau e Moller, 1994).
39. Conclusões
- A maneira que o OBS funciona é que ele fica perto do mínimo
local de onde ele começa a poda. Funciona muito bem quando
mínimo local de onde começa o OBS fica perto da mínimo
global. Mas se o erro mínimo original (início) não é o menor
erro global, o OBS nunca vai encontrar esse ponto, porque não
treina ao mesmo tempo.
- O problema do OBS é o seu consumo de memória.
- Uma alternativa para grandes redes é utilizar o método
baseado em magnitude para podar inicialmente (encontrando o
mínimo global), e quando a rede estiver menor, utilizar o OBS.
40. • Introdução
• Modelagem da Superfície de Erro
• Algorítmos de Poda Baseados na Hessiana
• Computação da Inversa da Matriz Hessiana
• Análise de Desempenho
• Conclusões
• Referências Bibliográficas
41. Referencias Bibliográficas:
[1]Buhr M.(1995).Aesthetics of Newspaper Layout – and a Survey on
Architecture Determining Algorithms. Computer Science Department,
Aarhus Univeristy, Denmark.
[2]Depenau, Moller (1995). Aspects of Generalization and Pruning. Aarhaus
University. Denmark.
[3] Le Cun., J.S. Denker, and S.Sollar (1990). Optimal Brain Damage. AT&T
Bell Laboratories, Holmdel.
[4] Hassibi, B. Stork, D.G. (1992). Second order derivatives for network
pruning: Optimal Brain Surgeon , in Proceedings of the Neural
Information Processing Systems-92.
42. Referencias Bibliográficas:
[5] Hassibi, B. Stork, D.G. and Wolf, G. (1992).Optimal Brain Surgeon and
General Network Pruning, IEEE International Conference on Neural
Networks, vol.1,pp.293-299, San Francisco.
[6] Haykin S. Redes Neurais, Principios e Pratica.Ed Bookman, pg.248-
252,2001.
[7] Thrun, S.B. and 23 co-authors (1991). The MONK’s Problems – A
performance comparison of different learning algorithms, CMU-CS-91-
197 Carnegie-Mellon U. Department of Computer Science Tech Report.
[8] en.wikipedia.org, Wikipedia – The Free Encyclopedia