ma q boltzmann

39
Máquina de Boltzmann Fundamentos e aplicações Aprendizado de Máquina Lídia Bononi Paiva Tomaz

Upload: mayra-trejo

Post on 24-Oct-2015

11 views

Category:

Documents


0 download

TRANSCRIPT

Máquina de BoltzmannFundamentos e aplicações

Aprendizado de Máquina

Lídia Bononi Paiva Tomaz

Referências• Redes Neurais: Princípios e Práticas

▫Simon Haykin

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

• Inteligência Artificial▫Stuart Russell▫Peter Norvig

Tópicos

•Definição•Redes Neurais Recorrentes•Modelo Estocástico de um Neurônio•Características da Máquina de Boltzmann•Neurônios da Máquina de Boltzmann•Recozimento Simulado•Aprendizado de Boltzmann•Aplicações

Definição

•A Máquina de Boltzmann é um tipo de redes neurais recorrentes estocásticas inventadas por Geoffrey Hinton e Terry Sejnowski - 1986

Redes Neurais Recorrentes

•São redes neurais com um ou mais laços de realimentação.

Modelo Estocástico de um neurônio•Permite-se que um neurônio assuma

apenas um de dois estados:▫+1 para o estado “ligado”▫- 1 para o estado “desligado”

•A decisão de mudar o estado do neurônio é probabilística.

Características•Utiliza conexões sinápticas simétricas em

seus neurônios:▫A conexão sináptica simétrica do neurônio i

para o neurônio j é representada por wij, comwij = wji para todo (i,j)

•Possui uma função de energia E cujo seu valor é determinado pelos estados particulares ocupados pelos neurônios individuais da máquina.

Função de energia

E = função de energiaxj = estado do neurônio j;w kj = peso sináptico conectando o neurônio j ao neurônio k;j ≠ k = significa que nenhum dos neurônios da máquina tem auto-realimentação

Neurônios da Máquina de Boltzmann

•Se dividem em dois grupos funcionais:▫visíveis e ocultos.

Neurônios da Máquina de Boltzmann

•Neurônios visíveis:▫Fornecem uma interface entre a rede e o

ambiente no qual ela opera.▫Durante a fase de treinamento da rede

(aprendizagem supervisionada), os neurônios visíveis estão todos presos a estados específicos determinados pelo ambiente.

Neurônios da Máquina de Boltzmann

•Neurônios ocultos▫Sempre operam livremente▫São usados para explicar as restrições

subjacentes contidas nos vetores de entrada do ambiente.

Mínimo global

Se tomarmos uma caixa contendo uma paisagem e uma bola de gude, poderíamos começar agitando o caixa vigorosamente no início e depois, gradualmente, reduzir a quantidade de agitação. A idéia é que em qualquer período, deve haver apenas a energia suficiente na caixa para agitar a bolinha para a cavidade mais profunda.

Recozimento Simulado• Tem por objetivo convergir a função para um mínimo

global.

• Se diferencia dos algoritmos de otimização por que:▫ Não fica preso necessariamente em mínimos locais, pois é

sempre possível uma transição para fora de um mínimo local quando o sistema opera a uma temperatura diferente de zero.

▫ O recozimento simulado é adaptativo no sentido de que as características grosseiras do estado final do sistema são 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 não é uma temperatura física (pseudotemperatura);

•Em geral a função de decremento é definida por:▫Tk = αTk-1, k = 1, 2, ...▫onde α é uma constante menor que, mas

próxima, à unidade como 0,8 e 0,99.

Aprendizado de Boltzmann

•Tipo de aprendizado:▫Não supervisionado▫Supervisionado

Aprendizagem de Boltzmann

•Consiste em duas fases:▫Fase positiva:

Nesta fase a rede opera na sua condição presa, isto é, os neurônios visíveis estão todos presos a estados específicos determinados pelo ambiente.

▫Fase negativa: Nesta segunda fase, é permitido que todos os

neurônios (visíveis e ocultos) operem livremente.

Aprendizagem de Boltzmann

•Operação:▫Escolha aleatória de um neurônio (j);

▫Altera-se o estado do neurônio de sj para –sj em alguma temperatura T, com probabilidade dada por:

Aprendizagem de Boltzmann

•∆E = Variação de energia da máquina resultante da troca realizada pela função de energia:

∆Ej = ∑k wjksk

•T = temperatura

Exemplo

Exemplo

1

-11

Exemplo

1

-11

0,2

0,2 0,3

0,3

0,4

0,4

