2017年夏現在までに発売されているディープラーニングの技術書だと、「ゼロから作るDeep Learning」がずば抜けて良い本だと思う

今更になって、ディープラーニングの面白さに気がついた。最初は色々理解するのに手間取り、この数ヶ月の間にディープラーニングに関連する本(技術書以外も含む)を10冊ほど読んだ。ようやく多少TensorFlowを扱えるところまでたどり着いたのだが、今振り返ってみると、表題の通り技術書の中ではO’Reillyから発売されている「ゼロから作るDeep Learning」が飛び抜けて良書だと思った。
良書だと感じた理由を先にまとめておく。

  1. 理論/仕組みが非常に丁寧に説明されている
  2. 数式ベースではなく、実際のプログラムのコードを見ながら理解できる
  3. NumPyなどの関連ライブラリの使い方まで丁寧に説明されている

この本ではタイトル通り、Pythonを使ってゼロからディープラーニングのプログラムを構築していくのだが、正直道のりは大分長い。それに、世の中にはTensorFlowやChainerなど、すでに無料で使える優秀なディープラーニング用のライブラリが溢れているので、そもそも自分でゼロから作る必要性はない。
実際にこの本のようにゼロから理解をしなくても、サンプルやチュートリアルを見ながら、他の機械学習の仕組みと同様にディープラーニングを表面的に使ってみることは可能だ。ただ、やはりディープラーニングの場合、サンプルを動かした次のステップ、例えば自分のアイデアを実現するために入出力の構造を変更したり、あるいは自分でネットワークを学習させたり、という段階に進むのがなかなか難しい。ディープラーニング/機械学習に関連する専門用語/概念の理解はもちろん、NumPyの使い方ですら、基礎的な部分を理解していないと、サンプルを読み解くことが難しい。この本ではそれらについて、本当に丁寧に説明している。
ディープラーニングの仕組みを、数学的に丁寧に説明している本や記事は他にも色々あった。ただ、この本の場合は、それをPythonで実装した場合にどうなるか、というソースコードで示してくれるため、普段数式に慣れていないような人にとっては、非常にわかりやすいはずだ。プログラマーに親切だ。
この本を一通り読んだ後で、TensorFlowやChainerを使おうとすると、非常にスムーズに理解が進むし、後でわからない箇所が出てきた時も、僕はこの本を参照し直すようにしている。
2017年現在、ディープラーニング関連の技術/ライブラリの進化のスピードは著しい。各ライブラリの使い方も日々更新されており、もはや数ヶ月前の説明の記事はそのままでは動かなくなっていたりする。そういう状況下でも、個別のライブラリに依存しない、背景にある考え方や仕組み、実装の方法などが頭に入っているかいないかでは、キャッチアップのしやすさが全然違ってくる。この本は間違いなく、その変化の中でも長く使える、骨太な情報が詰められた良書だと思う。ほんとおすすめ。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です