一句话:提出 Pasado,通过直接合成自动微分链式、乘积和商法则复合表达式的抽象变换器,获得比组合标准变换器更精确且可靠的静态分析器。
自动微分的静态分析通常将各非线性运算的标准抽象变换器逐层组合,导致精度损失。Pasado 直接为链式法则、乘法法则和除法法则的复合表达式合成抽象变换器,同时抽象其中的非线性运算,并证明所得分析器可靠。方法可实例化于不同非线性函数、区间与 zonotope 抽象域以及前向/反向自动微分。评估中,Pasado 在最大 CNN 上计算的局部 Lipschitz 常数比先进 zonotope 分析精确至多 2750 倍;对气候、化学与金融微分方程解敏感度的界平均精确 1.31–2.81 倍。
We present Pasado, a technique for synthesizing precise static analyzers for Automatic Differentiation. Our technique allows one to automatically construct a static analyzer specialized for the Chain Rule, Product Rule, and Quotient Rule computations for Automatic Differentiation in a way that abstracts all of the nonlinear operations of each respective rule simultaneously. By directly synthesizing an abstract transformer for the composite expressions of these 3 most common rules of AD, we are able to obtain significant precision improvement compared to prior works which compose standard abstract transformers together suboptimally. We prove our synthesized static analyzers sound and additionally demonstrate the generality of our approach by instantiating these AD static analyzers with different nonlinear functions, different abstract domains (both intervals and zonotopes) and both forward-mode and reverse-mode AD. We evaluate Pasado on multiple case studies, namely soundly computing bounds on a neural network’s local Lipschitz constant, soundly bounding the sensitivities of financial models, certifying monotonicity, and lastly, bounding sensitivities of the solutions of differential equations from climate science and chemistry for verified ranges of initial conditions and parameters. The local Lipschitz constants computed by Pasado on our largest CNN are up to 2750× more precise compared to the existing state-of-the-art zonotope analysis. The bounds obtained on the sensitivities of the climate, chemical, and financial differential equation solutions are between 1.31 − 2.81× more precise (on average) compared to a state-of-the-art zonotope analysis.
@article{paperbot1889,
title = {Synthesizing Precise Static Analyzers for Automatic Differentiation},
author = {Jacob Laurel and Siyuan Brant Qian and Gagandeep Singh and Sasa Misailovic},
journal = {Proceedings of the ACM on Programming Languages},
volume = {7},
number = {OOPSLA2},
year = {2023},
doi = {10.1145/3622867}
}