ゼロから作るディープラーニング

ディープラーニングで画像分類やってるグループが近くにいます。今まで人間がやってた作業をコンピュータに置き換えようという試みです。ディープラーニングって、いわゆる官能評価に適用するのがまずはとっつきやすいみたいです。 人間の認知システムを模しただけあって、なかなかの精度で分類されます。ただし間違うことも当然あります。間違った時はどうするかというと、モデルを作り直します。モデルを作り直すというのはどういうことかと言うと、間違った画像を使って学習を重ねるのです。ここのところが今までと違っていて、間違った画像が何故間違えたのか検証しない、というかすることができない、というか、できないわけではないけど現実的ではありません。そうなると、y=f(x)のfの部分がもう完全にブラックボックスみたいなものなのですね。
ワタクシこのブラックボックスになかなか慣れることができなくて、どうもイマイチ、ディープラーニングとか機械学習とか、好きになれない自分がいるのです。モデルをいじってるのにモデルの中身が分からないってどういうことよ、と思うわけです。
ディープラーニングをツールとして使う分には、そういうものだと割り切ればいいのですが、それもなんだかシャクですね。ならばせめて、ディープラーニング自体の仕組みくらいはしっかり理解しておこうではないか。ブラックボックスなのはしょうがないとしても、ブラックボックスである理由は押さえておきたいではないか。

というわけで、『ゼロから作るDeep Learning Pythonで学ぶディープラーニングの理論と実装』はかなり良い本でした。「ゼロから作る」というのが良いですね。「理論を勉強して実装してみる」という流れで言うと、理論を勉強する機会は無いこともないのですが、いざ実装するのはなかなかハードル高いものです。ワタシのようにpython初心者とかなるとなおさらです。この本は、その実装の部分もかなり丁寧に解説してくれています。なので実装のところでつまずきにくく、まさに経験しながら理解を深めることができますね。なんでもそうですが、自らの経験に勝る近道はないと思います。
また、内容はディープラーニングですが、流行を追いかけるというより基礎をしっかり学ばせてくれるので、ディープラーニングに関係することでもしないことでも、さまざまな気付きを得ることが出来ました。
とはいえ、ゆっくりだった割には、結構コード書くの端折りながらサボりながら読んでしまったので、実装の部分はもうちょっと頑張ってみようかなと思います。
このシリーズはあと2冊刊行されてるのですね。自然言語処理フレームワークの実装ですって。これまた興味をそそられますね。いつか読みたいですねえ。