Post on 03-Jul-2015
description
Poda de Rede Baseada na Hessiana
Apresentação de TP-536Inteligência Artificial
Ramon Mayor MartinsRenann de Oliveira Barbedo Ponte
• 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
• 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
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.
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.
• 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
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
𝛿� = (𝜕�𝜕� )� ∗ 𝛿� + 12 𝛿�� ∗ � ∗ 𝛿� + � ቀหȁ𝛿�ȁห3ቀ (1.1)
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.
Aproximação para a resolução do problema
• Assim a Equação 1.1 fica:
𝛿� = 12 𝛿�� ∗ � ∗ 𝛿� (1.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
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 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.
Optimal Brain Surgeon
• Objetivo:– Fixar um dos pesos sinápticos em zero para
minimizar o aumento incremental da função custo
medε
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 =+ iTi wwδ
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).
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
1q
Tq
T wwwHwL +−= δλδδ
q
H
wL
HH
ww
][2
1
*][
1
2
11
−
−−
=
=δ
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δ
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].
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.
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
1q
Tq
T wwwHwL +−= δλδδ
qw 2
)( 2qqq
q
wHS
δ=
• 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
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.
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)
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
� = 12� σ (�ሾ�ሾ− �[�])� ∗ (�ሾ�ሾ− �[�])��=1 (3.2)
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)
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)
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)
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)
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)
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)
• 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
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.
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
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).
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.
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.
• 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
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).
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.
• 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
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.
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