Advertisement

技术分享 | 自动微分到可微编程语言设计(一)

阅读量:

摘要

自动微分(Automatic Differentiation,AD)作为一种能够对计算机程序实施高效且精确求导的技术手段,长期以来在计算流体力学、大气科学以及工业设计仿真优化等多个领域得到了广泛应用。而随着近年来机器学习技术的迅猛发展,自动微分相关研究也迎来了新的发展阶段。伴随着对自动微分及其他微分技术研究的不断深入,其与编程语言、计算框架以及编译器等领域的关联性日益增强,进而催生并拓展出更为通用的可微编程理念。本文将围绕自动微分技术及其相关的可微编程研究现状与发展趋势展开系统性梳理与总结。

本文内容将分为三个主要部分,具体结构安排如下:

  • 常见的计算机程序求导方法概述
  • 当前业界关于自动微分及可微编程的相关方案解析
  • 自动微分与可微编程领域尚未解决的关键问题及未来发展方向

常见计算机程序求导方法介绍

计算机程序求导的实现方式可划分为如下四类:

  • 通过人工计算导数并编写相应的程序代码(Manual Differentiation)
  • 利用有限差分法进行近似求导,该方法被称为数值微分(Numerical Differentiation)
  • 依据数学运算规则对程序表达式进行转换以完成求导过程,此方法称为符号微分(Symbolic Differentiation)
  • 处于数值微分与符号微分之间的新型求导技术,

全部评论 (0)

还没有任何评论哟~