yoheikikuta / paper-reading

Notes about papers I read (in Japanese)
156 stars 4 forks source link

[1706.04156] Gradient descent GAN optimization is locally stable [paper-reading] #3

Open yoheikikuta opened 6 years ago

yoheikikuta commented 6 years ago

論文リンク

https://arxiv.org/abs/1706.04156

公開日(yyyy/mm/dd)

2017/06/13

概要

GANにおけるパラメタの最適化に関して、解がある場合にいくつかの条件を満たせばその解の近傍(具体的には非線形常備分方程式を線形化して扱える範囲)において指数的な速度で解に収束することを示した。WGANではパラメタが cyclic に変更されて収束しない場合があるということも合わせて示している。解の収束性を促進するために、 discriminator のパラメタで目的関数を微分した L2 term を正則化項として使うのが有効であるという提案。

yoheikikuta commented 6 years ago

GANの最適化は以下の min-max game を解くということ。この f は concave function である。

original GAN を再現するときは $ f(x) = - \log( 1 + e^{-x} ) $ を採用するが、このときは convention と異なる点があるので気をつける。discriminator の値域は普通は [0,1] が使われるが、この論文では (-∞, +∞) であり、real data を認識するときの出力が D > 0 となる。

パラメタの更新は勾配法で実施するので、更新ステップ幅を無限小にして連続化することを考えれば以下の微分方程式を解くことに相当する。

符号にはちょっと注意が必要。discriminator に関しては $ θ <- θ + η ∇V $ なので、$ (θ(t + Δ t) - θ(t)) / Δ t = ∇V $ となってこれはよい(η > 0)。ただ generator に関しては符号が flip すると思うんだが。ここはちょっとよく分かってない。

yoheikikuta commented 6 years ago

なぜ GAN の最適化が難しいのかという問題に対して、この論文では「目的関数が concave-concave にななって concave を minimize する問題になっている」ということを主張している。

これを簡単に見るには $ D(x) = θ x + θ' $ と $ G(z) = θ z + θ' $ という linear なモデルを考えると分かりやすい。この場合

となる。これは f の concave 性に注目すると discriminator のパラメタに関して concave になっている。すなわちパラメタの二回微分に関して負になる。ところがこれは generator のパラメタに関しても concave になっているのである。二回微分することで concave function の overall に現れるものは二乗の形なのがその原因である。

これは linear だけで生じることではなく、もっと一般的な関数系や $ f''(x) = 0 $ を満たす場合(WGAN)でも見られる現象であることが appendix B に示されている。 一般的な関数系と言っているが、示しているのは多項式の形の場合であることには少し注意が必要か。$ f''(x) = 0 $ の場合も考えているが、concave 性は二回微分が non-positive であればよいという点も注意。

yoheikikuta commented 6 years ago

論文の核となる定理は以下。

Equation 3 (これはパラメタアップデートを連続化した定微分方程式)で更新していく目的関数は解の周りで(指数的に)収束していく、ということを言っている。

これを満足するための仮定をいくつか出していて、それは以下。

これは data 分布の support の範囲に関しては generator が true distribution を作れてかつ discriminator は値として 0 を返すというもの。この論文の定義では (-∞, +∞) であるので、これはちょうどどちらとも判定できない(true と generator の区別ができない)という状態に対応している。 結構強い仮定だが、解の存在とか収束の話をするにはまあこれは必要だよなあという感じはする。

この f は concave function であった。これが 0 のとき、つまり上の仮定1の状態の時、一階微分が非ゼロであれという仮定である。二階微分に関しては concave を仮定しているので良いが、一階微分に関しては非ゼロでなければ解に収束していけないということだろう。

これは結構理解するのが難しい。まずは property I が何を意味しているかを考える。これは解において、二階微分がゼロの方向に関しては、対象の関数は微小変化の下で不変であるというものである。これを見ると解の近傍で解は解のままであるという特徴を要請するための道具を準備していることが分かる。 一方で仮定3では解において記載の2つの量が上の条件を満たすことを条件としている。1つめは全てゼロという状態からどれくらい離れているかで、2つめは微分の差がどれくらい離れているかである。 なぜこれらの量なのか、というのは直感的にはすぐには分からなそうな感じはする。これらの量は目的関数の曲率と関係がつくことが後に示される。

