APP下载

优化的单像素攻击算法及其防御研究

2020-08-11王坤毛力通讯作者王可吴萌王燕妮

网络安全技术与应用 2020年8期
关键词:对抗性像素点扰动

◆王坤 毛力通讯作者 王可 吴萌 王燕妮

(西安建筑科技大学信息与控制工程学院 陕西 710055)

1 引言

随着神经网络模型的大量应用,最近大量研究表明神经网络模型依然存在安全隐患。神经网络模型的输入形式是一种数值型向量[1],所以攻击者就会通过设计一种有针对性的数值型向量从而让机器学习模型做出误判,这被称为对抗性攻击。通常采用对输入添加微小的扰动,便可以使得分类器分类错误,应用场景包括目前大热的计算机视觉[2]和自然语言处理方向。对抗性攻击主要发生在构造对抗性数据的时候,之后该对抗性数据就如正常数据一样输入机器学习模型并得到欺骗的识别结果。在构造对抗性数据的过程中,根据攻击者掌握机器学习模型信息的多少,可以分为黑盒攻击[3]和“白盒攻击”[3]。黑盒攻击,攻击者对攻击的模型的内部结构,训练参数,防御方法等一无所知,只能通过输入输出与模型进行交互。“白盒攻击”与黑盒模型相反,攻击者对模型一切都可以掌握,攻击者能够获知机器学习所使用的算法,以及算法所使用的参数,并且攻击者在产生对抗性攻击数据的过程中能够与机器学习的系统有所交互。

2018年Jiawei Su、Danilo Vasconcellos Vargas和Kouichi Sakurai三人共同提出的单像素攻击算法[4]。相较于传统改变整个输入图像而控制尽可能小扰动的黑盒攻击算法,单像素攻击算法则是控制扰动像素的个数,对于修改幅度不作要求,从而实现使用少量像素点实现高维攻击。这类攻击方法可以使用非常低维的切片,切割输入空间,因此这是探索深度神经网络输入空间特征的新方法,目前该方法已引起大量研究者的关注。

本文将主要基于单像素攻击算法,讨论典型卷积神经网络(CNN)模型的“黑盒”条件下的对抗性攻击与防御方法。

2 攻击算法与防御算法

2.1 单像素攻击算法

单像素攻击的基本思想,通过修改原始数据上尽可能少的像素个数的值,从而让模型产生分类错误分类。为方便表述,定义图像为I,CNN分类模型为c(x),干扰因子集合为P,集合中每个元素包含一个五元组,包括干扰像素的位置和色彩信息,其数学描述如式(1)所示。

式中xi,yi代表像素的位置,ri,gi,bi代表图像红色,绿色,蓝色通道的取值,i代表编号式中m为改变最大像素个数。定义扰动函数perturb(P,I)如式(2)所示。

将原图像I中指定位置xi,yi处的像素点的数据改为ri,gi,bi,即完成了对原始图像I的扰动。

基于单像素攻击算法的思想以及上述图像扰动定义,得到伪代码如表1所示。

表1单像素攻击算法

2.2 异常像素检测修正算法

由单像素算法思想可知,该算法只限制了攻击像素数而未限制像素的扰动量,因此被扰动的像素与周围差异较大,更容易产生离群像素点(即噪声点[5]),因此可以采用如式(3)所示,计算周围像素与周围像素点的平均距离D。用以衡量该像素点的异常程度。

式中m表示与目标像素相邻的像素数目,pixels表示与目标像素相邻的像素,rk,gk,bk表示周围像素各个颜色通道的向量值,rmid,gmid,bmid表示目标像素各个颜色通道的向量值。基于上述距离公式,自适应异常像素检测修正算法伪代码如表2所示。

表2自适应异常像素检测修正算法伪代码

