Sunteți pe pagina 1din 29

Prof. Dr.

Joo Paulo Papa

Deep Boltzmann Machines


Leandro Aparecido Passos Junior
leandropassosjr@gmail.com
Aprendizagem de mquinas Julho/2015
Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Agenda

Introduo
Boltzmann Machines
Deep Boltzmann Machines
Experimentos

MNIST

NORB
Concluses

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Introduo
O que Deep Learning?

Novo conjunto de tcnicas para aprendizagem de mquinas

Baseadas no processamento de informaes visuais do ser


humana:

Ideia que processamento dos dados, extrao e


seleo de caractersticas e processamento sejam
feitos em diferentes etapas, ou 'camadas'

Tcnicas mais utilizadas:

Convolutional Neural Networks:

3 etapas: Convolues com diferentes filtros, amostragem


do sinal e por fim normalizao;

Restricted Boltzmann Machines:

Redes Neurais estocsticas onde conjunto de unidades


invisveis tentam modelar conjunto de dados de entrada.

No uma tcnica de DL, mas seu empilhamento .


Aprendizagem de mquinas Julho/2015
Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Introduo
Origem:

A ideia de Boltzmann Machine foi criada em 1983, por


Hinton e Sejnowski.

Rede com 2 camada:

Visvel e Invisvel.

Todas as unidades das 2 camadas conectadas entre si.

Inicializada por cadeia de Markov estocstica para


aproximar o equilbrio da distribuio.

Auxilio de Arrefecimento simulado (simulated annealing).

Mesmo assim, muito lento para ser prtico.

Restricted Boltzmann Machines (RBM):

No h conexes entre as unidades da mesma camada!


Aprendizagem de mquinas Julho/2015
Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Introduo
Boltzmann Machine e Restricted Boltzmann Machine:

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Introduo
Deep Learning com RBM:

Deep Belief nets:

RBM's empilhadas.

Aps Treinamento de uma RBM, sua camada invisvel


usada como entrada para a RBM um nvel acima.

Modelo hbrido, onde cada camada aprende por vez.

S h conexo direta com as duas camadas do topo, e


indireta com as demais abaixo

Deep Boltzmann Machines:

RBM's empilhadas.

Todas as camadas so estimadas de uma vez, e no


camada por camada

Conexo direta entre todas as camadas


Aprendizagem de mquinas Julho/2015
Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Boltzmann Machines

Utiliza Funes de energia para determinar a probabilidade das unidades:

Com a probabilidade a priori da camada visvel dada por:

E a camada invisvel e visvel a posteriori dadas por:

Onde sigma uma funo Logstica. A atualizao dos pesos dada por:

Onde alpha a taxa de aprendizagem, data[.] a expectativa dos dados


originais (Funo 2) e model[.] dos modelos (Funes 4 e 5).
Aprendizagem de mquinas Julho/2015
Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Boltzmann Machines
Problemas:

Encontrar a mxima verossimilhana era intratvel:

Emprego algoritmo
expectativas;

Problema continua, pois tempo para alcanar distribuies


estacionrias muito grande;

de

Gibbs

para

aproximar

as

Soluo:

Usar J e L = 0 (Maquinas de Boltzmann Restritas - RBM)

Elimina conexes entre unidades da mesma camada

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Boltzmann Machines
Restrict Boltzmann Machine:

Diferente das BM's, nas RBM's a inferncia exata;

No entanto, continua intratvel;

Divergncia Contrastiva:

Inicializa unidades visveis com amostras de treinamento


e estima os estados das amostras invisveis.

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Boltzmann Machines
Usando cadeias de Markov persistentes para estimar a
expectativa do modelo:

Uma outra tcnica possvel o Procedimento de


Aproximao Estocstico (SAP)

Quando k infinito a cadeia de Markov tende a ter uma


mistura baixa (denota a qualidade do processo de
decaimento da cadeia).
Por isso, taxa de aprendizagem deve cair em
funo de t na iterao (t = 1/t).

Se for suficientemente pequeno, o algoritmo converge


sem alterar o valor a ser estimado.

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Boltzmann Machines
Abordagem variacional para estimar a expectativa dependentes
dos dados

Calculo variacional um campo da matemtica que


