『ゼロから作る Deep Learning』を読んだ

AlphaGo が碁の元世界王者イ・セドル氏に勝利したり、 IBM のワトソンが難症例患者の正しい病名を見抜いたり、 Google 翻訳がニューラルネットワーク版に切り替わって翻訳精度が劇的に向上したりと、AI が急激に身近になった昨今。

今さらながら AI、とりわけ Deep Learning について知っておきたいと思って購入。 今年買った技術書で一番勉強になった。

Deep Learning を扱った本は雨後のタケノコのようにたくさん出版されたけど、書店でパラパラっと眺めて、難しい数式に拒否反応が出て棚に戻すものが殆どだった。高度なコンピュータサイエンスを学んでいないこの身がツライ。

その点、本書は Python のコードが中心だったので心理的障壁が低かった。 そんな本書でも数式は避けられないので当然出てくるが、計算グラフを使った解説のおかげで、自分みたいな数式アレルギーでもなんとか理解できた。

技術の仕組みについて勉強するなら、実際に作ってみるのが一番。 本書では、Python と NumPy を使って Deep Learning を実装していく。 パーセプトロンに始まり、 ニューラルネットワーク、 畳み込みニューラルネットワーク、 そして Deep Learning へと、 段階的に進んでいく。 Deep Learning が突然生まれた技術ではなく、過去から続く研究がビッグデータとマシンパワーで花開いた、というのが良くわかる。

紙面の都合なのか、後半はソースコードの省略が結構あるので、サポートサイトからソースコードをダウンロードするのは必須。

一度読み終えただけでは、とても理解できたとは言いがたいので、 何度も読み直すつもり。 それにしても、自分でもゼロから Deep Learning が作れそうに思えてくるから不思議だ。 それくらい本書が良書なわけだが。 今度は Python ではなく C# で実装しながら読んでみたいと思う。