"機械学習","信号解析","ディープラーニング"の勉強

HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学などをテーマに扱っていきます

ディープラーニングの理論的な側面についてメモ

 

 

f:id:s0sem0y:20170611022922j:plain

 

 

はじめに

若干前のものですが、qiitaで以下の記事を見つけました。

qiita.com

ディープラーニングを数学的な立場から解析している人たちの話を、論文や著書から引用しているまとめ記事(まとめのまとめ記事?)です。おそらく上記記事はほとんど引用しているだけの部分が多く、もともとその分野にほんの少しでも良いので馴染みがなければ、意味不明な内容に見えてしまうでしょう。

 

そこで、私も復習のため、ディープラーニングに関する(あるいはニューラルネットワークの変換に関する)考え方をざっくりまとめておこうと思います。

 

多様体学習

多様体学習とは

多様体学習の応用的役割

すごく簡単に言えば、多様体学習の目的は高次元のデータから本質的な低次元のデータを取り出すことです。

 

データ\bf xの次元がmであるとしましょう。これに対して多様体学習によって獲得したデータ\bf yの次元はmより小さなnとなっており、かつデータ\bf xの本質的な情報を損ねていないという状態になります。

 

すなわち多様体学習fによって、\bf xを変換し\bf yに変換した時には、余計な情報は削ぎ落とし、ベクトルの次元を削減し、その後の解析・分類における計算量や可視化の点でアドバンテージを与えます。

 

多様体学習の本質

「主成分分析」なども有効な次元削減の手段として知られています。

 

ただし主成分分析が達成できるのは、データ空間における線形部分空間を切り取ることだけです。

 

例えば3次元のデータに対しては、2次元の平面へデータを全て(まっすぐ)落とし込み、次元の削減を達成します。その2次元平面は、3次元のデータを2次元に落とし込んだ際に失われてしまう立体的な情報の総和を最小化することで決定されます(最小二乗法)。

 

多様体学習と言った場合には、3次元のデータを2次元に落としこむ際に「2次元の平面」に拘る必要はなくなります。「2次元の曲面」でもよくなるのです。

 

曲面は凹凸があるので、3次元空間でなければ表現できません。そうだとしても、曲面というのは局所的には平面と見なすことができます(地球は丸いが、地図は平面だ)。いわば3次元空間の中にグニャグニャ曲がった2次元が埋め込まれているに過ぎません(この場合は、曲がった2次元の空間を多様体と言う)。

 

多様体学習は多次元のデータがあるときに、そのデータは本質的にはもっと低次元であると仮定し、埋め込まれた低次元多様体のみを取り出します。

 

多様体学習を達成するにはデータ\bf xを非線形変換しなければなりません。それがどのような非線形変換であるかは誰にも分かりませんが、これが必要条件になってきます。線形変換ではあくまで線形部分空間しか取り出せないためです。

 

ニューラルネットワークは多様体学習か

ニューラルネットワークは多様体学習であるという仮説があります。

 

少なくとも非線形活性化関数を導入している、多層の自己符号化器(教師なし学習)は多様体学習と同様の性質を得られることが調べられています。一方で教師あり学習でファインチューニングをする際にも、若干教師なし学習には劣るが、多様体学習の性質が見られることも調べられています。

 

教師信号はたかだか有限のデータに過ぎなく、それを考慮すれば、教師あり学習は、本質的な情報ではなく、手元のデータ限りの特徴に学習が偏ってしまっていると考えることもできます(過学習)。

 

以下の論文では、教師あり学習でも多様体学習が行われていると示唆されています。

http://sacral.c.u-tokyo.ac.jp/pdf/mototake_jsai_2015.pdf

 

 

個人的見解

仮に教師あり学習も含めて多様体学習の性質を持っているとするならば、転移学習というのは非常に有効であると考えられるようになるでしょう。

 

転移学習とは、あるタスクでネットワークを学習させておいて、他の似たタスクでネットワークの途中までを使い再学習し直すことで、学習時間を短くする手法です。

 

f:id:s0sem0y:20170611003324p:plain

 

 

教師あり学習が多様体学習をしているのであれば、それは前半の層で達成されていると考えられます(最後のソフトマックス層は、特徴量を選び出して単純な分類をする機能しか持っていない)。

 

似たタスクであれば、高次元のデータに埋め込まれている低次元多様体は似ていると考えられますし、逆に言えば、多様体の構造がどうなっているのかを知りさえすれば、どの学習済のどのネットワークを使い回せば良いのかも分かるということになります。まあ、そもそもどのような多様体が埋め込まれているかわからんわけですけども、多様体という観点からそこを調べられるようになれば、逆にディープラーニングの理解も深まっていくかもしれません。

 

主成分分析と自己符号化器の関係については以下の記事でも述べてきました

 

s0sem0y.hatenablog.com

 

 

位相幾何学

位相幾何学とは

位相幾何学は多様体よりも抽象度の高い概念です。

 

多様体というのは要するに曲がった空間であって、局所的には線形空間とみなせるものでした(これは言い換えれば接空間を考えられる、つまり微分できるということ)。仮に曲がっていなければ単に線形空間です(微分もできますし、どこで微分しても取り出される接空間は同じになるだけ)。

 

