私はその違いを理解できないようです。私にとっては、両方とも表現を通り、チェーンルールを適用するように見えます。何が欠けていますか?象徴的な分化と自動分化の違いは?
5
A
答えて
4
- 数値微分は、シンボリック分化
- 自動分化
Numerical differentiationがデリバティブの定義に依存している
h
を入れ、2つの場所で機能を評価します。これは最も基本的な式であり、実際には人々は推定誤差が小さい他の式を使用します。微分を計算するこの方法は、あなたが関数を知らず、それをサンプリングすることができる場合に最も適しています。また、高ディム機能のために多くの計算を必要とする。 Symbolic differentiationは、数式を操作します。あなたは、MATLABやMathematicaを使用した場合、あなたはここで、すべての数学の発現についてsaw something like this
彼らは、デリバティブを知っているし、得られ微分を計算するために様々なルール(製品のルール、チェーンルール)を使用します。次に、最終表現を単純化して、結果の式を得る。
Automatic differentiationは、コンピュータプログラムのブロックを操作します。差別化要因には、プログラムの各要素の派生を取るためのルールがあります(コアTFでオペレーションを定義する場合、このオペレーションにはregister a gradientが必要です)。また、チェーンルールを使用して複雑な式を単純なルールに分割します。ここにはgood example how it works in real TF programs with some explanationがあります。
あなたは自動分化が(一つの場所に、彼らはコンピュータプログラム上の別では、数学の表現で動作する)シンボリック分化と同じであることを考えるかもしれません。そして、はい、時には非常に似ています。結果ができますが、制御フロー計算書のために(、ループしながら、場合 `)非常にdifferent:
シンボリック分化は(慎重 が行われていない限り)非効率的なコードにつながると にコンピュータプログラムを変換することの難しさに直面しています単一式
関連する問題
- 1. 自分自身でWebサービスイベントを抽象化する
- 2. Smalltalkでは、自分と自分の違いは何ですか?
- 3. 象徴的なクラッシュレポートios
- 4. sympyで分母を自動的に合理化しないようにする
- 5. メンバーの部分的な特殊化
- 6. ポインタの部分的な特殊化
- 7. このIfステートメントの分岐を簡略化/自動化してください。
- 8. 明示的と部分的な専門化の構文の違いはなぜですか?
- 9. テンプレート部分的特殊化
- 10. 自動アニメーション/私は自分のサイト上でスライドショーを自動化しようとしているJavaScriptの
- 11. NCDcからの気象ステーションデータの自動収集を自動化
- 12. 部分的な難読化Cコード
- 13. Scalaの象徴的な区別
- 14. 象徴的な方程式の解法
- 15. ハスケルの象徴的な区別
- 16. WebService:自分のPCとサーバーの違い
- 17. 暗号化と復号化のパディングが十分でない
- 18. 自分のプラグインを初期化する
- 19. 分散システムにおけるキーワード駆動型テスト自動化
- 20. 情報の隠蔽とデータ抽象化の違いは?
- 21. タイプファミリーと部分的な新しいタイプの違いは? (部分データ?)
- 22. 抽象化とインターフェイスの違いは何ですか?
- 23. JavaScriptの自動化の自動化
- 24. Google.Comのエンドツーエンドテストを分度器を使って自動化
- 25. FFmpegによるファイル分割の自動化
- 26. Matlabのテーブルに入力する分割配列を自動化
- 27. C++のテンプレートパラメータと部分的な特殊化:強タイピングですか?
- 28. Javaオブジェクトの部分的な暗号化とシリアライズ
- 29. ディレクティブと部分的な特殊化の使用
- 30. boolのテンプレート部分的特殊化
あなたは1つの変数またはmutli変数で基本方程式を調べていますか?また、私は答えを出すだろうが、自動分化の知識は象徴的な数学ほど良くはない。私に時間があれば、これをもっと調べて答えを投稿するかもしれません。 –