Вы находитесь на странице: 1из 39

Mquina de Boltzmann

Fundamentos e aplicaes

Aprendizado de Mquina Ldia Bononi Paiva Tomaz

Referncias
Redes Neurais: Princpios e Prticas
Simon Haykin

Pattern Classification:
Richard O. Duda Petter E. Hart David G. Stork

Inteligncia Artificial
Stuart Russell Peter Norvig

Tpicos
Definio Redes Neurais Recorrentes Modelo Estocstico de um Neurnio Caractersticas da Mquina de Boltzmann Neurnios da Mquina de Boltzmann Recozimento Simulado Aprendizado de Boltzmann Aplicaes

Definio
A Mquina de Boltzmann um tipo de redes neurais recorrentes estocsticas inventadas por Geoffrey Hinton e Terry Sejnowski - 1986

Redes Neurais Recorrentes


So redes neurais com um ou mais laos de realimentao.

Modelo Estocstico de um neurnio


Permite-se que um neurnio assuma apenas um de dois estados:
+1 para o estado ligado - 1 para o estado desligado

A deciso de mudar o estado do neurnio probabilstica.

Caractersticas
Utiliza conexes sinpticas simtricas em seus neurnios:
A conexo sinptica simtrica do neurnio i para o neurnio j representada por wij, com
wij = wji para todo (i,j)

Possui uma funo de energia E cujo seu valor determinado pelos estados particulares ocupados pelos neurnios individuais da mquina.

Funo de energia

E = funo de energia xj = estado do neurnio j; w kj = peso sinptico conectando o neurnio j ao neurnio k; j k = significa que nenhum dos neurnios da mquina tem auto-realimentao

Neurnios da Mquina de Boltzmann


Se dividem em dois grupos funcionais:
visveis e ocultos.

Neurnios da Mquina de Boltzmann


Neurnios visveis:
Fornecem uma interface entre a rede e o ambiente no qual ela opera. Durante a fase de treinamento da rede (aprendizagem supervisionada), os neurnios visveis esto todos presos a estados especficos determinados pelo ambiente.

Neurnios da Mquina de Boltzmann


Neurnios ocultos
Sempre operam livremente So usados para explicar as restries subjacentes contidas nos vetores de entrada do ambiente.

Mnimo global

Se tomarmos uma caixa contendo uma paisagem e uma bola de gude, poderamos comear agitando o caixa vigorosamente no incio e depois, gradualmente, reduzir a quantidade de agitao. A idia que em qualquer perodo, deve haver apenas a energia suficiente na caixa para agitar a bolinha para a cavidade mais profunda.

Recozimento Simulado
Tem por objetivo convergir a funo para um mnimo global.

Se diferencia dos algoritmos de otimizao por que:


No fica preso necessariamente em mnimos locais, pois sempre possvel uma transio para fora de um mnimo local quando o sistema opera a uma temperatura diferente de zero. O recozimento simulado adaptativo no sentido de que as caractersticas grosseiras do estado final do sistema so vistas a altas temperaturas, enquanto que os detalhes finos do estado aparecem em temperaturas muito baixas.

Recozimento simulado
Valor inicial da temperatura T escolhido suficientemente alto;

T no uma temperatura fsica (pseudotemperatura);


Em geral a funo de decremento definida por:
Tk = Tk-1, k = 1, 2, ... onde uma constante menor que, mas prxima, unidade como 0,8 e 0,99.

Aprendizado de Boltzmann
Tipo de aprendizado:
No supervisionado Supervisionado

Aprendizagem de Boltzmann
Consiste em duas fases:
Fase positiva:
Nesta fase a rede opera na sua condio presa, isto , os neurnios visveis esto todos presos a estados especficos determinados pelo ambiente.

Fase negativa:
Nesta segunda fase, permitido que todos os neurnios (visveis e ocultos) operem livremente.

Aprendizagem de Boltzmann
Operao:
Escolha aleatria de um neurnio (j); Altera-se o estado do neurnio de sj para sj em alguma temperatura T, com probabilidade dada por:

Aprendizagem de Boltzmann
E = Variao de energia da mquina resultante da troca realizada pela funo de energia:

Ej = k wjksk T = temperatura

Exemplo

Exemplo
1

-1

Exemplo
1

0,2 0,2 0,3

0,3

