Danskin's Theorem

Statement 1

  • 假设 \(\phi(x,z)\) 为含有两个变量的连续函数: \(\phi : \mathbb{R}^n \times Z \rightarrow \mathbb{R}\),其中 \(Z \subset \mathbb{R}^m\) 为紧集。

  • 进一步假设,对于任意 \(z\in Z\)\(\phi(x,z)\) 是关于 \(x\) 的凸函数。

在这两个条件下,Danskin 定理给出了关于函数 \(f(x)=\max_{z\in Z} \phi(x,z)\) 的凸性和可微性的结论,为了描述这些结论,我们需要定义一组最大化点的集合 \(Z_0(x)\)

\[Z_0(x) = \left\{\overline{z}:\phi(x,\overline{z})=\max_{z\in Z}\phi(x,z) \right\} \]

Danskin 定理给出以下结论:

  1. Convexity 凸性
    \(f(x)\) 为凸函数
  2. Directional derivatives 方向导数
    \(f(x)\)\(y\) 方向上的方向导数为:

\[D_y f(x) = \max_{z\in Z_0(x)} \phi'(x,z;y) \]

  1. Derivative 导数
    如果 \(Z_{0}(x)\) 由单个元素 \(\overline {z}\) 组成,\(f(x)\) 在点 \(x\) 处可微。在这种情况下,\(f(x)\) 的导数(或 \(f(x)\) 的梯度,如果 \(x\) 是一个向量)由下式给出:

\[\frac{\partial f}{\partial x} = \frac{\partial \phi(x,\overline{z})}{\partial x} \]

  1. Subdifferential 次微分
    如果对于任意的 \(z \in Z\)\(\phi(x,z)\) 是关于 \(x\) 可微的,且如果对于任意的 \(x\)\(\frac{\partial \phi}{\partial x}\) 是关于 \(z\) 连续的,那么 \(f(x)\) 的次微分由下式给出:

\[\partial f(x) = \textbf{conv} \left\{\frac{\partial \phi(x,z)}{\partial x}:z\in Z_0(x) \right\} \]

Statement 2

来自于 PGD论文 附录A
假设:

  • \(\mathcal{S}\) 为非空、紧、拓扑空间
  • 函数 \(g: \mathbb{R}^n\times \mathcal{S} \rightarrow \mathbb{R}\) 满足: \(g(\cdot, \delta)\) 对于任意 \(\delta \in \mathcal{S}\) 都是可微的,并且 \(\triangledown_\theta g(\theta, \delta)\)\(\mathbb{R}^n\times \mathcal{S}\) 上是连续的
  • \(\delta^{*}(\theta) = \{\delta \in \arg\max_{\delta \in\mathcal{S} }g(\theta,\delta)\}\)

那么函数 \(\phi(\theta) = \max_{\delta\in\mathcal{S}}g(\theta,\delta)\) 是局部 Lipschitz 连续的,且它的方向导数(directional derivatives)满足:

\[\phi'(\theta, h) = \sup_{\delta \in \delta^{*}(\theta)} h^{T} \triangledown_\theta g(\theta, \delta) \tag{1} \]

其中,\(\sup\) 表示上确界/最小上界。

Application(PGD)

1.推论

对于公式(1),如果集合 \(\delta^*(\theta) = \{\delta^*_\theta\}\) 只有一个元素,那么(1)可以写成:

\[\triangledown\phi(\theta) = \triangledown_{\theta} g(\theta, \delta^{*}_{\theta}) \tag{2} \]

可以看出,\(\phi(\theta)\)\(g(\theta, \delta^{*}_{\theta})\) 局部相同,且梯队也是局部的概念,所以它俩的梯度是相同的。

据此PGD作者又提供了以下推论,来证明通过计算内部优化器的梯度来计算鞍点的梯度是可行的:
推论:设 \(\overline{\delta} = \max_\delta L(\theta,x+\delta,y)\)\(\overline{\delta} \in \mathcal{S}\),那么只要 \(\overline{\delta}\) 不为零,\(-\triangledown_\theta L(\theta,x+\overline{\delta},y)\) 就是 \(\phi(\theta) = \max_\delta L(\theta,x+\delta,y)\) 的下降方向。

2.应用

回想论文中的鞍点公式:

\[\min_{\theta}\rho (\theta), \; \; {\rm where} \;\;\; \rho (\theta)=\mathbb{E}_{(x,y)\sim \mathcal{D}}[\max_{\delta \in \mathcal{S}}L(\theta,x+\delta,y)] \tag{3} \]

其实,在实践中我们无法获得分布 \(\mathcal{D}\),所以 \(\rho(\theta)\) 的值和梯度都使用输入样本点来计算。所以,我们只需考虑对应于单个随机样本点 \(x\) (标签为 \(y\))的鞍点公式即可:

\[\min_\theta \max_{\delta \in \mathcal{S}} g(\theta, \delta),\;\; {\rm where}\;\; g(\theta, \delta) = L(\theta,x+\delta,y) \tag{4} \]

结合上述的定理可知,使用内部问题的最大值能够计算损失函数的梯度,这相当于用相应的对抗扰动替换输入点,并在扰动的输入上训练网络,即全部使用对抗样本训练网络。

posted @ 2022-06-30 08:28  李斯赛特  阅读(1640)  评论(0编辑  收藏  举报