Tight estimation of the Lipschitz constant for deep neural networks (DNNs) is useful in many applications ranging from robustness certification of classifiers to stability analysis of closed-loop systems with reinforcement learning controllers. Existing methods in the literature for estimating the Lipschitz constant suffer from either lack of accuracy or poor scalability. In this paper, we present a convex optimization framework to compute guaranteed upper bounds on the Lipschitz constant of DNNs both accurately and efficiently. Our main idea is to interpret activation functions as gradients of convex potential functions. Hence, they satisfy certain properties that can be described by quadratic constraints. This particular description allows us to pose the Lipschitz constant estimation problem as a semidefinite program (SDP). The resulting SDP can be adapted to increase either the estimation accuracy (by capturing the interaction between activation functions of different layers) or scalability (by decomposition and parallel implementation). We illustrate the utility of our approach with a variety of experiments on randomly generated networks and on classifiers trained on the MNIST and Iris datasets. In particular, we experimentally demonstrate that our Lipschitz bounds are the most accurate compared to those in the literature. We also study the impact of adversarial training methods on the Lipschitz bounds of the resulting classifiers and show that our bounds can be used to efficiently provide robustness guarantees.
翻译:深入神经网络(DNN)对Lipschitz常量的严格估计在许多应用中非常有用,从分类者的稳健认证到对闭环系统进行稳定分析,这些应用包括强化学习控制器。文献中估算Lipschitz常量的现有方法要么缺乏准确性,要么缩放能力差。在本文中,我们提出了一个Convex优化框架,以准确和高效地计算Lipschitz常量的保障上限。我们的主要想法是将激活功能解释为卷轴潜在功能的梯度。因此,它们满足了可被二次约束限制描述的某些特性。这种特定描述使我们能够将Lipschitz常量的估计问题作为半确定性程序(SDP)提出。由此产生的SDP可以调整,以提高估算准确性(通过捕捉不同层的激活功能之间的相互作用)或缩放性(通过分解和平行执行)。我们用的方法用各种随机生成的网络的实验以及经MNIST和Iris数据集培训的分类方法来说明其效用。特别是,我们实验性地展示了Lipsch的常数约束性研究,并展示了我们所运用的精准性研究方法。