ステージ1 微分を自動で求める
ステップ 1 箱としての変数 ステップ 2 変数を生み出す関数 ステップ 3 関数の連結 ステップ 4 数値微分 ステップ 5 バックプロパゲーションの理論 ステップ 6 手作業によるバックプロパゲーション ステップ 7 バックプロパゲーションの自動化 ステップ 8 再帰からループへ ステップ 9 関数をより便利に ステップ10 テストを行う |
機械学習の一つであるディープラーニングでは、微分が中心的な役割を果たすそうです。このステージでは、「変数(Variable クラス)」と「関数(Function クラス)」を定義して、微分を自動で行えるようにします。
また、今回定義したクラスが、効率的に動作し、便利に使いやすくする方法を示し、最後に、自分で定義した関数が正常に機能するかテストする方法を紹介してくれます。
コラム 自動微分
コンピュータのプログラムで微分を求める方法は、大きく以下の3つがあるそうです。
1 数値微分
2 数式微分
3 自動微分
3番目の「自動微分」は、さらに2つに分かれます。
① forward モード
② reverse モード(バックプロパゲーション)
今回、本書で取り扱うのは、②のバックプロパゲーションです。チェインルールを用いて、出力側から入力側へと微分を求めます。ステージ1において、この方法が示されています。