全くの初心者がディープラーニングの学習を始めて、最初につまづくのは次の点だと思います。
- 圧倒される数式群
- 理解できないチャート
- プログラミング言語(Python)
- 行列(テンソル)の操作
1.圧倒される数式群
殆どのサイトがディープラーニングの説明で、数式から入っていきます。

場合によってはコレだけでディープラーニングの世界に飛び込むのを躊躇してしまうかもしれません。
でも大丈夫!
数式なんて雰囲気さえわかれば十分なのです!
ディープラーニングの応用が目的ならば、スキップして先に進みましょう!
2.理解できないチャート
shimizuがディープラーニングを調べ始めたときに、様々なチャートがでてきましたが、全く意味が理解できませんでした。

大丈夫、初心者なのだから最初は理解できないのは当然です。
学習を進めていけば理解できるようになります。
3.プログラミング言語(Python)
これはあまり問題にならないと思います。
Pythonでなくても、プログラミング言語を扱ったことがあるならば、すぐになれると思います。
4.行列(テンソル)の操作
shimizuはこれが一番大変でした。
2次元までなら脳内でイメージできますが、3次元以上になるとイメージするのが大変です。
しかも、ディープラーニングの世界では
行列を行列のまま処理する
のです。
慣れていない人にはこれが一番大変だと思います。
しかも数式と違って、先に進むためにスキップするわけにはいきません・・・
慣れるためには実践しかありません。
ぱっと見て理解できないコードに自分で手をいれて
・テンソルのサイズ(型)を確認する
・テンソルの軸を確認する
これを積み重ねて少しずつ慣れていくしかないと思います。
そのために必要なのが
実行可能なコードと詳しい解説のある入門サイトです。
検索して出てくるものに商用や個人サイトが多いですが、
・商用サイト:集客が目的なので表層をなぞった紹介程度のものが多い
・個人サイト:個人知識の備忘・発表がメインなので初心者に役立つものは少ない
(いきなり”フレームワーク使って〇〇してみた”等)
※あくまで個人の感想です
shimizuが色々とネットの海をさ迷って探した結果、たどりついたのがここでした。
Dive into Deep Learning
構成はこんな感じです

良い点
- 入門にふさわしく、概念はもちろん、基本的な行列操作の説明から始まっている
- 実装部分にはすべてソースコードがついている(疑問点は自分で動かして確認できる)
- ソースコードはgluon@mxnetを使用したものと、スクラッチビルドした2種類がある
- 説明はかなり丁寧
- 数式は多めだが、読み飛ばしてもかなり理解が進む
- 今も活きている公式フォーラムがある(mxnetに関してのフォーラムになるが)
悪い点
- 英語版しかない(日本語で書かれても理解できないことを英語で書かれても・・・w)
- mxnetに強く結びついているので、”TensorFlowで始めたい”初心者には向かない
shimizuはディープラーニングをkeras+CNTKで始めたのですが、
・kerasがTensorFlowと統合された > keras+CNTKではこの先はなさそう
・天邪鬼なのでTensorFlowは使いたくない
・ライブラリ生で使うより、薄皮をはさんで楽に使いたい
・gluonというライブラリがあるらしい(しかもCNTKサポート予定)
・gluonと同梱のmxnetはRNNに強いらしい(最終目的のLSTMはRNNの一種)
・gluon+CNTKの実装時期がいつまでも発表されない
でmxnetにたどり着きました。