Máquina Boltzmann restrita: como é usada no aprendizado de máquina?

21

Fundo:

Sim, a máquina de Boltzmann restrita (RBM) pode ser usada para iniciar os pesos de uma rede neural. Também PODE ser usado de maneira "camada por camada" para construir uma rede profunda de crenças (isto é, treinar uma ésima camada na parte superior da -ésima camada e depois treinar a ésima camada na parte superior da ésima camada, enxágüe e repita ...)n(n-1)n+1n .

Sobre como usar o RBM, detalhes podem ser encontrados no tópico Bom tutorial para máquinas restritas de Boltzmann (RBM), onde alguns documentos e tutoriais podem ser encontrados.

Minha pergunta seria:

  • O RBM é realmente usado em projetos industriais ou acadêmicos
  • Se sim, como e quais projetos estão sendo usados?
  • Qualquer biblioteca popular (como tensorflow, Caffe, Theono, etc) fornece módulo RBM?

Obrigado por compartilhar. Desejo saber se o RBM é realmente útil na prática.

Bill Ancalagon, o preto
fonte

Respostas:

2

O RBM foi uma das primeiras maneiras práticas de treinar / aprender uma rede profunda, com mais de uma ou duas camadas. E a rede de crenças profundas foi proposta por Geoffrey Hinton, que é considerado um dos 'pais do aprendizado profundo, suponho, embora Yann LeCun seja o outro' pai 'principal do aprendizado profundo, eu acho, ou é assim que eu vejo. Claro, tudo já foi inventado anos atrás por Jurgen Schmidhuber :-)

Portanto, os RBMs são famosos porque 1. uma das primeiras maneiras de aprender profundamente 2. Geoffrey Hinton.

No entanto, na prática, eles certamente são usados ​​e utilizáveis ​​na pesquisa acadêmica, já que muitas pessoas estão tentando encontrar um nicho único, no qual possam ser especialistas, e ser o especialista mundial em algum nicho de RBMs é uma boa opção. nicho como qualquer outro. No entanto, na prática, na indústria, embora eu não afirme que eles nunca sejam usados, mas surgem muito raramente. Existem simplesmente muitas técnicas muito padronizadas, que treinam de maneira muito rápida e fácil, como regressão logística e redes neurais convolucionais de feed-forward. Para os não supervisionados, coisas como GANs são realmente populares no momento.

Hugh Perkins
fonte
1

É possível usar RBMs para lidar com problemas típicos que surgem na coleta de dados (que poderiam ser usados, por exemplo, para treinar um modelo de aprendizado de máquina). Tais problemas incluem conjuntos de dados desequilibrados (em um problema de classificação) ou conjuntos de dados com valores ausentes (os valores de alguns recursos são desconhecidos). No primeiro caso, é possível treinar um RBM com dados da classe minoritária e usá-lo para gerar exemplos para essa classe, enquanto no segundo caso, é possível treinar um RBM separadamente para cada classe e descobrir valores de características desconhecidos.

Outra aplicação típica de RBMs é a filtragem colaborativa ( http://dl.acm.org/citation.cfm?id=1273596 ).

No que diz respeito às bibliotecas populares, acho que o deeplearning4j é um bom exemplo ( http://deeplearning4j.org ).

kostas
fonte