In plain words: Adding a little random noise to discrete steps like sorting or picking nearest neighbors turns them into smooth operations, so learning signals can flow backward through the whole system. It plugs into existing solvers and performed well on several tasks while keeping gradient computation cheap.
Abstract
Machine learning pipelines often rely on optimization procedures to make discrete decisions (e.g., sorting, picking closest neighbors, or shortest paths). Although these discrete decisions are easily computed, they break the back-propagation of computational graphs. In order to expand the scope of learning problems that can be solved in an end-to-end fashion, we propose a systematic method to transform optimizers into operations that are differentiable and never locally constant. Our approach relies on stochastically perturbed optimizers, and can be used readily together with existing solvers. Their derivatives can be evaluated efficiently, and smoothness tuned via the chosen noise amplitude. We also show how this framework can be connected to a family of losses developed in structured prediction, and give theoretical guarantees for their use in learning tasks. We demonstrate experimentally the performance of our approach on various tasks.
Quentin Berthet, Mathieu Blondel, Olivier Teboul, Marco Cuturi, Jean-Philippe Vert, Francis Bach
arXiv:2002.08676 · cs.LG, math.OC, stat.ML · submitted Feb 20, 2020 · updated Jun 9, 2020
abstract · pdf · html