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

勉強会で春から読んでいたが、やはり他の人の発表を聞くだけではなかなか分からない所も多く、もう一度読み直して先日読了。
全体の感想としては、和語で読める数少ない成書の一つであること、ニューラルネットの知識も含めて、ほとんど予備知識無し(大学1年程度の微積分と線形代数は必要と思うが)で読める、ということもあって、現時点での入門には良い本と感じた。
ただし、本としてはかなり課題も多いと感じ、手放しで褒める訳にはいかないというのが率直な印象。具体的には以下の二点に不満を感じた。

(1)情報の集積に留まり、本としての深みがない
この本、全8章のうち、前半4章がニューラルネットとその課題(逆伝搬法と勾配消失問題まで)となっており、後半がDeep Learningに重要な概念である自己符号化器(5章)やボルツマンマシン(8章)を解説、そしてニューラルネットの発展版とも言えるCNN(6章)やRNN(7章)を解説し、最近のこれらの分野の進展を述べるという構成になっている。
前半の(既に情報がかなりある)ニューラルネットの解説こそ明快なのだが、後半では(筆者の専門に近いと思しき6章を除いて)情報を紹介している、という段階に留まり、「何が本質的に重要なのか」、と言った点に関しての整理や、筆者としての考え方の打ち出しが乏しいという印象を受ける。少なくとも、5章、8章に関しては、「なぜこれらのアイディアだとうまくいくのか」という最も基本的な質問への答えはほぼなく、事実の列挙に等しいため不満が残る。もう少し深い内容への言及が欲しかった。
また、少なくとも、(自分が他の所よりも時間をかけて、かつ一部の参照元原論文まで遡って読んだ)7章については、LSTMやコネクショニスト時系列分類法について、原論文・他の文献の説明を上回っていない(むしろ説明を端折ったせいで分かりづらくなっている)と感じる。紙幅の問題もあるのだろうが、これではレビューとしてむしろ品質がダウンしていると言わざるをえないのでないだろうか。
文句を言うばかりだとあれなので、有用と思えた文献を備忘も兼ねて書いておくと、LSTMに関しては(この教科書の本文+αのことについて)以下のサイトがきわめて簡潔にまとまっている。
http://qiita.com/t_Signull/items/21b82be280b46f467d1b
また、コネクショニスト時系列分類法に関しては、本文でも参考文献にされているGravesの博士論文が比較的分かりやすいと感じた。
https://www.cs.toronto.edu/~graves/preprint.pdf
単純なRNNの課題について、コードも含めて例を示してあるのが以下。分かりやすい。
http://peterroelants.github.io/posts/rnn_implementation_part01/


(2)本としての構成やnotationへの配慮が乏しい
上は、本質的な中身としての問題だったが、本として見た時にも(話題的に生ものだから慌てて出したのかもしれないが)練りが足りないと感じる。
まず重大な点として、この本計算を行う上での「ノウハウ」的な所も結構書いているのだが、それらと本質的に重要と思しき所をごちゃ混ぜにして書く(一例としては、3.6節。「重みの初期化」は以降のDeep Learningの隆盛に繋がる本質的に重要なところなのでは?それをサンプル順序とか、学習係数の選び方とかと混ぜて書くものなのか、違和感を覚える)ため、全体の見通しが悪い。この辺りも、「アイディアの本筋」と、「実際のテクニック」をきちんと分離して構成としても見て取れる形で打ち出してほしいと感じる。
また、(こちらはより一般的な問題で、この本を取りざたして叩くべきでないかもしれないが)notationに無頓着。添字の区別が文字の種類だけなのはまだしも、たとえば6章で畳み込みの基点をどこにとるか(83頁)を2頁後のパディングの説明で変えていたりするように見える(読み間違いでなければ)が、こういうのは一貫してほしいと感じる。

という訳で、貴重な文献でありながら、なかなか課題も多い本というのが現状の認識。他の本で、この本で得られなかった知識を相補的に得られればよいのだが…

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

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