株式会社Preferred Networks(PFN)の大野(@delta2323_)です。
私は仕事で機械学習・深層学習の研究開発を行っており、例えば深層学習フレームワークのChainerの開発に携わっています。大学では数学を専攻しており、微分幾何学、特に共形幾何学を勉強していました。
今回はそのような立場から、サイエンスアゴラで数学カフェの皆様が行った展示について、実際に展示を見に行った立場から感想を書きました。また、それに関連する(かもしれない)機械学習に現れる高次元データとその扱いに関する雑談を書かせていただこうと思います。
#経緯
今回のサイエンスアゴラでの出展は、数学カフェの「圏論2」の会(と、その数日前に行われた有志の予習会)で数学カフェの中の人に聞いたのがきっかけで知りました。私自身、幾何学を勉強している中で高次元の曲面をどうにかして絵で書いて直感的に定理などを理解しようとして苦労した経験があったので、高次元の曲面をどのように表現するのかに興味を持ちました。企画・開発などにも参加できれば良かったのですが、都合があわずご協力することができなかったため、せめてもの貢献と思い参加者として見に行かせてもらいました。
余談ですが、大学で一緒に授業を受けていたmiurrorさんがメインの一人として開発しているという事を後で知り、世間の狭さを感じました。
当日の展示について
当日実際に拝見して、非常に考えて展示が作られていると感じました(非常に上から目線な言い方で申し訳ありません)。
高次元を曲面を可視化する方法なので、4次元を低次元(2次元・3次元)に射影するのかなというところまでは予想していたのですが4次元方向に微妙にずらした2つのオブジェクトを用意し、視差を用いた「立体視」を行うというところまでは想像がつきませんでした。展示員の方が「4次元の視差を認識する人が現れないか」と話していましたが、残念ながら自分は4次元が浮かび上がることはできませんでした(笑)。
最初は全くどういう動きをするか想像がつかないのですが、コントローラーで操作していると、だんだんどう動かせばどう変形するかがなんとなく想像できるように面白かったです。時々「表」と「裏」が裏返るように見える動きをしたのは個人的には興味深かったです。
今回VRで利用されていたオキュラスリフトは13歳未満の人に使用することはできないので、13歳未満の人には代わりとなる展示物がタブレットで用意されていました。今回のような展示に興味を持つ小学生の人は多いだろうと思いますし、実際サイエンスアゴラには小学生以下の人がたくさん来ていましたので、このような配慮がされていたのは素晴らしいと思いました。
ポスターでは、今回の展示の技術的解説や数学者が高次元データを扱う手法の例としてモース理論の解説などがなされていました。特に驚いた点は、大げさな言い方かもしれませんが、今回の展示を「理論解析」していた点です。今回の立体視にはカメラ画像の解析などでも使われている射影変換が使われています。通常のカメラでは3次元の物体を2次元に射影するのに対し、今回の物体は次元を1つ増やして、4次元を3次元に写す「4次元カメラ」が必要になります。その「4次元カメラ」に必要な(内部・外部)パラメータの数などが考察されていました。
1点残念だったのが、自分がかけていた眼鏡が大きすぎてオキュラスリフトに入らず、眼鏡を外さなければならなかった点です。もっとも、これは展示というよりはヘッドマウントディスプレイ一般の問題なので、展示内容の問題というわけではありません。画面が少しぼやけてしまい、VRを100%で体験できなかったのが惜しかったです。もっと小さい眼鏡を用意してくればよかったです。
機械学習での高次元データ
ここからは少し展示内容から外れて、機械学習での高次元データについての雑談を書いていこうと思います。機械学習はデータの中から傾向や法則性を見つけ出し、それら活用して機械に何か賢いことをさせようという技術分野の1つです。
機械学習でデータを扱う際に問題になることの一つとして、データの高次元性があります。例えば画像の分析を考えた場合、画像認識でよく使われているImageNetというデータセットは、RGB画像が約1400万枚からなるデータセットです。画像の一部(例えば224x224など)をクロッピングして、ニューラルネットなどのモデルに与えることが多く、モデルへの入力次元は数千から数万次元になるのは珍しくありません。
データの分布をどのように分布しているかを解析することは機械学習の興味の1つである、様々な方法でデータの傾向を捉える手法が開発されています。その中の1つがデータを適切な低次元空間に射影するというものです。低次元に射影するのは、可視化が目的な場合もありますし、データに含まれる「ノイズ」を取り除くのが目的な場合もあります(後者の場合、射影する空間は必ずしも2, 3次元とは限りません)。
例えば可視化が目的ならば、主成分分析(PCA)やt-SNEなどの手法が知られています。また、深層学習で利用されるニューラルネットワークの一つにオートエンコーダーと呼ばれるものがあり、それを利用して入力を低次元に落とす方法もあります。
このような低次元射影を行う根拠として、多様体仮説と呼ばれる作業仮説があります。データは高次元の空間内の1点として捉えられるので、データの分布を知るアプローチとして、データ乗っている曲面の性質を調べる方法が考えられます。このようなデータの乗る曲面はデータ多様体などと呼ばれます。多様体と言っていますが、数学での厳密な意味での多様体というよりは、高次元の超曲面くらいの意味で使っているように思います。
自然画像のようなデータセットの場合、データ多様体の次元はそれが埋め込まれている空間の次元に比べてかなり小さいだろうというのが多様体仮説です。前述の主成分積やオートエンコーダーによる低次元射影は、データ多様体をうまく近似する超平面や超曲面を見つけ出すことに相当します。
今は数万次元もの空間を人間は「見る」ことが出来ないので、多様体作業仮説として利用することが多いと思います。今回のサイエンスアゴラの展示は4次元の立体の可視化にフォーカスしましたが、今後手法が開発され、データ多様体を人間が認識する手法が開発されたら面白いと思いました。
まとめ
今回は、お客として参加した立場から、数学カフェのサイエンスアゴラでの出展物の紹介とその感想をまとめさせていただきました。また、筆者の携わっている機械学習の分野で、データの高次元性に関連する話題をご紹介しました。自分は数学を専攻し、現在は機械学習に携わっている人間ですが、そのようなバックグラウンドを持つ自分にとって、今回の展示は非常に興味深いものでした。