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