[paper]开放数据集的对抗防御(Open-set Adversarial Defense)
开放数据集的对抗防御
Translator: wildkid1024
论文地址
arXiv:2009.00814
rshaojimmy/ECCV2020-OSAD
0. 摘要
开集训练和对抗防御是真实世界的两大关键问题,开集识别旨在测试阶段识别开集类别的样本,对抗训练旨在防御对抗攻击扰动。 本文则发现开集识别系统容易遭受到攻击,因此提出了针对开集识别的对抗防御(OSAD)问题,并提出了OSDN网络来解决这个问题。 OSDN网络使用特征降噪的编码器以学习无噪声时的特征表示。首先使用解码器以确保干净的样本能够被重构,然后使用了自监督的方式来保证能够完成辅助任务。
1. 介绍
深度学习发展越来越快,但是在真实世界的识别还存在一些限制,尤其是开集识别和对抗攻击领域。
如果在训练和测试阶段都知道数据集类别,那么很容易对样本进行识别。但在真实场下,分类器一般见到的都是在训练阶段未见过的类别,在这种情况下样本就会分到一个已训练过的类别上。比如一个动物分类器会把猫样本识别为猫,但会把飞机样本识别为狗。另外一方面,对抗攻击也能够对分类器的识别产生影响。
社区已经提出了几种不同的开集识别算法来应对挑战[3,10,25,30,48],就是把c类问题转化为c+1类问题,开集的类别被视为unknown的一类。虽然目前防御方法能够防御闭集下的对抗样本,但对开集下的对抗样本却束手无策。
闭集的对抗攻防和开集的对抗攻防并不互补,由此引发了开集对抗防御问题(OSAD),在cifar10数据上进行6类别的实验,发现开集识别收到攻击时,识别概率形同随机。
提出了OSDN网络解决这个问题,由一个自编码器组成来识别特征空间,使用了解码重建和自监督确保学习到足够的特征知识。
2. 相关工作
对抗攻击和防御方法:略。
开集识别:OpenMax[3], generative model[10, 25], generative feature[30, 48].
自监督:图像修复[7], 多任务[8], 预测旋转角度[11].
3. 背景
- 对抗攻击:略
- OpenMax分类器:
其中l为softmax前的logistic值,w是属于闭集的可信度,其计算公式如下:
4. 提出的方法
该网络由4部分组成:编码器、解码器、开集分类器和转换分类器。在编码器后都添加了降噪层,开集分类器则是普通的分类器,但在推理时添加了openmax层。网络结构如下:
首先一张正常的图像经过对抗攻击后编码器得到隐特征,经过路径1的开集分类器得到分类损失。然后隐特征经过路径2的解码器得到重构误差。最后通过几何变换的对抗样本生成变换损失。而整个网络的损失便是3者的加和。
无噪特征编码层 在编码器的每个卷积层后都添加了一层降噪层,降噪层使用了基于高斯的非局部均值滤波器。给定特征图m,均值滤波器根据以下公式进行滤波得到降噪后的特征图:
而经过FGSM或PGD攻击过的图像经过编码器会得到如下的损失函数:
而在推理阶段,则在底部网络顶部加上OpenMax层来区分开集和闭集的分类,即使是添加了对抗噪声的样本。
干净样本生成 目的是根据有噪声的样本生成无噪声的样本,主要借助解码器。有两方面的原因,1. 添加了额外监督过程以生成去燥的隐特征 2. 添加生成器会使得模型包含更多生成特征信息,有助于模型开集分类和对抗防御。路径2生成重构的损失函数如下,目的是为了最小化噪声样本与生成样本之间的重构误差:
自监督降噪 使用了基于旋转的自监督方法,将样本旋转到任意角度,然后使用分类器对旋转角度进行识别。首先生成随机数[0,1,2,3], 然后乘以对应的90度角度,然后经过攻击后送入路径3得到自监督降噪损失函数:
使用自监督学习是因为旋转变化可以帮助学习到与对象结构和方向无关的隐特征信息。
实现细节 使用了resnet18网络作为编码器,并在4个block后面的每一层都添加上一个降噪层。使用3个转置卷积层作为解码器在SVHN和CIFAR10数据集上进行实验,4个转置卷积在TinyImageNet上实验。开集分类器和转换分类器都使用单层全连接网络。使用Adam优化器,初始化lr为1e-3。攻击参数PGD的iteration = 5,FGSM的s = 0.3。
5. 实验结果
数据集使用了SVHN、CIFAR10和TinyImageNet。
baseline选用了对抗训练[24]和特征降噪[44],另外使用了无防御的纯resnet18网络,在干净训练上为clean,在对抗样本上为adv on clean。开集实验使用了ROC作为实验指标,闭集实验使用了识别率,分类识别实验结果如下:
实验结论:在干净样本上识别的网络在所有场景下都有最高的识别率,但是经过对抗攻击之后识别率会直线下降。虽然对抗训练也能提高识别率,但是OSAD的对性能的提高最明显。
分布外检测 使用CIFAR10作为闭集训练,使用ImageNet和LSUN作为开集进行验证。使用平均的F1值作为验证指标,0.95作为OpenMax的阈值。实验结果如下:
6. 结论
提出了一个新的研究问题OSAD,证明了现有的防御方法不适用于开集防御。并基于此提出了OSDN网络,包含了降噪操作,自监督操作和重构层。并在3种数据集上进行了实现,证明了提出的方法可以有效地进行外分布检测。