对抗训练是防御对抗样本一种有效的方法,但是对于它有效性的边界,一直都是很模糊的。该论文是一篇很硬核关于对抗训练的理论性文章,作者从对抗样本跟模型参数的角度出发去分析对抗训练。
该论文是一篇不可多得的好文章,为了能够清晰的阐述论文中的贡献,我将文章中没有展开的证明进行了补充,并对文章中的一些推导中一些小错误进行了更正,最重要的是可以温习一下大学中数学分析和高等代数中涉及到的数学知识点,例如 Lipschitz 连续性,Lipschitz 光滑性,拉格朗日函数,KKT 条件,矩阵的谱范数的求法,以及线性规划等知识点都在该论文中有所体现。
论文标题:
Smoothness Analysis of Loss Functions of Adversarial Training
论文链接:
https://arxiv.org/abs/2103.01400
预备知识
其中 是样本 的标签, 表示的是 范数, 表示的是神经网络的参数向量, 是表示的是对抗扰动大小, 是损失函数(交叉熵)。为了获得一个鲁棒的模型,对抗训练试图解决以下的极大极小值问题:
Inner Loop 是为了生成对抗样本,而 Outer Loop 是用对抗样本对模型进行对抗训练。如下图所示为了能够更好的理解此公式,我画了一张示意图助于理解。为了获得对抗样本,通常使用投影梯度下降(PGD)。比如, 约束的 PGD
迭代地更新生成对抗样本:
其中 表示步长, 是对可行域的投影操作,并且它将 的范围裁剪到 。在该论文中作者主要讨论对抗损失的 Lipschitz 光滑,换句话说是对抗损失梯度的 Lipschitz 连续性。为了能够更好的进行阐述,需要介绍以下几个定义。
则称 为 的 。要知道目标函数的这种光滑性是基于梯度的优化收敛的一个重要性质,如果 和 处处可微,则有以下不等式:其中 是 的 Hessian 矩阵的算子范数。如果选择合适的学习速率(步长),基于梯度方法在以下条件下会收敛到损失函数 的平稳点:
其中,,,。该假设说明了 是 - Lipschitz。另外, 对于 是 - smooth,对于 是 -smooth。在引理下,可以证明了以下关于对抗训练的命题:从这个命题可以得出的结论为:如果损失函数的梯度不是处处 Lipschitz 连续的,基于梯度的方法是无效的。在该论文中作者通过一个简单的二元线性分类案例,详细研究了对抗损失的光滑性。
对抗训练光滑性分析
命题 1 的证明如下所示:设 和 分别为模型参数 和 的对抗样本,则有:(此处论文公式(17)的推导 有错误)。
对抗样本对参数的依赖性可将 看作 的函数 ,即 。如果公式(17)的第二项 有类似于 ( 是常数,并且 )的上界,那么对抗损失的梯度就是 - Lipschitz,那么它也是 - smooth。作者主要分析的是对抗样本对神经网络参数的依赖性。但是需要注意的一个问题就是,深层神经网络的对抗样本 不能得出一个完美的数学形式的显示解,所以很难研究 和 之间的关系,作者通过使用简单的二分类问题来解决这个问题:二分类问题:假定有一个数据集 ,其中 是数据点, 是一个二分类标签, 是模型参数向量。令 为二分类模型, 是对抗扰动且有 。通过最小化对抗损失,则对抗训练 有:
作者先对以上的二元线性分类问题入手,研究 和 之间的关系,从而得出数学形式的上的最优对抗样本 ,以下分别是对对抗训练用 范数和 范数的理论分析。引理1:当用 范数测量对抗扰动大小 的时候,假定模型参数 存在 且有 。 和 分别是样本数据点 关于 和 的对抗样本。则有以下不等式:
此时对抗样本在参数 不包含原点 的闭集中是 Lipschitz。证明:求解以下优化问题获得样本数据点 的对抗样本:需要补充的是论文中公式(33)的 是线性二分类器的损失函数,根据公式 ,样本 属于类别 的损失要小于样本 不属于类别 ,这符合我们对损失函数定义的理解。该证明主要考虑的是 的这种情况,对于 的这种情况可以根据相同的方法推理得到。则拉格朗日乘函数为:
论文中求解(22)的过程没有具体展开,需要注意的是论文中求解的是 ,所以在求解过程中需要将目标函数改成 ,则此时的拉格朗日函数为:
重新整理之后就得到了论文中的 KKT 条件的形式。
因为 和 是标量并且 ,所以可知 和 方向相反则有 且 。根据公式(25)则有 ,进而对抗样本可以写成 。现在需要计算 的 Lipschitz 连续性。对抗样本 的雅可比矩阵为:
该论文在公式(27)中直接给出了 的雅可比矩阵。补充的证明如下所示:
补充证明的结果与(27)的结果一致。根据公式(27)可知,如果 ,可知 ,则矩阵 的最大谱范数为 。又因为 ,所以可得到上确界 ,则有如下公式:
引理 1 说明带有 约束的对抗样本在模型参数 不含有原点的情况下是 Lipschitz 连续的。根据引理 1 可以推导出如下的定理。定理1:当用 范数测量对抗扰动大小 的时候,假定模型参数 存在 且有 ,如下不等式成立:
在对抗训练的过程中,损失函数 在模型参数 属于闭集且不包含原点时是 。
定理 1 证明了在模型参数 时,具有 范数的二元线性分类模型的对抗损失是一个光滑的函数,因此当 ,基于梯度的方法在对抗训练中是有效的。但当对抗扰动的强度过大 ,则模型参数 的最优解为 ,则此时对抗训练并不能抵御对抗样本。引理2:当对抗扰动的大小由 范数测量且 时,模型参数 与模型参数 中的元素至少有一个元素的符号不一致(),则对抗样本不是 Lipschitz 连续的。如果模型参数 与模型参数 中的元素的符号都一致,则有以下等式:此时,对抗样本在模型参数 属于闭集且不包含 ,元素符号一致时是 Lipschitz 连续的。证明:求解以下优化问题获得样本数据点 的对抗样本:
该证明主要考虑的是 的这种情况,对于 的这种情况可以根据相同的方法推理得到。因为 是关于 的单调递减函数,则可以根据 最小化 ,进而可知 ,则最优的对抗样本为 。当 或者 时, 是常数,则 的导数在 处为 0。但当 时, 是不连续的,因此对 则有:
根据引理 1 和引理 2 可知,具有 范数约束的对抗样本是 Lipschitz 连续的集合小于具有 范数约束的对抗样本 Lipschitz 连续的集合。根据引理 2 可得如下定理:定理2:当对抗扰动的大小由 范数测量且 时,模型参数 与模型参数 相对应元素符号一致时(),以下不等式成立:
此时,当模型参数 属于闭集且不包含 ,元素符号不改变时,损失函数在对抗训练中是 smooth。证明:根据公式(16)可知:
用因为从引理 2 中可知 ,则由如下不等式成立:
实验印证
下图是引理 1 和引理 2 的直观展示,可以发现最优对抗样本处在约束的边缘处。在 范数的约束情况下,对抗样本在以依赖模型参数 圆上连续移动;在 范数的约束情况下,即使 和 相差很小, 和 之间的距离也有 (在图中就是正方形的边长)。
下幅图分别展示单个样本点的损失面 ,标注训练的损失面 ,具有 范数对抗训练的损失面,以及带有 的对抗训练的损失面。从图中可以发现具有 范数对抗训练的损失面在模型参数 时不光滑,具有 范数对抗训练的损失面在多处不光滑。
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。