Bom tutorial para máquinas de Boltzmann restritas (RBM)

10

Estou estudando a RBM (Restricted Boltzmann Machine) e estou tendo alguns problemas para entender os cálculos de probabilidade de log com relação aos parâmetros da RBM. Embora muitos trabalhos de pesquisa sobre RBM tenham sido publicados, não há etapas detalhadas dos derivativos. Depois de pesquisar online, consegui encontrá-los neste documento:

  • Fischer, A. & Igel, C. (2012). Uma introdução às máquinas restritas de Boltzmann. Em L. Alvarez et al. (Eds.): CIARP, LNCS 7441, pp. 14–36, Springer-Verlag: Berlin-Heidelberg. ( pdf )

No entanto, os detalhes deste documento são muito avançados para mim. Alguém pode me indicar um bom tutorial / conjunto de notas de aula sobre RBM?


Edit: @ David, a seção confusa é mostrada abaixo (equação 29 na página 26):

lnL(θ|v)wij=hp(h|v)E(v,h)wij+v,hp(v,h)E(v,h)wij=hp(h|v)hivjvp(v)hp(h|v)hivj(29)=p(Hi=1|v)vjvp(v)p(Hi=1|v)vj.
Upul
fonte
Você pode ser mais específico sobre quais etapas estão confundindo você?
David J. Harris
11
uma boa leitura é o capítulo 5 de aprender arquiteturas profundas para AI ( iro.umontreal.ca/~bengioy/papers/ftml_book.pdf )
dksahuji
@dksahuji obrigado por INFO, também prof: Bengio está escrevendo um DL e um rascunho inicial está disponível em iro.umontreal.ca/~bengioy/dlbook
Upul
Este tutorial tem explicações sobre a matemática do RBM ( um tutorial sobre máquinas de Boltzmann restritas ).
Jiang Xiang

Respostas:

7

Eu sei que é um pouco tarde, mas talvez ajude. Para obter o primeiro termo da sua equação, siga estas etapas: Assumimos que a independência condicional entre os existem unidades ocultas, dadas as unidades visíveis. Assim, podemos fatorar a distribuição condicional de probabilidade conjunta para os estados ocultos.

hp(h|v)hivj=vjh1...hi...hnp(h1,...,hi,...hn|v)hi=vjhih_ip(hi,h_i|v)hi
=vjhih_ip(hi|v)hip(h_i|v)=vjhip(hi|v)hih_ip(h_i|v)
O último termo é igual a , pois estamos somando todos os estados. Assim, o que resta, é o primeiro termo. Como usa apenas os estados e , terminamos com: 1hi10
=vjp(Hi=1|v)
peschn
fonte
7
  1. Existe um tutorial decente de RBMs no site deeplearning .

  2. Esta postagem no blog ( Introdução às máquinas restritas de Boltzmann ) foi escrita em linguagem mais simples e explica muito bem o básico do RBMS:

  3. Além disso, talvez a melhor referência seja o curso de Redes Neurais de Geoff Hinton sobre Coursea:

    Não tenho certeza se você pode acessar a turma e os vídeos após o término da aula.

sjm.majewski
fonte
2
Ainda há pessoas se inscrevendo na turma do Coursera e postando no fórum. Você ainda pode ver todas as palestras e acessar todos os questionários e tarefas de programação (entre os questionários). Essa informação provavelmente estará disponível até que o curso seja oferecido novamente. Eu recomendo a inscrição no curso apenas para visualizar ou baixar o material.
Douglas Zare
1

A caixa laranja esquerda fornece o valor esperado do gradiente de energia em todas as configurações ocultas, uma vez que algum vetor visível é fixado nas unidades visíveis (a expectativa sobre os dados, pois ele usa uma amostra do seu conjunto de treinamento). O termo em si é o produto de (1) a probabilidade de ver uma unidade oculta específica, dado que algum vetor v está preso nas unidades visíveis e (2) o estado de uma unidade visível j.

A caixa laranja direita é a mesma que a esquerda, exceto que você está fazendo o que está na caixa laranja esquerda para todas as configurações visíveis possíveis, em vez da que está presa nas unidades visíveis (a expectativa sobre o modelo, pois nada está preso nas unidades visíveis).

Avalon
fonte
1

O capítulo 5 do curso de aprendizado de máquina de Hugo Larochelle ( vídeo ) é a melhor introdução que eu encontrei até agora.

A derivada da função de perda não é derivada nessas palestras, mas não é difícil de fazer (posso postar uma varredura dos meus cálculos, se necessário, mas na verdade não é tão difícil). Ainda estou procurando um bom livro sobre este tópico, mas principalmente existem apenas artigos. Há uma boa visão geral dos artigos no capítulo 20 do Deep Learning Book de Bengio .

jakab922
fonte