変分オートエンコーダー

変分オートエンコーダーはオートエンコーディング変分ベイズアルゴリズムに基づいて学習される確率項つきオートエンコーダ型ニューラルネットワークである。

ニューラルネットワークを用いた生成モデルの一種であり、深層潜在変数モデルの一種でもある。

1. オートエンコーディング変分ベイズアルゴリズムの概要
----------------------------

オートエンコーディング変分ベイズアルゴリズムは勾配推定値を用いた有向潜在変数モデルと推論モデルの同時最適化アルゴリズムである。

AEVBでは有向潜在変数モデル を推論モデル の導入による変分下界 最大化により最適化する。一般に変分下界の勾配 は intractable であるが、AEVBではこれをモンテカルロ法  を用いた勾配の不偏推定量 で置き換え、確率的勾配降下法によりパラメータを最適化する。このとき の勾配推定・伝播に関する問題を reparameterization trick で解決する。

1.1. セッティング
-----------

標本 が各1=//i//=1,...,//N//}}に対し、以下で生成されると仮定する#原論文2.1節}}：

まず潜在変数1=//supが何らかの確率密度関数に従って選ばれ、
1=//supが//supに依存した何らかの確率密度関数に従って選ばれる。ここでθ}}は何らかのパラメーターであり、θ}}の真の値θsupは未知である。また、に従って値を選ぶのは計算量的に容易であるものとする。

一方、潜在変数の事後分布 は容易には計算できず、確率密度関数 により、近似する事を考える#原論文2.1節}}。ここではパラメーターである。

近似事後分布を用いると周辺対数尤度 は次のように変形できる：

右辺の第1項は変分下界 あるいはELBOと呼ばれ、第2項は事後分布-近似事後分布間のカルバック・ライブラー情報量に相当する。すなわち次の式が成立している：

ここで より、変分下界最大化は次の2つの意味を持つ：

近似事後分布の近似精度最大化
生成モデルの尤度最大化ゆえに変分下界最大化は最尤推定の代替として利用できる。

1.2. 目標
-------

標本 に対する変分下界を最大化する を目標とする。すなわち次の式で表される：

1.3. アルゴリズム
-----------

変分下界は一般には計算が簡単ではない。そこで が適切な仮定を満たすという条件下で変分下界の推定量を導入する#原論文2.3節}}。標本 に対し確率勾配法を用いてSGVB推定量を極大化しモデルの最適化をおこなう#原論文2.3節}}。

1.4. 他の推論アルゴリズムとの比較
-------------------

本章で想定しているセッティングにおいて、既知の手法の有用性は限定的である#原論文2.1節}}：

最尤法は本章のセッティングではが容易に計算できるケースでないと使えない。
EMアルゴリズムはの計算が容易であるケースでないと使えない。
変分ベイズ法はが平均場近似できる場合にしか使えない。
モンテカルロEMアルゴリズムは実行速度が遅い為大きなデータ集合に対しては使えない。例えばがニューラルネットワークにより定義されているケースでは、上述した既知の手法は使えないが、本手法であれば適用できる。後述する変分オートエンコーダーはまさにこのケースであり、をニューラルネットワークにより定義している。

1.5. 意義
-------

この最適化により以下の事ができるようになる：

見つけたθ}}を使う事で、に従う確率変数z}}、x}}を生成する生成モデルを作成
によりを推定

2. 変分オートエンコーダーの概要
-----------------

変分オートエンコーダーとは、オートエンコーディング変分ベイズアルゴリズムを使って学習するニューラルネットワークベースの生成モデルである。

2.1. セッティング
-----------

変分オートエンコーダーでは、潜在変数1=//}}が従う確率密度関数が標準正規分布

...に従っており#原論文Appendix B}}、x}}の従う条件つき確率密度関数が

、ここで ...という形であるものとする#原論文Appendix C.2}}。上ではパラメーターθ}}を持つニューラルネットワークである。

さらに事後分布を近似する条件つき確率密度関数として

、ここで 　　…という形のものを考える#原論文Appendix C.2}}。上ではパラメーターを持つニューラルネットワークである。

z}}の次元はx}}の次元より短く取る。これはを用いる事で、データx}}をもっと短いデータz}}に「圧縮」し、を用いる事でz}}からx}}を「復元」できる事を意味する。このため符号理論との類推から、をエンコーダー、をデコーダーと呼ぶ。

