Poda de Rede Baseada na Hessiana
Apresentação de TP-536
Inteligência Artificial
Ramon Mayor Martins
Renann de Oliveira Bar...
• Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inv...
• Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inv...
Introdução
• Derivadas Parciais de Segunda Ordem
– Utilizadas para determinar se um ponto crítico (a,b) de
uma função f(x,...
Introdução
• Informação sobre as derivadas de segunda
ordem da superfície de erro
– Compromisso entre complexidade da rede...
• Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inv...
Modelagem local da Superfície de Erro
• Aproximação local da função de custo “Emed”
usando uma série de Taylor:
• Onde:
– ...
Aproximações para a resolução do
problema
• Aproximação Extrema
– A rede está treinada para um mínimo (local),
portanto el...
Aproximação para a resolução do
problema
• Assim a Equação 1.1 fica:
𝛿� =
1
2
𝛿��
∗ � ∗ 𝛿� (1.2)
• Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inv...
Algoritmos de Poda de Rede Baseada na
Hessiana
• OBS – Optimal Brain Surgeon;
• OBD – Optimal Brain Damage
Algoritmos de Poda de Rede Baseada na
Hessiana
• OBS – Optimal Brain Surgeon;
• (Hassibi,1992) demonstra que a computação ...
Optimal Brain Surgeon
• Objetivo:
– Fixar um dos pesos sinápticos em zero para
minimizar o aumento incremental da função c...
Optimal Brain Surgeon
• Reformulação do objetivo como um Problema
de Otimização Convexa:
- Minimize a forma quadrática
suj...
Optimal Brain Surgeon
• Passos para resolução do Algoritmo:
1- Utiliza-se o Método dos Multiplicadores de Lagrange S;
2- A...
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...
Optimal Brain Surgeon
• Saliência
- Representa o aumento no MSE (média de desempenho) que
resulta na eliminação de wi.Assi...
Optimal Brain Damage
- O OBD simplifica os cálculos fazendo uma suposição
adicional: A matriz Hessiana H é uma matriz diag...
Optimal Brain Damage
• Passos para resolução do Algoritmo:
1- Utiliza-se o Método dos Multiplicadores de Lagrange S;
2- Ap...
Optimal Brain Damage
• Passos para resolução do Algoritmo:
1)
3) Computa-se os elementos da diagonal da Inversa da Matriz
...
• Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inv...
Computação da inversa da matriz
Hessiana
• Quando o número de parâmetros livres da
rede, W, é grande, o problema de comput...
Computação da inversa da matriz
Hessiana
• Considere uma rede neural não-linear com um
vetor de entrada in de dimensão ni,...
Computação da inversa da matriz
Hessiana
• A função de custo (MSE) pode ser definida
como:
• Onde:
– P: número de pares de...
Computação da inversa da matriz
Hessiana
• A derivada primeira da função (3.2) em
relação à w fica:
• A segunda derivada o...
Computação da inversa da matriz
Hessiana
• Supondo que a rede foi totalmente treinada
(aproximação extrema)
– A função de ...
Computação da inversa da matriz
Hessiana
• Supondo uma rede com apenas uma saída,
podemos definir um vetor X[k] de derivad...
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, g...
Computação da inversa da matriz
Hessiana
• A Equação 3.9 pode ser reescrita de uma forma
interativa, que é de fácil implem...
Computação da inversa da matriz
Hessiana
• Aplicando a inversão matricial, a Equação
3.10 fica:
��+1
−1
= ��
−1
−
��
−1∗�[...
• Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inv...
Testes e Experimentos
Problemas MONK’s
- Testes e conclusões em cima dos problemas MONK’s.
- (Thrun et al. 1991), projetar...
Testes e Experimentos
Problemas MONK’s
- Os problemas MONK’s são problemas padrões, nos quais os
robôs são descritos com d...
Testes e Experimentos
Problemas MONK’s
- Número de pesos utilizados entre os Algoritmos para obter a
mesma performance do ...
Testes e Experimentos
Problemas MONK’s
- -O Algoritmo baseado em
Magnitude usando BPWD, e
o algoritmo OBS, com eta =
0.1 e...
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.
...
• Introdução
• Modelagem local da Superfície de Erro
• Algoritmos de Poda de Rede Baseados na Hessiana
• Computação da Inv...
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...
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 b...
• Introdução
• Modelagem da Superfície de Erro
• Algorítmos de Poda Baseados na Hessiana
• Computação da Inversa da Matriz...
Referencias Bibliográficas:
[1]Buhr M.(1995).Aesthetics of Newspaper Layout – and a Survey on
Architecture Determining Alg...
Referencias Bibliográficas:
[5] Hassibi, B. Stork, D.G. and Wolf, G. (1992).Optimal Brain Surgeon and
General Network Prun...
Próximos SlideShares
Carregando em…5
×

Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

330 visualizações

Publicada em

Trabalho apresentado no dia 11/11/2011 na disciplina de Inteligência Artificial
Aluno: Ramon Mayor Martins
Professor. Dr. Carlos Alberto Ynoguti
Mestrado em Telecomunicações
INATEL - Instituto Nacional de Telecomunicações

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
330
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

  1. 1. Poda de Rede Baseada na Hessiana Apresentação de TP-536 Inteligência Artificial Ramon Mayor Martins Renann de Oliveira Barbedo Ponte
  2. 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. 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. 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. 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. 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. 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. 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. 9. Aproximação para a resolução do problema • Assim a Equação 1.1 fica: 𝛿� = 1 2 𝛿�� ∗ � ∗ 𝛿� (1.2)
  10. 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. 11. Algoritmos de Poda de Rede Baseada na Hessiana • OBS – Optimal Brain Surgeon; • OBD – Optimal Brain Damage
  12. 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. 13. Optimal Brain Surgeon • Objetivo: – Fixar um dos pesos sinápticos em zero para minimizar o aumento incremental da função custo medε
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×