yoheikikuta / paper-reading

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

[2016] Exponential expressivity in deep neural networks through transient chaos #16

Open yoheikikuta opened 5 years ago

yoheikikuta commented 5 years ago

論文リンク

https://arxiv.org/abs/1606.05340

公開日(yyyy/mm/dd)

2016/01/16

概要

deep random feed forward network において、入力空間における異なる二点の関係をノード数無限大の極限で議論することで、chaos - ordered 相転移(実際には有限の話なので transient というタイトルになっている)が起こり、特に chaos regime において中間層 mfd. の global curvature が増大して高い表現力を発揮することが理論的・実験的に調べられた。

yoheikikuta commented 5 years ago

まずはこの論文を読むモチベーションから。 以前人工知能学会誌で紹介されているのを目にして、面白そうだと思ったのがきっかけだった。 相転移っぽい話なので面白そうだったのと、random weight の deep learning の解析的な取り扱いを勉強してみたいなと思ったのと、という感じ。

yoheikikuta commented 5 years ago

この論文で扱いたいのは以下の二つ。

これ自体はかなり抽象的な問いでこれまで様々な側面から調べられてきた。しかしそれらは特定の非線形 activation だったり特定の複雑性を測る指標だったりで限定的なものだった。 この論文では特に、リーマン幾何と平均場理論を組み合わせることでかなり広いクラスの非線形性と global extrinsic curvature で disentanglement を定量的に評価できるようになった、というのが主張のようだ。

イントロだけ読むと disentanglement の話は結局特定の指標で測りましたというように聞こえるが、もう少し深い意味があるのだろうか。

yoheikikuta commented 5 years ago

主たる対象は、重みやバイアスを平均がゼロの正規分布からサンプルして得られる deep feedforward network におけるシグナルの伝播となる。

ここで、重みは平均ゼロで分散が $ σ^2w / N{l-1} $ という共通の分散を一つ前の層のノードの数で割っている。これはあるノードには前の層の全てのノードから寄与があるため、それを補正するためのものである。バイアスは平均ゼロで分散が $ σ^2_b $ である。

yoheikikuta commented 5 years ago

ノードの数を大きくすることでシグナル伝播がどうなるかを見る。確率分布からサンプルしているので有限では確率的な話しかできないが、無限大極限をとることで決定論的な議論ができるという話。これは積分の形になるので解析的に表現できるからだろう。

シグナル伝播、というときに対象にするのが以下の中間層の出力の noramalized signal length である。

ここではまだ有限で書いているが、あとでこの N を無限大極限で扱う。 これをシグナルの伝播に重要な量として扱っているのは、特にこの量が 0 に近づけばシグナルが減衰して 0 になっていると考えらえるので、この値が 0 に収束するのかもしくは非 0 の非自明な値に収束するのかを主たる対象とするということで reasonable に思える。

yoheikikuta commented 5 years ago

ということで連続極限を考える。

ここで、$ D_z = e^{-z^2/2} dz / √2π $ なる測度である。 これの導出は Supplementary Material に載っているが、基本的には和を積分に置き換えるというもの。まず、中間層出力を一つ前の層の言葉で書き直す。

cross term は無相関であることは定義なので落ちる。 また、 $ = δ_{j,k} σ^2w / N{l-1} $ を使っている。添字をサボって書いているが、これは下付きの添字が l-1 の層のノードの添字であるということである。 ここで、 $ l-1 $ の層の input の経験分布が平均ゼロで分散 $ q^{l-1} $ のガウス分布であることに注意して、ガウシアンの確率変数を導入して積分の形にする(連続極限)ことで、最初の式が得られる。確率変数 a (mean: 0, variance: $ q^{l-1} $ ) として $ e^{- a^2 / 2 q^{l-1}} da / ( \sqrt{ 2 π q^{l-1} }) $ なる測度で積分することになり、これを $ a \rightarrow \sqrt{ q^{l-1} } z $ と置き換えれば件の式が得られる。

yoheikikuta commented 5 years ago

一つの例として φ(h) = tanh(h) という場合を考える。 ν という iterative な式の dynamics を実験的に調べたものが下の結果になっている。

これの意味するところを考える。 まず、一番左の図は $ q^{l-1} $ と $ q^{l} $ の関係をプロットしたものである。重なっているので認識し難いが、線が theoretical prediction で点が実験結果とのこと。まあそれは合っているということで良いのだが、重要なのは $ q^{l-1} $ に対して単調増加で concave になっているということ。さらに★は $ q^{l-1} = q^{l}$ ですなわち固定点となる点である。 左から2番目の図は、異なる初期値から始めてどれくらいの iteration (layer数) で固定点の値に収束するかという図である。収束が早いことが見て取れる。 左から3番目の図は、分散パラメタを変えた時の固定点における length の値をプロットしたものである。$ σ_w $ の値が 1 から始まっているのは、もしこれが 1 以下の場合、特に $ σ_b = 0 $ の場合は導出した式により固定点の値が 0 になることが示されるためである。逆に 1 より大きい場合は非自明な固定点の値を得る。 一番右の図は見たまま。

