可微编程:让计算机程序实现自动微分的革命性技术
创作时间:
作者:
@小白创作中心
可微编程:让计算机程序实现自动微分的革命性技术
引用
1
来源
1.
https://vibaike.com/126323/
可微编程是一种新兴的编程范式,它允许计算机程序通过自动微分进行求导,从而实现基于梯度的优化。这种技术在科学计算和人工智能领域有着广泛的应用前景。
可微编程
可微编程为编程范例,其中一数字计算机程序可以区分整个经由自动分化。这允许对程序中的参数进行基于梯度的优化,通常通过梯度下降。可微分编程已在广泛的领域中得到应用,尤其是科学计算和人工智能。
可微编程方法
大多数可微编程框架通过构建一个包含程序中的控制流和数据结构的图来工作。早期的尝试通常分为两类:
基于静态、编译图的方法,例如TensorFlow、Theano和MXNet。它们倾向于允许良好的编译器优化和更容易扩展到大型系统,但它们的静态特性限制了交互性和可以轻松创建的程序类型(例如那些涉及循环或递归的程序),并且使用户更难推理有效地了解他们的计划。
运算符重载、基于动态图的方法,例如PyTorch和AutoGrad。它们的动态和交互性质使大多数程序的编写和推理更加容易。但是,它们会导致解释器开销(尤其是在组合许多小操作时)、较差的可扩展性,并且难以从编译器优化中获益。
这两种早期方法都只能区分以适合框架的方式编写的代码,限制了它们与其他程序的互操作性。
Julia编程语言的一个更新包——Zygote——通过将语言的语法视为图形来解决早期尝试面临的问题。然后可以直接区分、优化和编译任意代码的中间表示。
一种名为Myia的编程语言“目前正在开发中,尚未准备好使用”,它允许使用编译为Myia的Python子集来定义模型。
可微编程的应用
可微编程已经在领域得到了应用,例如结合深度学习与物理引擎中的机器人,解决与可微电子结构问题密度泛函理论,可微光线跟踪,图像处理,以及概率性编程。
热门推荐
消失夫妻案背后的法律迷雾
蒺藜:野性之美与生命的顽强
保护你的数据隐私!新技术将实现绝对安全的「量子云计算」
眨眼间可完成上百年才能处理的问题!量子计算技术挑战传统计算机极限
中国带京的城市有哪些?全面了解含京的城市
IntelliJ IDEA快捷键大汇总,效率飙升秘籍!
3元早餐自助,养活了多少北漂
艾滋病舆情风险:构建和谐社会的隐形挑战与应对策略
“VGA转HDMI输出效果实测:显示效果大揭秘!”
经过长下坡路段,如何确保行车安全?
农村土地补偿全攻略:农田抛荒、征地、杂屋拆除如何补偿?
全面解析:车险产品种类与保障范围
杨绛:人性的丑陋之处
失眠超过多久就难治愈了
古人如何送礼?
生姜的功效与作用有什么 生姜的营养价值有哪些
肝不好会变丑?!教你5招养肝!从此不早衰,美起来
苹果天然果蜡和人工蜡的区别
女生怀孕后可以喝咖啡吗?咖啡因对胎儿有哪些影响?
无信号灯路口通行规则:让行原则与安全注意事项
书信的基本格式包括五个部分
如何写出吸睛标题?创意标题范例与写作技巧全解析
揭秘香酥炸油条的美味秘诀:从和面到配方的完美融合
安全生产知识大全:从“六做到”到“十二忌”
用上定向扬声技术,深圳破解广场舞噪声扰民难题
雍正将年羹尧从大将军贬为杭州将军,其实杭州将军权力地位并不低
房地产中介在客户看好了房子后,如何进行价格谈判?
跨境电商品牌出海如何做好产品定位
我们应该追寻精神疾病的共性吗?
汽车开转向灯的正确方式是什么?如何避免转向灯使用错误?