在自然语言处理NLP中,AT可以从泛化中受益,我们注意到AT在NLP任务中的有优点可能来自于离散和符号输入空间。为了借鉴NLP风格AT的优势,我们提出了离散对抗训练(DAT)。DAT利用VQGAN将图像数据改为离散的类似文本的输入,即视觉单词。然后,它使具有符号对抗性扰动的离散图像上的最大风险最小化。我们进一步从分布的角度进行了解释,以证明DAT的有效性。作为一种增强视觉表现的即插即用技术,DAT在包括图像分类、对象检测和自我监督学习在内的多个任务上实现了显著的改进.。
文章主要贡献:
据我们所知,我们似乎是第一个将NLP风格对抗性训练的优点转移到视觉模型中,以同时提高鲁棒性和通用性。
我们提出了离散对抗训练(DAT),其中图像被呈现为离散的视觉单词,模型是对具有对抗性改变的离散视觉表示的示例进行训练。
DAT在包括图像分类、对象检测和自我监督学习在内的多项任务上实现了显著的改进。
Discrete Adversarial Training
Image Discretization by Visual Codebook(基于视觉码本的图像离散化)
对于离散对抗训练,首先学习表达性视觉码本,在离散空间中表示训练图像集,本文利用VQGAN进行图像离散化。有连续图像,VQGAN学习一个编码器,解码器,量化器,是将x映射到中间潜在向量,
学习一个代码本,
这样,每个潜在向量可以量化到其最近的码本条目Zk上:
然后解码器根据量化向量vq输出重建图像:
用Q来表示离散过程:
在内部最大化的过程中生成离散的对抗样本,所以DAT的目标为:
如果Q是一个理想的离散化器,在离散化过程中没有信息损失,问题在于找到最大化分类损失的最差采用基于梯度方法来近似:
表示沿梯度方向的扰动的大小
为了用链式法展开,有四个偏导数如下,
由于倒数第二给偏导数很难求解,通过替代最终变换为:
尽管该解决方案在理论上似乎可行,但巨大的成本使其在大规模视觉任务中不切实际。瓶颈主要在于,在Enc和Dec之间,需要反向的对抗性梯度。实际上,能够生成高质量图像的生成器总是有大量参数。与最初只需要F进行梯度计算的对抗性训练相比,它需要三倍多的GPU内存和计算成本。 为了解决该问题,最终变换为:
DAT的训练过程为:
对于每个训练图像x,DAT首先使用VQGAN来获得离散重建的。通过向分类器F馈送,可以通过计算朝向最大化分类损失的x的梯度来估计最坏情况下的扰动δ。因此,可以通过在原始x上添加δ来创建扰动图像。最后,VQGAN再次对x+δ进行离散化,并作为对抗输入,通过最小化分类损失来训练F。算法1总结了DAT的详细信息。
流程图:
从分布角度解释DAT的有效性
我们通过在ImageNet验证集中采样1000个小批量来研究这种效果,并为AT和我们的DAT生成相应的对抗图像。对于每个批次,我们计算ResNet50的最后BN的平均值和方差统计。然后计算干净样本和对抗样本统计数据之间的皮尔逊相关系数(PCC),以显示分布差异。图2显示了1000个小批次的分布差异的频率直方图。对于DAT的训练样本,直方图的峰值为0.95,大于at。这表明DAT生成的离散对抗性示例与干净分布更接近。因此,对这些示例的训练将减少AT中干净分布的转移,从而提高鲁棒性和泛化能力。