©PaperWeekly 原创 · 作者|孙裕道

学校|北京邮电大学博士生

研究方向|GAN图像生成、情绪对抗样本生成

引言

对抗训练是防御对抗样本一种有效的方法,但是对于它有效性的边界,一直都是很模糊的。该论文是一篇很硬核关于对抗训练的理论性文章,作者从对抗样本跟模型参数的角度出发去分析对抗训练。

该论文是一篇不可多得的好文章,为了能够清晰的阐述论文中的贡献,我将文章中没有展开的证明进行了补充,并对文章中的一些推导中一些小错误进行了更正,最重要的是可以温习一下大学中数学分析和高等代数中涉及到的数学知识点,例如 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 连续性。为了能够更好的进行阐述,需要介绍以下几个定义。

定义1:如果有一个常数













满足:

则称





































定义2:如果有一个常数













满足:

则称


































。要知道目标函数的这种光滑性是基于梯度的优化收敛的一个重要性质,如果
















处处可微,则有以下不等式:

其中


































的 Hessian 矩阵的算子范数。如果选择合适的学习速率(步长),基于梯度方法在以下条件下会收敛到损失函数







的平稳点:

其中









为初始参数,并且假定集合

























有界。

假设1:对于损失函数









,有以下不等式:

其中,











































。该假设说明了



















- Lipschitz。另外,









对于















- smooth,对于















-smooth。在引理下,可以证明了以下关于对抗训练的命题:

命题1:如果假设 1 成立的话,则有:

从这个命题可以得出的结论为:如果损失函数的梯度不是处处 Lipschitz 连续的,基于梯度的方法是无效的。在该论文中作者通过一个简单的二元线性分类案例,详细研究了对抗损失的光滑性。

对抗训练光滑性分析

命题 1 的证明如下所示:设





















分别为模型参数



















的对抗样本,则有:

由于

















并且











































,则根据(16)公式则有:

(此处论文公式(17)的推导 有错误)。

对抗样本对参数的依赖性可将









看作




的函数












,即



























。如果公式(17)的第二项








































有类似于

























是常数,并且






)的上界,那么对抗损失的梯度就是























- Lipschitz,那么它也是























- smooth。

作者主要分析的是对抗样本对神经网络参数的依赖性。但是需要注意的一个问题就是,深层神经网络的对抗样本







不能得出一个完美的数学形式的显示解,所以很难研究












之间的关系,作者通过使用简单的二分类问题来解决这个问题:

二分类问题:假定有一个数据集



























,其中











是数据点,











是一个二分类标签,













是模型参数向量。令






















为二分类模型,




是对抗扰动且有













。通过最小化对抗损失,则对抗训练









有:

作者先对以上的二元线性分类问题入手,研究












之间的关系,从而得出数学形式的上的最优对抗样本







,以下分别是对对抗训练用







范数和







范数的理论分析。

3.1 二分类模型用







范数对抗训练

引理1:当用







范数测量对抗扰动大小













的时候,假定模型参数




存在













且有




























































分别是样本数据点




关于



















的对抗样本。则有以下不等式:

此时对抗样本在参数




不包含原点








的闭集中是

















Lipschitz。

证明:求解以下优化问题获得样本数据点








的对抗样本:

需要补充的是论文中公式(33)的




























是线性二分类器的损失函数,根据公式




























,样本






属于类别




的损失要小于样本






不属于类别




,这符合我们对损失函数定义的理解。

该证明主要考虑的是






的这种情况,对于







的这种情况可以根据相同的方法推理得到。则拉格朗日乘函数为:

根据 KTT 条件可以得到如下形式:

论文中求解(22)的过程没有具体展开,需要注意的是论文中求解的是 ,所以在求解过程中需要将目标函数改成 ,则此时的拉格朗日函数为:

则此时的 KKT 条件为:

重新整理之后就得到了论文中的 KKT 条件的形式。

根据公式(23)可得到公式:

因为































































是标量并且






,所以可知









方向相反则有















。根据公式(25)则有




















,进而对抗样本可以写成





























现在需要计算





























的 Lipschitz 连续性。对抗样本





























的雅可比矩阵为:

该论文在公式(27)中直接给出了





























的雅可比矩阵。补充的证明如下所示:

补充证明的结果与(27)的结果一致。根据公式(27)可知,如果
























,可知 ,则矩阵








































的最大谱范数为
















。又因为




















,所以可得到上确界


































,则有如下公式:

引理 1 说明带有







约束的对抗样本在模型参数




不含有原点的情况下是 Lipschitz 连续的。根据引理 1 可以推导出如下的定理。

定理1:当用







范数测量对抗扰动大小













的时候,假定模型参数




存在













且有




















,如下不等式成立:

在对抗训练的过程中,损失函数









在模型参数




属于闭集且不包含原点时是

证明:根据公式(16)可知:

根据引理1可知:

则有:

根据公式(30)可知:

定理 1 证明了在模型参数






时,具有







范数的二元线性分类模型的对抗损失是一个光滑的函数,因此当































,基于梯度的方法在对抗训练中是有效的。但当对抗扰动的强度过大






,则模型参数




的最优解为




,则此时对抗训练并不能抵御对抗样本。

3.2 二分类模型用







范数对抗训练

引理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 的交流群里。

