変分オートエンコーダー
一般に変分下界の勾配 ∇ θ , φ L θ , φ ( x ) {\displaystyle \nabla _{\theta ,\phi }{\mathcal {L}}_{\theta ,\phi }(\mathbf {x} )} は intractable であるが、AEVBではこれをモンテカルロ法 ( z ∼ q φ ( z | x ) {\displaystyle z\sim q_{\phi }(\mathbf {z} |\mathbf {x} )} ) を用いた勾配の不偏推定量 ∇ ^ θ , φ L θ , φ ( x ) {\displaystyle {\hat {\nabla }}_{\theta ,\phi }{\mathcal {L}}_{\theta ,\phi }(\mathbf {x} )} で置き換え、確率的勾配降下法によりパラメータを最適化する。このとき q φ ( z | x ) {\displaystyle q_{\phi }(\mathbf {z} |\mathbf {x} )} の勾配推定・伝播に関する問題を reparameterization trick で解決する。
SGVB推定量を導入する為、何らかの(容易に計算可能な)可微分関数と(容易にサンプルを抽出できる)確率分布 E {\displaystyle {\mathcal {E}}} を用いて
z = g φ ( x , ε ) {\displaystyle \mathbf {z} =g_{\phi }(\mathbf {x} ,{\boldsymbol {\varepsilon }})} 、ここで ε ∼ E {\displaystyle {\boldsymbol {\varepsilon }}\sim {\mathcal {E}}} ...(P1)
とする事で確率密度関数 q φ ( z | x ) {\displaystyle q_{\phi }(\mathbf {z} |\mathbf {x} )} に従ったサンプルを抽出できる事を仮定する。
例えばVAEの場合は(E1)より
という形のものを考える。上で E φ ( ⋅ ) {\displaystyle E_{\phi }(\cdot )} はパラメーター φ {\displaystyle \phi } を持つニューラルネットワークである。
zの次元はxの次元より短く取る。これは E φ ( ⋅ ) {\displaystyle E_{\phi }(\cdot )} を用いる事で、データxをもっと短いデータzに「圧縮」し、 D θ ( ⋅ ) {\displaystyle D_{\theta }(\cdot )} を用いる事でzからxを「復元」できる事を意味する(ただし実際には E φ ( ⋅ ) {\displaystyle E_{\phi }(\cdot )} や D θ ( ⋅ ) {\displaystyle D_{\theta }(\cdot )} の後に正規乱数を取る操作があるので、「圧縮」したデータを「復元」しても元に戻らない)。このため 符号理論との類推から、 E φ ( ⋅ ) {\displaystyle E_{\phi }(\cdot )} をエンコーダー、 D θ ( ⋅ ) {\displaystyle D_{\theta }(\cdot )} をデコーダーと呼ぶ。
変分オートエンコーダー(英: Variational Auto-Encoder; VAE)はオートエンコーディング変分ベイズアルゴリズムに基づいて学習される確率項つきオートエンコーダ型ニューラルネットワークである。
ニューラルネットワークを用いた生成モデルの一種であり、深層潜在変数モデルの一種でもある。
..(D2)
という形であるものとする。上で D θ ( ⋅ ) {\displaystyle D_{\theta }(\cdot )} はパラメーターθを持つニューラルネットワークである。
さらに事後分布 p θ ( z | x ) {\displaystyle p_{\theta }(\mathbf {z} |\mathbf {x} )} を近似する条件つき確率密度関数 q φ ( z | x ) {\displaystyle q_{\phi }(\mathbf {z} |\mathbf {x} )} として
z ∼ N ( μ E , σ E 2 I ) {\displaystyle \mathbf {z} \sim {\mathcal {N}}({\boldsymbol {\mu }}_{E},{\boldsymbol {\sigma }}_{E}^{2}I)} 、ここで ( μ E , σ E 2 ) = E φ ( x ) {\displaystyle ({\boldsymbol {\mu }}_{E},{\boldsymbol {\sigma }}_{E}^{2})=E_{\phi }(\mathbf {x} )} ...(E1)
E = N ( 0 , I ) {\displaystyle {\mathcal {E}}={\mathcal {N}}(\mathbf {0} ,I)} 、 g φ ( x , ε ) = μ E + σ E 2 ⊙ ε {\displaystyle g_{\phi }(\mathbf {x} ,{\boldsymbol {\varepsilon }})={\boldsymbol {\mu }}_{E}+{\boldsymbol {\sigma }}_{E}^{2}\odot {\boldsymbol {\varepsilon }}} ...(P2)
としてこの仮定を満たしている。ここで「 ⊙ {\displaystyle \odot } 」は成分毎の積である。
後でSGVB推定量を定義する際に仮定(P1)を使う事で、本来は確率分布 q φ ( z | x ) {\displaystyle q_{\phi }(\mathbf {z} |\mathbf {x} )} で定義する部分を可微分で確定的な関数gに置き換える事でSGVB推定量の可微分性を保証する。これによりSGVB推定量を微分して勾配法により ( θ , φ ) {\displaystyle (\theta ,\phi )} の最適解を求める事ができるようになる。原論文ではこのように確率分布を可微分な確定的関数に置き換えるテクニックをreparameterization trickと呼んでいる。