1 / 39

Máquina de Boltzmann

Máquina de Boltzmann. Fundamentos 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

sitara
Download Presentation

Máquina de Boltzmann

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Referências • Redes Neurais: Princípios e Práticas • Simon Haykin • PatternClassification: • Richard O. Duda • Petter E. Hart • David G. Stork • Inteligência Artificial • Stuart Russell • Peter Norvig

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

  4. Definição • A Máquina de Boltzmann é um tipo de redesneuraisrecorrentesestocásticasinventadaspor Geoffrey Hinton e Terry Sejnowski - 1986

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

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

  7. 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, com wij = 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.

  8. Função de energia E = função de energia xj = 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

  9. Neurônios da Máquina de Boltzmann • Se dividem em dois grupos funcionais: • visíveis e ocultos.

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

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

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

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

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

  15. Aprendizado de Boltzmann • Tipo de aprendizado: • Não supervisionado • Supervisionado

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

  17. 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:

  18. Aprendizagem de Boltzmann • ∆E = Variação de energia da máquina resultante da troca realizada pela função de energia: ∆Ej=∑kwjksk • T = temperatura

  19. Exemplo

  20. Exemplo 1 1 -1

  21. Exemplo 1 0,2 0,3 0,3 0,2 1 0,4 -1 0,4

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

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

  24. Exemplo w11 w12 w13 w21 w22 w23 w31 w32 w33 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0 1 0,2 0,3 0,3 0,2 1 0,4 -1 0,4 Temperatura: 10 α=0.8 p >= 0.5 = 1; p < 0.5 = -1

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

  26. Exemplo w11 w12 w13 w21 w22 w23 w31 w32 w33 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0 -1 0,2 0,3 0,3 0,2 1 0,4 -1 0,4 Temperatura: 8 p >= 0.5 = 1; p < 0.5 = -1

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

  28. Exemplo w11 w12 w13 w21 w22 w23 w31 w32 w33 0 0,2 0,3 0,2 0 0,4 0,3 0,4 0 -1 0,2 0,3 0,3 0,2 -1 0,4 -1 0,4 Temperatura: 6,4 p >= 0.5 = 1; p < 0.5 = -1

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

  30. Exemplo -1 -1 -1

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

  32. Aprendizado de Boltzmann • Distância de Kullback-Leibler: • onde • Pα – distribuição dos neurônios visíveis • Pβ – distribuição dos neurônios ocultos

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

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

  35. Aprendizagem de Boltzmann • A variação ∆ωkj aplicada ao peso sináptico ωkjdo 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.

  36. Algoritmo • Atribuir valores iniciais aos pesos que reflitam o problema; • Atribua valor à constante de redução de temperatura (preferencialmente entre 0.8 e 0.99); • Atribuir valor inicial à temperatura; • Atribuir valores aleatórios aos nós (0,1 ou -1,1); • Aplicar a fase “presa” a partir da fórmula de probabilidade; • Aplicar a fase “livre” a partir da fórmula de probabilidade; • Ajustar os pesos sinápticos; • Ajustar a temperatura; • Repetir os passos 5-8 até a temperatura chegar perto de 0 (zero) • Deixar que o sistema atinja um equilíbrio; • Um mínimo global deve ter sido encontrado.

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

  38. Aplicações • Reconhecimento de padrões • Problemas de otimização • Exemplos: • http://lotsacode.wordpress.com/2010/09/14/sharprbm-restricted-boltzmann-machines-in-c-net/

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

More Related