生成对抗网络的应用_ICML 2020: 友好的对抗学习 (Friendly Adversarial Training)

5882caa4707dbc95a2721c05ea64a3d2.png

知乎用户zjfheart/Friendly-Adversarial-TrainingICML 2020 论文分享: 友好的对抗学习 (Friendly Adversarial Training: Attacks Which Do Not Kill Training Make Adversarial Learning Stronger)


论文讲解视频 (英文,无字幕):

链接 <https://www.zhihu.com/zvideo/1270123759915896832>

什么是对抗数据?

对抗数据 = 深度神经网络的输入自然数据 + 人工合成的噪音。 对抗数据可以迷惑深度神经网络。比如,大熊猫的图片 + 人工合成的噪音 = 新的大熊猫的图片。这样新的大熊猫的图片,人类视觉系统并不会分类错误,然后神经网络却会分类错误,并认为这是一张长臂猿的图片。

5b60bbc3157a55c26dba58fa6f9b7e00.png
图像来自:https://blog.openai.com/adversarial-example-research/

对抗数据的危害是巨大的:比如如今深度神经网络应用很广泛,比如无人驾驶,医疗诊断,金融分析,等等。因此,提升神经网络的对抗鲁棒性 (adversarial robustness) 变得十分重要。

什么是对抗学习?

对抗学习是提升对抗鲁棒性至今最有效果的一种方式。核心思想是:在训练神经网络的过程中,针对当前网络产生对抗数据,然后通过更新当前的网络参数,学习对抗数据,如此循环。

901002cf03e3947c1ab2bcd33a5b61a2.png
左边:标准学习后的分类模型。右边:对抗学习后的分类模型

对抗学习最终有两个目的:1 正确的分类数据。2 使得分类边界(两个虚线之间)变厚,在分类边界内部,尽量减少任何数据的存在。

传统对抗学习的根基

传统的对抗学习是根据 极小极大公式 (minimax formulation):

66ff7594bff3f10f186ec8fea86980a9.png

在内层中,通过最大化损失函数 (ell) 寻找对抗数据,然后在外层去学习对抗数据进而最小化损失函数。

投射梯度下降 Projected Gradient Descent (PGD) 是一个找对抗数据的有效方法,PGD 通过不断的迭代,找到使得损失函数最大的对抗数据。这样通过PGD找到的对抗数据,最有可能使得深度神经网络出错。

9435d363d6fe03f2d78a3df8c611bd7e.png
图片来源:https://towardsdatascience.com/know-your-enemy-7f7c5038bdf3

如图所示,当前的PGD的方法,通过损失函数对输入数据求导寻找迭代方向,一步一步的迭代找到使得损失函数最大的对抗数据。这种对抗数据我们称为:极其恶劣的对抗数据 (most adversarial data)。

传统的对抗学习,就是通过学习这些 极致恶劣对抗数据,去提升深度神经网络的鲁棒性。

