Automatic Differentiation (AD) is the mechanical transformation of computer code implementing a numeric function to efficiently calculate various derivatives. AD had its first successes at the dawn of the computer age, and has continued to develop. Today, AD in the reverse accumulation mode is the beating heart of deep learning. This talk begins by exploring the basic ideas of AD: its various modes, its exactness properties, ways in which it has been formalized, and how different AD systems work in practice. Most work in the field has been based on procedural languages and preprocessors or DSLs and staged computation. We will discuss the emerging generation of systems based on functional languages and integrated into compilers, and the difficulties and promise of this approach. We close by exploring frontiers and pain points: derivatives of higher order functions, nested derivatives, numeric issues introduced by differentiation, problems with approximation, and places where there is a substantial performance gap between the best human code and the best AD systems.
Mon 18 JanDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:00 - 17:30
|[T1] The Current State of Automatic Differentiation
Barak A. Pearlmutter Maynooth University