A Simple Differentiable Programming Language

被引:26
|
作者
Abadi, Martin [1 ]
Plotkin, Gordon D. [1 ]
机构
[1] Google Res, Mountain View, CA 94043 USA
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2020年 / 4卷 / POPL期
关键词
automatic differentiation; differentiable programming; CALCULUS;
D O I
10.1145/3371106
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:28
相关论文
共 50 条
  • [1] Efficient Differentiable Programming in a Functional Array-Processing Language
    Shaikhha, Amir
    Fitzgibbon, Andrew
    Vytiniotis, Dimitrios
    Jones, Simon Peyton
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (ICFP):
  • [2] Coarsening Optimization for Differentiable Programming
    Shen, Xipeng
    Zhang, Guoqiang
    Dea, Irene
    Andow, Samantha
    Arroyo-Fang, Emilio
    Gafter, Neal
    George, Johann
    Grueter, Melissa
    Meijer, Erik
    Shivers, Olin Grigsby
    Stumpos, Steffi
    Tempest, Alanna
    Warden, Christy
    Yang, Shannon
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (05):
  • [3] LAGrad: Statically Optimized Differentiable Programming in MLIR
    Peng, Mai Jacob
    Dubach, Christophe
    PROCEEDINGS OF THE 32ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, CC 2023, 2023, : 228 - 238
  • [4] A Language for Differentiable Functions
    Di Gianantonio, Pietro
    Edalat, Abbas
    FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATION STRUCTURES (FOSSACS 2013), 2013, 7794 : 337 - 352
  • [5] DIFFERENTIABLE PROGRAMMING A LA MOREAU
    Roulet, Vincent
    Harchaoui, Zaid
    2022 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP), 2022, : 3498 - 3502
  • [6] Differentiable Programming Tensor Networks
    Liao, Hai-Jun
    Liu, Jin-Guo
    Wang, Lei
    Xiang, Tao
    PHYSICAL REVIEW X, 2019, 9 (03)
  • [7] Differentiable programming for functional connectomics
    Ciric, Rastko
    Thomas, Armin W.
    Esteban, Oscar
    Poldrack, Russell A.
    MACHINE LEARNING FOR HEALTH, VOL 193, 2022, 193 : 419 - 455
  • [8] Differentiable Quantum Programming with Unbounded Loops
    Fang, Wang
    Ying, Mingsheng
    Wu, Xiaodi
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2024, 33 (01)
  • [9] A differentiable programming framework for spin models
    Farias, Tiago S.
    Schultz, Vitor V.
    Mombach, Jose C. M.
    Maziero, Jonas
    COMPUTER PHYSICS COMMUNICATIONS, 2024, 302
  • [10] A differentiable programming method for quantum control
    Schafer, Frank
    Kloc, Michal
    Bruder, Christoph
    Lorch, Niels
    MACHINE LEARNING-SCIENCE AND TECHNOLOGY, 2020, 1 (03):