Workshop
The Future of Gradient-Based Machine Learning Software
Alex Wiltschko · Zachary DeVito · Frederic Bastien · Pascal Lamblin

Sat Dec 10th 08:00 AM -- 06:30 PM @ Room 115
Event URL: https://autodiff-workshop.github.io/ »

The calculation of gradients and other forms of derivatives is a core part of machine learning, computer vision, and physical simulation. But the manual creation of derivatives is prone to error and requires a high "mental overhead" for practitioners in these fields. However, the process of taking derivatives is actually the highly mechanical application of the chain rule and can be computed using formal techniques such as automatic or symbolic differentiation. A family of "autodiff" approaches exist, each with their own particular strengths and tradeoffs.

In the ideal case, automatically generated derivatives should be competitive with manually generated ones and run at near-peak performance on modern hardware, but the most expressive systems for autodiff which can handle arbitrary, Turing-complete programs, are unsuited for performance-critical applications, such as large-scale machine learning or physical simulation. Alternatively, the most performant systems are not designed for use outside of their designated application space, e.g. graphics or neural networks. This workshop will bring together developers and researchers of state-of-the-art solutions to generating derivatives automatically and discuss ways in which these solutions can be evolved to be both more expressive and achieve higher performance. Topics for discussion will include:

- Whether it is feasible to create a single differentiable programming language, or if we will always have separate solutions for different fields such as vision and ML.
- What are the primitive data types of a differentiable language? N-dimensional arrays are useful for many machine learning applications, but other domains make use of graph types and sparse matrices.
- What are the challenges in elevating an expressive autodiff implementation from just a “prototyping language” to one used directly in performance-critical industrial settings?
- A shared representation of programs like LLVM IR has transformed programming language and compiler research. Is there any benefit to a common representation of differentiable programs that would enable shared tooling amongst autodiff libraries and implementations?

09:00 AM Opening Remarks (Intro)
09:10 AM Barak A. Pearlmutter – Automatic Differentiation: History and Headroom (Talk) Barak A. Pearlmutter
09:50 AM David Duvenaud – No more mini-languages: The power of autodiffing full-featured Python (Talk) David Duvenaud
10:30 AM Coffee Break 1 (Break)
11:00 AM Jeff Dean – TensorFlow: Future Directions for Simplifying Large-Scale Machine Learning (Talk) Jeff Dean
11:40 AM Lunch break (Break)
02:30 PM Yoshua Bengio – Credit assignment: beyond backpropagation (Talk) Yoshua Bengio
03:10 PM Matthew Johnson – Autodiff writes your exponential family inference code (Talk) Matthew Johnson
03:50 PM Coffee Break 2 (Break)
04:30 PM Jeffrey M. Siskind – The tension between convenience and performance in automatic differentiation (Talk) Jeffrey M Siskind
05:10 PM Panel Discussion (Panel)

Author Information

Alex Wiltschko (Twitter)
Zachary DeVito (Stanford)
Frederic Bastien (MILA - University of Montreal)
Pascal Lamblin (Google)

More from the Same Authors