一种提高图像识别模型鲁棒性的弱化强化方法
2023-11-14黎世达项剑文
黎世达,项剑文
(华南师范大学计算机学院,广东 广州 510631)
0 引 言
伴随算力的快速提升,人工智能得到了空前的发展。在越来越多的行业中出现了人工智能的身影。深度学习算法[1-5]作为人工智能算法的重要成分,也得到了长足的发展。得益于深度学习的强大拟合能力以及高质量的数据,深度学习在许多任务中[6-9]取得令人满意的效果。然而对抗样本的出现让更多人关注深度学习的安全性。
对抗样本[10-11]的定义是一种人为恶意产生的用于攻击神经网络的产物。不怀好意的人可以通过对神经网络的输入作细微的改动,使神经网络的输出产生剧烈变化。试想在一些需要严格保障安全的领域如自动驾驶和安防等,如果所使用的算法被攻击,后果不堪设想。对抗样本的出现,引发了人们对深度神经网络运作机制的思考,许多防御方法也先后被提出。
Vargas 等人[12]认为对抗性样本的对抗扰动将网络的感受野引导到错误的位置,从而抑制了模型对正确特征的激活。如何破坏这些对抗扰动是提高模型鲁棒性的关键。Gao 等人[13]认为神经网络易受攻击的原因是神经网络中间层输出的特征图过于冗余,但其中存在鲁棒的特征图,它们不易受对抗样本的影响。Liao等人[14]将对抗扰动视为噪声,通过Encoder-Decoder模型对输入图片降噪可以有效提高模型鲁棒性。同时,Decoder 还原的图片在空间语义上有明显的强化。如图1 所示,第1 列为清洁样本,第2 列为对抗样本,第3 列为经过Decoder 降噪后的输出,可以发现降噪后的图片具备明显的空间特征语义指向性,表现为钟表指针和表盘数字部分更加高亮。高亮部分的内容与图片中的物体有较高的相关性。
图1 Decoder重建图像与对抗样本对比图
将上述研究结论归纳起来,可以得出:1)对抗扰动会将网络的感受野引导到错误位置,这种扰动需要被破坏同时使感受野恢复到正常位置;2)神经网络中间层的特征图是冗余的,其中具备鲁棒的特征图,它们不容易受对抗扰动的影响;3)图片的空间语义强化有助于抵御对抗样本。
基于上述结论的启发,本文提出一种提高图像识别模型鲁棒性的弱化强化方法。该方法由弱化操作和强化操作组成。弱化操作用于减少图片中的对抗扰动,但这会丢失一些空间语义信息,这部分丢失的语义信息由强化操作补全。强化操作由特征提取器和特征选择器构成,特征提取器用于提取合适的图像特征图,特征选择器从特征提取器中选择鲁棒的特征图,这些特征图不易受对抗样本的攻击,并且,它们含有丰富的空间语义信息。通过弱化再强化的输出可以有效破坏对抗扰动并实现空间语义的重建,以此提高模型的鲁棒性。
1 相关工作
深度学习作为强有力的工具,在许多行业发挥着重要作用。神经网络作为深度学习中的重要成分,也得到了长足的发展。然而,学者们研究发现,深度神经网络是可以被攻击的。攻击者可以对神经网络的输入进行人为的恶意篡改,使深度神经网络的输出产生剧烈变化。人为恶意篡改的输入称为对抗样本。
对抗样本在许多任务中都被证实是存在的。在图像分割任务中,Long等人[6]成功攻击了深度学习模型,使得模型对图像分割错误。在语音辨识任务中,Hannun 等人[15]对输入的音频篡改,成功使模型出现语音误识别。同样,Mnih 等人[16]在强化学习中也成功实现了对抗攻击。
针对图像识别任务,对抗样本需要达到的目的是尽可能小地改动图片像素值,同时使模型输出的分类出错。基于这个目的,许多对抗样本的生成方法被提出。
Goodfellow 等人[11]提出了FGSM 方法。该方法通过求解模型的梯度,并将梯度作符号单位向量化,将该符号向量用于篡改输入的图片,取得了非常好的攻击效果。Kurakin 等人[17]对FGSM 作了进一步的改进,并提出了BIM。BIM 在FGSM 的基础上完成多步迭代实现攻击。该方法产生的对抗样本不但攻击性更高,而且难以察觉。Madry 等人[18]提出了PGD 攻击。他们通过将每一次迭代得到的对抗样本投影到距离最近的清洁样本后再迭代,获得了更加具备迷惑性的对抗样本。Moosavi-Dezfooli 等人[19]解决了FGSM 参数选择的难题。他们通过将输入的样本映射到最近的超平面上来获得尽可能小的输入扰动,通过将这个映射过程不断迭代来获得强有力的攻击样本。Carlini等人[20]将对抗样本视为一个优化问题,通过优化一个精心设计的对象来获得强大的攻击样本。胡卫等人[21]提出了基于Logistic 向量的对抗样本攻击算法。他们挖掘了神经网络中的线性特征与非线性特征,认为对抗样本的攻击效果与Logistic 的顺序存在关联。李哲铭等人[22]通过建立概率模型,对原始输入进行随机平移变换,然后将随机平移变换后的图片用于生成对抗样本。李帅[23]通过发掘图像隐空间,在隐空间中获得更加自然且有效的对抗扰动。
Vargas 等人[12]认为对抗性样本的对抗扰动将网络的感受野引导到错误的位置,从而抑制了模型对正确特征的激活。Gao 等人[13]认为神经网络易受攻击的原因是神经网络中间层输出的特征图过于冗余,但其中存在鲁棒的特征图,这些特征图足以让网络取得良好性能。Liao等人[14]通过压缩重建对抗样本,发现重建的样本被去除对抗扰动的同时,部分图像空间语义得到强化。受这些文献的启发,本文提出一种弱化强化方法。弱化操作用于减少图片中的对抗扰动,用于破坏对抗扰动的结构。强化操作由特征提取器和特征选择器构成,特征提取器用于提取合适的图像特征图,特征选择器从特征提取器中选择鲁棒的特征图,这些特征图不易受对抗样本的攻击,并且,它们含有丰富的空间语义信息。通过弱化强化操作的输出可以有效破坏对抗扰动并实现空间语义的重建,以此提高模型的鲁棒性。
2 方法设计
2.1 动机
对抗样本可以成功攻击深度学习模型,Vargas 等人[12]认为对抗性样本的扰动将网络的感受野引导到错误的位置,从而抑制了模型对正确特征的激活。这意味着可以通过减弱扰动和加强一些特征来使网络被正确激活。正如Gao等人[13]提到的结论,少量的特征图足以让网络做出正确的分类,而过多的特征图则会带来潜在的攻击风险。受此启发,本文选择部分鲁棒的特征图进行强化。Liao等人[14]的结论也提示,被选择的特征图通常需要具备丰富的空间语义信息。
基于上述思考,本文提出一种弱化强化方法。如图2 所示,对于一张输入图像,本文通过弱化操作减少并破坏其对抗扰动,随后使用强化操作来弥补弱化操作造成的空间语义信息损失。在强化操作阶段,为了获得具备丰富空间语义的特征图,本文选择常见的卷积神经网络作为特征提取器,为了在众多的特征图中选取鲁棒的特征图,本文设计一个特征选择器,该选择器可以融合来自特征提取器中的特征图,并从中选取出鲁棒且具备丰富语义信息的特征图。
图2 方法流程与模型结构图
强化操作可以由多个特征提取和特征选择单元组成,分别对应图2中的F1,…,Fn-1和Fn。每个单元输出3张特征图分别对应RGB 这3个通道,图2中F1(x)表示F1强化单元输出的3 个通道的特征图。每个单元的输出最终会与弱化操作的输出叠加送入后续网络进行微调。
2.2 弱化操作与重建
弱化与重建操作是一个简单的线性叠加过程。对于任意给定的输入图像x∈R3×h×w,弱化操作将输入x的每一个像素值乘以一个调节比例(1-λ),λ∈[0,1],通过减少输入的像素值在输出中的占比来实现弱化的效果。重建操作将弱化操作与强化操作的输出线性叠加为I(x) ∈R3×h×w,强化操作将在下一节阐述。弱化与重建操作的数学描述为:
其中λ∈[0,1]为线性调节因子,它决定了弱化操作与强化操作的作用比例,(1-λ)为弱化操作的调节比例,Fi(x)为第i个强化操作单元的输出,Fi(x) ∈R3×h×w,共计有n个强化操作单元。
2.3 强化操作
强化操作由特征提取器和特征选择器构成,特征提取器提取特征图,并将得到的特征图传递给特征选择器。特征选择器将融合所有来自特征提取器中的特征图信息,并将其映射至鲁棒的特征图下标,通过在特征图中索引下标得到3 张特征图,分别对应图片的RGB 通道。强化操作有多个单元,每个单元独立运作。
2.3.1 特征提取器
特征提取器可以使用常见的特征提取网络,如ResNet[1]、VGGNet[2]和GoogLeNet[3]。这些网络的共同特点在于它们都有多个卷积层。每层提取的特征都有不同的特点。低层特征具有较高的分辨率,包含更多的空间信息,如纹理和几何形状,而高层特征的分辨率较低,但包含更多抽象信息。图2 所示的特征提取器中的开关选项指示使用特征提取器的哪一层特征图作为输出。对于一张输入图片x∈R3×h×w,第n层的特征图FM可以表述为:
其中fn代表神经网络的第n层运算。
2.3.2 特征选择器
特征选择器接收来自特征提取器的输出FM,为了囊括所有的输入特征图信息,特征选择器首先通过一个全局池化层完成信息的融合得到代表每个通道在此次输入的重要性,随后通过全连接层和一个ReLU[24]激活函数完成一次非线性操作得到这既是一个内部的映射操作,也是一个降维的过程。继续经过一层全连接层将通道降维至3,对应为RGB 这3 个通道,考虑到后续的Sigmoid 函数的特性,本文用一个归一化[25]操作将数据转换至合适的区间后输出∈R3×1。最后经过Sigmoid 操作得到∈R3×1,的每个值=1,2,3)被限定到(0,1)之间。上述过程可以表述为:
由于的输出区间为(0,1),需要被放缩到通道大小(0,c-1)才可以完成特征图的索引操作,但是输出的结果可能并非是整数,因此在索引操作的时候存在取整的问题。本文通过将小数进行向上取整操作得到,向下取整得到,分别索引2 组特征图并将这2 组特征图按照线性插值融合为一组图像,表示为:
其中(x,y)为特征图的像素位置,为向下取整后索引得到的特征图,表示向上取整后索引得到的特征图。最后的输出需要Resize到224×224。
3 实验结果与分析
3.1 数据集预处理与训练参数
CIFAR-10[26]是一个小型的图像数据集,常用于图像分类任务。其中有50000张训练图片与10000张测试图片。每张图片都是32×32 的彩色图片。本文也使用高分辨率的数据集ImageNet[27]来测试所提出方法的性能。ImageNet 包含120 万张训练图片,5 万张验证图片,共计1000 个分类。然而,由于设备的限制,本文将ImageNet 的规模调整至其1/10,即只将前100 个类别作为数据集。裁切后的数据集包含12 万张训练图片和5000 张验证图片。所有送入网络的图片都被放大为224×224,并且每张图片都做了标准化处理。如果实验未作特殊说明,则所用的攻击方法为FGSM,分类网络与特征提取网络相同。
实验训练步长为30000,学习率使用Warm Up的调整策略,峰值学习率为0.01,峰值步长为5000。
3.2 超参数λ对防御效果的影响
在本节实验中,只用一个特征强化单元作为实验对象,以得到重建过程中的线性调节因子λ对防御效果的影响。实验分别选择VGGNet11、ResNet34 和GoogLeNet的L1层作为特征提取器,分层细节见表1。实验结果如图3所示,Epsilon代表对抗样本的攻击强度,分别选择4/256、8/256、16/256 用于测试。图例中,L1 表示特征提取器的网络深度为1 层,细节见表1,FS 表示使用本文提出的特征提取器,与之对照的是RAN,表示使用随机提取器,这部分将在3.4 节探讨,λ及后面的数字表示公式(1)中的线性调节因子,图例最后的部分表示分类网络,VGG 为VGGNet11、RES为ResNet34、GN为GoogLeNet。
表1 特征提取器的网络层级划分
图3 参数λ对比实验结果
从实验结果可以得到,伴随λ的提升,方法的防御效果越好,具体表现为λ越大的折线,其斜率越平缓,并且模型输出的识别准确率越高。随着攻击强度Epsilon 提升至16/256,原生的模型准确率皆下跌到0.2 以下,而使用了弱化强化方法的模型准确率则保持在0.5 以上。无论以VGGNet11、ResNet34 还是GoogLeNet作为特征提取层,表现都是一致的。
λ越大带来的问题是,在模型不受攻击时,模型的准确率有所下降。在Epsilon 等于0 的时候,λ越大的模型,准确率也下降得比较多。这是因为特征提取器的特征图过多地覆盖了原图的特征导致图像的特征变得更加单一,不利于分类。因此,在实际使用过程中,λ的大小选择需要权衡利弊。从公式(1)中可以佐证这个实验现象,λ越大表明弱化操作越强,若输入为对抗样本,其对抗扰动会被破坏得越充分,同时,强化操作得到的特征图作用越强,这些特征图是鲁棒的,因此具有良好的防御效果。
3.3 不同深度下特征提取器防御效果与误差累积
本实验设计意在验证不同深度的特征提取器产生的特征图对于该方法的影响。为了便于实验开展,本文将VGGNet11、ResNet34 和GoogLeNet 的卷积提取层作了如表1 所示的层次划分,共计4 层。其中Conv 表示卷积操作,紧随其后的数字表示通道数,/2表示卷积步长为2,Inception 为GoogLeNet 内部的感知单元,Pool表示池化层。根据3.2节的实验结论,本节实验的λ选择为0.9。特征提取器不同层次的特征图对防御效果的影响结果如图4 所示,特征提取器越浅层的特征图输出对于防御的效果越好,通过将特征图可视化可以发现该现象产生的原因。
图4 不同层次的特征提取器防御效果
图5 展示了每一层的输出进行可视化的结果。卷积神经网络的特征图随着深度呈现出不断抽象的趋势。浅层特征具有较高的分辨率,包含更多的空间语义信息,如纹理和几何形状,而深层卷积特征的分辨率较低,但包含更多抽象信息。浅层的信息效果更好的原因主要如下:1)正如Liao 等人[14]提到的结论,具备空间语义信息的特征图有助于提高模型的鲁棒性。浅层的特征图符合上述结论要求,其具备丰富的空间语义信息,并且这些空间语义信息与图中的内容强相关,如图中提取的多是物体的轮廓、纹理等。2)对抗扰动产生的误差会呈现积累的效果,即误差随着特征提取网络的加深而不断累积,越到深层的特征图越不可靠。本文统计了携带高斯噪声的样本和对抗样本在各个层产生的特征图与对应的清洁样本在对应层产生的特征图之间的差异,计算方式如下:
图5 不同深度下的特征提取器所得特征图可视化结果
其中,xp为对抗样本或者带有高斯噪声的样本,是一张受干扰的图片,而x为对应的清洁样本,Ml为输入图像在第l层的特征图。得到的结果如图6所示。图例中带GAU 后缀的为高斯噪声样本,ADV 后缀的为对抗样本。实验结果显示,GAU 后缀的曲线比较平整,斜率较低,这表明添加了高斯噪声的样本产生的特征图与清洁样本产生的特征图之间的差异并不会随特征提取层的加深而累积,而对抗样本产生的特征图与清洁样本产生的特征图之间的差异伴随特征提取层的加深而变大,表现为ADV 后缀的曲线随层数增加而变大。从这个角度而言,低层的特征图更加具备实用性,它相对深层的特征图更加稳定可靠。
图6 扰动误差累积对比图
3.4 特征选择器与随机选择器效果对比
本节实验设计主要用于验证特征选择器相较于随机选择器的优越性。基于3.2和3.3节的实验结果,本节实验设置λ为0.9,特征提取层选择第1层。实验结果如图3所示,图例中含有RAN标识的为随机选择器,含有FS标识的为特征选择器。
从实验结果可得,随机选择器得到的曲线斜率也很低,表明攻击强度的提升并不会对其产生很大影响。其弊端在于对清洁样本的识别率大大降低,表现为在攻击强度为0时,其准确率相较于原生的模型有比较大的下滑。本文提出的特征选择器则避免了上述问题,在防御效果和清洁样本的识别上都保留了较好的效果。
3.5 多个特征提取器单元的防御效果对比
本节实验设计主要用于验证单个特征提取单元与多个特征提取单元在防御效果上的差异。实验分别使用CIFAR-10 和ImageNet 数据集完成,攻击方法分别采用FGSM、BIM、DeepFool 和PGD,攻击强度Epsilon 为8/256 和16/256。实验的分类网络分别为ResNet34、GoogLeNet 和VGGNet11。特征提取网络单元的数量有1~3 个,它们是上述提到的3 个网络的特征提取层的组合。
实验结果如表2 所示。相较于特征提取器为None 的一栏,含有特征提取器作为防护的模型在识别准确率上有较大的提升,尤其是在BIM、DeepFool和PGD 攻击面前,原生模型在受攻击的情况下,模型识别准确率基本处在0,而使用了弱化强化方法的模型可以得到比较高的准确率。在CIFAR-10 数据集的实验中,以ResNet34&VGGNet11 作为特征提取层的ResNet34 分类网络在DeepFool 攻击下可以得到95.62%的准确率,以GoogLeNet 作为特征提取层的ResNet34 分类网络在PGD 攻击下可以得到85.62%/79.37%的准确率,相较于特征提取层为None 的0 准确率有较大提升。分类网络为GoogLeNet 和VGGNet11上也具备相似的表现,表明该方法具备泛化性,不仅是针对某种模型存在效果。
表2 不同特征提取器与不同攻击方法下的准确率
在CIFAR-10 数据集上,一个单元的特征提取器已经足够得到了良好的防御效果,这是因为CIFAR-10 数据集是一个低分辨率的图像,因此简单的特征提取器就足以应对这种情况。然而对于高分辨率的数据集ImageNet,则多个特征提取器单元的组合防御效果更好,具体表现为在ImageNet 的实验中,组合的特征提取器得到的防御准确率综合来说比单个单元的特征提取器得到的识别准确率要高。如ResNet3 4&VGGNet11 作为特征提取器的ResNet34 分类网络得到的准确率要比其他特征提取器高,因为高分辨率的图像更容易藏匿对抗扰动,需要更多的强化信息来保证防御的效果。
4 结束语
本文提出了一种提高图像识别模型的弱化强化防御方法。弱化操作将输入的图像进行结构破坏,尤其是其中的对抗扰动,但这个过程同时也导致了图像的空间语义信息缺失,为此,本文设计了一个强化操作,强化操作由特征提取器和特征选择器构成,特征提取器用于提取图像特征,获得特征图,特征选择器用于从中选择鲁棒的特征图。进一步地通过重建操作,将强化操作得到的特征图弥补弱化操作带来的图像空间语义损失。最后,本文通过大量的实验,证实了方法的有效性。