当前传统对抗学习存在很多问题。1 . 通过传统的对抗学习得到的深度神经网络准确率 (accuray) 低。尽管提升了鲁棒性 (robustness),但是以牺牲准确率为巨大代价。2. 传统的对抗学习十分的耗时,因为每次找对抗数据都需要多次的反向传播 (backward propagations), 即,损失函数对数据求导数,尤其当神经网络参数很多(比如可调参数多达百万的时候,每一次求导十分耗时。

传统对抗学习问题出在哪?

传统的对抗学习的问题就出在对抗学习的根基,即,极小极大公式 (minimax formulation)。

8050e30f739059452c88f32cfc07f66c.png
绿色和黄色的点代表自然数据。红色蓝色的点代表通过PGD生成的对抗数据。

PGD 通过多次迭代步数(Step),寻找极其恶劣的对抗数据,是内层最大损失函数(inner maximization)的一个近似解。上图所示,红色的点是绿色点对应的对抗数据,蓝色的点是黄色点对应的对抗数据。通过PGD找的对抗数据 (Step #10),导致蓝色的点跑到了绿色区域,红色的点跑到了黄色区域。这样导致了自然数据和对抗数据严重的交叉混合问题(cross-over mixture problem)。

对抗学习的外层最小化(outer minimization),当学习这样的红色和蓝色的点时,必然导致学习到不准确的分类模型。这也是,为什么对抗学习会以牺牲准确率为巨大代价。

极小极大公式真的适合对抗学习吗?

我们认为,这个答案是否定的!

由此我们提出了我们的一个新的对抗学习的公式,我们暂且称它为 最小-最小公式(min-min formulation)。

217a02b68a2e7457069ff0d20d4ee770.png
最小-最小 公式

我们提出的最小-最小公式,改变了内层的最大化损失函数(inner maximization) (最大化损失函数 的目的是 寻找 极其恶劣的对抗数据(most adversarial data))。内层优化寻找 友好的对抗数据(Friendly adversarial data)。友好的对抗数据,并不是以最大化损失函数为目的,而是在满足一定条件下,最小化损失函数。

下图展示了我们的最小-最小 公式 和 极小极大 公式的不同。

3a9a036c57f0c58f41c4bacc8590e40c.png
紫色三角形是友好的对抗数据,红色正方形是极其恶劣的对抗数据。

可见,极其恶劣的对抗数据目的在于最大化损失函数,并不在意当前模型对这个数据的分类正确与否。与之相比,我们的友好的对抗数据,在模型对它错误分类的时候,尽量使得损失函数变小,当模型对它正确分类的时候,使得损失函数变大。因此,我们的友好的对抗数据,是对当前模型的预测是敏感的,并不会一味的最大化损失函数。

如何实现 最小-最小 公式呢?

很简单!我们通过早早的停止PGD搜索步数 (early stopped PGD),来近似的实现我们的最小-最小公式。

9de57cc8cea1aedb21b2a90d6d848387.png
上面:传统的PGD生成极其恶劣的抵抗数据。下面:提前停止的PGD生成友好的对抗数据。

当PGD在搜索对抗数据的时候,如果发现当前的对抗数据被错误分类,PGD便会提前停止。这样产生的对抗数据,我们称为 友好的对抗数据。

有好的对抗学习(Friendly adversarial training - FAT) 便是基于友好的对抗数据学习到的鲁棒的神经网络。

感兴趣的小伙伴可以参考以下算法:

463155c5f559b8fce60a10835bb31e77.png
PGD-K-t 是友好数据生成算法。step t这个参数控制了提前停止的程度。

abcf61b11f4a7409b3cf483a0a9d934e.png
友好对抗学习(FAT)是基于友好对抗数据来学习鲁棒的神经网络

友好对抗学习(FAT)的好处是什么呢?

第一个好处就是,缓解了交叉混合问题(cross-over mixture problem)。

ff9e53e4e40d690153f049a3b3c67054.png
左边:自然数据并不会混合。中间:极其恶劣的对抗数据会严重的混合。右边:友好的对抗数据有效的缓解了混合问题。

如图,在图像分类问题中,这个交叉混合问题,可能不出现在输入空间(input space),但是有很大可能性出现在网络的中间某一层。我们的友好的对抗数据,可以有效的缓解了交叉混合的问题。

缓解了交叉混合问题,我们就更有可能学习到更加准确的神经网络啦。这样,神经网络即鲁棒又准确,何乐而不为呢?

第二个好处就是,我们的FAT很省时!因为我们的早停的PGD算法,并不需要更多的反向传递(backward propagation)。一旦找到了分类错误的友好对抗数据,立刻停止搜索。

4288040b6bc9c5817c67a33aa27bb811.png
FAT相比传统对抗学习算法节约训练时间。

上图所示,虚线是传统的对抗学习平均每个训练时间需要的反向传递的个数,实线是我们的友好的对抗学习需要的反向传递的个数。我们在这里,选择了 t = 0,1,2,3 进行展示。显而易见,我们FAT在每个训练时间省下了很多反向传递(反向传递是对抗学习最耗时的操作)。

注意⚠️:当t = K (在这里 t = 10) 的时候,我们的友好的对抗学习(FAT),就变成了传统的对抗学习。所以,传统的对抗学习,是友好的对抗学习(FAT)的一个特列!

第三个优点:我们的FAT能实现更大的保护半径(epsilon)。

acc8f5146f446dfbd7a823c0458ba556.png

就拿CIFAR-10 图片数据集举例子,传统的对抗学习目前能做到 每个像素点扰动半径最大可达16/255 (L_inf norm),再大训练就会失败。为什么呢?原因是极小极大公式的瓶颈。极小极大公式搜索的是 极其恶劣的对抗数据,极其恶劣的对抗数据会导致严重的交叉混合问题,如果保护半径加大,这种交叉混合问题会变得更加严重。这样,直接导致了训练的失败。(参考上图紫色线)。

然后,我们的友好的对抗学习(FAT),能有效的缓解交叉混合问题,因此,可以容忍更大的保护半径。

第四个优点:是骡子是马拉出来练练!

910b5536ec306d1d9dbf58204e50d96d.png
在Wide ResNet 上取得优越的效果。

由于传统的对抗学习方法,比如Madry,CAT,DAT,TRADES,是我们的友好的对抗学习(FAT)的特列 (只需要把PGD换成我们的早停的PGD 即可)。

我们进行实验:FAT与这些方法取得的最好的成绩进行比较。我们进行了控制实验(control experiments),并没有去特意的调节超参(hyperparameters),除了生成对抗数据方式不同之外(传统的对抗学习,生成并学习极其恶劣的对抗数据,友好的对抗学习,生成并学习友好的对抗数据),其他参数控制相同。

与之相比,我们的方法可以极大的提升模型的准确率,并且保持了模型鲁棒性,甚至在鲁棒性上有所超越。

想了解更多?

关注我们的论文:https://arxiv.org/abs/2002.11242

我们的实验代码:zjfheart/Friendly-Adversarial-Training(包括可下载的鲁棒性模型。)

这项工作是由以下作者合作完成: Jingfeng Zhang (张景锋 - 新加坡国立大学), Xilie Xu (徐曦烈 - 山东大学泰山学堂), Bo Han (韩波 - 香港浸会大学,RIKEN-AIP),Gang Niu (牛罡 - 理化学研究所 RIKEN-AIP),Lizhen Cui (崔立真 - 山东大学软件学院,山东大学-南洋理工大学人工智能国际联合研究院(C-FAIR)), Masashi Sugiyama (‎杉山 将 - 理化学研究所 RIKEN-AIP,东京大学),Mohan Kankanhalli (新加坡国立大学)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值