Differentiable Dynamic Programming for Structured Prediction and Attention

02/11/2018
by   Arthur Mensch, et al.
0

Dynamic programming (DP) solves a variety of structured combinatorial problems by iteratively breaking them down into smaller subproblems. In spite of their versatility, DP algorithms are usually non-differentiable, which hampers their use as a layer in neural networks trained by backpropagation. To address this issue, we propose to smooth the max operator in the dynamic programming recursion, using a strongly convex regularizer. This allows to relax both the optimal value and solution of the original combinatorial problem, and turns a broad class of DP algorithms into differentiable operators. Theoretically, we provide a new probabilistic perspective on backpropagating through these DP operators, and relate them to inference in graphical models. We derive two particular instantiations of our framework, a smoothed Viterbi algorithm for sequence prediction and a smoothed DTW algorithm for time-series alignment. We showcase these instantiations on two structured prediction tasks and on structured and sparse attention for neural machine translation.

READ FULL TEXT
research
02/23/2021

Deep Policy Dynamic Programming for Vehicle Routing Problems

Routing problems are a class of combinatorial problems with many practic...
research
06/19/2023

BNN-DP: Robustness Certification of Bayesian Neural Networks via Dynamic Programming

In this paper, we introduce BNN-DP, an efficient algorithmic framework f...
research
12/07/2021

Scaling Structured Inference with Randomization

Deep discrete structured models have seen considerable progress recently...
research
02/02/2023

Fast, Differentiable and Sparse Top-k: a Convex Analysis Perspective

The top-k operator returns a k-sparse vector, where the non-zero values ...
research
07/05/2021

Polymorphic dynamic programming by algebraic shortcut fusion

Dynamic programming (DP) is a broadly applicable algorithmic design para...
research
12/02/2018

End-to-end Learning of Convolutional Neural Net and Dynamic Programming for Left Ventricle Segmentation

Differentiable programming is able to combine different functions or pro...
research
11/22/2019

Differentiable Algorithm for Marginalising Changepoints

We present an algorithm for marginalising changepoints in time-series mo...

Please sign up or login with your details

Forgot password? Click here to reset