estuda maximizao e minimizao de funes.

A distribuio a posteriori das camadas latentes


substituda por uma aproximao q. (H a entropia).

A substituio da camada invisvel por uma aproximao


pela dada pelo campo mdio ().

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Boltzmann Machines
Abordagem variacional para estimar a expectativa dependentes
dos dados

Parmetros so atualizados para seguir o gradiente da


verossimilhana.

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Boltzmann Machines
Abordagem variacional para estimar a expectativa dependentes
dos dados

Abordagem variacional no pode ser usada para a


distribuio do modelo, pois iria maximizar, devido ao
sinal de menos (Funo 6).

Soluo:

Usar Cadeias Persistentes para estimar probabilidade do


modelo e abordagem variacional para estimar probabilidade
dos dados.

Vantagens:

Convergncia geralmente rpida.

a mais adequada para aplicaes de reconhecimento de


imagens ou fala.

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Boltzmann Machines

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Deep Boltzmann Machines

Geralmente, BM's totalmente conectadas no so interessantes, mas seu


empilhamento sim:

DBM's (Deep Boltzmann Machines) e DBN (Deep Belief Networks)

DBM's e DBN's:

Correlao das atividades entre as camadas escondidas com as


inferiores;

Potencial de aprender representaes de alta complexidade, como


reconhecimento de voz e objetos;

Representaes de alto nvel podem ser construdas a partir de


dados no rotulados, necessitando de apenas poucas amostras
rotuladas para os ajustes finais

Vantagem de DBM' em relao a DBN's:

mais robusto e lida melhor com entradas ambguas, devido ao


seu processo de inferncia e na etapa de subida e na descida
(back propagation)

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Deep Boltzmann Machines

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Deep Boltzmann Machines


Supondo uma DBM com 2 camadas invisveis, temos:

Calculando a Energia:

Probabilidade dos dados:

Probabilidade das camadas invisveis e do modelo:

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Deep Boltzmann Machines


Pre treinamento camada-a-camada por mtodo guloso:

Forma mais eficiente de inicializar as unidades das


camadas invisveis.

Similar a Deep Belief Network, com algumas adaptaes:

Camada visvel e camada invisvel do topo so duplicadas.

Camadas escondidas recebem influncia da camada


abaixo na etapa de baixo para cima;

E as camadas acima, aps o treinamento de baixo para


cima, influenciam as abaixo (back propagation);

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Deep Boltzmann Machines


Calculando valores no pr-treinamento:

Modelo:

Camada do topo:

Camadas escondidas intermediarias:

Pre- treinamento serve para 2 coisas:

Inicializa os pesos com valores sensveis.

Assegura uma inferncia mais rpida, atravs de uma nica


passada de baixo para cima da pilha.
Aprendizagem de mquinas Julho/2015
Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Deep Boltzmann Machines


Validao das DBM's:

A etapa de validao das DBM's consiste em encontrar a


funo de partio.

Pode ser encontrado pelo mtodo Annealed Importance


Sampling (AIS), que um tipo de cadeia de Markov.

Relao entre a probabilidade e distribuio das amostras


dado com Z nas Funes 2 e 3.

um parmetro que varia gradativamente entre 0 e 1


(inverte a temperatura)

Juntos, AIS e inferncia variacional permitem obter uma


boa estimativa da verossimilhana para as amostras de
teste.
Aprendizagem de mquinas Julho/2015
Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Deep Boltzmann Machines


Ajustes (fine-tuning) discriminativos de DBM's:

Aps o aprendizado, a DBM estocstica pode ser


convertida em uma rede neural determinstica:

Calcula-se a aproximao das camadas invisveis priori


atravs do campo mdio;

A aproximao (pela abordagem variacional) da camada


invisvel ao topo usada junto com os dados de entrada
para criar uma entrada 'aumentada'.

Back propagation normal pode ser usada para ajustar o


modelo.

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Experimentos
Bases:

MNIST e NORB;
Base dividida em mini batches, cada um com 100
amostras;

Metodologia:

Parmetros so atualizados aps cada mini batch;

Taxa de aprendizado iniciada com 0.005 e decai at 0;

Para ajustes discriminativos, utiliza mini batches maiores,


com 5000 amostras;

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Experimentos
MNIST:

