Deep Declarative Dynamic Time Warping for End-to-End Learning of Alignment Paths

Ming Xu, Sourav Garg, Michael Milford, Stephen Gould
3/19/2023
cs.LGcs.CVcs.RO

No official code found. Best implementation: mingu6/declarativedtw (24 stars, MIT, last commit 2023-05-29).

Abstract

This paper addresses learning end-to-end models for time series data that include a temporal alignment step via dynamic time warping (DTW). Existing approaches to differentiable DTW either differentiate through a fixed warping path or apply a differentiable relaxation to the min operator found in the recursive steps used to solve the DTW problem. We instead propose a DTW layer based around bi-level optimisation and deep declarative networks, which we name DecDTW. By formulating DTW as a continuous, inequality constrained optimisation problem, we can compute gradients for the solution of the optimal alignment (with respect to the underlying time series) using implicit differentiation. An interesting byproduct of this formulation is that DecDTW outputs the optimal warping path between two time series as opposed to a soft approximation, recoverable from Soft-DTW. We show that this property is particularly useful for applications where downstream loss functions are defined on the optimal alignment path itself. This naturally occurs, for instance, when learning to improve the accuracy of predicted alignments against ground truth alignments. We evaluate DecDTW on two such applications, namely the audio-to-score alignment task in music information retrieval and the visual place recognition task in robotics, demonstrating state-of-the-art results in both.

View on arXivView PDF

Code Implementations(1)

MIT

Reference implementation of DecDTW in PyTorch (ICLR 2023)

241Python, Jupyter NotebookMar 18, 20233 years agoMIT

Similar Papers

Cite this paper

@article{xu2023deep,
  title  = {Deep Declarative Dynamic Time Warping for End-to-End Learning of Alignment Paths},
  author = {Ming Xu and Sourav Garg and Michael Milford and Stephen Gould},
  year   = {2023},
  eprint = {2303.10778},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2303.10778v1},
  journal = {ICLR 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2303.10778.svg)](https://codeofpaper.com/paper/2303.10778)

Discussion