定義:ヘルムホルツマシン[Helmholtz Machine]
ヘルムホルツマシンは,観測データ $x \in \mathbb{R}^d$ と潜在変数 $z \in \mathbb{R}^k$ を用いて,生成モデル [Generative Model]と推論モデル[Recognition Model]の両方を学習し,観測データと潜在変数の関係を正確にモデル化するものである.
ヘルムホルツマシンは,1990年代にヒントン [Geoffrey Hinton] と ゼメル[Richard S. Zemel] によって提案された.このモデルは,生成モデルと推論モデルを組み合わせてデータをモデル化する方法を示しており,変分推論や自己符号化器[Autoencoder]の前身とも言える.ヘルムホルツマシンは,主に潜在変数モデルを用いたデータ生成や表現学習の分野で利用された.また,このモデルは,確率的推論と生成を効率的に行うために設計されており,特に高次元データに適している.
なお,ヘルムホルツマシンという名称は,ドイツの物理学者でエネルギー保存の法則で知られる ヘルマン・フォン・ヘルムホルツ[Hermann von Helmholtz,1821/1894]に由来する.ヘルムホルツは,感覚が外界からの情報をどのように推測するかという感覚的推論という考え方を発展させ,脳が感覚的入力に基づいて事前に仮説を立て,それを現実と照らし合わせて修正するという理論を提案した.ヘルムホルツマシンは,彼の理論に触発されたものであり,感覚的データをもとに脳がどのように内部モデルを形成し,観察されたデータを予測するかというメカニズムの模倣を目指したものである.
ここで, $P(z)$ は潜在変数 $z$ の事前分布である.通常は標準正規分布 $ \mathit{N}(0, I) $.また,$P(x|z)$ は潜在変数から観測データを生成する条件付き確率.
生成モデルは次のような役割を担う.
観測データ $x$ から潜在変数 $z$ を推定する近似分布であり次のように表される.\[Q(z|x)\]
推論モデルのは次のような役割を担う.
学習は,以下のように定義されるモデルの対数尤度 $\log P(x)$ を最大化する.\[\log P(x) = \log \int P(x, z) \, dz\]
但し,対数尤度は直接計算が困難なため,近似的な手法を用いる.
ヘルムホルツマシンは,観測データ $x$ と潜在変数 $z$ を関連付け,以下の2つのタスクを実行する.
学習プロセスでは,生成モデルと推論モデルを交互に最適化する.
ウェイクスリープアルゴリズムでは,ヘルムホルツマシンの学習を2つのフェーズに分けて行う.この過程で,対数尤度の代わりに,対数尤度の下限[ELBO: Evidence Lower Bound]ELBO[Evidence Lower Bound]の各項を分けて最適化する.ELBOは次のように定義される.\[\mathit{L}(x) = \mathbb{E}_{Q(z|x)} \left[ \log P(x|z) \right] - D_{KL}(Q(z|x) \| P(z))\]
ここで,$\mathbb{E}_{Q(z|x)} \left[ \log P(x|z) \right]$は, 観測データ $x$ と潜在変数 $z$ の再構成誤差,$D_{KL}(Q(z|x) \| P(z))$は, 推論モデル $Q(z|x)$ と事前分布 $P(z)$ のKullback-Leibler[KL]ダイバージェンスであり,推論モデルの近似精度を表す.推論モデルが事前分布に適合している場合,KLダイバージェンスは小さくなる.
これは,直接的に対数尤度 $\log P(x)$ を最大化することが計算的に困難なため,その下限であるELBOを最大化することによって,間接的に対数尤度の最大化を行っている.
ウェイクスリープアルゴリズムでは,ELBOを次の2つのフェーズに分けて最適化する.
Wakeフェーズでは,観測データ $x$ を使用して,生成モデル $P(x|z)$ を更新する.このフェーズでは,再構成誤差である\[\mathbb{E}_{Q(z|x)} \left[ \log P(x|z) \right]\]
を最大化する.ここで,推論モデル $Q(z|x)$ に基づいてサンプリングした潜在変数 $z$ を使用して,観測データ $x$ の再構成されたデータと実際の観測データの差である再構成誤差を最小化する
更新ルールは次の通りである.\[\nabla \phi \propto \mathbb{E}_{P(z)} \left[ \nabla_\phi \log Q(z|x) \right]\]
ここで,
すなわち,生成モデルからサンプリングした潜在変数 $z$ に基づいて,推論モデル $Q(z|x)$ のパラメータを更新する.具体的には,観測データ $x$ を与えたときの潜在変数 $z$ の予測確率分布 $Q(z|x)$ を改善する.
これにより,生成モデルが観測データをより良く再現できるように更新される.
Sleepフェーズでは,生成モデル $P(x|z)$ に基づいてサンプリングされた潜在変数 $z$ から,推論モデル $Q(z|x)$ を更新する.このフェーズでは,KLダイバージェンスの項である,\[D_{KL}(Q(z|x) \| P(z))\]
を最小化する.これにより,推論モデルが事前分布 $P(z)$ に近づくように調整される.更新ルールは次のようになる.\[\nabla \phi \propto \mathbb{E}_{P(z)} \left[ \nabla_\phi \log Q(z|x) \right]\]
このようにして,推論モデルが観測データから潜在変数をより適切に推定できるようになる.
ヘルムホルツマシンでは,推論と生成の両方を行うために複雑な最適化が必要とされた.特に,潜在変数をサンプリングする必要があり,そのサンプリング過程が非常に計算資源を消費した.これにより,ヘルムホルツマシンを実際の問題に適用するには計算時間が非常に長く効率が悪いという問題を抱えていた.
このようなヘルムホルツマシンに代わって,より効率的で計算量が少なく,広く実用化されるようになったのが 変分オートエンコーダ[VAE] や 生成敵対ネットワーク[GAN] などの深層生成モデルである.これらのモデルは,潜在変数の推論とデータの生成を効率的に行う方法を提供し,深層学習の進展により計算資源の効率化が可能となった.
中でも,変分オートエンコーダ[VAE]は,ヘルムホルツマシンの生成モデルと推論モデルの概念をより洗練された形での実装を実現するものであり,ヘルムホルツマシンを置き換えて普及した.
Mathematics is the language with which God has written the universe.