redes neurais - poda hessiana: optimal brain surgeon e damage

42
Poda de Rede Baseada na Hessiana Apresentação de TP-536 Inteligência Artificial Ramon Mayor Martins Renann de Oliveira Barbedo Ponte

Upload: ramon-mayor-martins

Post on 03-Jul-2015

165 views

Category:

Documents


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

Poda de Rede Baseada na Hessiana

Apresentação de TP-536Inteligência Artificial

Ramon Mayor MartinsRenann de Oliveira Barbedo Ponte

Page 2: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

• 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

Page 3: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

• 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

Page 4: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 5: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 6: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

• 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

Page 7: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 8: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 9: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

Aproximação para a resolução do problema

• Assim a Equação 1.1 fica:

𝛿� = 12 𝛿�� ∗ � ∗ 𝛿� (1.2)

Page 10: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

• 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

Page 11: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

Algoritmos de Poda de Rede Baseada na Hessiana

• OBS – Optimal Brain Surgeon;

• OBD – Optimal Brain Damage

Page 12: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e 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.

Page 13: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

Optimal Brain Surgeon

• Objetivo:– Fixar um dos pesos sinápticos em zero para

minimizar o aumento incremental da função custo

medε

Page 14: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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δ

Page 15: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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).

Page 16: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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 +−= δλδδ

qq

qq

qq

q

H

wL

HH

ww

][2

1

*][

1

2

11

−−

=

Page 17: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 18: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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].

Page 19: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 20: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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

δ=

Page 21: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

• 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

Page 22: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 23: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 24: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 25: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 26: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 27: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 28: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 29: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 30: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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)

Page 31: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

• 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

Page 32: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 33: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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

Page 34: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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).

Page 35: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 36: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 37: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

• 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

Page 38: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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).

Page 39: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 40: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

• 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

Page 41: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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.

Page 42: Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage

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