转载:【AI系统】自动微分引言
内容介绍
这一篇幅里面主要是围绕 AI 框架、或者训练平台的自动微分功能。AI 框架中关于自动微分的一个重要性不言而喻,实际上自动微分是贯穿整个 AI 框架的全流程。没有了自动微分,也就没有了 AI 框架最核心的功能。为什么这么说呢?可以想象一下,假设在实现一个神经网络模型的时候,一般开发者只会使用 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。
最后来去畅想自动微分的未来和挑战,来去回答我们到底要不要学一个 AI 框架呢?学模型算法和原理才是核心?AI 框架未来的核心点机制将会如何演进?
如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~
转载自:https://www.cnblogs.com/ZOMI/articles/18562750