これは解の近傍のパラメタで表現される分布の support が true distribution と同じであるという仮定。単純な場合では同じデータ空間を対象にしているということ。

yoheikikuta commented 6 years ago

K の定義を載せてなかった。これ。

yoheikikuta commented 6 years ago

ちゃんとした証明は appendix を読むのが一番なので、ここでは気持ちを述べてみる。 まず、平衡点における系のヤコビアンは以下の形で書ける。

当然これは目的関数を discriminator と generator のパラメタで微分したものになっているが、意外と理解が難しい。 まず (1,1) 成分に関しては V(G,D) の2つの項に対してそれぞれ計算をすると、$ f' ΔD $ の項が sign flip でキャンセルして所望の項だけが残るという仕組み。ここでは仮定1も合わせて使っている。 非対角成分は $ θ_D $ での微分は普通にやればよいが、$ θG $ の微分が注意が必要である。期待値が $ E{p{G}}} = \int \ dx p{G}} $ であるからここの $ p{G}} $ を微分演算子が叩いているという格好である。 これが分かれば (2,2) 成分は難しくはなく、f が微分で叩かれずに残ってこれは平衡点で 0 になるということになっている。

yoheikikuta commented 6 years ago

とまあこんな感じで書くとそれっぽいが、V の二項目の D(G(z)) の G(z) を x として扱って微分で叩かれるのは期待値計算時の $p{G}}$ のみであることが気になる。これはいいんだっけか?

あれか、あくまでデータのサンプル先である分布が $p{G}}$ であり、これからサンプルされるデータ点 x において D(x) を評価する、という形になってるからいいのか。

この辺の notation とか展開はちょっとこの論文はわかりづらいと思うんだよなぁ。もう少し notation を一貫して書いてくれれば読む方は助かると思うが。

yoheikikuta commented 6 years ago

話を戻して証明の気持ちだが、このヤコビアンが Hurwitz (フルビッツ) であることを期待している。 Hurwitz 行列というのはここで初めて知った。

連続的な力学系の任意の双曲型不動点(あるいは平衡点)が局所的に漸近安定であることと、その力学系のヤコビ行列がその不動点においてフルビッツ安定であることは、必要十分である。

とのことである。フルビッツ安定であるとは、行列の実固有値が全て負になること。 ということで $ K{DD} > 0 ( ∵ f''(0) < 0 ) $ であり、かつ $ K{DG} $ が full rank であるべしということが要請される。これらは一般には成り立たないのが、その場合は rank が潰れているところを無視するように sub space に射影して考えよう、という戦略である。

ここまで来るとこの論文は制御理論における Hurwitz 安定ということが主題でそれを GAN のセットアップに適用したのだ、ということが分かる。

yoheikikuta commented 6 years ago

ここまでが論文のメインの主張で、これを受けてさらに mode collapse を防ぐ正則化を提案している。

いわゆる double back prop. の項である。こいつによってヤコビアンは以下のように変化する。

この形だと解近傍での指数的安定性の証明が使えないのでは?と考えてしまうが、ηを十分小さくすればそれは保証されると証明している。この (2,2) 成分により、generator が良い振る舞いをして収束性が良くなるとのこと。

これは unrolled GAN と同じようになっているとさらりと書いてあるが、そうなの? unrolled GAN は discriminator を複数回学習してそれに対して generator を学習して、discriminator を戻してまた同じことをしていくという理解なのだが、イマイチつながりがわからない。

generator の更新として少し先が見えてるようになっている、ということだろうか?まあ分からなくはないがちょっと納得しきれてはいない。

yoheikikuta commented 6 years ago

実験:mode collapse の回避

yoheikikuta commented 6 years ago

実験:D(x) = w2 x^2, G(z) = a z というセットアップでのパラメタ更新の挙動

特に下の段の WGAN において η=0 では循環構造になっている振る舞いが、正則化項によって正しい解へと流れていく様子が見て取れる。

yoheikikuta commented 6 years ago

関係ないけどこういう図は繰り込み群の flow とかを思い出させるからいいよね。

yoheikikuta commented 6 years ago

の generator の微分に関して、著者の NIPS での発表資料に関してはやはり negative sign がついている。論文の表記がミスっているということでよさそう。