Os RBMs são um animal interessante. Para responder à sua pergunta e desperdiçar minha memória com elas, derivarei RBMs e falarei sobre a derivação. Você mencionou que está confuso quanto à probabilidade; portanto, minha derivação será da perspectiva de tentar maximizar a probabilidade. Então vamos começar.
Mecanismos de argolas contêm dois diferentes conjuntos de neurônios, visíveis e ocultas, eu vou denotar-los e , respectivamente. Dada uma configuração específica de e , mapeamos o espaço de probabilidade.vhvh
p ( v , h ) = e- E( v , h )Z
Há mais algumas coisas a definir. A função substituta que usamos para mapear de uma configuração específica para o espaço de probabilidade é chamada de função energética . A constante é um fator de normalização para garantir que realmente mapeamos para o espaço de probabilidade. Agora vamos ao que realmente estamos procurando; a probabilidade de um conjunto de neurônios visíveis, em outras palavras, a probabilidade de nossos dados.
Z Z = Σ v ∈ V Σ h ∈ H E - E ( v , h ) P ( v ) = Σ h ∈ H p ( v , h ) = Σ h ∈ H E - E ( v , h )E( v , h )Z
Z= ∑v ∈ V∑h ∈ He- E( v , h )
p ( v ) = ∑h ∈ Hp ( v , h ) = ∑h ∈ He- E( v , h )∑v ∈ V∑h ∈ He- E( v , h )
Embora existam muitos termos nessa equação, simplesmente se resume a escrever as equações de probabilidade corretas. Esperemos que, até agora, isso tem ajudado a perceber por que precisamos função de energia para calcular a probabilidade, ou o que é feito mais geralmente a probabilidade unnormalized . A probabilidade não normalizada é usada porque a função de partição é muito cara de calcular.Zp ( v ) ∗ ZZ
Agora vamos à fase de aprendizado real dos RBMs. Para maximizar a probabilidade, para cada ponto de dados, temos que dar um passo gradiente para fazer . Para obter as expressões de gradiente, são necessárias algumas acrobacias matemáticas. A primeira coisa que fazemos é pegar o log de . A partir de agora, operaremos no espaço de probabilidade do log para viabilizar a matemática.p ( v )p ( v ) = 1p ( v )
p ( v )
registro( p ( v ) ) = log[ ∑h ∈ He- E( v , h )] - log[ ∑v ∈ V∑h ∈ He- E( v , h )]
Vamos tomar o gradiente com relação aos parâmetros em
p ( v )
∂registro( p ( v ) )∂θ=- 1∑h′∈ He- E( v , h′)∑h′∈ He- E( v , h′)∂E( v , h′)∂θ+ 1∑v′∈ V∑h′∈ He- E( v′, h′)∑v′∈ V∑h′∈ He- E( v′, h′)∂E( v , h )∂θ
Agora eu fiz isso no papel e escrevi a equação da semifinal para não desperdiçar muito espaço neste site. Eu recomendo que você derivar essas equações você mesmo. Agora vou escrever algumas equações que ajudarão a continuar nossa derivação. Observe que: , e que p ( v ) = ∑ h ∈ H p ( v , h ) p ( h | v ) = p ( v , h )Zp ( v , h ) = e- E( v , h′)p ( v ) = ∑h ∈ Hp ( v , h )p ( h | v ) = p ( v , h )p ( h )
∂l o g( p ( v ) )∂θ∂l o g( p ( v ) )∂θ= - 1p ( v )∑h′∈ Hp ( v , h′) ∂E( v , h′)∂θ+ ∑v′∈ V∑h′∈ Hp ( v′, h′) ∂E( v′, h′)∂θ= - ∑h′∈ Hp ( h′| v) ∂E( v , h′)∂θ+ ∑v′∈ V∑h′∈ Hp ( v′, h′) ∂E( v′, h′)∂θ
E lá vamos nós, derivamos a estimativa de probabilidade máxima para RBMs, se você quiser, pode escrever os dois últimos termos por meio da expectativa de seus respectivos termos (probabilidade condicional e conjunta).
Notas sobre a função energética e estocticidade dos neurônios.
Como você pode ver acima em minha derivação, deixei a definição da função de energia bastante vaga. E a razão para fazer isso é que muitas versões diferentes do RBM implementam várias funções de energia. O que Hinton descreve na palestra vinculada acima e mostrada por Laurens-Meeus é:
E( v , h ) = - aTv - bTh - vTWh .
Pode ser mais fácil argumentar sobre os termos do gradiente acima por meio do formulário de expectativa.
∂registro( p ( v ) )∂θ= - Ep ( h′| v)∂E( v , h′)∂θ+ Ep ( v′, h′)∂E( v′, h′)∂θ
A expectativa do primeiro termo é realmente muito fácil de calcular, e esse foi o gênio por trás dos RBMs. Ao restringir a conexão, a expectativa condicional simplesmente se torna uma propagação direta do RBM com as unidades visíveis presas. Esta é a chamada fase de vigília nas máquinas Boltzmann. Agora, calcular o segundo termo é muito mais difícil e, geralmente, são utilizados métodos de Monte Carlo. Escrevendo o gradiente através da média das corridas de Monte Carlo:
∂registro( p ( v ) )∂θ≈ - ⟨ ∂E( v , h′)∂θ⟩p ( h′| v)+ ⟨ ∂E( v′, h′)∂θ⟩p ( v′, h′)
O cálculo do primeiro termo não é difícil, como afirmado acima, portanto, Monte-Carlo é feito no segundo. Os métodos de Monte Carlo usam amostragem aleatória sucessiva da distribuição, para calcular a expectativa (soma ou integral). Agora, essa amostragem aleatória nos RBMs clássicos é definida como definir uma unidade como 0 ou 1 com base em sua probabilidade estocástica, ou seja, obter um número uniforme aleatório, se for menor que a probabilidade dos neurônios configurá-lo para 1, se é maior que defina como 0.