変分オートエンコーダー(VAE)の再パラメーター化トリックはどのように機能しますか?基礎となる数学を単純化せずに直感的で簡単な説明はありますか?そして、なぜ「トリック」が必要なのでしょうか?
変分オートエンコーダー(VAE)の再パラメーター化トリックはどのように機能しますか?基礎となる数学を単純化せずに直感的で簡単な説明はありますか?そして、なぜ「トリック」が必要なのでしょうか?
回答:
KingmaのNIPS 2015ワークショップスライドを読んだ後、ランダムノードを逆伝播するために再パラメーター化のトリックが必要であることに気付きました。
直感的には、VAEは元の形式で、真の事後のパラメトリックモデルq (z ∣ ϕ 、x )で近似されるランダムノードからサンプリングします。Backpropはランダムノードを通過できません。
新しいパラメータの導入私たちが再パラメータ化することを可能にするzのバックプロパゲーションは、確定ノードを流すことができるように。
我々は、正規分布を有すると仮定によってパラメータ化されたθ、具体的にはq個のθ(X )= Nを(θ 、1 )。私たちは、以下の問題が解決したい 分θを これはもちろんかなり馬鹿げた問題であり、最適な θは明らかです。ただし、ここでは、このパラメータE q [ x 2 ]の勾配を計算する際に、再パラメータ化のトリックがどのように役立つかを理解したいだけです。
再パラメーター化のトリックは、勾配をとる分布がパラメーター依存しないように、期待値を書き換える方法です。これを実現するには、qの確率的要素をθから独立させる必要があります。そこで、我々は書くのxを通り 、X = θ + ε 、
勾配を計算するこれらの2つの方法の分散を調べるIPythonノートブックを次に示します。 http://nbviewer.jupyter.org/github/gokererdogan/Notebooks/blob/master/Reparameterization%20Trick.ipynb
「再パラメータ化のトリック」の数学の合理的な例は、gokerの答えにありますが、動機付けが役立つ場合があります。(私はその答えにコメントする許可を持っていません。したがって、ここに別の答えがあります。)
、最適とはほど遠い場合があります(たとえば、任意に選択された初期値)。それは、彼がそれらを落とした場所の近くではなく、街灯の近くで彼が鍵を探す(それが彼が見る/サンプルできる場所だから)酔っ払った人の物語に少し似ています。
それがお役に立てば幸いです。
まず、VAEで再パラメーター化のトリックが必要な理由を説明します。
VAEにはエンコーダーとデコーダーがあります。デコーダーは真の後部Z〜q(z∣ϕ、x)からランダムにサンプリングします。エンコーダーとデコーダーをニューラルネットワークとして実装するには、ランダムサンプリングを介して逆伝播する必要があります。これは、逆伝播がランダムノードを通過できないため問題です。この障害を克服するために、再パラメーター化トリックを使用します。
今、トリックに来ましょう。事後分布は正規分布しているため、別の正規分布で近似できます。Zを正規分布εで近似します。
しかし、これはどのように関連していますか?
今、代わりにその格言のZがからサンプリングされたQ(z|φ、x)は、私たちが言うことができZが、パラメータとる関数である(ε、(μ、L))及びこれらのμを、Lは、上位ニューラルネットワーク(エンコーダ)から来ています。したがって、バックプロパゲーションに必要なのは、µに対する偏導関数だけであり、Lおよびεは導関数の取得には無関係です。
確率的グラフィカルモデルに関するスタンフォードCS228コースで見つかった説明は非常に良いと思いました。ここで見つけることができます:https : //ermongroup.github.io/cs228-notes/extras/vae/
ここでは、便宜上/自分の理解のために重要な部分を要約/コピーしました(ただし、元のリンクを確認することを強くお勧めします)。
スコア関数推定器に精通している場合(REINFORCEはこの特殊なケースにすぎないと考えています)、それが解決する問題であることに気付くでしょう。ただし、スコア関数推定器の分散は大きく、モデルの学習に多くの場合困難をもたらします。
例として、サンプリングする非常に単純なqを使用してみましょう。
これは、重要な理由ではないが、ばらつきが小さい。説明については、付録のパートDを参照してください:https : //arxiv.org/pdf/1401.4082.pdf