アーキテクチャと運用概要 変分オートエンコーダーは、それぞれ事前分布とノイズ分布を持つ生成モデルです。通常、このようなモデルは期待値最大化 メタアルゴリズム(例えば、確率的PCA 、(スパイク&スラブ)スパースコーディング)を使用して学習されます。このような手法は、通常計算が困難なデータ尤度の下限を最適化し、そのためにはq分布、すなわち変分事後 分布の発見が必要となります。これらのq分布は通常、個別の最適化プロセスで各データポイントごとにパラメータ化されます。しかし、変分オートエンコーダーは、償却アプローチとしてニューラルネットワークを使用し、データポイント全体にわたって共同で最適化を行います。このようにして、同じパラメータが複数のデータポイントで再利用されるため、メモリを大幅に節約できます。最初のニューラルネットワークは、データポイント自体を入力として受け取り、変分分布のパラメータを出力します。既知の入力空間から低次元の潜在空間にマッピングするため、エンコーダーと呼ばれます。
デコーダーは、このモデルの2番目のニューラルネットワークです。これは、潜在空間から入力空間(例えば、ノイズ分布の平均値など)へのマッピングを行う関数です。分散にマッピングする別のニューラルネットワークを使用することも可能ですが、簡略化のために省略できます。その場合、分散は勾配降下法で最適化できます。
このモデルを最適化するには、「再構成誤差」とカルバック・ライブラー情報量 (KL-D) の 2 つの項を知る必要があります。これらの項はどちらも確率モデルの自由エネルギー式から導出されるため、ノイズ分布と、ここでは p 分布と呼ばれるデータの事前分布の仮定によって異なります。たとえば、IMAGENET のような標準的な VAE タスクでは、通常、ガウス分布ノイズが想定されますが、二値化 MNIST のようなタスクでは、ベルヌーイノイズが必要です。自由エネルギー式からの KL-D は、p 分布と重なる q 分布の確率質量を最大化しますが、残念ながら、モード探索動作につながる可能性があります。「再構成」項は自由エネルギー式の残りの部分であり、その期待値を計算するにはサンプリング近似が必要です。[ 8 ]
より最近のアプローチでは、カルバック・ライブラー情報量 (KL-D)をさまざまな統計的距離 に置き換えています。下記の「統計的距離に基づくVAEの変種」を 参照してください。
証拠下限値(ELBO)勾配ベースの最適化を使用する多くの深層学習手法と同様に、VAEは 逆伝播 によってネットワークの重みを更新するために微分可能な損失関数を必要とします。
変分オートエンコーダーの場合、生成モデルのパラメータを共同で最適化するという考え方です。θ {\displaystyle \theta } 入力と出力間の再構成誤差を低減し、ϕ {\displaystyle \phi } 作るq ϕ ( z | x ) {\displaystyle q_{\phi }({z|x})} できるだけ近いp θ ( z | x ) {\displaystyle p_{\theta }(z|x)} 再構成損失としては、平均二乗誤差 や交差エントロピー がよく用いられる。
カルバック・ライブラー乖離D K L ( q ϕ ( z | x ) ∥ p θ ( z | x ) ) {\displaystyle D_{KL}(q_{\phi }({z|x})\Parallel p_{\theta }({z|x}))} 損失関数として使用できるq ϕ ( z | x ) {\displaystyle q_{\phi }({z|x})} 下p θ ( z | x ) {\displaystyle p_{\theta }(z|x)} [ 8 ] [ 9 ] この発散損失は、
D K L ( q ϕ ( z | x ) ∥ p θ ( z | x ) ) = E z ~ q ϕ ( ⋅ | x ) [ ln q ϕ ( z | x ) p θ ( z | x ) ] = E z ~ q ϕ ( ⋅ | x ) [ ln q ϕ ( z | x ) p θ ( x ) p θ ( x 、 z ) ] = ln p θ ( x ) + E z ~ q ϕ ( ⋅ | x ) [ ln q ϕ ( z | x ) p θ ( x 、 z ) ] 。 {\displaystyle {\begin{aligned}D_{KL}(q_{\phi }({z|x})\parallel p_{\theta }({z|x}))&=\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln {\frac {q_{\phi }(z|x)}{p_{\theta }(z|x)}}\right]\\&=\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln {\frac {q_{\phi }({z|x})p_{\theta }(x)}{p_{\theta }(x,z)}}\right]\\&=\ln p_{\theta }(x)+\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln {\frac {q_{\phi }({z|x})}{p_{\theta }(x,z)}}\right].\end{aligned}}} 次に、証拠の下限値 (ELBO)を定義します。L θ 、 ϕ ( x ) := E z ~ q ϕ ( ⋅ | x ) [ ln p θ ( x 、 z ) q ϕ ( z | x ) ] = ln p θ ( x ) − D K L ( q ϕ ( ⋅ | x ) ∥ p θ ( ⋅ | x ) ) {\displaystyle L_{\theta ,\phi }(x):=\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln {\frac {p_{\theta }(x,z)}{q_{\phi }({z|x})}}\right]=\ln p_{\theta }(x)-D_{KL}(q_{\phi }({\cdot |x})\parallel p_{\theta }({\cdot |x}))} ELBOを最大化するθ * 、 ϕ * = argmax θ 、 ϕ L θ 、 ϕ ( x ) {\displaystyle \theta ^{*},\phi ^{*}={\underset {\theta ,\phi }{\operatorname {argmax} }}\,L_{\theta ,\phi }(x)} 同時に最大化することと同等ln p θ ( x ) {\displaystyle \ln p_{\theta }(x)} そして最小限に抑えるD K L ( q ϕ ( z | x ) ∥ p θ ( z | x ) ) {\displaystyle D_{KL}(q_{\phi }({z|x})\parallel p_{\theta }({z|x}))} つまり、観測データの対数尤度を最大化し、近似事後分布からの乖離を最小化する。q ϕ ( ⋅ | x ) {\displaystyle q_{\phi }(\cdot |x)} 正確な後方へp θ ( ⋅ | x ) {\displaystyle p_{\theta }(\cdot |x)} 。
提示された形式は最大化にはあまり適していませんが、以下の同等の形式は次のようになります。L θ 、 ϕ ( x ) = E z ~ q ϕ ( ⋅ | x ) [ ln p θ ( x | z ) ] − D K L ( q ϕ ( ⋅ | x ) ∥ p θ ( ⋅ ) ) {\displaystyle L_{\theta ,\phi }(x)=\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln p_{\theta }(x|z)\right]-D_{KL}(q_{\phi }({\cdot |x})\parallel p_{\theta }(\cdot ))} どこln p θ ( x | z ) {\displaystyle \ln p_{\theta }(x|z)} 実装方法− 1 2 ‖ x − D θ ( z ) ‖ 2 2 {\displaystyle -{\frac {1}{2}}\|x-D_{\theta }(z)\|_{2}^{2}} つまり、加法定数を除いて、x | z ~ N ( D θ ( z ) 、 私 ) {\displaystyle x|z\sim {\mathcal {N}}(D_{\theta }(z),I)} 収量。つまり、我々は、x {\displaystyle x} 条件付きz {\displaystyle z} ガウス分布の中心はD θ ( z ) {\displaystyle D_{\theta }(z)} の分布q ϕ ( z | x ) {\displaystyle q_{\phi }(z|x)} そしてp θ ( z ) {\displaystyle p_{\theta }(z)} ガウス分布として選ばれることも多い。z | x ~ N ( E ϕ ( x ) 、 σ ϕ ( x ) 2 私 ) {\displaystyle z|x\sim {\mathcal {N}}(E_{\phi }(x),\sigma _{\phi }(x)^{2}I)} そしてz ~ N ( 0 、 私 ) {\displaystyle z\sim {\mathcal {N}}(0,I)} これによって、ガウス分布のKLダイバージェンス の公式から次の式が得られます。L θ 、 ϕ ( x ) = − 1 2 E z ~ q ϕ ( ⋅ | x ) [ ‖ x − D θ ( z ) ‖ 2 2 ] − 1 2 ( N σ ϕ ( x ) 2 + ‖ E ϕ ( x ) ‖ 2 2 − 2 N ln σ ϕ ( x ) ) + C o n s t {\displaystyle L_{\theta ,\phi }(x)=-{\frac {1}{2}}\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\|x-D_{\theta }(z)\|_{2}^{2}\right]-{\frac {1}{2}}\left(N\sigma _{\phi }(x)^{2}+\|E_{\phi }(x)\|_{2}^{2}-2N\ln \sigma _{\phi }(x)\right)+Const} ここN {\displaystyle N} は次元ですz {\displaystyle z} ELBOとその最大化に関するより詳細な導出と解釈については、メインページを 参照してください。
再パラメータ化 再パラメータ化トリックのスキーム。乱数変数ε {\displaystyle {\varepsilon }} 潜在空間に注入されるz {\displaystyle z} 外部入力として用いることで、更新時に確率変数を用いることなく勾配を逆伝播させることが可能となる。 効率的に検索するにはθ * 、 ϕ * = argmax θ 、 ϕ L θ 、 ϕ ( x ) {\displaystyle \theta ^{*},\phi ^{*}={\underset {\theta ,\phi }{\operatorname {argmax} }}\,L_{\theta ,\phi }(x)} 一般的な方法は勾配降下法 です。
見つけるのは簡単です∇ θ E z ~ q ϕ ( ⋅ | x ) [ ln p θ ( x 、 z ) q ϕ ( z | x ) ] = E z ~ q ϕ ( ⋅ | x ) [ ∇ θ ln p θ ( x 、 z ) q ϕ ( z | x ) ] {\displaystyle \nabla _{\theta }\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln {\frac {p_{\theta }(x,z)}{q_{\phi }({z|x})}}\right]=\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\nabla _{\theta }\ln {\frac {p_{\theta }(x,z)}{q_{\phi }({z|x})}}\right]} しかし、∇ ϕ E z ~ q ϕ ( ⋅ | x ) [ ln p θ ( x 、 z ) q ϕ ( z | x ) ] {\displaystyle \nabla _{\phi }\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln {\frac {p_{\theta }(x,z)}{q_{\phi }({z|x})}}\right]} は、∇ ϕ {\displaystyle \nabla _{\phi }} 期待の中で、ϕ {\displaystyle \phi } 確率分布自体に現れる。再パラメータ化トリック(確率的バックプロパゲーション [ 10 ] としても知られる)はこの困難を回避する。[ 8 ] [ 11 ] [ 12 ]
最も重要な例は、z ~ q ϕ ( ⋅ | x ) {\displaystyle z\sim q_{\phi }(\cdot |x)} 正規分布に従うので、N ( μ ϕ ( x ) 、 Σ ϕ ( x ) ) {\displaystyle {\mathcal {N}}(\mu _{\phi }(x),\Sigma _{\phi }(x))} 。
再パラメータ化トリック後の変分オートエンコーダのスキーム これは、ε ~ N ( 0 、 私 ) {\displaystyle {\boldsymbol {\varepsilon }}\sim {\mathcal {N}}(0,{\boldsymbol {I}})} 「標準乱数発生器 」であり、構築するz {\displaystyle z} としてz = μ ϕ ( x ) + L ϕ ( x ) ϵ {\displaystyle z=\mu _{\phi }(x)+L_{\phi }(x)\epsilon } 。 ここ、L ϕ ( x ) {\displaystyle L_{\phi }(x)} これは、コレスキー分解 によって得られる。Σ ϕ ( x ) = L ϕ ( x ) L ϕ ( x ) T {\displaystyle \Sigma _{\phi }(x)=L_{\phi }(x)L_{\phi }(x)^{T}} 次に∇ ϕ E z ~ q ϕ ( ⋅ | x ) [ ln p θ ( x 、 z ) q ϕ ( z | x ) ] = E ϵ [ ∇ ϕ ln p θ ( x 、 μ ϕ ( x ) + L ϕ ( x ) ϵ ) q ϕ ( μ ϕ ( x ) + L ϕ ( x ) ϵ | x ) ] {\displaystyle \nabla _{\phi }\mathbb {E} _{z\sim q_{\phi }(\cdot |x)}\left[\ln {\frac {p_{\theta }(x,z)}{q_{\phi }({z|x})}}\right]=\mathbb {E} _{\epsilon }\left[\nabla _{\phi }\ln {\frac {p_{\theta }(x,\mu _{\phi }(x)+L_{\phi }(x)\epsilon )}{q_{\phi }(\mu _{\phi }(x)+L_{\phi }(x)\epsilon |x)}}\right]} こうして勾配の不偏推定量が得られ、確率的勾配降下法 が可能になった。
再パラメータ化してからz {\displaystyle z} 見つける必要があるq ϕ ( z | x ) {\displaystyle q_{\phi }(z|x)} 。 させてq 0 {\displaystyle q_{0}} 確率密度関数はϵ {\displaystyle \epsilon } 、 それからln q ϕ ( z | x ) = ln q 0 ( ϵ ) − ln | 検出 ( ∂ ϵ z ) | {\displaystyle \ln q_{\phi }(z|x)=\ln q_{0}(\epsilon )-\ln |\det(\partial _{\epsilon }z)|} どこ∂ ϵ z {\displaystyle \partial _{\epsilon }z} は、z {\displaystyle z} に関してϵ {\displaystyle \epsilon } 。 以来z = μ ϕ ( x ) + L ϕ ( x ) ϵ {\displaystyle z=\mu _{\phi }(x)+L_{\phi }(x)\epsilon } これはln q ϕ ( z | x ) = − 1 2 ‖ ϵ ‖ 2 − ln | 検出 L ϕ ( x ) | − n 2 ln ( 2 π ) {\displaystyle \ln q_{\phi }(z|x)=-{\frac {1}{2}}\|\epsilon \|^{2}-\ln |\det L_{\phi }(x)|-{\frac {n}{2}}\ln(2\pi )}
バリエーション 変分オートエンコーダーの多くの応用例や拡張機能が、そのアーキテクチャを他の分野に適応させ、性能を向上させるために利用されてきた。
β {\displaystyle \beta } -VAEは、重み付きKullback–Leiblerダイバージェンス項を使用して、因子化された潜在表現を自動的に発見および解釈する実装です。この実装では、多様体分離を強制的に実行できます。β {\displaystyle \beta } 1より大きい値。このアーキテクチャは、教師なしで分離された潜在因子を発見できます。[ 13 ] [ 14 ]
条件付きVAE(CVAE)は、潜在空間にラベル情報を挿入して、学習データの決定論的制約表現を強制します。[ 15 ]
一部の構造は、生成されたサンプルの品質に直接対処するか[ 16 ] [ 17 ] 、表現学習をさらに改善するために複数の潜在空間を実装します。
一部のアーキテクチャでは、ハイブリッドモデルを得るために、VAEと敵対的生成ネットワーク を組み合わせています。[ 18 ] [ 19 ] [ 20 ]
エンコーダを更新するために勾配を使用する必要はありません。実際、生成モデルにはエンコーダは必要ありません。[ 21 ]
参考文献 ↑ キングマ、ディーデリク P.;ウェリング、マックス (2022-12-10)。 「変分ベイズの自動エンコーディング」。arXiv : 1312.6114 [ stat.ML ]。 ↑ Pinheiro Cinelli, Lucas; et al. (2021). "Variational Autoencoder" . Variational Methods for Machine Learning with Applications to Deep Networks . Springer. pp. 111– 149. doi : 10.1007/978-3-030-70679-1_5 . ISBN 978-3-030-70681-4 . S2CID 240802776 . ↑ ナット、ディロクタナクル。メディアノ、ペドロAM;ガルネロ、マルタ。リー、マシュー CH;サリンベニ、ヒュー。カイ、アルルクマラン。シャナハン、マレー (2017-01-13)。 「ガウス混合変分オートエンコーダを使用した教師なしディープクラスタリング」。 arXiv : 1611.02648 [ cs.LG ]。 ↑ Hsu, Wei-Ning; Zhang, Yu; Glass, James (2017年12月)「変分オートエンコーダーに基づくデータ拡張による堅牢な音声認識のための教師なしドメイン適応」 2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU) . pp. 16–23 . arXiv : 1707.06265 . doi : 10.1109/ASRU.2017.8268911 . ISBN 978-1-5090-4788-8 . S2CID 22681625 . ↑ Ehsan Abbasnejad, M.; Dick, Anthony; van den Hengel, Anton (2017). Infinite Variational Autoencoder for Semi-Supervised Learning . pp. 5888–5897 . ↑ Xu, Weidi; Sun, Haoze; Deng, Chao; Tan, Ying (2017-02-12). "半教師ありテキスト分類のための変分オートエンコーダ" . 人工知能に関するAAAI会議議事録 . 31 (1). doi : 10.1609/aaai.v31i1.10966 . S2CID 2060721 . ↑ 亀岡弘和、李李、井上翔太、牧野庄司 (2019-09-01) 「マルチチャネル変分オートエンコーダを用いた教師あり決定ソース分離」 . ニューラル計算 . 31 (9): 1891– 1914. doi : 10.1162/neco_a_01217 . PMID 31335290 . S2CID 198168155 . 1 2 3 キングマ、ディーデリク P.ウェリング、マックス (2013-12-20)。 「変分ベイズの自動エンコーディング」。 arXiv : 1312.6114 [ stat.ML ]。 ↑ 「オートエンコーダーからBeta-VAEへ」 . Lil'Log . 2018-08-12. ↑ Rezende, Danilo Jimenez; Mohamed, Shakir; Wierstra, Daan (2014-06-18). "深層生成モデルにおける確率的バックプロパゲーションと近似推論" . 国際機械学習会議 . PMLR: 1278– 1286. arXiv : 1401.4082 . ↑ Bengio, Yoshua; Courville, Aaron; Vincent, Pascal (2013). " 表現学習: レビューと新しい展望". IEEE Transactions on Pattern Analysis and Machine Intelligence . 35 (8): 1798–1828 . arXiv : 1206.5538 . Bibcode : 2013ITPAM..35.1798B . doi : 10.1109/TPAMI.2013.50 . ISSN 1939-3539 . PMID 23787338. S2CID 393948 . ↑ Kingma, Diederik P.; Rezende, Danilo J.; Mohamed, Shakir; Welling, Max (2014-10-31). "Semi-Supervised Learning with Deep Generative Models". arXiv : 1406.5298 [ cs.LG ]. ↑ Higgins, Irina; Matthey, Loic; Pal, Arka; Burgess, Christopher; Glorot, Xavier; Botvinick, Matthew; Mohamed, Shakir; Lerchner, Alexander (2016-11-04). beta-VAE: 制約付き変分フレームワークによる基本的な視覚概念の学習 。NeurIPS。 ↑ Burgess, Christopher P.; Higgins, Irina; Pal, Arka; Matthey, Loic; Watters, Nick; Desjardins, Guillaume; Lerchner, Alexander (2018-04-10). "Understanding disentangling in β -VAE". arXiv : 1804.03599 [ stat.ML ]. ↑ Sohn, Kihyuk; Lee, Honglak; Yan, Xinchen (2015-01-01). Learning Structured Output Representation using Deep Conditional Generative Models (PDF) . NeurIPS. ↑ Dai, Bin; Wipf, David (2019-10-30). "VAEモデルの診断と強化". arXiv : 1903.05789 [ cs.LG ]. ↑ ドルタ、ガロエ。ビセンテ、サラ。アガピト、ルルド。キャンベル、ニールDF。アイヴァー・シンプソン (2018-07-31)。 「構造化残差の下での VAE のトレーニング」。 arXiv : 1804.01050 [ stat.ML ]。 ↑ ラーセン、アンデルス・ベーセン、リンドボ。ソンダービー、ソーレン・カーエ。ラロシェル、ヒューゴ。ウィンター、オーレ (2016-06-11)。 「学習された類似性メトリックを使用したピクセルを超えた自動エンコーディング」 。 機械学習に関する国際会議 。 PMLR : 1558–1566。arXiv : 1512.09300 。 ↑ バオ、ジャンミン。チェン、ドン。ウェン、ファン。李、後強。フア、ガン(2017)。 「CVAE-GAN: 非対称トレーニングによるきめの細かい画像生成」。 pp . 2745–2754。arXiv : 1703.10155 [ cs.CV ] 。 ↑ Gao, Rui; Hou, Xingsong; Qin, Jie; Chen, Jiaxin; Liu, Li; Zhu, Fan; Zhang, Zhao; Shao, Ling (2020). "Zero-VAE-GAN: Generating Unseen Features for Generalized and Transductive Zero-Shot Learning". IEEE Transactions on Image Processing . 29 : 3665–3680 . Bibcode : 2020ITIP...29.3665G . doi : 10.1109/TIP.2020.2964429 . ISSN 1941-0042 . PMID 31940538. S2CID 210334032 . ↑ Drefs, J.; Guiraud, E.; Panagiotou, F.; Lücke, J. (2023). "Direct evolutionary optimization of variational autoencoders with binary latents". Joint European Conference on Machine Learning and Knowledge Discovery in Databases . Lecture Notes in Computer Science. Vol. 13715. Springer Nature Switzerland. pp. 357–372 . arXiv : 2011.13704 . doi : 10.1007/978-3-031-26409-2_22 . ISBN 978-3-031-26408-5 。↑ キングマ、ディーデリク P.;ウェリング、マックス (2022-12-10)。 「変分ベイズの自動エンコーディング」。 arXiv : 1312.6114 [ stat.ML ]。 ↑ Kolouri, Soheil; Pope, Phillip E.; Martin, Charles E.; Rohde, Gustavo K. (2019). "Sliced Wasserstein Auto-Encoders" . International Conference on Learning Representations . International Conference on Learning Representations. ICPR. ↑ Turinici, Gabriel ( 2021). "Radon-Sobolev Variational Auto-Encoders" . Neural Networks . 141 : 294–305 . arXiv : 1911.13135 . doi : 10.1016/j.neunet.2021.04.018 . ISSN 0893-6080 . PMID 33933889 . ↑ Gretton, A.; Li, Y.; Swersky, K.; Zemel, R.; Turner, R. (2017). "ネットワークのためのポリア伝染モデル". IEEE Transactions on Control of Network Systems . 5 (4): 1998–2010 . arXiv : 1705.02239 . doi : 10.1109/TCNS.2017.2781467 . ↑ トルスティヒン、I.ブスケ、O.ジェリー、S.シェルコフ、B. (2018)。 「Wasserstein オートエンコーダー」。 arXiv : 1711.01558 [ stat.ML ]。 ↑ Louizos, C.; Shi, X.; Swersky, K.; Li, Y.; Welling, M. (2019). "Kernelized Variational Autoencoders". arXiv : 1901.02401 [ astro-ph.CO ].
さらに読む Kingma, Diederik P.; Welling, Max (2019). "変分オートエンコーダ入門". Foundations and Trends in Machine Learning . 12 (4). Now Publishers: 307–392 . arXiv : 1906.02691 . doi : 10.1561/2200000056 . ISSN 1935-8237 .