0引言深度神经网络给图像分类(Gao等,2021)、人脸识别(胡蓝青等,2022)以及风格转换(Chen等,2021)等领域带来了巨大的技术变革和性能提升。然而研究表明,深度神经网络对于输入样本的微小变化非常敏感(Goodfellow等,2015)。在原始样本上添加微小的对抗噪声,就可以引起深度神经网络的误判(邹军华等,2022)。这种人为设计的异常样本称为对抗样本。目前,对抗样本的检测已经可以达到较高的准确率(Wang等,2022)。然而,为判断已部署的深度神经网络安全现状及采取针对性防御策略,还需要进一步识别具体的攻击方法。对抗样本的生成方式主要包含白盒攻击和黑盒攻击两大类(Akhtar和Mian,2018)。白盒攻击是指目标神经网络的全部信息已知,攻击者可以获取损失函数关于样本的梯度,并查询目标神经网络的输出等信息。Goodfellow等人(2015)发现,将逆梯度符号乘以一个自定义系数后,直接添加到原始样本上就可以快速生成对抗样本,从而提出了快速梯度攻击法。Kurakin等人(2017)将攻击过程分步骤进行,每一步重新查询梯度信息,有效提升了攻击成功率。Carlini和Wagner(2017)使用L0、L2、L∞等3种范数约束对抗样本与原始样本的空间距离,限制了对抗扰动的幅度,提出了C&W(Carlini and Wagner)攻击。然而,C&W攻击通常需要上千次的查询迭代。DDN(decoupling direction and norm)攻击(Rony等,2019)将对抗扰动的方向和范数进行解耦,以较小的L2范数显著减少了查询次数。黑盒攻击是指攻击者仅能查询到目标神经网络的输入输出信息,而不知道其内部参数。目前,黑盒攻击主要有基于决策的攻击和基于梯度的攻击两种方案。Brendel等人(2018)首先提出了基于决策的边界攻击方法,使蒸馏防御(Papernot等,2016)方案失效。Ilyas等人(2019)使用最小二乘法进行梯度估计,大幅提升了黑盒攻击的查询效率。常见的对抗样本检测工作主要利用对抗样本与正常样本在统计分布上的差异实现被动式检测。由于深度神经网络对于梯度扰动的敏感性,非常小的对抗噪声就可以引起模型的误判。因此,对抗样本与自然样本之间的差异非常微小,需要针对性设计专用的检测器。隐写分析任务同样存在隐写样本与载体样本之间差异微小的问题(张祎等,2022)。Liu等人(2019)发现,使用隐写分析器可以在一定程度上检测出对抗样本,并在空域富模型隐写分析器的基础上提出ESRM(spatial rich model),实现了对抗样本的高精度检测。作为一种有损图像压缩方式,JPEG压缩—解压缩过程中会产生量化误差、截断误差、舍入误差以及转换误差等(Wang等,2020)。这些误差的数值范围通常较小。研究表明,JPEG误差可有效实现对抗噪声的放大(Zhao和Wang,2021)。实验表明,使用JPEG误差可在白盒攻击数据集上达到良好的检测效果。使用质量因子为100的JPEG误差输入VGG16(Visual Geometry Group)网络(Simonyan和Zisserman,2015),对快速梯度符号法(fast gradient sign method,FGSM)(Goodfellow等,2015)生成对抗样本的检测率可达90%以上。由于对抗攻击方法的多样性,对抗噪声的幅值存在明显差异,无法人为判断适合当前识别任务的质量因子。此外,多个质量因子压缩—解压缩误差可能都对识别有效。本文设计了多因子误差注意力模型,在并行提取多质量因子误差的同时,利用注意力机制自适应调整每个误差分支的权重。接着以特征统计层(Wang等,2022)为基础设计了注意力特征统计层,获取最高卷积层输出特征图的多维统计特征,并为每个特征值分配权重。最终将高维带权特征统计向量送入全连接层,实现了对抗攻击方法的有效识别。1先验知识与相关工作1.1JPEG误差彩色图像的JPEG压缩过程包括图像分块、颜色空间转换、离散余弦变换(discrete cosine transform,DCT)、量化和编码等步骤,如图 1所示。编码过程分为zigzag编码和霍夫曼编码两个步骤,均为无损编码。 图1 JPEG压缩和解压缩流程 JPEG compression and decompression processFig 1由于JPEG是一种图像有损压缩方式,压缩前后会产生误差。为实现数据量的有效压缩,量化后数据以整数形式存储,小数部分直接抛弃(包括四舍五入、向上取整或向下取整等方式)。因此,量化后的数据即使经过反量化,依然与量化前的数据存在差异,从而产生量化误差。量化误差的提取过程如图 2(a)所示。数字图像在RGB和YCbCr(luminance, colour-difference of blue and colour-difference of red)颜色空间中都是以8位整数的形式存储的,颜色空间转换和逆变换之后的数据会四舍五入为0~255之间的整数,从而产生转换误差。单独提取转换误差需要人为添加二次压缩的过程,如图 2(b)所示。在JPEG格式图像解压缩的过程中,反离散余弦变换变换(inverse discrete cosine transform,IDCT)之后的数据依然是小数,需要转换成8位整数,由其产生截断误差和舍入误差。所谓截断是指将大于255的数截断为255,小于0的数据截断为0,防止出现颜色反转;舍入是指将截断后的小数四舍五入为整数。截断误差和舍入误差的提取方式如图 2(c)所示。反DCT变换后数据$\boldsymbol{M} $的截断舍入的方式为1$\bar{m}=\left\{\begin{array}{ll}255 & m255 \\\lceil m\rceil & m \% 1 \geqslant 0.5 \\\lfloor m\rfloor & m \% 1 0.5 \\0 & m 0\end{array}\right.$ 图2 各类JPEG误差的获取 Extraction of various JPEG errorsFig 2((a)extraction of quantification error; (b)extraction of conversion error; (c)extraction of truncation error and rounding error) 式中, $m$表示$\boldsymbol{M}$中的元素, $\bar{m}$表示截断舍人之后的$m$, % 表示取余符号。1.2JPEG误差卷积模拟转换误差的单独提取需要添加额外的压缩步骤,使误差提取前后的图像处于相同的颜色空间(都处在YCbCr颜色空间)。然而,完整的压缩—解压缩过程前后,图像都是处于RGB颜色空间的,不需要额外的颜色空间转换来提取整体的JPEG压缩误差。JPEG压缩—解压缩误差的整体提取过程如图 3所示。 图3 JPEG压缩—解压缩误差提取 Extraction of JPEG compression-decompression errorFig 3在图 1所示的压缩—解压缩过程中,编码和解码过程均是无损的,压缩误差的提取可以省略编解码的步骤。除取整操作外,JPEG压缩过程均为线性变换。因此,JPEG压缩误差可以利用卷积神经网络的组件实现(Zhao和Wang,2021),从而实现压缩—解压缩误差的并行提取。分块DCT变换过程可以表示为2$\boldsymbol{X}_f=Flatten\left(\boldsymbol{X}_b\right) \times \boldsymbol{M}_t$ 式中, $\boldsymbol{X}_b$表示图像$\boldsymbol{X}$的一个小块, $\boldsymbol{X}_f$表示频率域的$\boldsymbol{X}_b$, $ Flatten $表示将图像块推平到1维, $\times$表示矩阵乘法, $\boldsymbol{M}_t$表示DCT变换阵。令$\boldsymbol{X}_{fl}=Flatten\left(\boldsymbol{X}_b\right)$, 矩阵乘法的运算过程可以表示为3$\begin{array}{c}\boldsymbol{X}_f=\boldsymbol{X}_{f l} \times \boldsymbol{M}_t= \\{\left[\boldsymbol{X}_{f l} \times \boldsymbol{M}_{t 1}, \boldsymbol{X}_{f l} \times \boldsymbol{M}_{t 2}, \cdots, \boldsymbol{X}_{f l} \times \boldsymbol{M}_{t 64}\right]}\end{array}$ 式中, $\boldsymbol{M}_{t n}$表示$\boldsymbol{M}_t$的第$n$个列向量。由于$\boldsymbol{X}_{f t}$与$\boldsymbol{M}_{t n}$均为1维向量, 乘法规则为对应元素相乘求和。具体为4$\begin{array}{c}\boldsymbol{X}_{f l} \times \boldsymbol{M}_{t n}=X_{fl1} \times M_{t n 1}+X_{fl2} \times M_{t n 2}+\cdots+ \\X_{fl64} \times M_{t n 64}\end{array}$ 式中, $X_{fli}$表示$\boldsymbol{X}_{f l}$的第$i$个元素, $M_{t n i}$表示$\boldsymbol{M}_{t n}$的第$i$个元素。式(4)的计算过程与卷积运算完全一致, 且与向量$\boldsymbol{X}_{fl}$和$\boldsymbol{M}_{t n}$的形状无关。使用式(2) 的变换过程需要每次将图像分割为$8 \times 8$的小块, 并将每个小块内的数据推平到1维才能运算。而式(4) 表明, 将$\boldsymbol{M}_t$与形变为$8 \times 8$的小块再与$\boldsymbol{X}_b$进行, 结果与式(2) 完全一致。具体为5$Flatten\left(\boldsymbol{X}_b\right) \times \boldsymbol{M}_t=\boldsymbol{X}_f=\boldsymbol{X}_b * Reshape\left(\boldsymbol{M}_t\right)$ 式中, $ Reshape() $表示将$\boldsymbol{M}_{t n}$形变为$8 \times 8$的卷积核。使用式(5) 的方式实现DCT变换, 不需要将$\boldsymbol{X}_b$进行推平。此外, 只需要将卷积的步长设置为8, 就可实现输人图像$\boldsymbol{X}$不同小块之间的切换。因此, 图像分块的过程也可以相应避免。IDCT变换的过程和DCT变换基本一致,只是采用的$\boldsymbol{M}_{t}$不同。因此,DCT变换和IDCT变换都可以用卷积运算实现。颜色空间转换及其逆变换是以像素为单位进行的,分块—颜色空间转换的过程发生调换,并不会对JPEG压缩的输出产生影响。分块DCT变换的过程可以共同由式(5)所示的卷积过程实现。同理,调换颜色空间逆变换—合并块的过程也不会对JPEG解压缩的输出产生影响。图 3所示的JPEG误差获取过程可以简化为图 4所示的过程。 图4 JPEG误差提取简化 Simplified JPEG error extractionFig 4使用图 4所示的JPEG误差模拟提取方法和常用的JPEG压缩—解压缩方法(Wang等,2020)在计算结果上完全一致。本文使用10 000幅224×224像素的图像比较了它们的性能,常用的JPEG压缩—解压缩方式的耗时约为12.73 s,本文中的模拟方案耗时约为4.32 s。1.3对抗样本检测由于对抗噪声的添加,对抗样本与自然样本在数据分布上存在差异。对抗样本检测工作的本质就是检测对抗噪声给图像带来的分布差异。目前的检测方案主要分为基于样本自身特征和基于原始分类器中间特征的两大类方法。基于样本自身特征的检测方案从对抗样本本身的统计特征出发,利用隐写分析器、深度神经网络等工具分析差异实现检测。Grosse等人(2017)发现,对抗样本与自然样本的最大值、平均值与能量分布等统计特征存在差异,并使用这些特征进行了对抗样本的检测。由于对抗样本检测与隐写分析任务在检测微小噪声方面的相似性,隐写分析器对于对抗样本检测任务同样有效(Schöttle等,2018)。Schöttle等人(2018)基于隐写分析方法实现了对投影梯度下降方法(Madry等,2018)生成对抗样本的检测。投影梯度下降攻击方法的基本步骤与基本迭代法(Kurakin等,2017)相似,但由于每次迭代步幅很小,攻击成功率极高且生成对抗样本的噪声幅值很小。Liu等人(2019)结合隐写分析方法,提出了基于空域富模型(Fridrich和Kodovsky,2012)的增强版ESRM,实现了对抗样本的检测并取得较高的精确度。Wang等人(2022)在神经网络中引入了特征统计层,并使用级联方式对每个卷积层输出的特征图统计多维特征,实现了对抗样本的端到端检测。基于原始分类器中间特征的检测方法无法单独检测对抗样本,需要将样本输入到被攻击的原始分类器中,利用原始分类器神经元的输出变换实现检测。Feinman等人(2017)提出使用原始分类器中间层输出的核密度估计来衡量对抗样本与自然样本的距离差异。Li和Li(2017)使用支持向量机(support vector machine,SVM),结合级联特征对对抗样本进行检测,直接获取原始分类器每个卷积层的输出特征图,将这些特征图的统计特征送入支持向量机进行分类,然而检测精度较低。Carrara等人(2019)提出一种先提取分类器隐藏层神经元的输出,再使用长短期记忆网络对对抗样本进行检测的方法。1.4对抗样本与JPEG压缩在人为生成对抗样本的过程中,对抗噪声的添加强度以刚好欺骗受攻击模型为标准。对抗样本的攻击效果具有脆弱性,JPEG压缩可有效抵御对抗攻击(Kurakin等,2017)。Kurakin等人(2017)的实验表明,在扰动系数为16的FGSM(Goodfellow等,2015)和基本迭代法(basic iterative method,BIM)(Kurakin等,2017)对抗样本上,JPEG压缩能起到良好的抵御效果。对抗噪声的幅值较小,使对抗样本检测困难。对抗样本的生成过程只考虑到噪声在空间域的分布情况,没有关注变换域。而JPEG误差大多是在DCT域产生的,且误差幅值较小。Zhao和Wang(2021)模拟JPEG压缩过程,将对抗样本分块变换到离散余弦域,从而构建了轻量级的对抗样本检测模型。他们的研究表明,JPEG压缩—解压缩误差在对抗样本检测任务中可以有效放大对抗噪声。1.5注意力机制在神经网络中引入注意力机制的目的是定位重要区域,并抑制无用信息。图像识别领域的注意力机制主要分为空间注意力(Jaderberg等,2015)和通道注意力(Hu等,2018)两种模式。空间注意力在通道维度进行池化,进而使用卷积层获取关于空间位置的权重。通道注意力机制将特征图分层获取最大值和均值,分别输入到辅助的多层感知机获取每个通道的权重。Woo等人(2018)将两种注意力机制结合在一起,提出了空间通道混合注意力机制。2攻击方法识别模型2.1多因子误差注意力模型JPEG压缩—解压缩过程中产生的误差对于对抗样本的检测可以起到重要作用(Zhao和Wang,2021)。然而,在对抗攻击方法的识别任务中,不仅需要检测到对抗噪声的存在,还需要识别出不同攻击方法生成噪声的分布模式。虽然压缩误差可以起到放大噪声的作用,但是不同攻击方法生成的对抗噪声在分布、幅值等方面存在差异,无法有效确定适合的压缩质量因子。为避免单因子压缩误差引起的有效识别特征丢失,本文联合使用多质量因子提取压缩误差,设计了多因子误差注意力模型,实现对抗攻击方法的有效识别。多因子误差注意力模型主要包含压缩模块、解压缩模块、误差分支注意力模块、注意力特征统计层以及卷积层、全连接层等,如图 5所示。 图5 多因子误差注意力模型结构 Structure of multi-factor error attention modelFig 5颜色空间转换是线性变换,变换过程为6$\left\{\begin{array}{l}\boldsymbol{X}_{\mathrm{Y}}=0.299 \boldsymbol{X}_{\mathrm{R}}+0.587 \boldsymbol{X}_{\mathrm{G}}+0.114 \boldsymbol{X}_{\mathrm{B}} \\\boldsymbol{X}_{\mathrm{Cb}}=-0.168\;7 \boldsymbol{X}_{\mathrm{R}}-0.331\;3 \boldsymbol{X}_{\mathrm{G}}+0.5 \boldsymbol{X}_{\mathrm{B}}+128 \\\boldsymbol{X}_{\mathrm{Cr}}=0.5 \boldsymbol{X}_{\mathrm{R}}-0.418\;7 \boldsymbol{X}_{\mathrm{G}}-0.081\;3 \boldsymbol{X}_{\mathrm{B}}+128\end{array}\right.$ 式中, $\boldsymbol{X}_{\mathrm{Y}}, \boldsymbol{X}_{\mathrm{Cb}}, \boldsymbol{X}_{\mathrm{Gr}}, \boldsymbol{X}_{\mathrm{R}}, \boldsymbol{X}_{\mathrm{G}}$和$\boldsymbol{X}_{\mathrm{B}}$分别表示输人图像$\boldsymbol{X}$的$ \mathrm{Y}, \mathrm{Cb}, \mathrm{Cr}, \mathrm{R}, \mathrm{G} $和$ \mathrm{B} $颜色通道。$\boldsymbol{X}_{\mathrm{Y}}$的计算过程相当于使用三通道的$1 \times 1$卷积核(权重初始化为$0.299 、0.587, 0.114)$对RGB颜色空间的图像$\boldsymbol{X}$进行卷积。只需要使用3个$1 \times 1$的卷积核, 就可以实现$\boldsymbol{X}$从RGB颜色空间到YCbCr颜色空间的转换。同理, 颜色空间逆变换也可以使用$1 \times 1$的卷积实现。图 5中的压缩模块不包含量化步骤,解压缩模块也不包含反量化步骤。对抗样本首先输入到解压缩模块,实现颜色空间转换和DCT变换。使用不同质量因子获取误差时,量化—反量化系数也相应改变。多个反量化后的数据分别通过解压缩模块,并与原始输入样本作差获取压缩误差。接着,多分支压缩误差经由误差分支注意力进入卷积模块,再将最上层卷积特征图送入注意力特征统计层获取带权高维统计特征。最后,将特征值输入全连接层进行分类,从而实现攻击方法的识别。在图 4所示的JPEG误差提取过程中,颜色空间转换、DCT变换的过程与质量因子无关。这意味着即使提取同一样本的关于多个质量因子的压缩误差,也只需要经过一次压缩模块。虽然解压缩模块可以共用,但是多个分支反量化后的数据存在差异,每个分支的输出都需要经过解压缩模块。压缩、解压缩模块的使用是为了使用深度神经网络组件并行加速JPEG误差的提取,这两个模块并不需要参与识别网络的训练过程。此外,压缩—解压缩过程中使用的量化、取整等函数均不可导,影响了梯度的反向传播。压缩、解压缩模块内的参数无法随识别网络的训练过程优化。2.2多误差分支注意力在多质量因子压缩误差的提取过程中,图 4中的颜色空间转换和DCT变换过程不涉及质量因子,多个质量因子压缩可以公用压缩模块。虽然多因子误差注意力模型仅包含一个解压缩模块,但是不同量化—反量化分支输出的数据需要依次通过这个模块。逻辑上的压缩解压缩模块如图 6所示,各个解压缩模块的参数完全一致。 图6 误差提取逻辑结构 Logical structure of the error extraction moduleFig 6为分析不同质量因子压缩误差对于识别任务的重要程度,本文在多因子误差注意力模型中设计了误差分支注意力机制,如图 7所示。各分支压缩—解压缩误差经过一个卷积层后,在通道维度上连接形成图 7中的特征图 1,同时进行全局最大池化和全局均值池化。池化后的数据拉伸形成1维向量,输入全连接层计算特征图 1各通道的权重。这些权重分组输入后续全连接层,计算各个误差分支的权重。图 7中$n$个误差分支分别输人包含$k$个卷积核的卷积层, 拼接形成包含$n \times k$个通道的特征图 1。全局最大池化和全局平均池化后推平的向量各包含$n \times k$个特征值, 输人包含$n \times k / 2$个神经元的全连接层, 再分别连接到$n \times k$个神经元的全连接层输出通道权重。通道权重以$k$个为一组进行顺序分组, 分别输人到包含$n$个神经元的全连接层, 最终输出$n$个误差分支对应的权重。误差分支注意力机制以分支为单位评估误差特征重要性, 在限定关注范围的同时, 避免了训练过程中可能出现的颜色通道整体丢失, 为后续攻击方式的识别充分保留了完整的误差信息。 图7 误差分支注意力 Attention mechanism of compression factorsFig 72.3注意力特征统计层特征统计层以全局池化层(Lin等,2014)为基础,在全局特征最大池化层和全局均值池化层的基础上同时获取特征图各通道的最大值、均值、最小值和方差等统计量,组合形成高维特征向量(Wang等,2022)。使用全局池化层替代卷积层与全连接层之间的摊平变换,大幅减少了网络参数量,减轻了过拟合现象。特征统计层在不大幅增加参数量的同时,丰富了特征值类型。特征统计层的计算过程如图 8所示。卷积层输出的特征图分层进入特征统计层,在全局尺度上统计最大值、均值、最小值和方差等特征值,并重新排列形成1维特征向量。这里统计的特征不局限于上述4种,是一个可选的组合。 图8 特征统计层 Feature statistical layerFig 8本文在特征统计层的基础上设计了注意力特征统计层,如图 9所示。注意力特征统计层采用了最大值、均值、最小值、方差和偏态5种特征。图 9的左半部分描述了通道注意力的计算过程,特征图分通道进行最大池化和均值池化,分别形成1维向量,送入多层感知机,将结果输出后相加形成通道权重。图 9的右半部分描述了特征注意力的计算过程,特征图的多种统计特征在特征类型维度上分别进行最大池化和均值池化,并分别送入多层感知机,输出特征权重。最后,通道权重与特征权重相乘,并经过sigmoid激活形成关于每个特征值的权重。输出特征向量$\boldsymbol{X}_f $的计算过程为7$\begin{array}{c}\boldsymbol{X}_f=\boldsymbol{W}_f \times\left(\max \left(\boldsymbol{X}_t\right) \cup \operatorname{mean}\left(\boldsymbol{X}_t\right) \cup\right. \\\left.\min \left(\boldsymbol{X}_t\right) \cup \operatorname{var}\left(\boldsymbol{X}_t\right) \cup \operatorname{skew}\left(\boldsymbol{X}_t\right)\right)\end{array}$ 式中, $ \mathrm{max}, \mathrm{mean}, \mathrm{min}, \mathrm{var}$和$\mathrm{skew}$分别表示最大值、均值、最小值、方差和偏态的计算, $\cup$表示取并集, 用$\boldsymbol{X}_t$表示注意力特征统计层的输人, $\boldsymbol{W}_f$表示图 9中形成的权重向量。 图9 注意力特征统计层 Feature statistical layer with attentionFig 93实验与分析3.1实验说明3.1.1实验环境本文使用的多因子误差注意力模型基于PyTorch深度学习框架实现。具体的软件环境为windows 10,python3.7以及PyTorch 1.11。硬件环境为英特尔I5 11400 CPU,32 GB内存,英伟达RTX 3080Ti GPU。3.1.2数据集说明本文以ImageNet图像分类数据集为基础,使用FGSM(Goodfellow等,2015)、BIM(Kurakin等,2017)、Deepfool(Moosavi-Dezfooli等,2016)、C&W(Carlini等,2017)、DDN(Rony等,2019)、BoundaryAttack(Brendel等,2018)、BrendelBethgeAttack(Brendel等,2019)和BanditsAttack(Ilyas等,2019)等8种攻击方法生成对抗样本。为方便描述,本文将这8种攻击方法分别称为FGSM、BIM、Deepfool、C&W、DDN、Boundary、Brendel和Bandits。其中,FGSM和BIM都分别使用了2、4、6、8等4个扰动系数,Bandits包含L2和L∞两个版本。因此,本文一共生成了15个子数据集。在每个子数据集的生成过程中,本文从ImageNet数据集中随机挑选30 000幅图像尝试进行攻击。由于不同攻击方法成功率的差异,每个子数据集最终生成的对抗样本数量不同。在训练、测试时,随机从每个子数据集中挑选12 000个对抗样本。其中10 000个用于训练,2 000个用于测试。3.1.3实验参数实验过程中,误差分支数量为4。为充分保留样本原有信息,第4个分支使用归一化样本代替JPEG误差。其余3个通道采用的质量因子分别为90、95、100。模型中卷积层的具体参数如表 1所示。此外,模型还包含3个全连接层。表 1中卷积模块的第2个与第3个卷积层之间出现了通道数量的缩减,这是通过误差分支注意力机制实现通道合并的结果。表1 模型参数 卷积核尺寸 步长 卷积核数量 激活函数 1×1 1×1 3 uint8 8×8 8×8 64 - 8×8 8×8 64 uint8 1×1 1×1 3 uint8 3×3 1×1 16 ReLU 3×3 1×1 32 ReLU 3×3 1×1 128 ReLU 3×3 1×2 256 ReLU 3×3 1×1 256 ReLU 3×3 2×1 512 ReLU 3×3 1×1 512 ReLU Model parametersTable 1 “-”表示不使用激活函数。3.2性能评估3.2.1攻击方法识别对抗样本攻击方法识别是本文的主要任务。实验在由15个子集组成的数据集上和在由8个子集组成的数据集上进行多因子误差注意力模型的训练和测试。8个子数据集分别为扰动系数为2的FGSM和BIM,L2版本的Bandits和其他攻击方法生成的子数据集。在训练过程中,训练集和测试集上的检测准确率如图 10所示。 图10 多因子误差注意力模型训练效果 Training effect of multi-factor error attention modelFig 10((a) training process for 15 categories; (b) training process for 8 categories) 图 10(a)(b)分别展示了15分类和8分类的训练效果。在图 10(a)所示的训练过程中,20个周期之后的测试准确率趋于稳定,测试准确率达到了91.19%。然而在图 10(b)所示的8类别训练过程中,测试准确率仅能达到84%左右,且20个周期之后依然存在较大幅度的波动。两个数据集之间的差异主要体现在FGSM和BIM攻击方法扰动系数上。因此,本文计算了15类模型关于每个类别的召回率,分析扰动系数对模型的影响。召回率(recall) $ R$计算为8$R=\frac{T P}{T P+F N}$ 式中, $T P$ (true positive) 表示正样本中预测为正样本的数量, $F N$ (false negative) 表示正样本中预测为负样本的数量。然而对于多分类任务, 不能简单区分正负类样本。第$k$类召回率$R_k$计算为9$R_k=\frac{\left(D_y \mid T_k\right)}{\left(D_y \mid T_k\right)+\left(D_n \mid T_k\right)}$ 式中, $\left(D_y \mid T_k\right)$表示第$k$个类别中检测为该类别的样本数量, $\left(D_n \mid T_k\right)$表示第$k$个类别中末检测为该类别的样本数量。图 10 (a)中第50个周期各类别的召回率如表 2所示。表2 15分类各类别召回率 类别 召回率/% BIM(ε = 2) 96.05 BIM(ε = 4) 95.04 BIM(ε = 6) 96.95 BIM(ε = 8) 92.04 FGSM(ε = 2) 93.85 FGSM(ε = 4) 98.35 FGSM(ε = 5) 97.20 FGSM(ε = 8) 99.39 Deepfool 72.75 C&W 72.34 DDN 85.58 Boundary 89.63 Brendel 80.64 Bandits(L2) 98.55 Bandits(L∞) 99.90 Recall rate of 15 categoriesTable 2比较表 2中BIM和FGSM各扰动系数与其他类别的召回率,可以发现各扰动系数召回率均偏高。这表明所提多因子误差注意力模型对于扰动系数的识别任务具有良好效果。本文随机选择了4个子数据集对所提模型进行训练,测试准确率如表 3所示。表 3中BIM和FGSM的扰动系数均为2。对比表 3中的最后一行数据与表 2中的数据,可以发现表 3中最后一行的数据为表 2中召回率最低的4个类别的组合。由于各个子数据集中测试集的样本数量一致,这4个类别召回率的均值即为在4个子数据集上的测试准确率,具体为10$A c c_j^{j+3}=\frac{1}{4} \sum\limits_{k=j}^{j+3} R_k$ 表3 4类别识别准确率 数据集 准确率 BIM、DDN、Boundary、Bandits 95.68 FGSM、DDN、C&W、Bandits(L∞) 94.93 Deepfool、C&W、Brendel、DDN 81.85 Accuracy of 4 categories /%Table 3式中, $A c c_j^{j+3}$表示从$j$类开始连续4个类别的召回率, $R_k$使用式(9) 计算得到。15类模型在Deepfool、C&W、Brendel和DDN等4个子数据集上的测试准确率为$77.83 \%$, 低于表 3中的准确率。表 3中最后一行数据对应的召回率如表 4所示。C&W和Deepfool数据集上的召回率比表 3有明显提升。这表明多因子误差注意力模型在特定数据集上进行针对性训练后, 可以得到更好的测试效果。表4 C&W、Deepfool、Brendel和DDN的召回率 数据集 召回率/% C&W 77.60 Deepfool 97.35 Brendel 75.95 DDN 76.50 Recall rate of C&W, Deepfool, Brendel and DDNTable 43.2.2攻击强度检测所提模型在攻击方法识别任务中的表现表明对扰动强度检测同样有着良好表现。实验分别使用4种扰动系数的FGSM和BIM子数据集对多因子误差注意力模型进行训练,准确率和召回率如表 5所示。表 5的结果表明,所提多因子误差注意力模型在单独的对抗攻击扰动强度检测任务中同样具有优异的性能。表5 攻击强度检测准确率 数据集 准确率召回率 ε = 2 ε = 4 ε = 6 ε = 8 FGSM 99.67 99.75 99.60 99.50 99.85 BIM 96.85 97.65 97.90 94.25 97.60 Accuracy of attack coefficients /%Table 53.2.3质量因子分析为评估所提模型各误差分支JPEG压缩质量因子对检测效果的影响,本文使用多种质量因子的组合对模型进行了训练,测试结果如表 6所示。表 6中的训练和测试过程均是在15类数据集上进行的。实验结果显示,80以上质量因子的组合均可取得良好的分类效果。表6 各压缩质量因子准确率对比 压缩因子准确率 分支1 分支2 分支3 分支4 90 95 100 - 91.19 85 90 95 100 90.16 80 85 90 95 90.15 Accuracy of different compression quality factors /%Table 6 加粗字体表示最优结果。“-”表示输入数据未压缩。3.3模块性能分析模块性能分析实验均在15类数据集上训练及测试。对照所提多因子误差注意力模型各项参数,本文构建了普通的卷积神经网络。4个分支输入均为归一化样本,注意力特征统计层使用5个完全相同的全局池化层代替。全局池化分为最大池化和均值池化两种,训练过程如图 11所示。从图 11中两种池化方式的测试效果可以看出,池化方式对于模型的对抗攻击方法检测性能没有明显影响。多因子误差注意力模型不仅在测试效果上优于普通神经网络,且收敛速度更快。本文模型在15个训练周期之后已经趋于收敛,而最大池化、均值池化模型均在20个周期之后。 图11 本文模型与同规模普通神经网络对比 Performance of the proposed model versus neural networks with the same amount of parametersFig 11多误差分支模块并行计算样本关于多个压缩质量因子的误差,避免了在特定任务中人工筛选适合质量因子的过程。当多误差分支采用的质量因子相同时,测试效果如图 12所示。质量因子选择不当时,如图 12中的100或80,测试过程中的准确率波动较大,无法保证模型的稳定识别效果。图中的曲线也表明,多个质量因子的使用也提升了模型的识别准确率。 图12 多误差分支模块性能 Performance of the multi-brunch errorFig 12在保留多个压缩因子的前提下,本文模型中的注意力特征统计层分别替换为特征统计层(Wang等,2022)、全局最大池化层和全局平均池化层,测试结果如图 13所示。使用特征统计层的准确率略高于全局池化层,且波动更小。注意力特征统计层识别效果明显好于特征统计层和全局池化层。 图13 注意力特征统计模块性能 Performance of the feature statistical layer with attentionFig 133.4对抗样本检测对抗样本检测任务需要使用单个子数据集对模型进行训练及测试,测试集仅包含2 000个对抗样本。为避免数据量过小带来的测试偏差以及训练过程中出现过拟合现象,重新使用FGSM、Deepfool和C&W攻击方法针对VGG16网络各生成了30 000个对抗样本。其中25 000个用于训练,5 000个用于测试。每个对抗样本均与一个自然样本对应。因此,每个数据集包含50 000个训练样本和10 000个测试数据。在6个数据集上,本文模型分别与ESRM(Liu等,2019)、SmsNet(stochastic multifilter statistical network)(Wang等,2022)和DCT-Like(Zhao和Wang,2021)3种对抗样本检测方案进行准确率对比,结果如表 7所示。多因子误差注意力模型各项参数设置与对抗攻击方法识别中一致,未针对对抗样本检测任务调整。所提模型检测准确率与SmsNet及DCT-Like模型相比,准确率差距小于1%。同时,在较难检测的C&W数据集上,所提模型表现优于现有模型。实验表明,多因子误差注意力模型在对抗样本检测任务中同样具有良好表现。表7 对抗样本检测准确率 模型FGSMDeepfool C&W ε = 2 ε = 4 ε = 6 ε = 8 ESRM 98.10 98.53 99.03 99.35 95.13 92.87 SmsNet 98.48 99.46 99.74 99.78 98.26 93.83 DCT-Like 99.64 99.66 99.03 99.98 98.54 95.05 本文 99.18 99.65 99.75 99.86 98.71 96.27 Accuracy of adversarial example detection /%Table 7 加粗字体表示各列最优结果。所提模型的跨库检测性能如表 8所示。其中FGSM攻击的扰动系数ε为2。从表 8可以看出,训练集为C&W数据集时的跨库测试效果最好,训练集为FGSM数据集时的效果最差。这个趋势与Wang等人(2022)的实验结果一致。表8 跨库检测准确率 训练集 测试集 准确率 FGSM Deepfool 76.93 FGSM C&W 64.41 Deepfool FGSM 98.41 Deepfool C&W 79.59 C&W FGSM 98.34 C&W Deepfool 97.87 Detection accuracy of cross dataset /%Table 84结论本文从JPEG误差对于对抗噪声的放大作用出发,提出多因子误差注意力模型。由于对抗攻击方法的多样性,使用JPEG误差放大对抗噪声时压缩因子难以调节。本文利用卷积、取整等方式构建了压缩模块和解压缩模块,并行获取关于多个质量因子的压缩误差,进而设计了误差分支注意力机制评估各误差分支的重要性,合并通道后输入卷积模块。最后一个卷积层输出的特征图送入注意力特征统计层计算带权高维特征,并将这些特征值输入全连接层。所提多因子误差注意力模型不仅在攻击方法识别任务中达到了91.19%的准确率,在对抗样本扰动强度检测、对抗样本检测等任务中均有良好表现。在对抗样本检测任务中,本文模型在较难检测的C&W数据集上超过了现有方案的准确率。在其他数据集上的检测准确率与现有方法的差距也小于1%。实验结果表明了本文模型的优越性。由于JPEG压缩—解压缩过程存在不可导的步骤,本文模型未能实现压缩质量因子的自适应优化。在未来的工作中,将探索质量因子的自动调整方案。但正是由于不可导的步骤阻碍了梯度的传播,无法针对本文模型生成基于梯度的对抗样本,未来将测试非梯度攻击对于本文模型的攻击效果,并尝试设计相应的抵御方案。
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读