こんにちは。
私は独学でRubyやRuby on Railsを学んでいるのですが、ここ最近機械学習やディープラーニングに関する勉強も始めました。
ディープラーニングはTensorFlowなどのライブラリを使えば比較的簡単(?)に実装したりできるようですが、やっぱり完全なブラックボックスというのは色々気味が悪いですし、応用も効かないだろうということで、まずはその基礎の部分を勉強することにしました。
で、どういう風にその基礎を勉強するかですが、Amazonのレビュー等を参考にして「ゼロから作るDeep Learning」という本を購入し、勉強してみることにしました。
(ちなみに機械学習やディープラーニングを学ぶ目的は、それらを使ったWebアプリを作りたいからです。理論等にももちろん興味はありますが、あくまでそれらをツールとして使えるようになりたいというのが一番です。)
つい最近一通り読み終わったので、その感想等を少しだけ書いていきます。
ただかなり駆け足で読んだのと、私自身の能力不足で、まだまだ理解できていないことが多いので、もしかしたら色々間違ったことを書いてしまうかもしれませんが、その際はご指摘いただけると幸いです。
ゼロから作るDeep Learningはどんな本か
「ゼロから作るDeep Learning」がどのような本であるかについて知りたい場合は、近くの書店で直接この本を手に取り"まえがき"を読むのがベストです 笑
ですが、一応メモとしてどのような本かを残しておきます。
この本は、機械学習やディープラーニングのライブラリ等の使い方を学ぶ本ではありません。
手っ取り早くそれらを利用して何かを開発しようという人向きではありません。
この本は、機械学習やディープラーニングの基礎的な部分や基礎的な理論を学ぶための本です。
パーセプトロンやニューラルネットワーク、誤差逆伝播法など、機械学習やディープラーニングを知る上で必要不可欠となる理論が詳しく説明されています。
また、特徴的なのは理論の説明だけでなく、実際にその理論をPythonを用いて実装するところです。
私自身はPythonの勉強経験がほぼ皆無でしたが、プログラミングを勉強したことがあればコードがあるだけでかなり理解度は変わってくると思います。
実際文章による説明を読んで、そのあとにコードを読むことで、理解のしやすさはかなり違いました。
また、この本で扱うのは画像認識のみです。
音声認識や自然言語処理についてはこの本では取り扱っていないです。
ほぼ"まえがき"に書いてある内容と同じになってしまった気もしますが、とりあえず「ゼロから作るDeep Learning」はこんな感じの本です!
実際に読んだ感想
実際に読んだ感想としては、理論の説明が言葉でちゃんと説明されており、その点は非常に分かりやすかったです。
数学が得意な人にとっては、数式で説明された方が分かりやすいかと思いますが、私のような数学がそれほど得意ではない人間にとっては非常にありがたい配慮でした。
と言っても、もちろん数式での説明もなされています。
行列や偏微分などは最低限必要なので、それらを理解していない場合は他の本で軽く勉強してから読んだ方がいいかなあとも思います。
実際私は「やさしく学ぶ 機械学習を理解するための数学のきほん」と同時に読んでいました。
もし数学が苦手な人がいれば、この本も併用すると比較的スムーズに読み進めることができると思います。
「ゼロから作るDeep Learning」は結構ボリュームがあるので、途中で挫折しそうになりましたが、Twitterで先に「これ読みます!」ということを宣言してしまったので、投げ出すこともできず、どうにか最後まで読みきれました 笑
もし途中で投げ出すかもしれない、という人は先に周りの人に宣言してしまうのがいいかもしれません!笑
この本を読んで一体何ができるようになるかについてですが、正直まだ分かりません。
この本を読んだ後、私はUdemyの「TensorFlow x Python3で学ぶディープラーニング入門」という講義を見ましたが、多分この本を読んでいなければ理解できていなかったと思います。
TensorFlowなどのライブラリを使い始めたり、その使い方を勉強し始める際には、この本を読んだことが役に立つことは間違いありません。
ただ、一度読んだだけでは完全に理解できていないので、少なくとも二度、三度と読む必要があるのかなあとも思いました。
私自身はまだ一度しか読んでいないので、今後隙間時間にもう一回は読んでみる予定です。
機械学習を独学で勉強するのであれば、読んで損はないと思います。
(ただ、あくまでプログラミングを独学している人間の意見なので、周りに機械学習等に詳しい方がいれば、その方の意見を仰ぐのがベストだと思います!)
Twitter : @BoNingennnN