制約つきボルツマンマシン

machine-learning

制約つきボルツマン機械 (RBM; Restricted Boltzmann Machine) の私的まとめ

Restricted Boltzmann Machine

Probability Distribution

RBM の確率分布は、エネルギー関数 E により下式で定義する。

p(\textbf{v}, \textbf{h}; \Theta) \propto e^{-E(\textbf{v}, \textbf{h}; \Theta)}

タイプによって、エネルギー関数が異なる。

Log-Likelihood

可視データが n 個与えられているとする。

\begin{aligned}
L(\Theta)
 & = \frac{1}{N} \sum_{n} \ln \sum_\textbf{h} p(\textbf{v}_{n}, \textbf{h}; \Theta) \\
 & = \frac{1}{N} \sum_{n}
  \ln \sum_\textbf{h} e^{-E(\textbf{v}_{n}, \textbf{h}; \Theta)} - \ln Z(\Theta)
\end{aligned}

Log-Likelihood Gradient

Contrastive Divergence (CD) 法で対数尤度を最大化するパラメータ$\Theta = { A, \textbf{b}^{V}, \textbf{b}^{H} }$ を求める。

\begin{aligned}
\frac{\partial L(\Theta)}{\partial \Theta}
 &= -\frac{1}{N} \sum_{n}
  \sum_{\textbf{h}}
   \frac{\partial E(\textbf{v}_{n}, \textbf{h}; \Theta)}{\partial \Theta}
   \frac{e^{-E(\textbf{v}_{n}, \textbf{h}; \Theta)}}{\sum_{\textbf{h}}
    e^{-E(\textbf{v}_{n}, \textbf{h}; \Theta)}}
  + \sum_\textbf{v}
   \sum_\textbf{h} \frac{\partial E(\textbf{v}, \textbf{h}; \Theta)}{\partial \Theta}
    \frac{E(\textbf{v}, \textbf{h}; \Theta)}{Z(\Theta)} \\
&= \left\langle \frac{\partial E(\textbf{v}_{i}, \textbf{h}; \Theta)}{\partial \Theta} \right\rangle_{p(\textbf{v}, \textbf{h})}
 - \left\langle \frac{\partial E(\textbf{v}_{i}, \textbf{h}; \Theta)}{\partial \Theta} \right\rangle_{p(\textbf{h} \mid \textbf{v}) q(\textbf{v})}
\end{aligned}

第一項はギブスサンプリングによって $p(\textbf{h} \mid \textbf{v})$ と $p(\textbf{v} \mid \textbf{h})$ からのサンプリングを交互にくり返した結果得られたサンプルで期待値を求める。第二項は入力データの分布 q から条件付き確率でサンプリングしたサンプルで期待値を求める。可視ユニット同士、および隠れユニット同士は独立なので、結局、$p(h_{j} \mid \textbf{v})$ と $p(v_{i} \mid \textbf{h})$ からサンプリングできれば計算できる。

Gaussian-Bernoulli RBM

Bernoulli-Bernoulli 型との違いは、エネルギー関数に二乗の項があることと、条件付き確率が分散 1 の正規分布になっていこと。

Energy Function

E(\textbf{v}, \textbf{h}; \Theta) = \sum_{i} \frac{v_{i}^2}{2} - \sum_{i} b_{i}^{V} v_{i} - \sum_{j} b_{j}^{H} h_{j} - \sum_{ij} a_{ij} v_{i} h_{j}

Appendix

\begin{aligned}
p(v_{i} | \textbf{v}_{-i}, \textbf{h})
  &= p(v_{i} | \textbf{h}) \\
  &= \frac{p(v_{i}, \textbf{h})}{\int_{-\infty}^{\infty} p(v_{i}, \textbf{h}) dv_{i}} \\
  &= \frac{e^{-\frac{v_{i}^2}{2} + \alpha_{i} v_{i}}}{\int_{-\infty}^{\infty} e^{-\frac{v_{i}^2}{2} + \alpha_{i} v_{i}} dv_{i}} \\
  &= \frac{e^{-\frac{v_{i}^2}{2} + \alpha_{i} v_{i} - \frac{\alpha_{i}^2}{2}}}{\int_{-\infty}^{\infty} e^{-\frac{v_{i}^2}{2} + \alpha_{i} v_{i} - \frac{\alpha_{i}^2}{2}} dv_{i}} \\
  &= \frac{e^{-\frac{1}{2} \left(v_{i} - \alpha_{i} \right)^2}}{\int_{-\infty}^{\infty} e^{-\frac{1}{2} \left(v_{i} - \alpha_{i} \right)^2} dv_{i}} \\
  &= \frac{e^{-\frac{1}{2} \left(v_{i} - \alpha_{i} \right)^2}}{\sqrt{\frac{\pi}{2}} \left[\textbf{erf}\left(\frac{v_{i} - \alpha_{i}}{\sqrt{2}}\right) \right]_{-\infty}^{\infty}} \\
  &= \frac{1}{\sqrt{2 \pi}} e^{-\frac{1}{2} \left(v_{i}- \alpha_{i} \right)^2} \\
