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

私はこの本より前に「機械学習と深層学習 ―C言語によるシミュレーション―」に目を通していたが、まったくの初心者でなければ岡谷氏の深層学習の本を先に読んで良い。

ニューラルネットを始めとした機械学習分野にそれほど馴染みがない人は、たとえ理系の情報系の学部生・院生であっても小高氏の本は一読しておく価値はある。

小高氏の本の弱点は画像処理という実例に特化してしまい汎用性がないこと、数式の導出がほぼ皆無であること。特に偏微分すら出てこない。アルゴリズムはこうなると天下り的に説明しているのが欠点だ。

またディープラーニング流行の決定要因になったDeepBeliefNetworkやDeepBoltzmannMachineの解説が一切ない。畳み込みニューラルネットと自己符号化によるパラメータ初期化についてしか述べていない。

そして小高氏の本は「機械学習と深層学習」というタイトルなのがポイントで、実は前半2/3くらいはずっと遺伝的アルゴリズムなどのニューラルネット以外の機械学習の紹介が入る。後半によってようやく古くからのニューラルネットが出てきて、深層学習に進む。

だから深層学習を知りたいという人にとっては前半部分は余計である。サポートベクターマシンという言葉すらもきいたことがないという、機械学習分野の超初心者なら読んでおく価値はあると思うが、理系情報系出身の人なら一応概要くらいは知っていると思うから、前からゆっくり読む必要はない。

だから小高氏の本は1日くらいでさっさと読了して、岡谷氏の本に進むことをおすすめする。

岡谷氏の本は最初からニューラルネットの話から入るのがいい。深層学習に入る以前のニューラルネットの限界などを数式をつかって説明してくれている。その分だけ、多変数の微分と偏微分の関係がわからない、シグマに慣れてない、条件付き確率がわからない、行列やベクトルがわからない、関数の線形性と言われてもピンと来ない、線形だとなにが嬉しいのかわからないという人は、この本を読み進めるのはきついと思う。

数学3Cまでしっかりやっていて、大学受験で理系を選択して、大学の教養過程で微積分・解析学、線形代数をやっているのは必須だ。

理系の人なら以上の条件は満たしているだろうから、別に情報系でなくても簡単に読めてしまう。特に専門課程でも数学を使う機械、航空宇宙船舶の人は有利だろう。逆に電気電子や建築、マテリアルの人はきついかもしれない。

この本のいいところはゴールが明確なところだ。この本の最後はchapter 8ボルツマンマシン156ページで終わっている。ここでDeep Belief Network、Deep Boltzmann Machineを解説している。156ページ目ではDBNとDBMの比較評価までやっている。つまりこの本のすべては、DBNとDBMにたどり着くために必要な知識の解説だ。この2つがディープラーニングが見直されたきっかけになったのだから、この2つを理解しないと深層学習を理解したことにならない。

特に最近、このDBNとDBMの2つを取り扱っていないのに、畳み込みニューラルネットを取り扱っているだけで「深層学習」や「ディープラーニング」を名乗る本が大量発生しているので注意すること。畳み込みニューラルネットは2000年以前に存在したのだから、特に真新しくもないし、さらには畳み込みニューラルネットは画像認識くらいでしか成果を出していない。画像認識、音声認識、自然言語処理以外の分野にも応用を広げたいならDBNとDBMは必須である。

だからこの本ではchapter8を理解することに全力を注げば良い。それ以外の部分は拾い読みするくらいでもいいだろう。完全スルーは良くないが、あまり途中で立ち往生してないでさっさとchapter8に行くことを目標にして読むのをおすすめする。