Reference. Distribution Theoretic Semantics for Non-Smooth Differentiable Programming
With the wide spread of deep learning and gradient descent inspired optimization algorithms, differentiable programming has gained traction. Nowadays it has found applications in many different areas as well, such as scientific computing, robotics, computer graphics and others. One of its notoriously difficult problems consists in interpreting programs that are not differentiable everywhere.
In this work we define , a core calculus for non-smooth differentiable programs and define its semantics using concepts from distribution theory, a well-established area of functional analysis. We also show how presents better equational properties than other existing semantics and use our semantics to reason about a simplified ray tracing algorithm. Further, we relate our semantics to existing differentiable languages by providing translations to and from other existing differentiable semantic models. Finally, we provide a proof-of-concept implementation in PyTorch of the novel constructions in this paper.
Cite
Cites 29 works (2 here)
With notes (2)
A convenient category for higher-order probability theory heunen-2017-a
Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints staton-2016-semantics
External (27)
- Systematically differentiating parametric discontinuities (2021)
- Kohn-Sham equations as regularizer: building prior knowledge into machine-learned physics (2021)
- Unbiased warped-area sampling for differentiable rendering (2020)
- 𝜆ₛ: computable semantics for differentiable programming with higher-order functions and datatypes (2020)
- Denotational Correctness of Forward-Mode Automatic Differentiation for Iteration and Recursion (2020)
- Correctness of Automatic Differentiation via Diffeologies and Categorical Gluing (2020)
- A simple differentiable programming language (2019)
- DiffTaichi: Differentiable Programming for Physical Simulation (2019)
- Sound and robust solid modeling via exact real arithmetic and continuity (2019)
- A Differentiable Physics Engine for Deep Learning in Robotics (2019)
- A differentiable programming system to bridge machine learning and scientific computing (2019)
- Differentiable Monte Carlo ray tracing through edge sampling (2018)
- Differentiable programming for image processing and deep learning in halide (2018)
- A Logical Account for Linear Partial Differential Equations (2018)
- Nonsmooth Optimization for Statistical Learning with Structured Matrix Regularization (2017)
- TensorFlow: A system for large-scale machine learning (2016)
- Mackey-complete spaces and power series – a topological model of differential linear logic (2015)
- Diffeology (Iglesias-Zemmour) (2013)
- Smooth Manifolds (Lee, Introduction to Smooth Manifolds) (2013)
- A convenient differential category (2012)
- Distributions, analyse de Fourier, équations aux dérivées partielles (2010)
- Reverse-mode AD in a functional framework: Lambda the ultimate backpropagator (2008)
- Categorical distribution theory; heat equation (2004)
- The differential lambda-calculus (2003)
- Functional automatic differentiation with dirac impulses (2003)
- The if-problem in automatic differentiation (1994)
- On automatic differentiation (1989)