松尾研Deep Learning基礎講座 紹介

#AI#MachineLearning#Python

Deep Learning界隈で有名な東大の松尾豊先生が講座の演習内容を公開しました。 受けたかったのに定員漏れした授業なので、嬉しいです。 https://twitter.com/ymatsuo/status/955959211258621952

松尾豊とは

一言で言えば人工知能の専門家です。

松尾 豊 (まつお ゆたか、1975年[1] - )は、日本の工学者。東京大学大学院工学系研究科総合研究機構、知の構造化センター、技術経営戦略学専攻の特任准教授[2]。香川県坂出市出身。専門分野は、人工知能、ウェブ工学、ソーシャルメディア分析。

引用: 松尾豊 - Wikipedia

  僕が松尾先生を知ったきっかけは以下の書籍です。 ちょうどディープラーニングが盛り上がってた頃でしょうか、国際ロボット展を見に行って学習する機械を見て「これやりたい」と思い、人工知能の入門書として本屋で平積みされていたのを購入しました。 イブの時間のイラストが帯に描かれていたのを覚えています。

人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書)


完全に余談ですが、イブの時間について。 人とアンドロイドの付き合い方や作られた心とその自我について、複数の人物のドラマを追う群像劇です。SF好きだけでなくヒューマンドラマ好きにもオススメできる素晴らしい映画です。めっちゃ泣きました。

イヴの時間 劇場版

プライム会員だからタダで観られる!今度見直そう! 吉浦監督の別作品、「サカサマのパテマ」もオススメです。 こちらは爽やかなボーイミーツガール要素に加え、世界観が面白く、真相が明らかになるシーンは鳥肌ものでした。


  話を松尾先生に戻します。 個人的に、松尾先生は人工知能とビジネスの結びつけという文脈でよく話に登場する印象です。 機械学習ではなく人工知能という表現を積極的に使っている点もビジネス的な戦略なのかなと思います。 とにかくいろんな企業と連携していて、日本の大学の研究室にしては珍しくかなり儲かっているとのことです。   機械学習のすごーい細かいところに特化した研究者、というよりはもっと大きい枠組みで機械学習という技術を使って実社会をどう改善するかってテーマを持った人なのかなという風に僕は見ています。

松尾チルドレン

卒業生の中には起業する人も少なくありません。 昨年上場し時価総額が話題になったPKSHA Technologyや、ニュースアプリのGunosy、クラウドファンディングサイトのREADYFORなどが松尾研出身者によって作られました。 錚錚たるメンツですね。   学科内での研究室配属や外部からの院進でも人気です。 今年の研究室配属希望調査では定員3名に対して8名が希望を出して一番人気となっています。   各種講座を開いており、毎回定員を大きく上回る大盛況です。 僕も応募を出したものの、受けられなかった講座があります。 https://twitter.com/ymatsuo/status/951296179433701376   今回はそんな講座の一部を公開してくれるというありがたいお話です。

講座内容

前置きが長くなりましたが、講座内容を確認してみます。 以下のリンクからweblab_dlb.7zというファイルをダウンロードします。 Deep Learning基礎講座演習コンテンツ 公開ページ | 東京大学松尾研究室 - Matsuo Lab   展開します。Jupyter Notebook形式ですね。 別の松尾研の講義でJupyter Notebookを使いながら講義を受けましたがとても快適でした。 工学部情報系で紙のレジュメを配る前時代的な教員は100万回見習ってほしい。   第2~11回の演習課題みたいです。ざっと内容は、以下の通りです。 参考になりそうな書籍やリンクを併記します。

  • 第2回: numpy, scipy, scikit-learnの利用(「詳解…」第2章、「ゼロから…」1章)
  • 第3回: k-NNを使った手書き文字認識(kNNによる手書き文字の分類 - KDOG Notebook
  • 第4回: ロジスティック回帰、活性化関数、多層パーセプトロン(「詳解…」第3章、「ゼロから…」2~3章)
  • 第5回: Tensorflowの基本(「詳解…」第4章)
  • 第6回: Denoising Autoencoderの実装
  • 第7回: Convolutional Neural Networksの実装(「ゼロから…」7章)
  • 第8回: CIFAR-10をデータとしてConvolutional Neural Networksの実装(「ゼロから…」7章)
  • 第9回: Recurrent Neural Networkの実装(「詳解…」第5章)
  • 第10回: Recurrent Neural Networkで翻訳
  • 第11回: 機械翻訳モデル、キャプション生成モデルの実装

  演習課題ということもあって懇切丁寧に解説があるわけではないので、Deep Learning初学でこれを学ぶのは骨が折れるかなと思いました。 ただ、コードだけの羅列ではなくちゃんと教材として説明がコメントされているので、逆に少しは心得がある人ならテンポ良く進められるかなと。   「詳解 ディープラーニング」や「ゼロから作るDeep Learning」に近い内容です。 これらの書籍を読みながら、対応する章を見直すと勉強効果がありそうです。

詳解 ディープラーニング TensorFlow・Kerasによる時系列データ処理


ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  あとはCouseraで無料公開されているMITのAndrew先生のMachine Learning動画講座と併用するのも良いかもしれません。 こちらの動画講座ではOctaveを使っていたのでより汎用的なPythonでの書き方が勉強できる利点がありますね。

(途中までしかやっていないので完遂しないと。。。)   コードにはTensorflowと一部Kerasを使っています。「ゼロから~」ほど基礎の基礎からというわけではなく、ある程度簡素に扱っている感じですね。   個人的には、RNNはまだ手付かずだったので前半をガーッと振り返りながらRNN使った翻訳のあたりを勉強したいなという所感です。