\end{aligned}

ここで $\alpha_{i} = b_{i}^{V} + \sum_{j} a_{ij} h_{j}$ とおいた。

Poisson-Bernoulli RBM

非負の整数値入力に対する定式化ができたのでまとめた。

Bernoulli-Bernoulli 型、Gaussian-Bernoulli 型との違いは、エネルギー関数に階乗の項があることと、条件付き確率がポアソン分布になっていること。

Energy Function

E(\textbf{v}, \textbf{h}; \Theta) = \sum_{i} \ln v_{i}! - \sum_{i} b_{i}^{V} v_{i} - \sum_{j} b_{j}^{H} h_{j} - \sum_{ij} a_{ij} v_{i} h_{j}

Conditional Probability

\begin{aligned}
p(v_{i} \mid \textbf{h}) &= \frac{\lambda_{i}^{v_{i}} e^{-\lambda_{i}}}{v_{i}!} \\
p(h_{j} \mid \textbf{v}) &= p_{j}^{h_{j}} (1 - p_{j})^{(1 - h_{j})}
\end{aligned}

ここで

\begin{aligned}
\alpha_{i} &= b_{i}^{V} + \sum_{j} a_{ij} h_{j} \\
\lambda_{i} &= e^{\alpha_{i}} 
\end{aligned}

および

\begin{aligned}
\beta_{j} &= b_{j}^{H} + \sum_{i} a_{ij} v_{i} \\
p_{j} &= \frac{1}{1 + e^{-\beta_{j}}}
\end{aligned}

とおいた。

Appendix

Visible Units

\begin{aligned}
p(\textbf{v}, \textbf{h}; \Theta)
& = \prod_{i} p(v_{i}, \textbf{h}; \Theta) \\
& \propto e^{-E(\textbf{v}, \textbf{h}; \Theta)} \\
& = e^{-\sum_{i} \ln v_{i}! + \sum_{i} b_{i}^{V} v_{i} + \sum_{j} b_{j}^{H} h_{j} + \sum_{ij} a_{ij} v_{i} h_{j}} \\
& = e^{\sum_{j} b_{j}^{H} h_{j}} \prod_{i} e^{-\ln v_{i}! + b_{i}^{V} v_{i} + \sum_{j} a_{ij} v_{i} h_{j}} \\
& = e^{\sum_{j} b_{j}^{H} h_{j}} \prod_{i} e^{-\ln v_{i}! + \left( b_{i}^{V} + \sum_{j} a_{ij} h_{j} \right) v_{i}} \\
& = e^{\sum_{j} b_{j}^{H} h_{j}} \prod_{i} \frac{e^{\left( b_{i}^{V} + \sum_{j} a_{ij} h_{j} \right) v_{i}}}{v_{i}!} \\
& = e^{\sum_{j} b_{j}^{H} h_{j}} \prod_{i} \frac{e^{\alpha_{i} v_{i}}}{v_{i}!} \\
& = e^{\sum_{j} b_{j}^{H} h_{j}} \prod_{i} \frac{\lambda_{i}^{v_{i}}}{v_{i}!} \\
\end{aligned}

より

\begin{aligned}
p(v_{i}, \textbf{h}; \Theta)
&= p(v_{i} \mid \textbf{h}; \Theta) p(\textbf{h}; \Theta) \\
\Leftrightarrow p(v_{i} \mid \textbf{h}; \Theta)
&= \frac{p(v_{i}, \textbf{h}; \Theta)}{p(\textbf{h}; \Theta)} \\
&= \frac{p(v_{i}, \textbf{h}; \Theta)}{\sum_{v=0}^{\infty} p(v, \textbf{h}; \Theta)} \\
&= \frac{\frac{\lambda_{i}^{v_{i}}}{v_{i}!}}{\sum_{v=0}^{\infty} \frac{\lambda_{i}^{v}}{v!}} \\
&= \frac{\lambda_{i}^{v_{i}} e^{-\lambda_{i}}}{v_{i}!}
\end{aligned}

