ディープラーニングの本

プログラミングって、一つか二つ言語を知ってれば、新しい言語でも、文法だけなら何となく理解して書けちゃうものだと思います。なんて言うとプロの方に怒られそうですが、ワタシはもうアマチュアの中のアマチュアですので、コードというものはエラーさえ出さなければカタチはどうでも良いと思って書いています。

そんななので、python言語も特に書籍を買うことなくなんとなく書いてました。インターネットの世界にはいくらでも参照できるコードがあります。pythonなんて超有名な言語なら尚更です。なんとなく検索して、なんとなく「お!」となるサンプルコードを見つけて、コピペ&中身をちょいと弄る、というパターンで遊んできました。
しかし、体系的に学べないので真の理解には程遠いのでしょう。応用が効かないというか、そのものズバリなサンプルコードがないとやりたいことになかなか手が届かないのです。これは良くない。ワタシもいつか自分オリジナルなソフト作成したいのに…。やはり、ここらで基本を学び直すべきか。体系的に学ぶためには、pythonの書籍を購入すべきか。
と、思ったのが書籍探しはじめた発端。

20年近く昔ですが、結城浩さんの本でCとJavaを学んだことがあるので、pythonの本も出されてないかなあと思いましたがありませんでした。残念。
となれば、初心者向けではなくても良いかなと思いました。
順番に読み進めることはなくても、末長く使えそうなクイックリファレンス的なものでも買おうかなと思っていました。
しかし、せっかくなら新しいことを学びたいと少し色気が出まして、購入したのはなんと『ゼロから作るディープラーニング』です。

ネット上の評判は滅茶苦茶良いです。内容も、「ワタシのために書かれたのでは?」と思わせるものでした。
ポイントは、pythonを使っているのはもちろんですが、やはり“ゼロから作る”という点です。ワタシまだ最後まで読み切ってないので偉そうには言えませんが、importしているライブラリはnumpyとmatplotlibくらいです。それで少しずつ丁寧に説明しながらディープラーニングを実装しようという、なかなかスパルタな内容です。今ドキ、ディープラーニングフレームワークなんて小慣れたものがいくらでもありますが、そこをわざわざ基本のキから学ぼうという心意気が素晴らしいと思います。
ちなみにワタクシ、シグモイド関数ニューラルネットの多層化が出てきたところ(めっちゃ序盤です)で懐かしさのあまり泣きそうになりました。「大学の人工知能の講義で習ったやつやわー」て思いました。あのときは人工知能なんて下火で、名前だけはカッコよくてもあんまり人気なかったですよね。隔世の感です。

最近の本ではないですが、内容は決して流行りを追いかけるものではないので、しっかり理解したいところです。pythonの勉強にもなるし、ディープラーニングの勉強にもなるし。

あとこれ、続刊が2冊もあります。どちらもとても面白そうです。いつになるかわかりませんが、読みたいですね。