(3) (, )a p pend D D //将每个Di保存到距离列表中(4)end for(5) (), ()lis t i= //对距离列表排序,拷贝原图像(6) 1 10:s ort D R co py I list I for i= →(7) (1) () () (1)if D i D i D i D i + - - -≫lis t list lis t lis t(8) (, (0:))a ppend E D i//如果后向差分远大于前向差分,则将当前所有像素添加到异常像素集合中(9)end if(10)end for(11) :list for each E e(12) () (())R e mean edge e I =//将拷贝图中异常像素集合中像素点的像素值用紧邻像素的均值代替。(13)end for(14) I retur n R

2.3 算法测试

本文主要使用经典LeNet[6]和ResNet18[7]的CIFAR10[7]的分类CNN模型作为对抗性研究的目标CNN模型,为保证黑盒条件,因此不对上述经典CNN模型的内部结构进行讨论,仅仅对其模型输入输出进行分析。LeNet是由Yann,LeCun等人提出于1994年的积神经网络结构,是最早的卷积神经网络之一。LeNet网络结构为经典网络结构,在保证模型精度的同时,简化了网络参数,使得模型更容易被训练。ResNet是He Kaiming,Ren Shaoqing,Sun Jian提出于2015年,是当前应用最为广泛的CNN特征提取网络。ResNet引入残差连接使得,卷积神经网络可以构建更深,而不会引起学习退化问题。

对经典的LeNet和ResNet18卷积神经网络模型训练200轮,每一轮取128个训练样本进行训练,模型准确率如表3所示。

定义扰动前后图像差异度d如式(4)所示,用于衡量扰动前后图像差异。

式中,PI代表扰动后的图像向量,I代表原始图像向量,表PI的模,表示I的模。

基于单像素攻击算法对LeNet和ResNet18模型进行攻击测试,部分结果如表4所示,仅对原图像使用较少的扰动,即原图像和扰动后的图像差异度极小(扰动前后图像差异度低于0.1%),便可使得CNN模型分类出现错误。

表4测试数据表

表中Ori表示攻击之前分类结果,Att表示攻击之后结果,d为差异度。

利用单向素攻击算法对LeNet和ResNet18模型进行攻击,再采用自适应异常像素修正进行针对性防御,对比效果如图1所示。

图1攻击防御算法效果图

测试结果显示单像素攻击算法可以在纯“黑盒”条件下对CNN模型完成攻击,同时本文提出的自适应异常像素修正算法也可以很好地对被攻击图片进行修正从而实现防御。

表3测试集中CIFAR10的分类准确率(%)

3 单像素攻击算法优化与防御效果

3.1 基于随机搜索的单像素攻击算法不足

选择一批测试集图像采用单像素攻击算法获得其对应的干扰因子,并统计使用这些干扰因子扰动图像后使得模型对图像分类错误的在样本中所占比例,将该比例定义为攻击成功率Sr,如式(5)所示。

式中,size(s)表示统计扰动后图像分类错误的样本数量,size(sample)表示统计测试样本数量。通过在测试集图像中随机选择100组作为测试数据,使用不同迭代次数和选择不同数量干扰因子对于LeNet和ResNet18模型单像素攻击算法成功率进行测试,结果图2所示。

图2攻击成功率变化图

图2显示基本单像素攻击算法对于模型攻击成功率不会随迭代次数和干扰因子的数目发生明显的变化,对LeNet模型的攻击成功率为30%左右;而对于ResNet18的攻击成功率在15%左右。原始基于随机搜索的单像素攻击算法各个干扰因子随机产生,且相互独立作用,即会产生NFL问题[8],因此基本单像素攻击算法成功率对干扰因子个数以及迭代次数并不敏感。

3.2 基于PSO进行优化

