はじめに
近年AIに大きなブレイクスルーをもたらしたディープラーニング。
技術に携わるものなら誰もが興味を持つであろうこのディープラーニング。
よし勉強するぞ!と思っていざ本を手に取ってみると、下記のタイプに二極化している傾向を感じないでしょうか?
- ややこしい数式の解析的証明が多い専門書
- 概要的な説明にとどまる入門本(あるいは単にライブラリに使い方の説明で終始している書籍)
前者では数式が難解すぎて何がなんだかわからないまま終わってしまいますし、後者ではあまりにも数式を軽視しすぎるため消化不良で終わってしまいます。
いずれの書籍だけで勉強したとしても、ディープラーニングの各種法の特性を正しく理解することは難しいでしょう。
そこで本エントリでは、初学者に対してもディープラーニングを分かりやすく解説している書籍を4冊ご紹介しようと思います。中には、前述した二極化方向に片足を突っ込みつつある書籍もありますが、ここでご紹介する4冊を読めば弱点は相互に補完されるのではないかと思います。
それでは、早速ご紹介です ^^
巣篭、Deep Learning Javaプログラミング 深層学習の理論と実装
パーセプトロン→多層ニューラルネットワーク→ディープラーニング の順に解説するのは、よくある解説本と同様と思います。
この書籍のミソは、サンプルプログラムが機械学習ライブラリを使わずに実装されている点です(応用例として掲載されている最終章を除く)。
という思想をぶった切る貴重な書籍です。サンプルをデバッグ実行をしながら解析することで、ディープラーニングの特性を正しく理解できることに価値があるのです。
さらに、ディープラーニングの基本手法である「ディープ・ビリーフ・ネットワーク (DBN)」と「スタックド・デノイジング・オートエンコーダ(SDA)」の特性の比較にきちんと踏み込んで、その違いを直観的な説明を添えて解説している点は特筆すべきものがあります。平易な言葉で説明されているので、理系学部レベルの数学リテラシーがあれば、理解は容易でしょう。
ここを押さえずに、目で見て分かりやすいCNNをライブラリで動作させて満足している例が多い中、きちんと土台を提示する姿勢に、著者の真摯さが垣間見えます。
このあとにCNNが来るので、以降もすっと理解できるでしょう。
一部数式展開に飛躍があるのは、直観的説明を重視しているためでしょう。後述の正統派テキストで埋め合わせる必要があります。
ただ、それを差し引いても、一冊目に読む本としては素晴らしく分かりやすいと思います。
斎藤、ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
こちらもパーセプトロンから順にディープラーニングに到達するのですが、その進み方が極めて丁寧です。何かこう、物語を読んでいるような感覚に浸っていたら、あれよあれよとディープラーニングまで来てしまったぞ、という読ませ方をしてくれる素敵な書籍です。著者の深い知識と構成力の賜物でしょう。
こちらも、サンプルプログラムは機械学習プログラム無しで実装されている点で秀逸です。
さらに、解説の方法にも工夫が凝らされています。特に、誤差逆伝播法の章。なぜ誤差逆伝播法をするのが良いのか、その仕組みがどうなっているのか?この本を見て初めてしっくり理解できたと思います。
注意点としては、ディープラーニングのアルゴリズムとしてCNNしか取り扱っていない点です。先の巣篭氏の書籍では、DBN, SDA, CNN の各手法をざっ比較することができますが、こちらの書籍ではCNNを深く理解していく構成を取っています。
一冊目に外観を掴むために巣篭氏の書籍を読み、それと異なるアプローチからCNNの理解を深めるために本書籍を手にとるのが、個人的には良いと思います。
こちらも非常におすすめです。
岡谷、深層学習 (機械学習プロフェッショナルシリーズ)
言わずと知れた、最初の深層学習の正統派テキストだと思います。
岡谷先生の数式展開は非常に丁寧で、理系大学院レベルのリテラシーがあればこの書籍の数式展開で頭を抱えて悩むことは無いと思います。
正統派っぽい本ほど展開が飛躍しすぎていて、いつまでたっても先に進めない(そういう読み方をする私が悪いのですが…笑)ことが多いのですが、この本は正統派でありながら数式展開も丁寧で、直観的説明も挿入されている素晴らしいテキストだと思います。
ただし、正統派ということもあり、初学者一冊目に手を取ると数式の海でやられてしまう人もいるかもしれません。だから、まずは前述した2つの書籍で直観的に特性を理解しておき、本書を手に取り詳細な数式展開を確認するという順で勉強をすると、すっと頭に入ってくると思います。
良い書籍だと思います。
麻生ら、深層学習 Deep Learning (監修:人工知能学会)
こちらも正統派ですが、各章が異なる先生によって書かれています。人工知能学会の連載を編集した構成をとっているようです。
先の岡谷先生の書籍よりも応用的な内容、より新しい研究事例が含まれている点が一番の特長です(この分野の研究は進歩が急速のようで、今となってはもう過去の研究になってしまっているのかもしれませんが…)。その一つは、岡谷先生が書かれているのですが笑。
基礎の部分は先の岡谷先生の書籍のほうが充実していますが、そこだけではカバーしきれなかった内容も盛り込まれているものと考えれば良いと思います。
本エントリの前半でご紹介した書籍で数式展開が飛躍している部分も、本書籍でカバーすることができます。岡谷先生のテキストと合わせて、内容を相互に補完しながらリファレンスするの適していると思います。
おわりに
今回は、今流行のディープラーニングの本質を、初学者でもうまく理解するための書籍と、それらを読む順番についてご紹介しました。
単にライブラリを使って、よくわからないけど認識できちゃったというのは、やはり味気ないものですし、しれで消化不良になっている技術者もたくさんいらっしゃるのではないでしょうか?
今回ご紹介した書籍をじっくり読んで咀嚼すれば、間違いなくその悩みは解消されるはずです。
ディープラーニングをより正しく理解したい!そんな思いを持っている方に、この記事少しでもご参考になれば、幸いです ^^