Exemplo

1

-11

0,2

0,2 0,3

0,3

0,4

0,4

w11 w12 w13w21 w22 w23w31 w32 w33 

Exemplo

1

-11

0,2

0,2 0,3

0,3

0,4

0,4

w11 w12 w13w21 w22 w23w31 w32 w33 

0 0,2 0,30,2 0 0,40,3 0,4 0 

Exemplo

1

-11

0,2

0,2 0,3

0,3

0,4

0,4

w11 w12 w13w21 w22 w23w31 w32 w33 

0 0,2 0,30,2 0 0,40,3 0,4 0 

Temperatura: 10 α=0.8 p >= 0.5 = 1; p < 0.5 = -1

Exemplo

•Para neurônio 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 neurônio 1 é -1.

Exemplo

-1

-11

0,2

0,2 0,3

0,3

0,4

0,4

w11 w12 w13w21 w22 w23w31 w32 w33 

0 0,2 0,30,2 0 0,40,3 0,4 0 

Temperatura: 8 p >= 0.5 = 1; p < 0.5 = -1

Exemplo

•Para neurônio 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 neurônio 2 é -1.

Exemplo

-1

-1-1

0,2

0,2 0,3

0,3

0,4

0,4

w11 w12 w13w21 w22 w23w31 w32 w33 

0 0,2 0,30,2 0 0,40,3 0,4 0 

Temperatura: 6,4 p >= 0.5 = 1; p < 0.5 = -1

Exemplo

•Para neurônio 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 neurônio 3 é -1.

Exemplo

-1

-1-1

Aprendizagem de Boltzmann

•Se a rede executar por tempo suficiente, alcançara um ponto de baixa energia chamado ponto de equilíbrio térmico.

•Pode-se estimar a distribuição de probabilidade sobre as unidades visíveis, na fase em que a rede executa livremente, calculando as atividades médias < S > de todas as unidades visíveis.

Aprendizado de Boltzmann

•Distância de Kullback-Leibler:

•onde ▫Pα – distribuição dos neurônios visíveis▫Pβ – distribuição dos neurônios ocultos

Aprendizado de Boltzmann• Para aproximar as distribuições de

probabilidades Pα e Pβ, basta minimizar a função G:

• onde▫<sisj>+ (probabilidade dos neurônios i e j

estarem ativos)▫<sisj>- (probabilidade dos neurônios i e j

estarem inativos )

Aprendizagem de Boltzmann

•Variação dos pesos:▫Suponha que pjk

- represente a correlação entre os estados dos neurônios j e k, com a rede na sua condição presa.

▫Suponha que pjk+ represente a correlação

entre os estados dos neurônios j e k, com a rede na sua condição livre.

Aprendizagem de Boltzmann

•A variação ∆ωkj aplicada ao peso sináptico ωkj do neurônio j para o neurônio K é definada por (Hinton e Sejnowski, 1986)

∆ωkj = η(ρkj- - pkj

+), j≠k

•η = taxa de aprendizagem•ρkj

- e pkj+ assumem valores entre -1 e +1.

Algoritmo

1. Atribuir valores iniciais aos pesos que reflitam o problema;

2. Atribua valor à constante de redução de temperatura (preferencialmente entre 0.8 e 0.99);

3. Atribuir valor inicial à temperatura;

4. Atribuir valores aleatórios aos nós (0,1 ou -1,1);

5. Aplicar a fase “presa” a partir da fórmula de probabilidade;

6. Aplicar a fase “livre” a partir da fórmula de probabilidade;

7. Ajustar os pesos sinápticos;

8. Ajustar a temperatura;

9. Repetir os passos 5-8 até a temperatura chegar perto de 0 (zero)1. Deixar que o sistema atinja um equilíbrio;2. Um mínimo global deve ter sido encontrado.

Desvantagem

•Caso a redução da temperatura seja pequena (desejável) a fase de treinamento fica muito lenta.

Aplicações

•Reconhecimento de padrões

•Problemas de otimização

•Exemplos:▫ http://lotsacode.wordpress.com/2010/09/14/sharprb

m-restricted-boltzmann-machines-in-c-net/

Resumo• Rede neural recorrente, onde cada nó é conectado a

outro, mas não a si mesmo;

• Nós têm saída binária (1 ou-1 / 0 ou 1);

• Os pesos são simétricos;

• A rede é constituída de nós visíveis e ocultos;

• A aprendizagem pode ser supervisionada ou não supervisionada;

• A ativação do nó é estocástico.