最近のIT業界におけるブームの一つといえばディープラーニングですね。もはや研究の域を超えて、実際にディープラーニングを活用したサービスも続々と生まれてきています。
私自身、直接そういう仕事をしているわけではありませんが、ソフトウェアエンジニアを名乗る以上は機械学習について多少の知識は必要かなと思い、勉強してみることにしました。
そこで、読んでみたのがオライリーの「ゼロから作るDeep Learning」という本です。初学者向けの本として割と評価の高い+実際に動くモノを作れるから面白そうという理由で買ってみました。コツコツと読み進めてようやく9割方を読み終えたので、今回はその感想です。
数学とかよくワカラナイ…という人にオススメ
当然、この本の中には数学的な話も出てきますが、そこまで1つ1つの理論を深掘りすることはしません。割と簡単な例を出して説明しているので、「あまり数学とか得意じゃないんだけど…」という人にも読みやすいと感じました。
かくいう私もあまり数学が得意ではありませんが、本の中で紹介されている数学についてはほぼ理解できました。
逆に数学的な理論をがっつり勉強したい人にはおそらく物足りないと思います。あくまでも初学者向けという感じです。
手を動かしながら学べるので退屈しない
こうした技術書の中には延々と説明ばかりでうんざりするものもありますが、この本は実際にコードを書きながら学べるので飽きることなく進められます。
私の場合、日々コツコツと読み進めつつコードを写経する形で進めていきましたが、やはり実際に動くモノを作りながらだとモチベーションも維持しやすいなと感じました。
本に登場するすべてのコードはGitHubの以下のリポジトリから入手できるため、後の勉強にも使えると思います。個人的には本の後半部分のコードの解説がもう少しほしいところでしたが、それは本のボリューム的に仕方がないかもしれません。
oreilly-japan/deep-learning-from-scratch
まとめ
ディープラーニングの勉強をはじめる第一歩に読む本としてはとても良い本だと感じました。これまでブラックボックスにしか見えなかったディープラーニングの理論や実装を具体的な形でイメージできるだけでも得られるものは多いと思います。
より深い理論を勉強しようと思ったらこの本だけでは足りないですが、より深く勉強するためのきっかけとして読んでみるのも良いかもしれません。
私の場合、何より実際にコードを書きながら学べるのが楽しかったです。データサイエンスの世界でメジャーなライブラリであるnumpyやmatplotlibの使い方も多少は学べるので、それらも触っていて楽しかったです。
これからディープラーニングをちょっと勉強してみたいなという人はぜひ読んでみてはいかがでしょう?
ではではノシ