Stochastic Taylor Derivative Estimator: Efficient amortization for arbitrary differential operators

Zekun Shi, Zheyuan Hu, Min Lin, Kenji Kawaguchi
11/27/2024
cs.LG

No official code found. Best implementation: sail-sg/stde (127 stars, last commit 2024-11-27).

Abstract

Optimizing neural networks with loss that contain high-dimensional and high-order differential operators is expensive to evaluate with back-propagation due to $\mathcal{O}(d^{k})$ scaling of the derivative tensor size and the $\mathcal{O}(2^{k-1}L)$ scaling in the computation graph, where $d$ is the dimension of the domain, $L$ is the number of ops in the forward computation graph, and $k$ is the derivative order. In previous works, the polynomial scaling in $d$ was addressed by amortizing the computation over the optimization process via randomization. Separately, the exponential scaling in $k$ for univariate functions ($d=1$) was addressed with high-order auto-differentiation (AD). In this work, we show how to efficiently perform arbitrary contraction of the derivative tensor of arbitrary order for multivariate functions, by properly constructing the input tangents to univariate high-order AD, which can be used to efficiently randomize any differential operator. When applied to Physics-Informed Neural Networks (PINNs), our method provides >1000$\times$ speed-up and >30$\times$ memory reduction over randomization with first-order AD, and we can now solve \emph{1-million-dimensional PDEs in 8 minutes on a single NVIDIA A100 GPU}. This work opens the possibility of using high-order differential operators in large-scale problems.

View on arXivView PDF

Code Implementations(1)

sail-sg/stdeCommunity100%

Official implementation of Stochastic Taylor Derivative Estimator (STDE) NeurIPS2024

1279Shell, PythonNov 15, 20241 years ago

Similar Papers

Cite this paper

@article{shi2024stochastic,
  title  = {Stochastic Taylor Derivative Estimator: Efficient amortization for arbitrary differential operators},
  author = {Zekun Shi and Zheyuan Hu and Min Lin and Kenji Kawaguchi},
  year   = {2024},
  eprint = {2412.00088},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2412.00088},
  url    = {http://arxiv.org/abs/2412.00088v2},
  journal = {NEURIPS 2024 2024}
}

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/2412.00088.svg)](https://codeofpaper.com/paper/2412.00088)

Discussion