April 2020
Intermediate to advanced
552 pages
6h 13m
Japanese
これから私たちは、DeZeroを使って具体的な問題をいくつか解いていきます。ここでは、sin関数の微分を考えます。もちろん、その微分は解析的に解けます。そこでまずは正攻法的に、sin関数をDeZeroで実装します。それに続けて、sin関数の微分をテイラー展開を使って求めてみます。
sin関数の微分は解析的に解くことができます。
のとき、その微分は
となります。そのため、Sinクラスとsin関数は次のように実装できます。
steps/step27.py
importnumpyasnpfromdezeroimportFunctionclassSin(Function):defforward(self,x):y=np.sin(x)returnydefbackward(self,gy):x=self.inputs[0].datagx=gy*np.cos(x)returngxdefsin(x):returnSin()(x)
上記のように、NumPyで用意されたnp.sin関数とnp.cos関数を使えば簡単に実装できます。これで私たちのDeZeroでも、sin関数を使って計算することが可能です。試しに、 ...
Read now
Unlock full access