ディープラーニングの勉強に役立つ参考書

ディープラーニングの勉強に役立つ参考書


現在機械学習に興味を持ち気ままに勉強しているのですが、
そのために購入した参考書をまとめておきます。
個人的にとても参考になってます。

僕はなるべく外部ライブラリーやフレームワークに頼らずに内部を理解したいと思ってしまう人間でして、
購入した参考書もスクラッチで作ることを目標にしているものです。



画像認識モデルをスクラッチでつくる


ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

この記事を閲覧している人はもはやご存知だと思います。

ほぼ外部ライブライリーやフレームワークを使わずに画像認識するディープラーニングをつくります。
「ほぼ」とつけた理由はnumpyとmatplotlibを使用しているためです。

今人気のTensorflowやscikit-learnなどは使用してません。

AND回路やNAND回路の説明から始まり、ニューラルネットワークの基礎を学んでいきます。
章を進めていくにつれて損失関数、レイヤ、誤差逆伝搬の概念が登場します。
ここまでである程度のネットワークは作れるようになります。
後半になると畳み込みニューラルネットワークが登場し本格的な画像認識モデルを作れるようになります。
サンプルコードもダウンロードできます。
理解することは前提として、サンプルコードをみてそれをそのまま書き写しても勉強になると思います

これだけ見ると魅力的ですが、正直僕にとっては難易度が高めでした。
一度読んでみて挫折し、しばらくたってから読んだら何故かスラスラ読めるようになってました。
いずれにしろディープラーニングの参考になる入門書ではありますが、軽い気持ちで読めるものではないと思います。

自然言語処理をしたい


ゼロから作るDeep Learning ❷ ―自然言語処理編

上で紹介した参考書と作者は同じです。
こちらは主に時系列データ、とりわけ文章を学習するプログラムを作ることを目的にしています。

序盤はcorpusを使用した学習モデルをつくり、中盤から後半にかけてRNNやLSTMが登場します。
ただ参考書の難易度はさておきRNNやLSTMそのものが難しいと感じました。
丁寧な説明が載っていますが、覚えることがとても多かったです。
ちなみに僕はもうほとんど覚えてません。
ただ前作と比べて新しいものがこの二つくらいなので、
この二つを理解できれば、文法を学習しそこから新たな文章を作成するようなものが作れるようになります。

「なるほどな」と思えるような内容でしたが前作同様難しかったです。

もっと簡単なやつ


ニューラルネットワーク自作入門

こちらもスクラッチでニューラルネットワークを作成します。
上の二つほど広い情報は扱っていませんが、かなり初心者に優しい内容になっています。
勾配計算の部分など初心者が躓きやすそうな部分にページが割かれていて初めてニューラルネットワークに触れる人にも優しい内容です。
最終的には3層ほどのネットワークをつくり動きを検証します。
作成するプログラムもそこまで長くないため、全体的に理解しやすかったです。

他にもいろいろ


Pythonで動かして学ぶ! あたらしい機械学習の教科書

上に挙げた参考書は分類問題をターゲットにしていますが、こちらには回帰問題や教師なし学習の説明もあります。
回帰問題では年齢と体重からから身長を予測するということやってました。
かなりわかりやすい例で頭に入ってきやすいと思います。

グラフを多く使用しており視覚的にも理解できるようになってます。
難易度もそこまで高くないように感じました。
数学的な説明にも多めにページが割かれているため、数学に基づいた理解も得られるようになっているかと思います。

これからも気ままにやってこう


機械学習はそれなりに専門的な知識が必要とされる分野でありながら、
独学である程度やっていけるものだと思います。
これらの参考書はその大きなサポートになるかと思います。

僕は機械学習に興味があるだけでそこまで熱意をもって取り組んでいるわけではないので、
ところどころ忘れてしまっている部分はあります。
ただ「こんな仕組みで学習していてアルゴリズムはこうなっている」など知っておくだけでも意味があるかと思いますので、これからも気が向いたらなにかしらやっていきたいと思います。

コメントする