arXiv Analytics

Sign in

arXiv:1810.11530 [cs.LG]AbstractReferencesReviewsResources

Automatic differentiation in ML: Where we are and where we should be going

Bart van Merriƫnboer, Olivier Breuleux, Arnaud Bergeron, Pascal Lamblin

Published 2018-10-26Version 1

We review the current state of automatic differentiation (AD) for array programming in machine learning (ML), including the different approaches such as operator overloading (OO) and source transformation (ST) used for AD, graph-based intermediate representations for programs, and source languages. Based on these insights, we introduce a new graph-based intermediate representation (IR) which specifically aims to efficiently support fully-general AD for array programming. Unlike existing dataflow programming representations in ML frameworks, our IR naturally supports function calls, higher-order functions and recursion, making ML models easier to implement. The ability to represent closures allows us to perform AD using ST without a tape, making the resulting derivative (adjoint) program amenable to ahead-of-time optimization using tools from functional language compilers, and enabling higher-order derivatives. Lastly, we introduce a proof of concept compiler toolchain called Myia which uses a subset of Python as a front end.

Related articles: Most relevant | Search more
arXiv:2006.06903 [cs.LG] (Published 2020-06-12)
On Correctness of Automatic Differentiation for Non-Differentiable Functions
arXiv:2301.13370 [cs.LG] (Published 2023-01-31)
On the Correctness of Automatic Differentiation for Neural Networks with Machine-Representable Parameters
arXiv:2405.14932 [cs.LG] (Published 2024-05-23)
Fast Inference Using Automatic Differentiation and Neural Transport in Astroparticle Physics