変分オートエンコーダー
まとめると、
L ~ ( θ , φ , x , ( ε ( l ) ) l = 1 , ... , L ) ) = − K 2 log  2 π − 1 L ∑ l = 1 L ∑ k = 1 K ( ( x k − μ D , k ( l ) ) 2 ( σ D , k ( l ) ) 2 − log  σ D , k ( l ) ) − 1 2 ∑ j = 1 J ( 1 − μ E , j 2 − σ E , j 2 + log  σ E , j 2 ) {\displaystyle {\tilde {\mathcal {L}}}(\theta ,\phi ,\mathbf {x} ,({\boldsymbol {\varepsilon }}^{(\ell )})_{\ell =1,\ldots ,L}))=-{\frac {K}{2}}\log 2\pi -{1 \over L}\sum _{\ell =1}^{L}\sum _{k=1}^{K}\left({(x_{k}-\mu _{D,k}^{(\ell )})^{2} \over (\sigma _{D,k}^{(\ell )})^{2}}-\log \sigma _{D,k}^{(\ell )}\right)-{1 \over 2}\sum _{j=1}^{J}\left(1-\mu _{E,j}{}^{2}-\sigma _{E,j}{}^{2}+\log \sigma _{E,j}{}^{2}\right)} ...(L2)
ここで、
変分オートエンコーダーの学習アルゴリズムは与えられたデータ集合 X = { x ( 1 ) , ... , x ( N ) } {\displaystyle X=\{\mathbf {x} ^{(1)},\ldots ,\mathbf {x} ^{(N)}\}} に対し、以上のような状況下でオートエンコーディング変分ベイズアルゴリズムを用いる事で、2つのニューラルネットワーク D θ ( ⋅ ) {\displaystyle D_{\theta }(\cdot )} 、 E φ ( ⋅ ) {\displaystyle E_{\phi }(\cdot )} のパラメーターθ、 φ {\displaystyle \phi } を決定するものである。
一方、変分オートエンコーダーの生成アルゴリズムでは、まずは(D1)式のように標準正規分布に従いzを生成し、生成したzと学習済みのθを使って(D2)式のようにxを生成する。
本節では変分オートエンコーダーのケースにおいてSGVB推定量
L ~ ( θ , φ , x , ( ε ( l ) ) l = 1 , ... , L ) ) = 1 L ∑ l = 1 L log  p θ ( x | g φ ( x , ε ( l ) ) ) − K L ( q φ ( z | x ) ‖ p ( z ) ) {\displaystyle {\tilde {\mathcal {L}}}(\theta ,\phi ,\mathbf {x} ,({\boldsymbol {\varepsilon }}^{(\ell )})_{\ell =1,\ldots ,L}))={1 \over L}\sum _{\ell =1}^{L}\log p_{\theta }(\mathbf {x} |g_{\phi }(\mathbf {x} ,{\boldsymbol {\varepsilon }}^{(\ell )}))-\mathrm {KL} (q_{\phi }(\mathbf {z} |\mathbf {x} )\|p(\mathbf {z} ))} ...(L1、再掲)
の具体的な形を求める。
(P2)、(E1)、(D2)より、
変分下界は一般には計算が簡単ではない。ゆえに変分下界の推定量であるSGVB推定量(Stochastic Gradient Variational Bayes estimator、確率的勾配変分ベイズ推定量)を導入する。