paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Efficient differentiable programming in a functional array-processing language

函数式数组处理语言中的高效可微编程
ICFP 3(ICFP)2019匹配度 2/10 · 该论文属于函数式语言与自动微分/编译优化交叉,虽涉及PL与ML系统,但并未聚焦静态分析、Agentic程序、浮点程序分析、贝叶斯程序分析或LLM/Agent与PL的结合。与用户当前研究画像的核心问题关联较弱,仅在PL+ML编译器工程层面有边缘相关性。引用 49 inbox
Amir Shaikhha, Andrew Fitzgibbon, Dimitrios Vytiniotis, Simon Peyton Jones
crossref: 2026-09-10

AI 速览

一句话:在函数式数组处理语言中集成源到源前向自动微分与循环变换等全局优化,使梯度计算效率可与反向模式媲美。

本文面向高阶函数式数组处理语言,提出一个自动微分(AD)系统。其核心函数式语言同时支持源到源的前向模式 AD,以及循环变换等全局优化,从而把微分变换与程序优化结合在同一框架内。作者指出,这种组合可使前向模式 AD 的梯度计算效率与反向模式相当,并能高效计算 Gauss-Newton、Levenberg-Marquardt 等数值算法所需的 Jacobian 矩阵。该工作展示了在函数式数组语言中实现高效可微编程的可行路径,并支持将循环变换等优化与梯度计算相结合。

问题
如何在高阶函数式数组处理语言中实现自动微分,并使其与循环变换等全局优化协同,从而获得高效的梯度计算。
方法
在核心函数式语言中同时支持源到源前向模式 AD 与全局优化,并将二者组合用于梯度与 Jacobian 计算。
评估
摘要指出该组合使前向模式 AD 的梯度计算效率可与反向模式相当,并能高效计算 Gauss-Newton、Levenberg-Marquardt 等算法所需的 Jacobian 矩阵。
原文摘要(Abstract)

We present a system for the automatic differentiation (AD) of a higher-order functional array-processing language. The core functional language underlying this system simultaneously supports both source-to-source forward-mode AD and global optimisations such as loop transformations. In combination, gradient computation with forward-mode AD can be as efficient as reverse mode, and that the Jacobian matrices required for numerical algorithms such as Gauss-Newton and Levenberg-Marquardt can be efficiently computed.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot583,
  title = {Efficient differentiable programming in a functional array-processing language},
  author = {Amir Shaikhha and Andrew Fitzgibbon and Dimitrios Vytiniotis and Simon Peyton Jones},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {ICFP},
  year = {2019},
  doi = {10.1145/3341701}
}