April 2020
Intermediate to advanced
552 pages
6h 13m
Japanese
私たちのDeZeroは、代表的な演算子(+、*、-、/、**)に対応しました。そのため、いつものPythonプログラミングのようにコーディングできます。その有り難さが分かるのは、複雑な数式をコーディングするときです。ここでは、これまでの成果として、複雑な数式の微分をいくつか求めてみます。
本ステップで取り上げる関数は、最適化問題でよく用いられるテスト関数です。最適化問題のテスト関数とは、様々な最適化手法の“良さ”を評価するために利用される関数です。言うなれば、「ベンチマーク」のための関数と言ったところです。そのような関数はいくつか候補があります。たとえばWikipedia[13]の「Test functions for optimization」というページには、図24-1のような表でまとめられています。
図24-1 最適化問題に利用されるベンチマーク用の関数リスト(Wikipedia[13]より引用)
ここでは、図24-1の中から3つの関数を選んで、その微分を実際に求めてみます。それによって、DeZeroの実力が分かるでしょう。まずはSphere関数という単純な関数から始めます。
Sphere関数は、
という数式で表されます。入力変数を2乗して足すだけの単純な関数です。私たちの課題は、その微分―― ...
Read now
Unlock full access