0,4 1 0,4 -1

Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 1

0,3

0,4 1 0,4 -1

Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 1 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0

0,3

0,4 1 0,4 -1

Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 1 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0

0,3

0,4 1 0,4 -1

Temperatura: 10 =0.8

p >= 0.5 = 1; p < 0.5 = -1

Exemplo
Para neurnio 1: E1 = ((0,2 * 1) + (0, 3 * (-1))) = -0,1 p1 = (1/(1+exp(-(-0,1)/10) ))= 0,4975 p1 < 0,5 logo o estado do neurnio 1 -1.

Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 -1 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0

0,3

0,4 1 0,4 -1

Temperatura: 8

p >= 0.5 = 1; p < 0.5 = -1

Exemplo
Para neurnio 2: E2 = ((0,2 * (-1)) + (0, 3 * (-1))) = -0,6 p2 = (1/(1+exp(-(-0,6)/8) ))= 0,4812 p2 < 0,5 logo o estado do neurnio 2 -1.

Exemplo
w11 w21 w31 w12 w22 w32 w13 w23 w33 0,2 0,2 0,3 -1 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0

0,3

0,4 -1 0,4 -1

Temperatura: 6,4

p >= 0.5 = 1; p < 0.5 = -1

Exemplo
Para neurnio 3: E3 = ((0,2 * (-1)) + (0, 3 * (-1))) = -0,7 p2 = (1/(1+exp(-(-0,7)/6,4) ))= 0,4726 p2 < 0,5 logo o estado do neurnio 3 -1.

Exemplo
-1

-1

-1

Aprendizagem de Boltzmann
Se a rede executar por tempo suficiente, alcanara um ponto de baixa energia chamado ponto de equilbrio trmico. Pode-se estimar a distribuio de probabilidade sobre as unidades visveis, na fase em que a rede executa livremente, calculando as atividades mdias < S > de todas as unidades visveis.

Aprendizado de Boltzmann
Distncia de Kullback-Leibler:

onde
P distribuio dos neurnios visveis P distribuio dos neurnios ocultos

Aprendizado de Boltzmann
Para aproximar as distribuies de probabilidades P e P, basta minimizar a funo G:

onde
<sisj>+ (probabilidade dos neurnios i e j estarem ativos) <sisj>- (probabilidade dos neurnios i e j estarem inativos )

Aprendizagem de Boltzmann
Variao dos pesos:
Suponha que pjk- represente a correlao entre os estados dos neurnios j e k, com a rede na sua condio presa. Suponha que pjk+ represente a correlao entre os estados dos neurnios j e k, com a rede na sua condio livre.

Aprendizagem de Boltzmann
A variao kj aplicada ao peso sinptico kj do neurnio j para o neurnio K definada por (Hinton e Sejnowski, 1986) kj = (kj- - pkj+), jk

= taxa de aprendizagem kj- e pkj+ assumem valores entre -1 e +1.

Algoritmo
1. 2. 3. 4. 5. 6. 7. 8. 9. Atribuir valores iniciais aos pesos que reflitam o problema; Atribua valor constante de reduo de temperatura (preferencialmente entre 0.8 e 0.99); Atribuir valor inicial temperatura; Atribuir valores aleatrios aos ns (0,1 ou -1,1); Aplicar a fase presa a partir da frmula de probabilidade; Aplicar a fase livre a partir da frmula de probabilidade; Ajustar os pesos sinpticos; Ajustar a temperatura; Repetir os passos 5-8 at a temperatura chegar perto de 0 (zero) 1. Deixar que o sistema atinja um equilbrio; 2. Um mnimo global deve ter sido encontrado.

Desvantagem
Caso a reduo da temperatura seja pequena (desejvel) a fase de treinamento fica muito lenta.

Aplicaes
Reconhecimento de padres Problemas de otimizao Exemplos:
http://lotsacode.wordpress.com/2010/09/14/sharprbmrestricted-boltzmann-machines-in-c-net/

Resumo
Rede neural recorrente, onde cada n conectado a outro, mas no a si mesmo; Ns tm sada binria (1 ou-1 / 0 ou 1); Os pesos so simtricos; A rede constituda de ns visveis e ocultos; A aprendizagem pode ser supervisionada ou no supervisionada; A ativao do n estocstico.

Вам также может понравиться