Efficient differentiable programming in a functional array-processing language
- Amir Shaikhha ,
- Andrew Fitzgibbon ,
- Dimitrios Vytiniotis ,
- Simon Peyton Jones
International Conference on Functional Programming (ICFP'19) |
Published by ACM
We present a system for the automatic differentiation (AD) of a higher-order functional array-processing language. The core functional language underlying this system simultaneously supports both source-to-source forward-mode AD and global optimisations such as loop transformations. In combination, gradient computation with forward-mode AD can be as efficient as reverse mode, and that the Jacobian matrices required for numerical algorithms such as Gauss-Newton and Levenberg-Marquardt can be efficiently computed.