[Colloquium] Jeff Siskind talk on Tuesday (April 8th)

Robby Findler robby at cs.uchicago.edu
Sat Apr 5 19:52:14 CDT 2008


[ NOTE: TALK IS NOT IN USUAL PLACE! ]

Hi everyone. Jeff will be giving a talk next Tuesday at 11am in
Ryerson 352. The room is at the top of the stairs -- just turn right
at the top and it will be straight ahead of you.

The talk and title are below. Look forward to seeing you there!

Robby

Automatic Differentiation of Functional Programs
or
Lambda the Ultimate Calculus

Jeffrey Siskind
School of Electrical and Computer Engineering
Purdue University

It is extremely useful to be able to take derivatives of
functions expressed as computer programs to support function
optimization and approximation, parameter estimation, machine
learning, and ultimately computational science and engineering
design. The established discipline of Automatic
Differentiation (AD) has largely focussed on imperative
languages, where it is most efficiently implemented as a
source-to-source transformation performed by a preprocessor. This
talk will present a novel formulation of AD for functional
programs expressed in the lambda calculus. A key novel aspect of
our formulation is that AD is performed by higher-order functions
that reflectively transform closure bodies. Our methods exhibit
an important closure property that prior AD formulations lack:
the ability to transform the entire space of input programs,
including those produced by the AD transformations
themselves. This is crucial for solving the kinds of nested
optimizations that arise in domains such as game theory and
automatic control. Furthermore, since the input and output of our
transformations is the lambda calculus, efficient implementation
is facilitated by extensions of standard compilation
techniques. We exhibit a novel "almost" union-free polyvariant
flow-analysis algorithm, formulated as abstract interpretation,
that partially evaluates calls to the AD operators, migrating
reflective source-to-source transformation to compile time. This
yields code with run-time performance that matches or exceeds the
best existing AD implementations for imperative languages and
outperforms all AD implementations for functional languages by
two to three orders of magnitude.

Joint work with Barak A. Pearlmutter


More information about the Colloquium mailing list