変分オートエンコーダーと通常の(決定論的)オートエンコーダーの基本構造とそれらの背後にある数学を理解していますが、あるタイプのオートエンコーダーを他のタイプよりもいつ、なぜ好むのでしょうか?私が考えることができるのは、変分オートエンコーダーの潜在変数の事前分布だけで、潜在変数をサンプリングしてから新しいイメージを構築できることです。決定論的オートエンコーダに対する変分オートエンコーダの確率論はどのような利点がありますか?
変分オートエンコーダーと通常の(決定論的)オートエンコーダーの基本構造とそれらの背後にある数学を理解していますが、あるタイプのオートエンコーダーを他のタイプよりもいつ、なぜ好むのでしょうか?私が考えることができるのは、変分オートエンコーダーの潜在変数の事前分布だけで、潜在変数をサンプリングしてから新しいイメージを構築できることです。決定論的オートエンコーダに対する変分オートエンコーダの確率論はどのような利点がありますか?
回答:
VAEは、大規模なデータセットで変分EM(または一般的に変分推論)を行うスケーラブルな方法として提案されたフレームワークです。AEのような構造ですが、はるかに大きな目的を果たします。
そうは言っても、もちろん、潜在的な表現を学習するためにVAEを使用できます。VAEは解きほぐされた因子を持つ表現を与えることが知られています[1]これは潜在変数の等方性ガウス事前分布のために起こります。それらをガウス分布としてモデル化することにより、表現の各次元が他の要素から可能な限り離れるようになります。また、[1]は事前分布の影響を制御する正則化係数を追加しました。
ほとんどの場合、等方性ガウス分布で十分ですが、特定の場合には、事前確率を異なる方法でモデル化することができます。たとえば、シーケンスの場合、事前モデルをシーケンシャルモデルとして定義することができます[2]。
質問に戻ると、わかるように、priorは潜在分布のモデル化方法を大幅に制御します。この種の制御は、通常のAEフレームワークには存在しません。これは、実際にはベイジアンモデル自体の力であり、VAEは単に大規模なデータセットに対してより実用的かつ実現可能にしています。結論として、潜在的な表現と表現したいものを正確に制御したい場合は、VAEを選択します。[2]のように、正確なモデリングでより適切な表現をキャプチャできる場合があります。ただし、AEがあなたの仕事に十分であれば、AEを使用するだけで十分です。結局、AEを使用すると、単純に非線形PCAを実行できます。
[1]教師なしディープラーニングを使用した初期の視覚概念学習、2016年
イリーナヒギンズ、ロイックマッセイ、ザビエルグロロット、アルカパル、ベニーニョウリア、チャールズブランデル、シャキールモハメド、アレクサンダーラーチナー
https://arxiv.org/abs/1606.05579
[2]シーケンシャルデータの反復潜在変数モデル、2015年
Junyoung Chung、Kyle Kastner、Laurent Dinh、Kratarth Goel、Aaron Courville、Yoshhua Bengio
https://arxiv.org/abs/1506.02216
TenaliRamanには良い点がいくつかありましたが、基本的な概念も多く見逃していました。まず、AEに似たフレームワークを使用する主な理由は、情報を圧縮し、データの高レベルの特徴を表す独立した要素を取得できるようにする潜在的な空間であることに注意する必要があります。重要な点は、「X」の隠されたユニットが最初の「X」個の主成分と同じ空間に広がるため、AEはPCAの非線形拡張として解釈できるが、AEは必ずしも潜在的な直交成分を生成しないスペース(解きほぐしの形になります)。さらに、VAEから、データの尤度の近似値(概算値)を取得し、それからサンプルを取得できます(これはさまざまな異なるタスクに役立ちます)。しかしながら、
VAEの潜在ユニットに課された事前の分布は、KL発散項によるモデルのフィッティングにのみ寄与します。KL発散項は、[1]参照がその項にハイパーパラメーター乗数を追加し、そこから完全な論文を得ました(そのほとんどはかなり明白)。本質的に「情報価値のない」事前分布は、ゼロに近いKL発散を個々に持ち、損失に大きく寄与しないものです。つまり、特定のユニットはデコーダーでの再構築に使用されません。解きほぐしは自然にVAEで作用します。なぜなら、マルチモーダルデータの最も単純なケースでは、モデルが単一のガウスで複数のモードをキャプチャしようとする場合(KL発散コストによって大幅にペナルティが課されるため、以前からさらに発散する)に比べて、KL発散コストはモードごとに一意の潜在ガウスを持つことにより低くなります。潜在ユニットのもつれを解きます。したがって、VAEは、それに関連する統計的意味合いのために、ほとんどのデータソースにも自然に役立ちます。
AEにはスパース性を与えるフレームワークもありますが、残念ながら、潜在空間の表現と解きほぐしに基づいてVAEとAEを厳密に比較した論文はありません。しかし、私はその分野で何かを見たいと思っています-AEは訓練がはるかに簡単であり、潜在空間でVAEと同じくらいのもつれを解くことができれば、明らかに優先されます。関連するメモで、ICA(および非線形ICA)メソッドによるいくつかの約束も見ましたが、見たものは潜在空間をデータと同じ次元にすることを強制しました。これはAEほど有用ではありません高レベルの特徴を抽出するため。
標準の自動エンコーダーは、次のグラフを使用して説明できます。
前の回答で述べたように、PCAの単なる非線形の拡張と見なすことができます。
しかし、変分オートエンコーダと比較して、バニラオートエンコーダには次の欠点があります。
生成のための自動エンコーダーの基本的な問題は、エンコードされたベクトルが存在する場所と入力された場所を変換する潜在空間が連続していないか、簡単に補間できることです。
つまり、上記のグラフのエンコーディング部分は、エンコーダーがこれまでに見たことのない入力を処理できません。異なるクラスが鈍くクラスター化され、それらの見えない入力が空白のどこかにあるものにエンコードされるためです:
この問題に対処するために、中間層の各隠れ変数の平均と標準偏差を含む層を追加することにより、変分オートエンコーダーが作成されました。
次に、同じ入力であっても、デコードされた出力は変化する可能性があり、エンコードされてクラスター化された入力はスムーズになります。
したがって、ノイズ除去または分類(異種データのフィルタリング)を行うには、標準のオートエンコーダーで十分ですが、生成には変分オートエンコーダーを使用した方がよいでしょう。
リファレンス:
変分オートエンコーダーの直感的な理解
VAEでコードの分布を選択すると、同じクラスのサンプルがコード空間内で互いに近くなる、より良い教師なし表現学習が可能になります。また、この方法では、コード空間内の領域のセマンティックスを見つけるのが簡単になります。たとえば、各領域からどのクラスを生成できるかがわかります。
さらに詳細な分析が必要な場合は、Durk Kingmaの論文をご覧ください。変分推論の優れた情報源です。