由图2攻击成功率变化图可以看出基于随机搜索的单像素攻击算法成功率处于一种较低的状态,这是由于干扰因子的在迭代中是在解的空间内随机选择且无方向的迭代,因此导致基本单像素攻击算成功率很低。粒子群优化算法(Particle Swarm Optimization,PSO)不需要交叉变异的复杂操作,求解过程运算量更小,迭代速度更快,且对于问题收敛速度快,实现简单,因此使用PSO对干扰因子集合P在“解空间”进行优化求解[9]。PSO算法的参数设置为,最大迭代为50代,初始种群100个粒子,粒子特征因素为干扰因子集合P,学习因子c1,c2均为0.5),PSO算法所使用的适应度函数为如式(6)所示的置信度函数。

式中,y表示CNN模型对于输入图像I分类为g目标的概率,对单像素攻击算法进行优化,以提高攻击成功率,优化前后攻击成功率对比如图3所示。

由图3可知使用PSO算法对原始单像素攻击算法进行优化成功率得到显著提高,其中随着干扰因子数目增多,优化后的单像素攻击算法攻击成功率得到显著提升,同时扰动前后差异度十分小,详细对比数据如表5所示。

由表5的实验数据显示,随着干扰因子数目增多,优化后的单像素攻击算法攻击成功率得到明显提高,同时对于ResNet深度较深的CNN模型提升效果更为显著。这是因为,多个干扰因子可以在“高维度特征”空间进行多维度的图像扰动,采用PSO多个干扰因子作为特征子集被包含在一个“粒子[9]”中,也就是干扰因子间会共同作用,从而对CNN模型的高维特征空间产生更大的扰动,所以基于PSO优化的算法在多干扰因子攻击时成功率提升更为明显。对于深度较深的ResNet模型由于其拥有更大维度的特征映射空间,因此基本单像素攻击算法采用随机探测的方法产生寻找干扰因子难度更大,而采用PSO优化,由于种群“粒子”间信息共享[9],找到干扰因子便有方向而非盲目寻找,因此优化后的攻击算法在深度网络攻击成功率提升更为明显。

图3优化前后成功率对比图

表5优化前后对比数据表

3.3 防御效果讨论

图1显示,采用自适应异常像素检测修正算法可探测出异常像素点位置,并消除图像中的像素点,从而防御基于随机搜索的单像素攻击算法对CNN模型的对抗性攻击。使用防御算法后基于PSO优化的单像素攻击算法攻击成功率Dsr,与未使用防御算法基于PSO优化的单像素攻击算法攻击成功率Sr对比结果如表6所示。

表6防御算法防御结果数据表

表6数据表明,本文提出的自适应异常像素检测修正算法针对单像素攻击算法整体防御效果显著,可降低其攻击成功率,尤其是针对扰动率十分少的单个干扰因子攻击防御效果十分显著,可达80%以上防御率。多干扰因子攻击,使得每个干扰因子扰动的像素与周围像素差异会减小,因此该算法在防御性特性是会随干扰因子数量增加防御率降低。但是,单像素攻击算法的特性就是扰动尽可能少的像素,理想状态下只使用一个干扰因子扰动一个像素,因此该算法防御特性可针对性防御单像素攻击算法。

4 结束语

对单像素攻击算法进行讨论表明,采用合适的干扰因子,即使极低的扰动量也会使得CNN模型的特征空间产生巨大的影响,并严重影响模型可用性。针对单像素攻击算法的特点,自适应异常像素检测修正方法采用基于相邻像素差异来探测异常像素,找到被扰动的像素,并利用均值填充从而削弱扰动,从而可以达到针对性防御的目的。

猜你喜欢

对抗性像素点扰动
一类五次哈密顿系统在四次扰动下的极限环分支(英文)
基于增强型去噪自编码器与随机森林的电力系统扰动分类方法
扰动作用下类岩石三轴蠕变变形特性试验研究
图像二值化处理硬件加速引擎的设计
带扰动块的细长旋成体背部绕流数值模拟
基于局部相似性的特征匹配筛选算法
基于像素点筛选的舰船湍流尾迹检测算法
关于羽毛球教学中多球训练的探讨
基于canvas的前端数据加密
技战能主导类格斗对抗性项群的竞技特点与训练要求