本書は代表的な画像認識モデルである畳み込みニューラルネットワーク(Convolutional Neural Network: CNN)を用いて手書き文字認識モデルをTensor Flowで実装/学習することを目標とした解説書です。
Deep Learningの理論やプログラミング言語(Python)、環境構築の話は必要最小限にとどめつつ
- 線形回帰
- ロジスティック回帰
- ニューラルネットワーク(NN)による多項分類
- 単層NNによる手書き文字認識
- 多層NNによる手書き文字認識
- 単層CNNによるによる手書き文字認識
- 多層CNNによるによる手書き文字認識
と段階的にモデルを高度化していきます。説明も丁寧ですしサンプルコードを実際に動かしながら画像認識モデルを構築する流れを理解できます。
特にニューラルネットワークを定式化しTensor Flowのデータグラフとして定義、実行し、その結果を可視化するのをハンズオン形式で学ぶことができチュートリアルだけだと「なんとなく」しか理解できなかったのが、手を動かすことでより深く理解できるようになると思います。
他にもTensorBoardでの結果の確認やモデルの保存/読み込みなどDeep Learningに必要な作業が一通りカバーされており
- プログラミング経験がある
- プログラムを書いて動かすことでDeep Learningを理解したい
人には良書だと思います。
一方で進化が速い分野なので仕方ないですが
- サンプルコードがPython2系と古い
- Tensor Flow 0.9を前提に書かれており最新のTensor Flowでは修正が必要
- Pandasの使い方が古い
ことや理論や環境構築は前述の通り必要最小限に絞られているので
- 環境は構築済みのdockerを使う前提でほとんど解説なし
- Tensor FlowはCPU版でGPU版については解説なし
- 理論についても最急降下法と末尾に誤差逆伝播法がある程度
なので割り切って読む必要がありますが、いずれもネットを検索すれば情報は見つかるのでそこまで気にする必要はないと思います。