A Simple Differentiable Programming Language

被引:28
作者
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
相关论文
共 47 条
[1]  
Abadi M, 2016, PROCEEDINGS OF OSDI'16: 12TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, P265
[2]   Deep Learning with Differential Privacy [J].
Abadi, Martin ;
Chu, Andy ;
Goodfellow, Ian ;
McMahan, H. Brendan ;
Mironov, Ilya ;
Talwar, Kunal ;
Zhang, Li .
CCS'16: PROCEEDINGS OF THE 2016 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2016, :308-318
[3]  
Abramsky S., 1994, Handbook of Logic in Computer Science, V3, P1
[4]  
Agrawal A., 2019, ARXIV190301855
[5]  
Amari S, 1997, ADV NEUR IN, V9, P127
[6]  
[Anonymous], 2012, RECENT ADV ALGORITHM
[7]  
[Anonymous], 2010, P PYTHON SCI COMPUTI
[8]  
[Anonymous], 2005, IMPLEMENTATION APPL
[9]  
[Anonymous], 2016, ABS161103777 CORR
[10]  
Baydin AG, 2018, J MACH LEARN RES, V18