April 2020
Intermediate to advanced
552 pages
6h 13m
Japanese
前ステップでは、バックプロパゲーションの仕組みについて説明しました。本ステップでは、これまでのVariableとFunctionクラスを拡張して、バックプロパゲーションを用いて微分を求められるように実装していきます。まずは、Variableクラスから見ていきます。
それでは、バックプロパゲーションに対応したVariableクラスを実装します。そのためには、通常の値(data)に加えて、それに対応する微分した値(grad)を持つように拡張します。ここでは、新たに追加したコードを青い網掛けで示します。
steps/step06.py
classVariable:def__init__(self,data):self.data=dataself.grad=None
上記のように、新たにgradというインスタンス変数を持つようにします。インスタンス変数のdataとgradは、ともにNumPyの多次元配列(ndarray)であることを想定します。また、gradはNoneで初期化し、逆伝播によって実際に微分が計算されたときに、その値を設定します。
![]() |
|
ベクトルや行列など、多変数に関する微分は勾配(gradient)と呼びます。そのため |
続いて、Function ...
Read now
Unlock full access