Smoothing Methods for Automatic Differentiation Across Conditional Branches
Justin N. Kreikemeyer, Philipp Andelfinger

TL;DR
This paper introduces a novel approach combining smooth interpretation with automatic differentiation to efficiently compute gradients of programs with discontinuous control flow, enabling improved optimization in complex models.
Contribution
It presents a new method integrating smooth interpretation with AD and a Monte Carlo estimator to handle discontinuities in program optimization tasks.
Findings
Monte Carlo estimator avoids assumptions of SI, providing robust gradient estimates.
The combined approach outperforms existing methods in high-dimensional problems.
The method enables direct gradient-based optimization of discontinuous programs.
Abstract
Programs involving discontinuities introduced by control flow constructs such as conditional branches pose challenges to mathematical optimization methods that assume a degree of smoothness in the objective function's response surface. Smooth interpretation (SI) is a form of abstract interpretation that approximates the convolution of a program's output with a Gaussian kernel, thus smoothing its output in a principled manner. Here, we combine SI with automatic differentiation (AD) to efficiently compute gradients of smoothed programs. In contrast to AD across a regular program execution, these gradients also capture the effects of alternative control flow paths. The combination of SI with AD enables the direct gradient-based parameter synthesis for branching programs, allowing for instance the calibration of simulation models or their combination with neural network models in machine…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMachine Learning and Algorithms · Reservoir Engineering and Simulation Methods · Parallel Computing and Optimization Techniques
MethodsAdam · Convolution
