可微编程:让计算机程序实现自动微分的革命性技术
创作时间:
作者:
@小白创作中心
可微编程:让计算机程序实现自动微分的革命性技术
引用
1
来源
1.
https://vibaike.com/126323/
可微编程是一种新兴的编程范式,它允许计算机程序通过自动微分进行求导,从而实现基于梯度的优化。这种技术在科学计算和人工智能领域有着广泛的应用前景。
可微编程
可微编程为编程范例,其中一数字计算机程序可以区分整个经由自动分化。这允许对程序中的参数进行基于梯度的优化,通常通过梯度下降。可微分编程已在广泛的领域中得到应用,尤其是科学计算和人工智能。
可微编程方法
大多数可微编程框架通过构建一个包含程序中的控制流和数据结构的图来工作。早期的尝试通常分为两类:
基于静态、编译图的方法,例如TensorFlow、Theano和MXNet。它们倾向于允许良好的编译器优化和更容易扩展到大型系统,但它们的静态特性限制了交互性和可以轻松创建的程序类型(例如那些涉及循环或递归的程序),并且使用户更难推理有效地了解他们的计划。
运算符重载、基于动态图的方法,例如PyTorch和AutoGrad。它们的动态和交互性质使大多数程序的编写和推理更加容易。但是,它们会导致解释器开销(尤其是在组合许多小操作时)、较差的可扩展性,并且难以从编译器优化中获益。
这两种早期方法都只能区分以适合框架的方式编写的代码,限制了它们与其他程序的互操作性。
Julia编程语言的一个更新包——Zygote——通过将语言的语法视为图形来解决早期尝试面临的问题。然后可以直接区分、优化和编译任意代码的中间表示。
一种名为Myia的编程语言“目前正在开发中,尚未准备好使用”,它允许使用编译为Myia的Python子集来定义模型。
可微编程的应用
可微编程已经在领域得到了应用,例如结合深度学习与物理引擎中的机器人,解决与可微电子结构问题密度泛函理论,可微光线跟踪,图像处理,以及概率性编程。
热门推荐
网贷多了有影响吗
谐音梗可别念“邪”了
视频号直播可以放二维码吗
炒熟的木耳第二天能吃吗
如何评估和管理个人财务风险
掌握符号使用技巧,提升打字和写作的表达能力与效率
孩子吃水果的益处:促进生长发育与增强免疫力
个人医疗保险应该怎样缴费,医疗保险费由哪几部分组成
宁波普职融通班综合高中_融通融合学校
现代社交中“thx”的使用:效率与情感的平衡探讨
THX是什么意思?网络用语背后的文化解读
锅底黑垢硬如铁?老祖宗传下的妙招,不刮不擦自动掉!
公司加班工资规定包括哪些
非遗绒花:心有山海 静待花开 巧手制作绒花 许你一世荣华
焦亚硫酸钠对人体有哪些危害
女子蝴蝶兰养成“盆景”,那叫一个精致,网友:这也太美了吧!
滴耳液用后耳闷?多为正常现象,但需细心观察!
临床路径的意义与应用
春秋时期齐国内乱与法律秩序的崩溃
卢旺达疫情,挑战、应对与希望
pdf文档加密了,但是不知道密码,怎么打印出来
笔记管理项目怎么写
房间布局风水讲究:从卧室到家具的全方位指南
逆风翻盘:经济低迷时期的自我增值战略,不投资自己你将错过未来
长期吃苹果的十大坏处
东南互保:清末地方势力与列强的特殊协议
企业管理团队的反思方法与实践指南
出生农历还是阳历?一文读懂两种历法的差异与应用
什么是长期合同?从定义到法律风险的全面解析
英语基础薄弱?从零开始备考大学英语四级的完整攻略