付録D自動微分

この付録では、TensorFlowの自動微分機能の仕組みを説明し、ほかのソリューションと比較する。

f(x,y)=x^2y+y+2という関数を定義し、勾配降下法(またはその他の最適化アルゴリズム)を実行するために、その偏微分\frac{\partial f}{\partial x}\frac{\partial f}{\partial y}が必要になったとする。その場合、選択肢は、手計算による微分、有限差分近似、フォワードモード自動微分、リバースモード自動微分である。TensorFlowが実装しているのは、この最後のオプションだ。それでは、これらのオプションを1つずつ見ていこう。

D.1 手計算による微分

第1のアプローチは、紙と鉛筆を取り出し、自分の解析学の知識を駆使して手計算で偏導関数を導き出すことだ。今定義したf(x,y)関数なら、それほど難しいことではない。5つの規則に従えばよい。

  • 定数の導関数は0。
  • の導関数は(ただし、 ...

Get scikit-learn、Keras、TensorFlowによる実践機械学習 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.