转载:【AI系统】自动微分引言

举报
yd_272980947 发表于 2024/12/12 19:16:13 2024/12/12
【摘要】 内容介绍这一篇幅里面主要是围绕 AI 框架、或者训练平台的自动微分功能。AI 框架中关于自动微分的一个重要性不言而喻,实际上自动微分是贯穿整个 AI 框架的全流程。没有了自动微分,也就没有了 AI 框架最核心的功能。为什么这么说呢?可以想象一下,假设在实现一个神经网络模型的时候,一般开发者只会使用 Pytorch 的 API 实现一个正向的网络表达式,可是网络模型的反向怎么表示呢?实际上除...

内容介绍

这一篇幅里面主要是围绕 AI 框架、或者训练平台的自动微分功能。AI 框架中关于自动微分的一个重要性不言而喻,实际上自动微分是贯穿整个 AI 框架的全流程。没有了自动微分,也就没有了 AI 框架最核心的功能。为什么这么说呢?可以想象一下,假设在实现一个神经网络模型的时候,一般开发者只会使用 Pytorch 的 API 实现一个正向的网络表达式,可是网络模型的反向怎么表示呢?

实际上除了正向的表示是用户手工的地去构建,反向的表示、自动微分的实现、正反向的链接关系都是由 AI 框架,里面的自动微分功能去实现的。因此说自动微分这个功能在 AI 框架里面是非常的重要。

在接下来的内容,主要是了解计算机实现微分的基本概念,其实微分的实现方式分为很多种,有数字微分,符号微分,自动微分。函数的微分是指对函数的局部变化的一种线性描述。微分可以近似地描述当函数自变量的取值作足够小的改变时,函数的值是怎样改变的。

微分在数学中的定义:由 yyxx 的函数 (y=f(x))(y=f(x))。从简单的 xyx-y 座标系来看,自变数 xx 有微小的变化量时 (d/dx)(d/dx),应变数 yy 也会跟着变动,但 xxyy 的变化量都是极小的。当 xx 有极小的变化量时,我们称对 xx 微分。微分主要用于线性函数的改变量,这是微积分的基本概念之一。

在具体实现自动微分的过程中,主要有 2 种实现模式,前向和向后微分。前向微分和后向微分为了在数学上方便表达,会引入一个亚克比原理,或者叫做亚克比矩阵。

对微分进行表示,不过这仅限于数学表示,实际上实现的过程中更多的是通过以下三种方法实现:

1)表达式或者图的方式;2)操作符重载(object-oriented);3)源码转换 AST。

最后来去畅想自动微分的未来和挑战,来去回答我们到底要不要学一个 AI 框架呢?学模型算法和原理才是核心?AI 框架未来的核心点机制将会如何演进?

如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~
转载自:https://zhuanlan.zhihu.com/p/8034531295

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。