面白いのは非ゼロの $ σ_b $ のときに一つだけ非自明な固定点を持つ、ということであり、信号の伝播においてバイアスの分散も重要な働きをしていることが分かる。これは信号の伝播を各層で進める場合、バイアスによる寄与によって length の値が持ち上がって自明な固定点に流れ込むような flow がなくなるという感じですね。この辺は繰り込み群が得意な物理の人が解析すればもっと深く議論できるんじゃないでしょうか。

yoheikikuta commented 5 years ago

次に二つの input $ x^{0,a} $, $ x^{0,b} $ に対して同様の解析を行う。 これはネットワークを固定したときに、入力の空間において異なる二点間の関係が層を経ることでどのように変化するのかということを調べることに対応している。これによって最初のモチベーションだった複雑な入力空間での関係の disetanglement などにアプローチしたいということなのだろう。

まず q の結果は以下。

これの導出も Supplementary Material に書いてあるのだが、自分はまだ導出を追えていない。 具体的には

こいつが示せていない。 direct, if tedious calculation とのことなのだが、これは exact に成り立つ式っぽく書いてあるけど示せてない。固定点に十分近いところという条件が必要なんじゃないかと思うんだけど、そうでもないっぽいのがちと理解し難い。まあ固定点に十分近いという条件を使って示そうとしてそれもうまくいってないので単純に自分が間違っていると思うが。 示せないのが悲しいことこの上ないのだが、固定点での評価はまあ正しそうな気がするのでこのまま読み進める。将来の自分に期待。

yoheikikuta commented 5 years ago

先ほどの図と同じような解析をするが、ここで重要になるのが l-1 から l に移る際の変化分である。

こいつの値に注意して以下の結果を眺める。

一番左は l-1 層と l 層の関係だが、先ほどの場合と比べるとパラメタの値に対して変化が小さい。そしてこのダイナミクスはなかなか複雑である。この図は $ σ_b = 0.3 $ のものであるが、$ σ_w $ の値が小さい時はバイアスの効果が支配的で二点はネットワークを経て converge する(相関係数が 1 になる)。$ σ_w $ の値を少し大きくすると他の非自明な固定点が現れる。さらに $ σ_w $ を大きくすると、weight の効果が支配的になって無相関(相関係数が 0)の固定点となる。 左から2番目の図は固定点への収束の速さで、先ほどの場合と比べると収束は遅い。一番左の図で unit line に近いために流れ込む速さが遅くなっている。 左から3番目が固定点での値で、上で説明した事情が見て取れる。黒い点線が χ が 1 の境界である。これが 1 より小さい領域では層を経た変化分が小さく、相関が 1 になるように map されており、1 より大きすぎると変化分が大きくて無相関になるように map されている。

以上により、この χ の値が 1 の境界が相転移の境界になっているということである。 無相関になるのが chaos で相関が 1 になるのが ordered ということで、論文のタイトルの気持ちがわかってくる。ちなみに log χ_1 がよく知られたリアプノフ指数であるとのこと。俺はよく知らないけどね。ともかくこれがリアプノフ指数が 1 を超えているかがカオス的である、ということのようだ。 無限大の深さのネットワークではこの境界をまたがれば chaos - ordered が非連続的に切り替わるはずだが、ここでは有限のネットワークを考えているので過渡的カオス(transient chaos)になっている。

yoheikikuta commented 5 years ago

次いで同じセットアップで入力空間の mfd. がどのように変換されるのかを調べる。

入力空間で 1 parameter θ で特徴付けられる mfd. を考え(具体的には円)、それが途中の中間層でどのように変形されているかを PCA で最初の三つの component を調べたものが以下の図となる。

下の段に行くほど $ σ_w $ が大きいので chaos phase である。これは無相関にいく方向なので、右上の box に記してある固有値の分布が差が小さく平らになる。そしてその結果、元の円の情報が少数の PCA 成分では表現できなくなる度合いが著しくなるので、描く曲線が複雑になる。 真ん中と右の図は自己相関を記しているものであり、これはこれまで議論してきたことをサポートする内容になっている。

