paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A simple differentiable programming language

一个简单的可微分编程语言
POPL 4(POPL)2019匹配度 4/10 · 论文研究可微分编程语言的操作语义与指称语义,并证明反向模式微分实现与数学导数定义一致,属于 PL 与 ML 交叉的形式语义基础。但它不涉及静态分析、Agentic 程序、浮点程序分析、贝叶斯程序分析或 LLM/Agent 改进分析,因此与当前研究画像仅有间接关联。引用 49 inbox
Martín Abadi, Gordon D. Plotkin
crossref: 2026-09-10

AI 速览

一句话:为带反向模式微分的可微分编程语言建立操作语义与指称语义,并证明二者一致。

自动微分在科学计算与机器学习中广泛使用,但其不同实现与数学导数概念的关系常不清晰,甚至可能出现偏差。为在编程语境中研究自动微分,作者定义了一个小而富有表达力的可微分编程语言,包含反向模式微分构造。论文分别给出操作语义和指称语义:操作语义采用常见实现技术,指称语义采用实分析中的微分概念。关键结果是证明这两种语义相互一致,从而把实现技术与数学导数语义联系起来,为自动微分系统提供语义基础。

问题
自动微分的各种实现与数学导数之间的关系不总是清晰,可能出现不一致,缺乏统一的语义基础。
方法
定义一个包含反向模式微分构造的小型可微分语言,并分别给出基于常见实现技术的操作语义和基于实分析微分概念的指称语义。
评估
通过理论证明操作语义与指称语义一致(coincide),验证语义定义的合理性与实现技术的数学对应。
原文摘要(Abstract)

Automatic differentiation plays a prominent role in scientific computing and in modern machine learning, often in the context of powerful programming systems. The relation of the various embodiments of automatic differentiation to the mathematical notion of derivative is not always entirely clear---discrepancies can arise, sometimes inadvertently. In order to study automatic differentiation in such programming contexts, we define a small but expressive programming language that includes a construct for reverse-mode differentiation. We give operational and denotational semantics for this language. The operational semantics employs popular implementation techniques, while the denotational semantics employs notions of differentiation familiar from real analysis. We establish that these semantics coincide.

链接与引用

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

BibTeX
@article{paperbot555,
  title = {A simple differentiable programming language},
  author = {Martín Abadi and Gordon D. Plotkin},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {POPL},
  year = {2019},
  doi = {10.1145/3371106}
}