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 条
  • [21] Primal-Dual Differentiable Programming for Distribution System Critical Load Restoration
    Zhang, Xiangyu
    Knueven, Bernard
    Zamzam, Ahmed
    Reynolds, Matthew
    Jones, Wesley
    2023 IEEE POWER & ENERGY SOCIETY GENERAL MEETING, PESGM, 2023,
  • [22] λS : Computable Semantics for Differentiable Programming with Higher-Order Functions and Datatypes
    Sherman, Benjamin
    Michel, Jesse
    Carbin, Michael
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (POPL):
  • [23] LMNtal as a hierarchical logic programming language
    Ueda, Kazunori
    THEORETICAL COMPUTER SCIENCE, 2009, 410 (46) : 4784 - 4800
  • [24] THB-DiFF: a GPU-accelerated differentiable programming framework for THB-splines
    Moola, Ajith
    Balu, Aditya
    Krishnamurthy, Adarsh
    Pawar, Aishwarya
    ENGINEERING WITH COMPUTERS, 2024, 40 (06) : 3477 - 3493
  • [25] Novel machine learning and differentiable programming techniques applied to the VIP-2 underground experiment
    Napolitano, Fabrizio
    Bazzi, Massimiliano
    Bragadireanu, Mario
    Cargnelli, Michael
    Clozza, Alberto
    De Paolis, Luca
    Del Grande, Raffaele
    Fiorini, Carlo
    Guaraldo, Carlo
    Iliescu, Mihail
    Laubenstein, Matthias
    Manti, Simone
    Marton, Johann
    Miliucci, Marco
    Piscicchia, Kristian
    Porcelli, Alessio
    Scordo, Alessandro
    Sgaramella, Francesco
    Sirghi, Diana Laura
    Sirghi, Florin
    Doce, Oton Vazquez
    Zmeskal, Johann
    Curceanu, Catalina
    MEASUREMENT SCIENCE AND TECHNOLOGY, 2024, 35 (02)
  • [26] A Concurrent Programming Language with Refined Session Types
    Franco, Juliana
    Vasconcelos, Vasco Thudichum
    SOFTWARE ENGINEERING AND FORMAL METHODS, 2014, 8368 : 15 - 28
  • [27] Closing the gap between SGP4 and high-precision propagation via differentiable programming
    Acciarini, Giacomo
    Baydin, Atilim Gunes
    Izzo, Dario
    ACTA ASTRONAUTICA, 2025, 226 : 694 - 701
  • [28] A Formal Approach to Autonomic Systems Programming: The SCEL Language
    De Nicola, Rocco
    Loreti, Michele
    Pugliese, Rosario
    Tiezzi, Francesco
    ACM TRANSACTIONS ON AUTONOMOUS AND ADAPTIVE SYSTEMS, 2014, 9 (02)
  • [29] The AbU Language: IoT Distributed Programming Made Easy
    Pasqua, Michele
    Comuzzo, Massimo
    Miculan, Marino
    IEEE ACCESS, 2022, 10 : 132763 - 132776
  • [30] Differentiable programming for online training of a neural artificial viscosity function within a staggered grid Lagrangian hydrodynamics scheme
    Melland, Pake
    Albright, Jason
    Urban, Nathan M.
    MACHINE LEARNING-SCIENCE AND TECHNOLOGY, 2021, 2 (02):