ここは結果を図示したのみなので複雑さに関しては定量的な議論をしているわけではないが、この観察を元に、リーマン幾何を道具として導入して定量的な測定をしていこうというのが以降の話である。 入力として簡単な mfd. を考えているため、そのパラメタに沿って積分するというが現実的に可能であるため、曲率などを計算してそれと複雑性を関連させようという目論見だ。

yoheikikuta commented 5 years ago

まず、mfd. は $ h^l (θ) = h^l (x^0 (θ)) $ と表現される。これは中間層での mfd. が入力の円の mfd. から map されることを表現している。例えば $ h^1 (θ) $ は以下。

mfd. の複雑度を測るために局所的に曲率を測っていくことを考える。 そのための道具立てとして外曲率を導入する。速度ベクトル場 $ v (θ) = ∂_θ h (θ) $ を定義し、加速度ベクトル場 $ a (θ) = ∂_θ v (θ) $ も定義する。 外曲率は以下のように得られることが知られている。これは曲線の微分幾何とかでよく扱うものだ。

一方で、曲線に沿って距離を計算する方法も導入しておく。 metric は $ g (θ) = v (θ) v (θ) $ で induce されるので、以下の積分で total の距離が計算できる。

これは直線でも大きくなりうる量なので、論文ではさらに曲率を考慮して長さを測るためにガウス写像で球面に写してそこでの距離を計算する指標も導入している。詳細は純粋に数学の話なので詳細な話はおいといて、metric が $ g^G (θ) = ∂v (θ) ∂v (θ) $ となり、以下の積分で計算。

ちょっと道具立てが多かったがこれで準備は整ったので、ここで導入した量がどのように振る舞うかを見ていく。

yoheikikuta commented 5 years ago

外曲率や距離がネットワークを経ることでどのように振る舞うかを実験した結果が以下の図である。

これはなかなか難しい。

まずは図とは関係ない単純な円の場合を考える。 距離が大きくなるのは円が大きくなることで、それはすなわち曲率が小さくなることに相当する。これらの効果が打ち消しあって L^G は一定値になる。

この図で表現されているのはノード数によるスケーリングを考慮したものになっている。

これらの振る舞いは deep random neural network だと全く異なるものになっていることが見て取れる。 chaos 領域では、距離は長くなるが外曲率は変化しないという結果が得られるのである。そもそも結果の見方がよくわかってないが、外曲率は θ に依存していて、中間層では θ によって外曲率の値も変わると思うがそのままプロットされている。各点での平均とかになっていたりする?実装のコードを眺めるとこれは確かに平均を取っていそうな感じだ。

この辺りをもう少しちゃんと議論するため、これらの量を iterative な表式で表す。導出は Supplementary Material にある。

ということで、chaotic (χ_1 >1) だと、 Euclidean metric は層を経るごとに指数的に増大していく。一方で外曲率に関しては、χ_1 > 1 で小さくなる第二項のみならず、χ_2 の寄与で増えるので、これによって外曲率の値が decay しないまま距離が増え、global curvature (¥bar{L}^G) も大きくなるということになっている。導出を追えばこの項はこの論文の主たる対象だった q^l に関する部分からやってくることがわかる。

この global curvature が「深さ」とともに指数的に増大していくということが重要なポイントになっている。これによって表現力が高まっていることが実験と理論的な考察から得られることになる。以降ではそれを見る。

yoheikikuta commented 5 years ago

chaotic regime での deep network と shallow network との比較が以下。

層を深くすることで表現力が高まっていること、特に右二つの画像(黄色が高い error)では高周波数領域の error は横に広くしてもダメで深さを増さないと減らせないことが示されている。

ちなみにこの辺の話は https://arxiv.org/abs/1606.05336 で詳しく議論しているとのこと。

yoheikikuta commented 5 years ago

分類の boundary に関しても同様の特徴がある。 層を深くすることで高次元空間で外曲率を最大化することを考えた時に、ある方向での最大化をしてその方向での curvature を κ_1 として、それと直行する方向で同じことをしていって、ということで principal curvature を求めていくと、それらは層が深くなるごとに指数的に大きくなるので、より複雑な分離の boundary が描けてそれゆえに表現力が高まるということである。(この principal curvature は符号ありの量)

論文にはもう少し細かく書いてあるが、イメージとしてはこんなもんで良い気がする。

yoheikikuta commented 5 years ago

ということで式が追えてないところもあるが、一通り読んだ。細かいところは今後読み返すことがあったり誰かと議論したりでカバーできたら嬉しいなぁ。

内容は相転移とかリーマン幾何とか絡むもので読んでて面白かった。 ただ、書き出しは結構 general な感じだったけど、具体的な話が基本的には特定の活性化関数だったり簡単な場合だったりするので、本当のところどれだけ広いクラスに適用できる話なのかというのはちょっとまだ掴みきれてない。