[機械学習] 勾配を求め続ける超高次元空間の旅, NeurIPS, 2018

A8バナー広告

勾配探索の様子ってイメージがつくでしょうか?
ぼくは、2次元平面での勾配探索が最初に頭に浮かびます。(3次元空間はぼくの脳に難しい)

Deep Neural Networkはもっと高次元で勾配探索をやってのけているんですね。もし・・・そんな探索の様子を観察できたとしたら。素敵だと思いませんか?

この記事では、超高次元空間でマルチタスク学習の勾配探索の様子を可視化する研究を紹介します。

では、まずは見てみましょう!じゃん!

https://izmailovpavel.github.io/curves_blogpost/

以下、この記事の内容は以下のブログポストの要約です。

また、ブログポストの記事は 2018に採択されたに対するデモです。

Loss Surfaces, Mode Connectivity, and Fast Ensembling of DNNs, Timur Garipov+, 2018, NeurIPS

そして、ビデオも公開されてます。見た目だけでも、ものすごく美しいです。

Mode connectivityを探せ!

以前、こんな記事を書きました。マルチタスク学習での勾配探索の難しさの話です。

マルチタスクでの勾配学習では、Mode connectivityというのが肝になるそうです。Mode connectivityとは、要するに「勾配空間の溝」と思えばいいです。

まずは下の図を見てみましょう。

3つのネットワークを独立して学習した場合。赤い領域がそれぞれのネットワークの

左の状態をMode connectivityの概念に発展させた図。3つの独立ネットワークの最適化解領域をつなぎあわせた「溝」です。

Mode connectivity(溝)に落ちてしまえば、溝をなぞっていくだけでマルチタスクの最適解を発見できるよ。という話です。

勾配空間を眺めてみよう(可視化)

Mode connectivityを発見するアルゴリズムの話は一旦、脇に置いておきましょう。本題は、勾配探索空間の可視化です。

可視化?低次元写像ではダメなの?

そもそも、勾配探索空間というのは超高次元空間です。重みの数だけ次元がある空間ですから。

ブログポストでは、ResNet-164やCIFAR-100データセットでの重みの話をしています。ぼくは画像分野の人間ではないので、次元数を知りませんが・・・100万の桁は超えているのではないでしょうか?

高次元空間の可視化とえば、t-SNEが標準かと思います。ブログポストもt-SNEを言及しています。

しかし、考えてみましょう。t-SNEはあくまで分布の近似にすぎません。空間が超高次元になればなるほど、細かい勾配の風景は近似されるものです。つまり、本来の空間ではギザギザな勾配だったのに、写像後に丸まって近似された勾配になってしまいます。

ぼくたちが知りたいのは、「だいたいの勾配風景」ではなくて「できるだけ正確な勾配風景」なのです。さて、どうしたものでしょう?

ひたすら近似をする可視化

t-SNEを超高次元の勾配探索に使うことの問題はわかりました。

じゃあ、どうするか?ブログポストはきわめてシンプルな写像方法を紹介します。次の2ステップです。

  1. 元の空間を細かいメッシュに区切って、メッシュごとに2次元座標に変換。
  2. 元の空間のメッシュ内で勾配探索を実行。メッシュ内の探索結果を2次元空間で表現。

そうです。アイディアは「一気に低次元への写像」を諦めることから始まります。その代わり、高次元での探索結果を地道に2次元空間で表現していきます。

下の図はある1メッシュを2次元で表現した状態です。勾配探索アルゴリズムは、元の空間でこのメッシュ内部を探索していました。その結果、発見した場所を2次元座標で表現します。

シンプルな手法ですね!さて、ブログポストにはさらっととんでもないことが書いてあります。

Even with the smaller dataset, the process for the video took over two weeks using 15 GPUs. Creating the high-resolution static visualizations in Figures 4, 5, 6 took about two days using three GPUs.

メッシュごとに勾配探索をしているわけですから、、、確かに計算量はものすごい必要ですよね。理解できることです。に。。。しても15GPUを2週間とは。ぼくはそんな計算機環境を持ったことがないので、コストを想像もできないです。

この計算量を知った上で、このビデオ(冒頭と同じ)を見ると、感慨深いものがあるかもしれません。

おわりに

超高次元の勾配空間の旅はいかがだったでしょうか?
ぼくは、高次元空間の様子をこんなにも美しく見たのは初めてです。予想以上に、局値最適になりそうなところがたくさんあって驚きました。

最適化アルゴリズムって、ものすごいことをやっているんだな、と尊敬の念を感じます。
人間の人生における最適解への勾配も、こうやって可視化できると人生の難しさを知ることができるかな〜と哲学しました。