Base

60,000 amostras para treinamento e 10,000 para testes;

Imagens de 28x28 pixels de digitos entre 0 e 9;

Configuraes das DBM's

2 DBM's, uma com 2 e outra com 3 camadas invisveis;

2 camadas: 500 e 1000 unidades em cada camada;

3 camadas: 500, 500 e 1000 unidades em cada camada;

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Experimentos
MNIST:

O resultado da Verossimilhana pode ser visto na tabela abaixo,


com uma funo de partio com 20,000 variando uniformemente
entre 0 e 1.0:

Resultado ligeiramente melhor que DBN, com 85.97.

Mesmo com 0,9 e 1.15 milhes de parmetros, no sofre


overfitting (diferena de 1 nat. entre treinamento e teste).

Aps ajuste discriminativo, DBM com 2 camadas teve taxa


de erro de 0.95% no conjunto completo de testes da base
MNIST, que o melhor resultado j obtido at ento nessa
base.

DBM com 3 camadas ficou com taxa de erro de 1,01%,


DBN com 1,2% e SVM com 1,4%.
Aprendizagem de mquinas Julho/2015
Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Experimentos
NORB:

Base

24,300,000 amostras de 25 objetos para treinamento e


24,300 de 25 objetos para testes;

50 objetos (brinquedos) divididos em 5 classes,


fotografados em diferentes ngulos, com imagens stereo;

4,300 amostras de treinamento separadas para validao;

Imagens de 96x96 pixels em tons de cinza entre [0,255]

Imagens reduzidas de 9216 para 4488 (vetor de cada


imagem = 2x 4488 8976, imagens stereo)

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Experimentos
NORB:

Escala de cinza:

Pra modelar nosso vetor de entradas, precisamos usar uma


RBM com unidades Gaussianas visveis e invisveis;

Pode ser lento com valores de entrada muito grandes;

Abordagem utilizada: primeiramente aprende uma RBM


Gaussiana-binria e ento trata as atividades nas unidades
invisveis como dados 'pre-processados'.

Efetivamente, esse aprendizado da RBM Gaussiana


representa uma converso, ou um pre-processados dos
dados em escala de cinza para uma representao binria
que ser usada para aprender a DBM;

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Experimentos
NORB Treinamento:

4000 unidades foram usadas para o pr processamento;

O modelo foi treinado usando Divergncia Contrastiva em 500


pocas;

Foi usada ento uma DBM com 2 camadas de 4000 unidades cada;

Aps o treinamento no supervisionado e os ajustes (fine tuning)


discriminativos, conseguiu uma taxa de erro de 10.8% contra 11,6%
do SVM, 22.5% da regresso logstica e 18,4% com k-vizinhos mais
prximos;

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Experimentos
NORB Treinamento e testes:

Pra mostrar os benefcios de adicionar amostras no rotuladas no


treinamento, copiaram e transladaram amostras de treinamento,
conseguindo assim 1,166,400 amostras de treinamento para o
modelo generativo (no supervisionado);

Aps aprender o modelo generativo, faz o fine tuning discriminativo


usando as 24,300 amostras rotuladas, reduzindo a taxa de erros
para 7,2%;

Deixa claro que treinamento no supervisionado ajuda na


generalizao, por assegurar que a maior parte das informaes
dos parmetros do modelo vm dos dados de entrada;

As amostras rotuladas servem apenas para uns 'ajustezinhos' nas


camadas com caractersticas j descobertas pela DBM.

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com

Concluses
Foi apresentado novo algoritmo para treinamento de Mquinas
de Boltzmann com mltiplas camadas, e demonstrou que pode
ser usado para aprender modelos generativos;
Estendeu aprendizado de Mquinas de Boltzmann para
distribuies exponenciais (Bases grandes);
Apresentou estimador IAS, junto com inferncia Variacional
para estimar a verossimilhana em Mquinas de Boltzmann
com mltiplas camadas escondidas;
Mostrou que os ajustes (fine-tuning) discriminativos
funcionaram muito bem para reconhecimento das bases MNIST
digit e NORB 3D

Aprendizagem de mquinas Julho/2015


Autor: Leandro Ap. Passos Junior - leandropassosjr@gmail.com