はじめに
「深層(機械)学習」「プログラミング」「Python」学習初手『ゼロから作るDeep Learning』民のための攻略ノートです。『ゼロつく1』の学習の補助となるよう適宜解説を加えています。ノートは次の3つの内容に分けています。
- 【実装編】:「Pythonによるプログラミング」や「ニューラルネットワークの実装」の処理を細かく確認しながらの解説
- 【Python編】:「Python文法」や「使用する関数」について補足
- 【数学編】:必要になる最低限の「数学知識」の解説と「NumPy」を使った確認
【実装編】を中心に進めてもらえれば、適宜どれどれを読んでとリンクを付けています。ニューラルネットワーク自体の説明は本で確認してください。
記事一覧
『ゼロつく1』は初見でも通せる良書ですが、Pythonやプログラミング自体の説明は少ないです(そもそもそれを目的とした本ではないので)。それでも多くを拘らず手を動かしていれば、次第に身に付いていくでしょう。それもいいですが、中にはそういったRepeat after me.が苦手なルールベース民(私)もいるはずです。この資料はそんな人のための補助資料です。
『ゼロつく1』で登場するPythonや実装についてのあれこれに、適宜解説を加えていきます。
初学者にとっては「深層(機械)学習」「Python」「数学」の3つの分野からの初めて聞く事柄で、今何のために何をしているか訳が分からなくなるはずです。そこで3つのノートに分けて必要な情報にアクセスしやすくしています。また情報過多にならないように、その時点で必要な情報のみに留めるようにしています。そのためこの資料単体では効率よくを学べるようにはなっていません。『ゼロつく1』と共に読んでください。
1章 Python入門
2章 パーセプトロン
3章 ニューラルネットワーク
4章 ニューラルネットワークの学習
5章 誤差伝播法
6章 学習に関するテクニック
7章 畳み込みニューラルネットワーク
8章 ディープラーニング
Create your awesome net!!
参考文献
- 斎藤康毅『ゼロから作るDeep Learning』オライリー・ジャパン,2016年.
おわりに
本の中でさらっと実装されている処理の塊を、1つずつの処理に細かく分割して解説を加えつつ、処理の結果を逐一確認しながら進めます。それでも解説を加えすぎて情報過多にならないように、必要最小限の知識で済むように心がけました。
『ゼロつく1』わけ分かんない・もっと理解したいという人の助けになれば幸いです。
ちなみに私はPython歴1か月機械学習の勉強歴1年ですので、内容に間違い等あるかと思います。見付けたら全て指摘していただけるととても助かります。よろしくお願いします。
- 修正点メモ
os
はほとんどの記事でインポートする必要がなかった。- 「初期化」という言葉を「変数を空にする」と「初期値を与える」の2通りの意味で使っている。
- 認識精度メソッド
accuracy
の定義の意図を勘違いして、マスターデータの実装を少し弄って載せました。正解ラベルデータが1次元か2次元かで条件分岐するのですが、これはone-hot表現かどうかに関わらず扱えるようにするためです。それを入力データの次元によって処理が変わるためと捉えてしまった(そしてこれじゃできないじゃんと思ってしまった)ので書き換えました。処理事態に問題はない(はず)ですが、この記事の実装方法だとone-hot表現しか対応していません。 - 情報を極力抑えるというコンセプトは破綻しました。
- 2020.06.01
ゼロつく1勉強会にて、プログラミング初めて機械学習という単語も知らない人達に教えることになりました。そんな勉強会向けに作っている資料になります。勉強会自体は始まったところなので、そこでの反応も踏まえて追々加筆修正していく予定です。現在3章までは書き終わっています。
- 2020.06.16
現在4章を更新中です。Python歴が2か月になりました。
x[0:9]
としていたり、引数の=
の前後にスペースを入れないっぽいぞ(紙面の都合故と思っていた)とかありますが、全て書き終わってから修正します、、、あと0番目や0行目とか、数式上の$x_{11}$とx[0, 0]
との兼ね合いとかで、かなり表記が揺れていると思います。まだどう対応するのか悩んでいますが、それもその内なんとかします。
- 2020.7.29
5章書き終わりました!Affineレイヤの逆伝播の導出に1か月かかりました。そして1つ解けてません。早く2巻をやりたくて仕方がない。
- 2020.8.04
まだ5章の記事が1日1つずつ自動投稿されているところですが、6章の記事を仕込み始めました。途切れずどこまで更新続けられるかな。
とりあえず5章頭から途切れず更新できました!(8/17)
- 2020.8.23
7章の記事も途切れず更新できそうです。連続更新記録更新中。
全ての更新が完了しました!書き終わったら修正していくつもりでしたが、保留にして2巻を始めます!2巻が終わったら、きっと、3巻をやりたくなることでしょう。(8/24)
【次巻の内容】