読者です 読者をやめる 読者になる 読者になる

kivantium活動日記

プログラムを使っていろいろやります

第11回全脳アーキテクチャ勉強会に参加した

機械学習

Twitterで回ってきて面白そうだった第11回全脳アーキテクチャ勉強会 〜Deep Learningの中身に迫る〜というイベントに参加してきました。この勉強会は、機械学習器を組み合わせることで人間並みかそれ以上の知能を持つ人工知能を作り出すことを目的としているそうで、自分の関心にも近いと思いました。

今後のために、講演の内容について調べたことを交えながらまとめておきます。よく分からないまま書いているところもあるのでツッコんでくれるとうれしいです。

内容は、ニコニコ生放送タイムシフトで見ることができるようです。live.nicovideo.jp

「深層学習の学習過程における相転移」(京都大学大学院情報学研究科 大関真之 氏)

大関真之さんは機械学習によるカンニングの検出技術の開発 — 京都大学が報道されたことで知られていますが、専門は統計物理だそうです。たくさんの粒子の運動を確率に扱う統計物理は、たくさんのデータから確率的に予測を行う機械学習と類似する点があります。そのため統計物理の手法を機械学習に活かした解析が活発に行われているそうです。そういえばボルツマンマシンで名前が出てくるボルツマンさんは思いっきり統計物理の人でした。

統計物理における相転移は水の温度を100度まで上げると急に液体から気体に状態が変わる、磁石を熱するとある温度で磁力を失う、などの状態が不連続的に変化する状況を指します。それに類似した現象が機械学習でも観察されたというのがこの講演で紹介されていました。元になる論文はStatistical-mechanical analysis of pre-training and fine tuning in deep learningのようです。

この論文中で行った実験では、単純パーセプトロンを用いて大量の高次元データを分類するタスクを解きます。この時に教師なし学習と教師あり学習の回数を変えて誤識別率の変化を調べました。以下画像を論文から引用します。

f:id:kivantium:20150826233444p:plain:w600

Fig. 1は教師あり学習の回数を揃えて教師なし学習の回数を変えた時の誤識別率を表したグラフで、色の違うプロットはデータの識別境界の大きさによる分類の難しさに対応しています。どのグラフについても教師なし学習の回数がある特定のところを越えたところで急激に向きが変わる様子が確認できます。これが相転移に相当する現象だということです。(講演ではこの図がpotts模型のグラフに似ているという紹介があった気がするのですが、該当するグラフを検索で見つけることができませんでした)

f:id:kivantium:20150826233503p:plain:w600

Fig. 2は教師なし学習の回数を揃えて教師あり学習の回数を変えた場合の誤識別率を示しています。ここでも相転移のような急激に精度がかわる様子を確認することができました。教師なし学習はモデルのポテンシャルを引き上げる働きが、教師あり学習はモデルをポテンシャルに到達させるような働きがあることが言えます。

この他には詳細釣り合い条件をうまく破ることでマルコフ連鎖モンテカルロ法が高速に行えるという論文で未発表の内容が簡単に紹介されていました。

内容をまとめると、

  • 統計物理の知見を機械学習にも活用することができる
  • 教師なし学習はモデルのポテンシャルを引き上げ、教師あり学習はモデルをポテンシャルに到達させる
  • 詳細釣り合い条件を破ることでマルコフ連鎖モンテカルロ法による最尤法が効率的にできる

というような感じでした。

以下私見です。
学習回数ごとの認識率について詳しく調べてみたことがなかったので急激に変化するポイントがあるというのは驚きでした。しかし、いつ起こるかという予測が示されていないので、「10000回学習したら精度が出なかった。でももしかしたら10001回目で精度が出るかもしれない」のような沼にハマってしまいそうな気がします。論文中では議論されているのかもしれませんが。
また、この実験では単純パーセプトロンでしたが、パーセプトロン複数組み合わせたときにどうなるかは興味のあるところです。それぞれのパーセプトロンによる相転移が別々のタイミングで起こって全体としては徐々に精度が上がっていくように見える可能性もありますし、全てのパーセプトロンが一気に相転移を起こす可能性もありそうです。
統計物理の知見を機械学習に応用するのはなかなか面白そうなので今後統計物理を学んでみたいと思います。

「Deep Neural Networksの力学的解析」(東京大学総合文化研究科 本武陽一 氏)

演者の本武陽一さんは東大の博士課程の学生だそうです。

100x100のRGB画像は1ピクセルをRGBの3次元として見ると、30000次元空間の1点として表すことができます。画像はこの空間のどこかに分布してるのですが、実際には30000次元よりもずっと低い次元の多様体にデータが集中していることがよくあります。例えば3という文字にはいろいろな書き方がありますが、どれも「真ん中で左側に1つ出っ張りのある一本の曲線」というような制約があるため、100x100の画像の中でも「3の画像」と限定されたら自由度が下がります。同様に人間の顔や犬といった特定のクラスに属する画像群には自由度に制限がかかり元の画像空間の中でも何らかの領域に集中していると考えられます。これが多様体仮説で、この話のテーマになっています。

この研究ではニューラルネットワークの各層の出力からヤコビアンを計算し、ヤコビアンの特異値が1よりも大きい場合は情報が拡大される(=重要な情報だと解釈された)、1よりも小さい場合は情報が圧縮された(=不要な情報だと解釈された)と考えて解析を行っていました。
Deep Belief NetworkやAlexNetなどのdeepなネットワークについても解析したことが先行研究に対する優位性のようです。

解析の結果、層が進むにつれて特異値が1より大きいヤコビアンの数が減っていき特徴が抽出されていくことが確認され多様体仮説を支持する一つの証拠になったという話のようでした。Fine-tuningすると1より大きい特異値ベクトルが増えたそうですが、これに対する説明はまだできていないそうです。この研究が進めば特異値をハイパーパラメータの決定の指標にできるかもしれないという展望が述べられていました。

DeepLearnigでは「層を積み重ねることで特徴が抽出されていく」という話はよく言われていますが、特徴の抽出され具合をヤコビアンの特異値という定量的な指標で評価しようとしているのは興味深いなと思いました。

「SkymindのDeep Learningへの取り組み」(Skymind社CTO Adam Gibson氏)

Skymind社が開発しているDeep LearningフレームワークのDeeplearning4jの紹介でした。"Write once, Run anywhere"というJavaのスローガンをDeep Learningにも適用するべく、同じコードがハードウェア構成などを気にせず動かせるように工夫しているとのことでした。

「なんでJavaなんだ!」とTwitterに書こうとした瞬間に、講演者から"Nobody likes Java"という発言を聞けたのが面白かったです。

全体討論

Adam Gibson氏とドワンゴAIラボ所長山川氏の討論ということでしたが、準備だけで時間がかかった上に通訳がかなりざっくりしていたのであまり僕の関心のある話は出ませんでした。

全体を通した感想

Deep Learning内部の解析を試みた研究の話を生で聞くことができたのは新鮮だっとので刺激になりました。
会の説明を見てかなりガチな研究者ばかりが来るのかと思っていたのですが、質疑応答もあまり突っ込んだ内容になっていなかったり、「Deep Learningを既にやったことのある人は?」という質問に対して手を上げた人が(少なくとも僕より前に座っている人では)片手で数えるほどしかいなかったりして少し肩透かしでした。
また、資金がないと運営できないのは分かるのですが少し企業の宣伝色が強すぎる印象を持ちました。

こういう勉強会の口頭発表だけで全体を理解するのは無理なので論文や関連文献を読んで今後も理解を深めていこうと思います。