Revisão de Máquinas Boltzmann Restritas
Uma máquina Boltzmann restrita (RBM) é um modelo generativo , que aprende uma distribuição de probabilidade sobre a entrada. Isso significa que, após ser treinado, o RBM pode gerar novas amostras a partir da distribuição de probabilidade aprendida. A distribuição de probabilidade sobre as unidades visíveis é dada por
p ( v ∣ h ) = V ∏ i = 0 p ( v i ∣ h ) ,
onde
p ( v i ∣ h ) = σ ( a i + Hv
p ( v ∣ h )= ∏i = 0Vp ( vEu∣ h ) ,
e
σé a função sigmóide,
umié a tendência para o nó visível
i, e
Wjié o peso a partir de
hja
vi. A partir dessas duas equações, segue-se que
p(v∣h)depende apenas dos estados ocultos
h. Isso significa que as informações sobre como uma amostra visível
vé gerada devem ser armazenadas nas unidades ocultas, nos pesos e nos desvios.
p ( vEu∣ h ) = σ( umEu+ ∑j = 0HWj ihj)
σumaEuEuWj ihjvEup ( v ∣ h )hv
Usando RBMs para classificação
h
Esse vetor oculto é apenas uma versão transformada dos dados de entrada - isso não pode classificar nada por si só. Para fazer uma classificação, você treinaria qualquer classificador (classificador linear, SVM, uma rede neural de feedforward ou qualquer outra coisa) com o vetor oculto em vez dos dados de treinamento "brutos" como entradas.
Se você estiver construindo uma rede de crenças profundas (DBN) - que foi usada para pré-treinar redes neurais profundas de feed-forward de uma maneira não supervisionada - você pegaria esse vetor oculto e o usaria como entrada para um novo RBM, que você empilha no topo disso. Dessa forma, você pode treinar a rede camada por camada até atingir o tamanho desejado, sem precisar de dados rotulados. Por fim, você adicionaria, por exemplo, uma camada softmax ao topo e treinaria toda a rede com retropropagação em sua tarefa de classificação.