对抗训练硬核分析:对抗样本与模型参数的关系相关推荐

  1. 计算机网络对抗训练,合成营战术对抗训练系统

    产品概述 合成营战术对抗训练系统是用于网上组织合成营战术对抗演习的模拟训练系统.该系统重点突出了指挥员的指挥谋略训练,把练战术与练技术.练指挥与练行动.练谋略与练心理有机结合,使合成营战术训练向模拟化 ...

  2. 超硬核分享,代码、模型全开源!检索、问答、情感分析全覆盖

    自然语言处理技术在各行业有着广泛的应用,然而长久以来,其落地并不是一帆风顺的. 针对这些棘手的问题,百度飞桨深耕产业界,选取NLP领域三大高频场景--检索.问答.情感分析,推出面向真实应用场景的系统功 ...

  3. 硬核分析|腾讯云原生OS内存回收导致关键业务抖动问题

    实战系列: 精选各种常见的代表性实际问题,分享一步一步思考和解决方法,梳理整个问题脉络,可以学习到解决问题各种技巧和通用技能,锻炼解决问题思维能力,让大家成为解决问题的高手: 往期文章推荐: 一个刁钻 ...

  4. 工控协议解读之EtherCAT协议硬核分析(转自知乎“智能制造之家“)

    原文:https://zhuanlan.zhihu.com/p/413417192 一.概述 EtherCAT(Ethernet for Control Automation Technology)是 ...

  5. 对抗训练理论分析:自适应步长快速对抗训练

    ©PaperWeekly 原创 · 作者 | 鬼谷子 引言 该论文是关于对抗训练理论分析性的文章,目前对抗训练及其变体已被证明是抵御对抗攻击的最有效防御手段,但对抗训练的过程极其缓慢使其难以扩展到像 ...

  6. pytorch 对抗样本_【炼丹技巧】功守道:NLP中的对抗训练 + PyTorch实现

    本文分享一个"万物皆可盘"的NLP对抗训练实现,只需要四行代码即可调用.盘他. 最近,微软的FreeLB-Roberta [1] 靠着对抗训练 (Adversarial Train ...

  7. CVPR 2022 中科院、腾讯提出LAS-AT,利用“可学习攻击策略”进行“对抗训练”

    关注公众号,发现CV技术之美 ▊ 1 引言 由中科院,腾讯AI实验室以及香港中文大学联合出品的硬核对抗训练的新作LAS-AT发表于CVPR2022.对抗训练被认为是抵御对抗攻击最有效的防御方法,它通常 ...

  8. 自适应步长快速对抗训练

    1 引言  该论文是关于对抗训练理论分析性的文章,目前对抗训练及其变体已被证明是抵御对抗攻击的最有效防御手段,但对抗训练的过程极其缓慢使其难以扩展到像ImageNet这样的大型数据集上,而且在对抗训练 ...

  9. NLP中的对抗训练(附PyTorch实现)

    对抗样本的基本概念 要认识对抗训练,首先要了解"对抗样本",它首先出现在论文Intriguing properties of neural networks之中.简单来说,它是指对 ...

最新文章

  1. ResNet及其变体结构梳理与总结
  2. 最近开发的一个项目的一些感想
  3. 你对Java网络编程了解的如何?Java NIO 网络编程 | Netty前期知识(二)
  4. JavaScript 中遍历对象的属性
  5. HDU 1199 amp;amp; ZOJ 2301 线段树离散化
  6. 5分钟轻松教您如果组建100-500路大型拼接监控系统!
  7. Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage导致主从不同步解决方法
  8. 阿里巴巴证实全资收购协作软件平台 Teambition
  9. Chocolatey 简介(软件自动化管理工具)
  10. java怎样调用图像做按钮_swing-Java:使用图像作为按钮
  11. 微信公共开发人员文档 阅读笔记
  12. ASP.NET伪静态的实现及伪静态的意义
  13. Shader实例:NGUI制作网格样式血条
  14. 软件设计师-计算机系统知识
  15. PHP抓取淘宝店铺等级、评分
  16. 一起talk C栗子吧(第一百零三回:C语言实例--进程间通信大阅兵)
  17. 卡耐基——如何避免为你的婚姻挖掘坟墓
  18. 分类堆叠柱状图顺序排列及其添加合适条块标签
  19. 信息与电脑杂志信息与电脑杂志社信息与电脑编辑部2022年第8期目录
  20. python scrapy爬虫视频_python爬虫scrapy框架的梨视频案例解析

热门文章

  1. 前端性能优化实践 | 百度APP个人主页优化
  2. python英文高频句统计_使用Python 统计高频字数的方法
  3. opencv 多线程_深度学习和OpenCV的对象检测(MobileNet SSD视频流实时识别)
  4. usb转pci_IT-GO PCI-E转USB转接卡台式机pcie转2口usb3.0扩展卡后置集线卡
  5. 自动驾驶中高精地图的大规模生产:视觉惯导技术在高德的应用
  6. js进阶 9-11 select选项框如何动态添加和删除元素
  7. php中的parse_ini_file函数
  8. NumPy学习笔记 一
  9. 前端开发中通过js设置cookie的一组方法
  10. 管道半双工通信程序linux,Linux进程间通信的几种方法-半双工管道,命名管道,消息队列...