結論
今回紹介するのは以下の書籍
TensorFlow機械学習クックブック Pythonベースの活用レシピ60+ (impress top gear)
- 作者: Nick McClure,株式会社クイープ
- 出版社/メーカー: インプレス
- 発売日: 2017/08/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
この本はTensorFlowの使い方について具体的なコードを見て学びたい人が買うものです。
それ以外の用途についてはおすすめしません。
恐らくこの本の購入を迷っている人にとって一番重要な情報は、この本が自分にとって役に立つか否かです。したがってその点について少し掘り下げていきます。
TensorFlowの使い方を学びたい人とは
ではTensorFlowの使い方を学びたい人とはどのような人でしょうか。
ポイントは以下の2つであり
・TensorFlowによって低水準なコードを書きたい、あるいは書く必要がある
(対するのは、Kerasでなるべく簡単に書きたい)
・ディープラーニングに限らず、数値計算ライブラリとしてTensorFlowを利用したい
(対するのは、ディープラーニングに特化して学びたい)
ということに集約されると思います。
この本の大きなポイントとしては、かなり低水準なAPIを利用して様々な手法を実装している点にあります。そしてそのようなコードが(少なくとも私が所持している本の中では最も)豊富です。したがって、どのような処理をしたい時にどのようなコードを書けば良いのか、かなりの知識が得られるように思います。
また、扱っている内容がディープラーニングだけでなく、線形回帰やSVM、K近傍法など、従来の機械学習も含まれており「数値計算ライブラリとしてのTensorFlow」を解説している印象です。もちろん、TensorFlowにおける主たる運用はディープラーニングにあるのでしょうが、様々な計算処理をTensorFlowによって一貫して行えることを体感できるはずです(要は、Google独自のNumpyだとかMATLABみたいなもの)。
TensorFlowを詳しく学ぶ必要のない人
まず以下の2つに該当する場合、
・ディープラーニングの既存手法を試したい
・学習済のモデルを使って何かを予測させたい
これを達成する最短の手順はKerasが提供してくれます。
KerasはTensorFlowの存在を隠して(隠蔽という)、簡単にコードを書くことができます。もちろんバックエンドでTensorFlowを使う限り、ある程度知識があるに越したことはないでしょうが、必要に応じて逐次調べるという形でも十分だと思われます。
つまり、TensorFlowを詳しく学ぶ必要性は、この段階ではほとんど無いのです。
(この本にはKerasに関する記述は一切ありません)。
判断が難しいのは
・モデルは自分で設計するつもり
という方です。
仮にモデルを自分で構築して学習をさせたい場合でも、TensorFlowには高水準APIが既に豊富に存在します(もちろんKerasもそう)。なぜなら論文で提案された手法というのは世界中に試したい人が沢山居るため、参加者の多いオープンソースであるTensorFlowには、比較的早く実装が追加されるためです。
本書に書かれているような低水準なコードをガリガリ書いていかなくとも、大抵の場合は事足ります。
それらの手法を組み合わせてモデルや学習を書くという場合に、更にオリジナル要素を追加したり、あるいはコードからその手法の計算処理を理解したいという場合にはTensorFlowに詳しい必要が出てくるでしょう。
最後に
専門書はそれなりの価格ですのでポンポン買うことはできません。一番いいのは書店で自分の目で確かめることです。とはいっても、中々時間を取ることが出来ないと思われるので、是非いろいろな情報を見て吟味してください。