ニューラルネットワーク、バックプロパゲーション、チェーンルールを適切に理解していますが、自動微分を理解するのに苦労しています。
以下は、逆伝播のコンテキスト外の自動微分に言及しています。
- 自動微分は行列から勾配をどのように計算しますか?
- 勾配を計算するための要件は何ですか?関数を指定する必要がありますか?
- これの使用例は何ですか(それ以外の場合は逆伝播)?
- なぜそれが重要であり、代替案は何ですか?
何か不足していますか?
3
自動微分は、アルゴリズム微分とも呼ばれ、コンピュータープログラムによって指定された関数の導関数を数値計算する自動化された方法ですが、関数はコンピュータープログラムによって間接的に定義できます。特に、数値最適化で使用するための勾配、ヤコビアン、ヘッセ行列の計算に役立ちます。バックプロパゲーションニューラルネットワークの最適化問題を参照の勾配計算するための自動微分の逆モードの実装である en.wikipedia.org/wiki/Automatic_differentiationを。
—
マークL.ストーン
代替案は、記号による微分と有限差分であり、どちらも通常は遅く、有限差分は精度が低くなる可能性があります。人間が派生物を理解できる場合は、手動でコーディングした派生物を使用できますが、多くの場合、人間のミスが発生しやすくなります。
—
マークL.ストーン
実装例を確認するための簡単な例はどこにありますか?それは
—
グレッグ
tf.gradient
私が見てしなければならない方法?
Wikipediaリンクの自動微分ソフトウェアとツールのリスト、および使用例を含むリンクを参照してください。自動微分の別の代替方法は、複雑なステップ微分(微分)aero-comlab.stanford.edu/Papers/martins.aiaa.01-0921.pdfです。これは、自動微分のフォワードモードとほとんど同じです。
—
マークL.ストーン