我似乎無法理解差異。對我來說,它看起來像只是通過一個表達式,並應用鏈規則。我錯過了什麼?符號分化和自動分化之間的區別?
5
A
回答
4
有3種流行的方法來計算衍生物:
- 數值分化
- 符號微分
- 自動微分
Numerical differentiation依賴於衍生物的定義:,其中你把一個非常小的
h
和評估功能在兩個地方。這是最基本的公式,實踐中人們使用其他公式給出較小的估計誤差。這種計算衍生物的方法大多適用於如果您不瞭解您的功能並且只能對其進行採樣的情況。此外,它需要大量的計算來實現高調光功能。
Symbolic differentiation操縱數學表達式。如果你曾經使用MATLAB或數學,那麼你saw something like this
這裏爲每一個數學表達式他們知道衍生物和使用各種規則(規則的產品,連鎖規則)來計算所產生的衍生物。然後他們簡化結束表達式以獲得結果表達式。
Automatic differentiation操縱計算機程序塊。微分器具有獲取程序中每個元素的導數的規則(當你在覈心TF中定義任何操作時,你需要register a gradient)。它還使用鏈式規則將複雜的表達式分解爲更簡單的表達式。這是一個good example how it works in real TF programs with some explanation。
你可能會認爲自動分化是一樣的符號微分(在一個地方,他們對數學表達式進行操作,在另一計算機程序)。是的,他們有時非常相似。但對於控制流語句(`如果,同時,環路),其結果可能是非常different:
象徵性的分化導致低效的代碼(除非仔細 完成),面向計算機程序轉換成 的難度單表達式
相關問題
- 1. DBMS中規範化和分區之間的區別
- 2. Azure工作者角色和Azure自動化之間的區別?
- 3. parcelable和序列化之間的區別?
- 4. 自我分配之間的區別。和伊娃分配直接
- 5. master和gcloud分支之間的區別
- 6. cross_val_score和estimator得分之間的區別?
- 7. 分類()和attr(「class」)之間的區別
- 8. 合併和分支之間的區別
- 9. 分類和迴歸之間的區別
- 10. splitByWholeSeparatorPreserveAllTokens和分割之間的區別
- 11. 劃分和移位之間的區別
- 12. db2中的分配和分區之間的區別
- 13. 聲明字符串和分配字符串之間的區別
- 14. 子集化[]和$操作符之間的區別
- 15. PAM與Metis分區之間的區別
- 16. '(無符號)1'和'(無符號)〜0'之間的區別
- 17. C++中無符號和無符號整數之間的區別
- 18. 減法運算符號和符號之間的區別
- 19. 機器人過程自動化(RPA)和測試自動化工具之間的技術區別是什麼?
- 20. 自動化分區創建Postgres裏10
- 21. 初始化之間的區別:
- 22. 衝突序列化和序列化之間有什麼區別?
- 23. 如何在Prolog中自動化分號
- 24. 自動化分配
- 25. 類似的括號化函數類型之間的區別
- 26. 自動化測試中手寫代碼和記錄腳本之間的區別
- 27. ApplicationSettings部分和AppSettings部分之間的區別是什麼?
- 28. 部分複製和分片之間的區別?
- 29. mapreduce分割和火花分割之間的區別
- 30. 二次分割和線性分割之間的區別
您是否正在尋找具有一個變量或多變量的基本方程?我也會給出答案,但我的自動分化知識不如符號數學。如果我有時間,我可能會更多地考慮這一點併發布答案。 –