Hidden Units

\begin{aligned}
p(\textbf{v}, \textbf{h}; \Theta)
& = \prod_{j} p(\textbf{v}, h_{j}; \Theta) \\
& \propto e^{-E(\textbf{v}, \textbf{h}; \Theta)} \\
& = e^{-\sum_{i} \ln v_{i}! + \sum_{i} b_{i}^{V} v_{i} + \sum_{j} b_{j}^{H} h_{j} + \sum_{ij} a_{ij} v_{i} h_{j}} \\
& = e^{-\sum_{i} \ln v_{i}!} e^{\sum_{i} b_{i}^{V} v_{i}} \prod_{j} e^{b_{j}^{H} h_{j} + \sum_{i} a_{ij} v_{i} h_{j}} \\
& = e^{-\sum_{i} \ln v_{i}!} e^{\sum_{i} b_{i}^{V} v_{i}} \prod_{j} e^{\left( b_{j}^{H} + \sum_{i} a_{ij} v_{i} \right) h_{j}} \\
& = e^{-\sum_{i} \ln v_{i}!} e^{\sum_{i} b_{i}^{V} v_{i}} \prod_{j} e^{\beta_{j} h_{j}}
\end{aligned}

より

\begin{aligned}
p(\textbf{v}, h_{j}=1; \Theta)
&= p(h_{j}=1 \mid \textbf{v}; \Theta) p(\textbf{v}; \Theta) \\
\Leftrightarrow p(h_{i}=1 \mid \textbf{v}; \Theta)
&= \frac{p(\textbf{v}, h_{j} = 1; \Theta)}{p(\textbf{v}; \Theta)} \\
&= \frac{p(\textbf{v}, h_{j} = 1; \Theta)}{p(\textbf{v}, h_{j}=0; \Theta) + p(\textbf{v}, h_{j}=1; \Theta)} \\
&= \frac{e^{\beta_{j}}}{1 + e^{\beta_{j}}} \\
&= \frac{1}{1 + e^{-\beta_{j}}} \\
&= p_{j}
\end{aligned}

Summary

type energy function conditional probability of visible units conditional probability of hidden units
Poisson-Bernoulli RBM $ E(\textbf{v}, \textbf{h}; \Theta) = \sum_{i} \ln v_{i}! - \sum_{i} b_{i}^{V} v_{i} - \sum_{j} b_{j}^{H} h_{j} - \sum_{ij} a_{ij} v_{i} h_{j} $ $ p(v_{i} \mid \textbf{h}) = \frac{\lambda_{i}^{v_{i}} e^{-\lambda_{i}}}{v_{i}!} $ $ p(h_{j} \mid \textbf{v}) = p_{j}^{h_{j}} (1 - p_{j})^{(1 - h_{j})}$
Gaussian-Bernoulli RBM $ E(\textbf{v}, \textbf{h}; \Theta) = \sum_{i} \frac{v_{i}^2}{2} - \sum_{i} b_{i}^{V} v_{i} - \sum_{j} b_{j}^{H} h_{j} - \sum_{ij} a_{ij} v_{i} h_{j} $ $ p(v_{i} \mid \textbf{h}) = \frac{1}{\sqrt{2 \pi}} e^{-\frac{1}{2} (v_{i} - \alpha_{i})^2} $ $ p(h_{j} \mid \textbf{v}) = p_{j}^{h_{j}} (1 - p_{j})^{(1 - h_{j})}$
Bernoulli-Bernoulli RBM $ E(\textbf{v}, \textbf{h}; \Theta) = - \sum_{i} b_{i}^{V} v_{i} - \sum_{j} b_{j}^{H} h_{j} - \sum_{ij} a_{ij} v_{i} h_{j} $ $ p(v_{i} \mid \textbf{h}) = q_{i}^{v_{i}} (1 - q_{i})^{1 - v_{i}} $ $ p(h_{j} \mid \textbf{v}) = p_{j}^{h_{j}} (1 - p_{j})^{(1 - h_{j})}$

ここで

\begin{aligned}
\alpha_{i} &= b_{i}^{V} + \sum_{j} a_{ij} h_{j} \\
\lambda_{i} &= e^{\alpha_{i}} \\
q_{i} &= \frac{1}{1 + e^{-\alpha_{i}}} \\
\end{aligned}

および

\begin{aligned}
\beta_{j} &= b_{j}^{H} + \sum_{i} a_{ij} v_{i} \\
p_{j} &= \frac{1}{1 + e^{-\beta_{j}}}
\end{aligned}

とおいた。