NeurIPS 2022
直播回顾
《追AI的人》系列直播第17期特别场《NeurIPS AI安全论文分享会》以围绕更加安全可靠的智能技术为主题,分享在NeurIPS中包括对抗学习、贝叶斯深度学习、异常检测、鲁棒评估、噪声学习、 鲁棒动态图学习、偏微分方程求解等方向上发表的7篇论文。
🙋♂️直播详情回顾:7篇NeurIPS论文公开分享,阿里清华邀你共话AI安全!
现分享议题一:Discrete Adversarial Training《利用离散对抗训练增强视觉表征》直播回放,全文共计5930字。👇
论文链接:http://arxiv.org/abs/2209.07735
阿里巴巴人工智能治理与可持续发展研究中心 (AAIG) 算法工程师,毕业于哈尔滨工程大学计算机系,在AAIG负责计算机视觉领域的模型安全和对抗攻防技术研究和落地。曾在CVPR,NeurIPS,AAAI,MM,ICASSP,TIP等会议及期刊上发表多篇论文。主要研究兴趣为图像识别, 对抗机器学习,模型鲁棒性等。今天分享的主题是解决传统对抗训练中发现的一些问题,以及提出一个更好的对抗训练的变种,我们称之为Discrete Adversarial Training离散对抗训练。从背景、动机、方法和实验四个方面来介绍一下这篇论文。首先介绍一下,对抗训练的基本思想。对抗训练的第一步就是攻击,攻击的目的是修改图像,修改输入,从而引起模型的发生错误。修改不同的模态是不一样的,从图像维度上看,图像是一个连续信号,所以修改一般是在图像的像素值上增加或者减少连续的值,所以修改基本上是连续的信号。
从文本角度看,文本的词是离散的,所以我们的修改通常可能是增删改一个词或者是一个字符,那么这种修改实际上是离散化的操作。修改还有一个很重要的约束就是完成修改的动作以后,是不能改变原来输入的语义的,如果改变了语义,那么这个修改就是没有意义了。所以约束是改动要尽量小,最好是和原来的语义保持一致。这对于在图像里面很简单,我们可以约束它的连续信号扰动的某些L无穷或者是L2范数。在文本里面,尽量地约束修改的词,和原来的词要保持相同的语义,修改近义词。I like this movie,可以改成I like this film或者I enjoy this movie。
这个改动都是不改变语义的,是比较合理的。这是第一步攻击要做的,攻击是为了生成这样的样本。第二步是防御,有了样本之后,防御很简单,就直接拿这些样本放到模型里面去优化,让模型可以去识别这些样本。整个对抗训练的过程就是迭代的交替,迭代的执行这两步:先攻击,再拿这些样本去训练模型,之后再基于训练的模型基础上再继续攻击,再优化,一直交替迭代,收敛,最后鲁棒模型就得到了,但是我们发现对抗训练在不同的模态上,它有不一样的性质。在图像上,我们发现图像是一个连续、不可穷举的高维空间,所以在一个样本点周围去找对抗样本的时候,可以找到无限个样本。从无限的样本中一定可以找到一个改动量最小的,并且可以攻击成功模型的样本。
但是在文本领域这个情况可能就不太一样,因为文本是一个离散、可穷举的低维空间。那么在一个输入样本点周围,通常不会有非常多的同义的样本,并且有对抗性的样本,那么这个问题会更困难一些,它是一个离散的问题,这是两者的不同点。另外一点不同是,在图像里面对抗训练,对干净样本的识别能力是有下降的。其实一直以来,都有研究工作在解释此问题。大家普遍接受的说法是,对抗训练是一种比较强的正则,因为它过于强,所以它把模型的分类边界变得非常平滑,从而降低了模型在正常样本上的分类效果,但是它在对抗样本上的效果是有提升的,因为这里面有一个trade off,这也是大部分研究也认同的观点。但是在文本对抗训练中,大家的观点似乎是不同意的此观点。
在有些研究中,文本对抗训练中替换某些词,比如换成同义的词的时候,把这些数据放进去训练,它对干净样本分类的能力的影响非常小,甚至能提升它正常的分类效果,在鲁棒性上也有提升,这就是大家所期望的对抗训练。所以基于这个考虑,我们就在思考能不能利用在文本上对抗训练中优秀的性质,把它利用在图像上去做一些改进,改善正常分类效果降低的现象。动机:把 NLP样式的对抗训练引入到图像当中,那么在文本上对抗性中优秀的性质,会不会通过这种方式迁移到图像当中?
如果要实现此想法,首先要把图像给离散化,离散成一个低维、可穷举的表示,再把图像可能切分成一系列细节词,即可表示为序列,这样即和 NLP的一句话形式一致。在此基础上,与NLP做对抗训练的方式相似,把其中的某一些词,例如上图红框中的词汇,随机的替换成同义的词,让模型攻击成功。此图展示了把NLP的对抗训练迁移到图像上的想法。具体怎么做?首先关于图像离散化,我们需要利用经典的生成模型VQ-VAE。它可以把一张图,转换为一系列低离散的低维空间表示。它其实是利用了一个codebook码本以及向量化的操作,把这张图映射到一个高维空间就是深度特征,然后利用类似于查字典的方式,从码本里面查询出它对应的量化的向量,把量化向量赋值给这个特征,那么这个特征最后就变成了码本中的一个索引值,类似于文本里面的词库里面的索引。这张图就可以表示成个文本的序列,通过重构还原出它本身约束,然后把图像的信息都被压缩到离散的序列当中。比如上图中的消防栓,我们可以通过VQ-VAE去得到索引的序列,索引序列再重构回原图。有了这样的序列之后,第二步就要找有对抗性的同义词。假设这是一个低维、离散的空间,绿色的小圆是原来的值,我们要做的是在一个大圈里面和它语义相近的词里面选一个词,让这个模型分类错误。假设这些红的小圆是可以让模型分类错误的,现在很简单,取一个它最近的红色的小圆,然后把它替换掉,然后让这个模型分类错误,如此对抗的同义词就找到了。但是这样还存在一个问题!假设这张图它转换成序列以后会很长,有几百个词。每一个词都要重复这样建立的过程,去一遍一遍的算,这样效率是很低的,如此我们就在思考能不能用启发性的方法去解决,接下来就介绍我们提出的离散对抗训练的整体流程。我们还是用的VQ-VAE把图像输入变成离散的向量,如图中的X,然后经过第一个VQ-VAE之后,可以得到Q(X)相当于是一个离散化的图了。
如果用正常的方法,效率非常低,所以我们用梯度的方法,把这个图传到后面的任务,视觉任务中视觉任务可以是任意的,可以是分类或者是目标检测或者是自监督学习。可以算出来一个loss,经过回传以后可以得到在离散图像上Q(x)上面的一个梯度,然后回传到码本的视觉词上的时候,其实VQ-VAE可以通过straight through方法直接求得loss回传到视觉词上的梯度。然后我们进一步去推,就发现如果VQ-VAE模型是理想的,也就是他可以重构出来这张图和原来的图,它几乎没有信息的损失,那么实际上 Q(x)上的梯度和x上的梯度是等价的一个情况,那么现在这个形式就可以做更简化的一个形式,就是我直接拿着Q(x)求出来的梯度,把它加到原图上,这个时候的在源头上的样本实际上就已经具备了对抗的性质。经过离散化之后,它就已经具备了对抗的性能,可以使模型分类错误了。这个样本也称作离散的对抗样本。接下来我们去探究一下离散对抗训练中样本的性质。从分布方面,我们首先从 internet里面抽样1000张图, 根据这些图去用离散对抗训练和传统的对抗训练,生成一批对抗样本,然后把这些对抗样本送入到ResNet50里面,通过它DAT得到样本统计的均值和方差,其实就代表了这批样本的分布,对比原图求样均值和方差的相似性,就可以得到两批样本和原始样本之间分布的接近程度。相似性越高就意味着,生成的对抗样本和原图的分布会更接近。相似性越低,就说明生成对抗样本和原图的分布越离得越开。从上图看出来,离散对抗训练中间产生的离散对抗样本,和真实图像的分布是更为接近的。从单个样本的可视化上来看,我们做了离散对抗样本和传统对抗样本的可视化,分别是在第二列和第三列上,第二列是离散的对抗样本,第三列是传统的对抗样本。我们做了三个分析,第一个首先从图像很小的区域去取了一块,把里面的像素值提取出来,去重计算出里面像素值,然后拿这个值来代表这一小块里面具有颜色的数量。因为它是一个自然的图像,在天空区域是很平滑的,颜色的数量是比较少的,只有80个。离散对抗样本的颜色数量是111个,稍微增加了一点,但是传统的对抗样本在这个小区的颜色数量有222个,其实是这些很平滑的区域也是不平滑的,实际上引入了很多的噪声,会让人眼看起来觉得不真实,但是其实从这两个图对比上看,离散对抗样本的平滑性是比较好的,它会更贴近于真实图像。
第二个分析是频谱图的分析。传统的对抗样本加入了很多的噪声,所以它破坏了这个蓝色部分,蓝色部分代表的是图像的低频成分,它把同样低频成分破坏了,但是以上的对抗样本能把低频成分保留的比较好,从而说明了它很更少的破坏的图像的信息。
第三个分析是可视化对抗样本的对抗扰动。传统的对抗样本的扰动是很无序的,类似噪声的扰动。在图像在离散的对抗样本上,脑洞呈现出一个比较结构化的样子,比如说这个船,它这边会有很明显很清晰的边界,船这部分的对抗劳动和其它背景上对抗扰动也不太一样,这个手臂也是类似。这一系列分析表明一个问题,离散对抗样本其实会比传统的对抗样本更有意义,并且更适合于模型去训练。我们也想根据这种性质去解决用离散对看样本训练降低对干净样本分类性能的影响,想要想让它尽量缓解对抗训练中accuracy和robustness的trade-off。最后介绍一下实验,这个实验也证实了我们的想法,从三个任务上去做了验证。
第一个分类,我们用的是现在的大规模数据集去做的,测试值用了非常多个包括对抗的鲁棒性的测试值和分布外的鲁棒性的测试。我们希望模型的鲁棒性是综合提升的,并不只是提升对抗鲁棒性,那样工作的实际意义就不会很大。采用的数据集是一些合成的,比如说用数字图像处理去模拟的Image corruption的噪声,还有图像风格的变化,然后还有一些从网上收集的,非自然样本下,人类创造的一些艺术作品的分布。在对抗性上,我们用的是一个基于通用扰动来制作的一个通用对抗,样本的数据集叫DamageNet。实验结果:我们测试的ResNeT模型和ViT模型,如果不加任何其他的训练的情况下,在传统ResNet50或者ViT上都有所提升,其次我们这个方法可以跟其他的鲁棒训练方法进行一定的有机结合,然后在他们的基础上可以得到更好的结果。同时在对抗鲁棒性上和分布外鲁棒性上都是取得更好的效果,并且在ResNeT的验证值,我们可以看成是模型在干净样本上的分类效果的测试,它其实也是不会掉的,甚至还有还有些提升的。
我们离散对抗训练策略和其他的一些改进的对抗训练的策略去做对比,比如Advprop是之前的把该声浪分成两路改进的训练策略,然后在这些训练策略对比上,虽然在效果上可能并不是最好,但是在分布外的鲁棒性上,我们的方法是在目前的改进的对抗训练策略中是比较好的。第二个任务是自监督学习,其目标就是为了学习比较通用的表征。我们用了MoCov3,SimCLR、SimSiam三种方法,通过在这三种方法加上离散对抗训练之后,训练得到的表征把它固定住,迁移到下游的图像分类任务上,目标检测任务上,还有分割上,发现实际上新出来的表征将会更加通用,它在迁移到下游任务上可以取得更好的效果。第三个任务就是目标检测。我们实验的是两个比较轻量级的检测器EffDet-Lite和YOLOv3,因为当这个目标检测图像非常大的时候,经过VQ-VAE重构,这个过程中它会消耗掉非常大的计算量和显存,所以我们的图像输入都采用的会比较小。对比的数据集是Coco,这个是测试的是干净的性能, Coco-C是分布外的鲁棒性,我们对比了之前detection版本的Advprop,然后发现在干净上和分布外鲁棒性上其实取得了更好的效果,然后Relative rPC指的是鲁棒性的准确率除以原来准确率,鲁棒性在准确率上能维持大多的比例,能维持更大的比例值也就意味着在相同的准确率下,让鲁棒性会更强一些。可视化:当随着扰动变大的时候,正常的对抗样本可能会引入很多噪声,然后在很多时候其实看到的是带噪声的图像,但是离散对抗样本它性质可能就不太一样,它开始去改变物体的属性,比如说狗和猴子的毛发的颜色,它会有细微的差别,当然可能也有一些不太好的地方。比如下面轮胎的某些细节的部分,奥迪的标志,它改完之后可能就消失了。它可能会损坏图片里面的一些比较细节的成分。我们的技术目标是想做一个既适合于工业界使用的,又能提升这个模型效果通用的对抗训练,不仅仅局限于对抗鲁棒性。🔥议题四:
Evaluating the Robustness of Visual Recognition to Adversarial Viewpoints《ViewFool:探索深度学习的视角鲁棒性》
🔥议题五 :
Confidence-based Reliable Learning under Dual Noises《双重噪声下的可靠学习》
🔥议题六:
A Unified Hard-Constraint Framework for
Solving Geometrically ComplexPDEs《硬约束引导的深度学习偏微分方程求解框架》
我们将持续更新,敬请期待😚~关注【AAIG】公众号,获取NeurIPS论文PPT👇👇AAIG课代表,获取最新动态就找她 关注公众号发现更多干货❤️