2.2. アルゴリズム
-----------

変分オートエンコーダーの学習アルゴリズムは与えられたデータ集合に対し、以上のような状況下でオートエンコーディング変分ベイズアルゴリズムを用いる事で、２つのニューラルネットワーク、のパラメーターθ}}、を決定するものである。

一方、変分オートエンコーダーの生成アルゴリズムでは、まずは式のように標準正規分布に従いz}}を生成し、生成したz}}と学習済みのθ}}を使って式のようにx}}を生成する。

3. オートエンコーディング変分ベイズアルゴリズムの詳細
----------------------------

3.1. SGVB推定量
------------

変分下界は一般には計算が簡単ではない。ゆえに変分下界の推定量であるSGVB推定量を導入する#原論文2.3節}}。

3.1.1. 仮定
---------

SGVB推定量を導入する為、何らかの可微分関数と確率分布 を用いて

、ここで 　　　...とする事で確率密度関数に従ったサンプルを抽出できる事を仮定する#原論文2.3節}}。

例えばVAEの場合はより

、 　　　...としてこの仮定を満たしている。ここで「」は成分毎の積である。

後でSGVB推定量を定義する際に仮定を使う事で、本来は確率分布で定義する部分を可微分で確定的な関数g}}に置き換える事でSGVB推定量の可微分性を保証する。これによりSGVB推定量を微分して勾配法によりの最適解を求める事ができるようになる。原論文ではこのように確率分布を可微分な確定的関数に置き換えるテクニックをreparameterization trickと呼んでいる#原論文2.4節}}。

3.1.2. 推論量
----------

簡単な計算により変分下界は

と書き換えられる事が示せるので、仮定を用いる事で変分下界を推定するSGVB推定量を

　　　...により定義する#原論文2.3節}}。ここでは から独立に抽出した乱数であり、L}}はハイパーパラメーターである。

SGVB推定量を計算するにはカルバック・ライブラー情報量を計算できる必要がある。原論文ではこの値が計算できないときの為の推定量も提案しているが#原論文2.3節}}、本項では割愛する。

3.2. アルゴリズム
-----------

オートエンコーディング変分ベイズアルゴリズムは確率的勾配降下法によりSGVB推定量を極大化するθ}}、を求めるものである#原論文2.3節 Algorithm 1}}。以下でL}}、M}}はハイパーパラメーターである。

標本 を入力として受け取る。
θ}}、を初期化する。
θ}}、が事前に定められた収束条件を満たすまで以下を繰り返す
X}}のサイズM}}の部分集合X'}}をランダムに選ぶ
各に対しをに従って選ぶ。
を使ってθ}}、を更新
θ}}、を出力

4. 変分オートエンコーダーの詳細
-----------------

すでに述べたように、変分オートエンコーダーの学習アルゴリズムは、、、からのサンプリングが、、に従ってできるケースにおいてオートエンコーディング変分ベイズアルゴリズムを実行するというものである。

従って変分オートエンコーダーの学習アルゴリズムを書きくだす上で必要となる作業は、、、に従っているケースにおいてオートエンコーディング変分ベイズアルゴリズムにおけるSGVB推定量が具体的にどのような形になるのかを調べるだけである。

4.1. SGVB推定量の具体的な形
------------------

本節では変分オートエンコーダーのケースにおいてSGVB推定量

　　　...の具体的な形を求める。

、、より、

、とすると、 が正規分布の確率密度関数であることから、

　　 である。ここでK}}はx}}のデータ長であり、xsub、μsup、σsupはそれぞれx}}、μsup、σsupの第k}}成分である。

一方、の第2項を具体的に計算すると以下のようになる#原論文Appendix D}}：

ここでJ}}はz}}のデータ長であり、μsub、σsubはそれぞれμsub、σsubの第j}}成分である。

まとめると、

　　　...ここで、

4.2. アルゴリズム
-----------

以上の結果から、変分オートエンコーダーは以下のようになる：

学習：

オートエンコーディング変分ベイズアルゴリズムを実行。ただしとし、はのものを使う。生成：

学習済みのを入力として受けとる
に従ってz}}を選ぶ
を計算する。
に従ってx}}を選び、x}}を出力する。

5. 参考文献
-------

原論文
関連論文
解説論文

6. 関連項目
-------

オートエンコーダ