人工知能伝習所

〜 AI x Big Data x IoTなトピックを、非エンジニアにも分かりやすくお届け 〜

岡谷貴之著「深層学習」の理解を助ける補助資料(第1章〜第4章)

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

本ブログでもキーワードとしてたびたび出てきている「ディープラーニング(深層学習)」ですが、実体は多層のニューラルネットワークを用いた機械学習の一手法です。音声、画像、自然言語処理の各種分野で、他の手法を圧倒する高い性能を示すことが分かり、非常に高い注目を集めています。本書(青イルカ本)は、めまぐるしく変わる深層学習の研究の中でも、最新手法や応用事例ではなく、基本的な事項をなるべく広くおさえつつ、コンパクトなページ数(165ページ)にまとめられています。


今日は、第1章〜第4章を理解する上で助けとなる動画やスライドなどの補助資料を集めてみました。これから本書を読んでみようと思っている方にご活用いただければと思います。

第1章 はじめに

ニューラルネットワーク研究の歴史のおさらいしつつ、冬の時代を経ながらも、水面下で多層ネットワーク研究がどのようにブレークスルーしていったかの経緯が解説されています。ここでいくつかの重要なニューラルネットワークについてキーワードが言及され、2章以降で順次説明していく、といった構成をとっています。


ニューラルネットワーク研究の歴史を年表的に追うなら、下記の「ニューラルネットワーク・深層学習研究の歴史」が参考になるでしょう。
http://jsai-deeplearning.github.io/support/nnhistory.pdf


ニューラルネットワークの各流派というか、体系としての発展を追うなら、下記PDFの2ページ目が参考になると思います。
http://jsai-deeplearning.github.io/support/20151031-index.pdf


本書の著者の岡谷先生自身による研究動向紹介の資料も、ビジュアルが豊富で分かりやすいです。
http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf



第2章 順伝播型ネットワーク

ニューラルネットワークの最も基礎的かつ、最もよく使われている形態が順伝播型ネットワークです。ネットワークを構成するユニットがどのような関数で表現されるのかが説明されています。また、それを使った学習の枠組みと誤差の考え方、回帰や分類などの問題の解き方の枠組みが説明されています。


ニューラルネットワークの基礎の解説はいろいろありますが、ディープラーニングとの関係を解説した資料として、2015年秋の「データサイエンス基礎講座」の資料が参考になると思います。
http://www.impressbm.co.jp/event/datascientist2016spring/images/2015autumn_pdf5.pdf


動画で見るなら、Udacityの下記シリーズが日本語字幕もついていて、長さも手頃なのでオススメです。(手書きの字が汚いけど・・・)
www.youtube.com
www.youtube.com




第3章 確率的勾配降下法

順伝播型ネットワークの教師あり学習の方法の定番手法の一つ、確率的勾配降下法についての説明です。誤差を最小化するためのネットワークの重みをどのように決定するかについて、誤差関数を微分して勾配を求め、勾配を下へ下へとくだっていくように重みを少しずつ変化させる方法です。


実際に「誤差関数をくだっていく感じ」をつかむなら、下記のURLが参考になります。
qiita.com


東大・中川先生の「最適化と学習アルゴリズム」は、様々な勾配降下法についてまとめられているので参考になります。
http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/SML1/opt-algorithm1.pdf


動画で見るなら、再びUdacityのコンテンツは日本語字幕もあります。ちょっとごちゃごちゃした感はありますが・・・。
www.youtube.com



第4章 誤差逆伝播

確率的勾配降下法で必要になる誤差関数の微分は、入力層に近いユニットほど計算が大変になります。それを解決するのが誤差逆伝播法です。ある層の誤差を前の層へ順番に伝えていく、という計算方法になります。また、多層ネットワークでは入力層に近づくほど勾配がなくなって、学習がうまく進まなくなる「勾配消失問題」について触れられています。


アルゴリズムの説明として、一番シンプルですっきりしているのは下記だと思います。
バックプロパゲーション - 機械学習の「朱鷺の杜Wiki」


式を順にたどっていくなら下記が参考になります。
ニューラルネットワークの誤差逆伝搬式(バックプロパゲーション) | 人工知能コンサルタント


手計算で地道に追って行くなら、法政大学・黄先生の「誤差逆伝播法」がオススメです。
https://cis.k.hosei.ac.jp/~rhuang/Miccl/ProjectA/L10-2016.pdf


動画で見るなら下記がオススメです。回帰や分類ではないですが、0〜7までの数字を2進数でカウントするニューラルネットワークを、バックプロパゲーションで学習させる過程を例に説明しています。日本語字幕はないですが、数式を使わず直感的に説明してくれているので、英語の解説でもついていきやすいと思います。
www.youtube.com


4.5節の勾配消失問題を直感的に理解するには、下記がオススメです。
hirotaka-hachiya.hatenablog.com
akimacho.hatenablog.com


勾配消失問題を、式も含めて追いかけたいなら、下記がオススメです。
qiita.com


勾配消失問題について説明した動画としては、下記がオススメです。画像認識を例に、勾配が消失するとどんな問題があるかを直感的に解説してくれています。
www.youtube.com


以上、4章までの補助資料のご紹介でした。先は長いなあ。