Theanoの使い方 (1) シンボルと共有変数(2015/5/9)のつづき。 今回はTheanoの自動微分を試してみる。ロジスティック回帰やニューラルネットなど勾配降下法を使うアルゴリズムではパラメータの更新式にコスト関数(誤差関数) の微分が必要になる。 通常、誤差関数の微分 を紙の上で解いてからその結果の数式を実装する。たとえば、前に実装した多層パーセプトロンによる関数近似(2015/1/22)では、手順 (4) で誤差関数の微分を手計算で求めてから実装している。 しかし、コスト関数が複雑になってくるとこの微分を手で計算するのは面倒くさいし間違いやすい。Theanoの自動微分では、コスト関数とどの変数について微分するかを与えるだけで自動的に微分を計算してくれるのだ。まずは、手計算できる簡単な微分を計算してみよう。 例1 まずは簡単な例で を計算してみよう。手で計算すると となることが