這一篇幅里面主要是圍繞 AI 框架、或者訓練平臺的自動微分功能。AI 框架中關于自動微分的一個重要性不言而喻,實際上自動微分是貫穿整個 AI 框架的全流程。沒有了自動微分,也就沒有了 AI 框架最核心的功能。為什么這么說呢?可以想象一下,假設在實現一個神經網絡模型的時候,一般開發(fā)者只會使用 Pytorch 的 API 實現一個正向的網絡表達式,可是網絡模型的反向怎么表示呢?
實際上除了正向的表示是用戶手工的地去構建,反向的表示、自動微分的實現、正反向的鏈接關系都是由 AI 框架,里面的自動微分功能去實現的。因此說自動微分這個功能在 AI 框架里面是非常的重要。
在接下來的內容,主要是了解計算機實現微分的基本概念,其實微分的實現方式分為很多種,有數字微分,符號微分,自動微分。函數的微分是指對函數的局部變化的一種線性描述。微分可以近似地描述當函數自變量的取值作足夠小的改變時,函數的值是怎樣改變的。
微分在數學中的定義:由?y?是?x?的函數?(y=f(x))?。從簡單的?x?y?座標系來看,自變數?x?有微小的變化量時?(d/dx)?,應變數?y?也會跟著變動,但?x?跟?y?的變化量都是極小的。當?x?有極小的變化量時,我們稱對?x?微分。微分主要用于線性函數的改變量,這是微積分的基本概念之一。
在具體實現自動微分的過程中,主要有 2 種實現模式,前向和向后微分。前向微分和后向微分為了在數學上方便表達,會引入一個亞克比原理,或者叫做亞克比矩陣。
對微分進行表示,不過這僅限于數學表示,實際上實現的過程中更多的是通過以下三種方法實現:
1)表達式或者圖的方式;2)操作符重載(object-oriented);3)源碼轉換 AST。
最后來去暢想自動微分的未來和挑戰(zhàn),來去回答我們到底要不要學一個 AI 框架呢?學模型算法和原理才是核心?AI 框架未來的核心點機制將會如何演進?
如果您想了解更多AI知識,與AI專業(yè)人士交流,請立即訪問昇騰社區(qū)官方網站https://www.hiascend.com/或者深入研讀《AI系統(tǒng):原理與架構》一書,這里匯聚了海量的AI學習資源和實踐課程,為您的AI技術成長提供強勁動力。不僅如此,您還有機會投身于全國昇騰AI創(chuàng)新大賽和昇騰AI開發(fā)者創(chuàng)享日等盛事,發(fā)現AI世界的無限奧秘~
轉載自:【AI系統(tǒng)】自動微分引言-ZOMI醬的文章-知乎
https://zhuanlan.zhihu.com/p/8034531295