Hataraita.net

馬鹿なこととITと馬鹿なことと競馬と変な資格が好きです。でも馬鹿なことはもっと好きです。

書評:詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

f:id:bananawoma:20170616170148j:plain

前回書いた通り、Seq2seqチュートリアルをカスタマイズするという機会がありまして、その勉強のために何冊か参考書籍を購入したのですが、タイトルにも挙げている「詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~」が非常に参考になったので、書評というか、紹介したいと思います。

 

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

 

 

ゼロから丁寧に説明

これは表紙に書いてある通りなのですが、0から丁寧に説明してくれます。

まず、この書籍はTensorFlow・Kerasによる時系列データ処理(最終的には応用的なRNN(リカレントニューラルネットワーク)の実装までを追って学習できる本です。

こういった本の場合、(本当の入門書でなければ)基本的に、ある程度の深層学習の知識や、NN(ニューラルネットワーク)についての仕組み、またそのもととなる数学知識などは事前知識として求められる印象です。

しかしこの本の場合、まず初めの章で基礎となる数学知識を、その次に単純なニューラルネットワークモデルを、その後、畳み込みニューラルネットワークを学んだあとに、リカレントニューラルネットワーク、さらにその応用と順を追って学んでいくことができます。

時系列データの処理については、主にリカレントニューラルネットワークが使われることが多いと思いますが(最近では畳み込みニューラルネットワークでリカレントニューラルネットワークよりも高い精度のものがあるというニュースを何かで読みましたが)正直、いきなり手を付けるにはとてもハードルの高いものでした。

 

そういう意味でこの本は、NNの概要をほんのちょっとかじっただけの私、頭がこんがらがっていたところに、やってきた天の助けみたいな本でした。

 

Tensorflow、およびKerasのサンプルコードが豊富

また、この本にはTensorflowおよびKerasのサンプルコードが豊富に載っています。ふつうこういう本の場合、理論に終始している、もしくはTensorFlowならTensorFlow、ChainerならChainer、Torch(Lua)ならTorch(Lua)など単一のライブラリについて記載されていることが多いのですが、この本の場合、人気のライブラリであるTensorFlowとそのラッパーライブラリである(Theanoのラッパーライブラリでもあります)Kerasのコードが載っているので、理解のスピードが1.3倍ぐらい(体感)で感じられます。

またこの組み合わせがいいのは、TensorFlowがちょっといろいろめんどくさいライブラリであるのに対して、Kerasはそのめんどくさいところを排除したライブラリなので、簡単なモデルを試すならKeras、ちょっと深く理解したいならTensorFlowと分けてみることができるところです。

やっぱり専門家でもない限り理論をいろいろ勉強するよりコードを見たほうが早いじゃないですか(偏見)

そういう意味でも二つのライブラリの例が載っているこの本は私にとってはマーベラスな本だと感じました。

 

時系列データ処理の入門書にいいですよ

正直時系列データ処理ってよくわからなかったんですが、順を追ってみていくとどのようなものかわかった気がしています。

もしかすると初学者以外には物足りない内容かもしれません。

しかし初学者については、順を追って学習できる点。複数のライブラリでの実装を確認できる点の2店でこの本は非常におすすめだと思います。

Kerasは使ったことないですが、複雑なものでなければTensorFlowより使いやすそうだなという感想を持ったので、時系列データ未経験かつ興味のある方、誰か私の代わりにこの本を使ってKerasで時系列データ処理をしてみてくれませんでしょうか。