この多様体から座標という概念を取り去ってしまいます。局所的に座標を立てるだとか、距離がどうだとか、曲がっているから測り方が難しいだとか、そんなことは一旦忘れてしまうのです。

 

三次元空間上に埋め込まれている地球の地表は実質は二次元の多様体でした。位相幾何学では、地球の地表も月の地表も対象としては同じです。一方でドーナツは違います。ドーナツの表面は滑らかで接空間を考えることができるのですが、どう見ても地球とは異なります。これらを厳密に取り扱っていくのが位相幾何学です。

 

位相幾何学の興味と、ニューラルネット

位相幾何学で言う「写像」とは要するに私達のよく知る関数と同じようなものだと思えばいいでしょう。変数xを変換する場合は関数と言いますし、集合(の要素)xを変換すると考えれば写像と言う表現になります。

 

位相幾何学から言わせれば、機械学習は、データ点の集まりという集合に適切な写像を行い、分離しやすい集合に変換してしまうことだと言えます。

 

簡単な写像での線形識別

以下のような二次元上のデータ集合を青と赤で線形分離する術はありません。

f:id:s0sem0y:20161208223439p:plain

しかし、何らかの変換を用いて以下のように変形できたならば、3次元空間上に2次元の平面を用いて線形分離が可能となります。

f:id:s0sem0y:20161208224506p:plain

 

 

データが複雑な位相である場合

しかし以下のようなケースはどうでしょうか。

これを線形分離できるような形へ上手く写像することはできるでしょうか。

 

f:id:s0sem0y:20170611015110p:plain

 

ニューラルネットワークの1つの層は、線形写像、並進移動、非線形写像によってデータを写像していきます。この際に、果たして上記のように絡み合ったデータを分離する写像は表現し得るのでしょうか。

 

結論を言えば出来ます。

 

ただし、このような複雑な構造をしている場合に置いては、ネットワークの深さに関わらず、多くのユニットを持つ隠れ層が必要となります。確かに現在、三次元空間上でこの輪っかを見る限り、ニューラルネットの持つ変換だけでは、上手く分離が出来なさそうです。

 

しかし、もっと高次元から眺めると、実際にはこれを解く写像が見つかります。

 

データ点を高次元に埋め込んで、線形分離ができるような都合の良い写像を獲得しているという考え方ができるのです。

 

ただし、複雑な位相を持つデータ集合から、上手く写像を見つけてこれを紐解いていくことがニューラルネットワークの学習だというならば、ニューラルネットワークに準備されたアフィン変換と非線形写像を繰り返すというのは、優れた方法ではないとも考えられています。

 

 

 

ニューラルネットが中間層で都合の良い変換を獲得しているという話は以下でも述べています。従来、この発想は非常に基本的なものでした。

s0sem0y.hatenablog.com

 


 情報幾何学

情報幾何学とは

名前はなんかいかにも使えそうな雰囲気を醸しだしておいて、実体は確率理論に対して微分幾何学を用いる数学の体系です。

 

微分幾何学というのは多様体(こいつはすべからく微分可能)に対して、一般化した微分形式を使って発展させて行った数学の体系です。こいつを、確率分布に応用してやったのが情報幾何学というわけです。

 

だいたいの始まりは以下の記事からで、確率分布(多様体)どうしの分離度を測るために色々考えて行ったら、面白い性質が見つかってきましたという流れです。 

s0sem0y.hatenablog.com

 

 

情報幾何学のニューラルネットへの応用

情報幾何学では距離(というのは正確ではないが)の測り方を上手く工夫しています。ニューラルネットが学習を停滞させるのは、鞍点(プラトー)であることが知られており(もちろん極小解にも捕まるが、それは一旦諦め)、こいつを上手く抜け出す方法として、AdamとかRMSpropなどの手法が提案されてきました(最近はSGDに戻りつつありますが)。

 

 

s0sem0y.hatenablog.com

 

 

これに対して、情報幾何学では距離を上手く評価する行列を使うことで、鞍点を素早く抜けられる勾配学習法である自然勾配法が提案されています。

 

この自然勾配法は、実は自然勾配なるものを決定論的に計算するすべがまだ見つかっていません(私の知る限りですが)。従って、「学習を進めるために勾配を計算しなければならないのですが、その際に自然勾配なるものを使いたいのだが、それもわからないので同時に推定する必要がある」という状態に陥っています。

 

甘利氏曰く、自然勾配法を求める綺麗な方法が存在して然るべきだそうです。

 

非可換幾何学

qiitaには書かれていたのですが、私は浅知恵すら持っておらず全く分かりませんでした(他も付け焼き刃だから変わらんか)。

 

積分表現理論

ニューラルネットの中では線形変換が行われており、線形変換はΣ(和)の形で表現できます。和は積分の有限の近似と見なすことができるため、逆にニューラルネットを積分の近似という観点から出発して解析を行う理論です。

 

そうすると積分(リッジレット変換)に関する様々な性質がニューラルネットの学習でも見られることが期待できます。そして、実際に隠れ層が一層である場合にこれが確認できたという資料が以下にあります。

 

ニューラルネットの積分表現理論に関するパワポ(pdf版)

http://www.airc.aist.go.jp/doc/seminar02-sonoda.pdf

 

深層学習のリッジレット解析に向けた取組みの報告書

http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/2001-04.pdf