面向时序数据的多范数约束对抗样本生成方法
2023-08-31沈子钰
张 鑫 沈子钰 李 云
时序数据在生活中无处不在.人类活动和自然时时刻刻都在产生各种时序数据,如金融记录、能耗负载、生物信号等.现实生活中的数据挖掘任务中常常遇到时序分类问题(time series classification,TSC).例如,在食品安全、医疗诊断、云控制系统等很多领域都涉及时序分类问题[1].随着计算机算力的提升和数据量的增长,深度学习在很多领域逐渐取代了传统机器学习方法[2].越来越多的研究使用深度模型来解决时序分类问题,并取得了很好的效果[3-5].深度学习在给时序分类任务带来新机遇的同时也带来了新的挑战,深度学习应用的安全性问题逐渐引起了研究者的关注[6-9].
2013 年,SZEDEGY 等首次提出了对抗攻击的概念[10].他们通过在原始样本上添加一个微小的扰动,使基于深度神经网络(deep neural network,DNN)的图片识别系统输出错误的分类.他们将这种构造的输入称为对抗样本,将这个过程称为对抗攻击.随着各种研究的深入,研究者们发现,各种基于深度学习的系统都极易受到对抗攻击.2016 年,KURAKIN 等将手机摄像头拍摄到的对抗样本输入Inception 分类器,展示对抗样本在物理世界场景中的潜在威胁[11].在自然语言处理领域中,替换单个词汇往往可以极大地改变文档的语义,2018 年,ALZANTOT 等通过少量词汇的变动攻击了情感分析和文本蕴含模型,其成功率分别为97%和70%[12].2019 年,FAWAZ H I 等在不同的深度时序模型上验证了快速梯度符号方法(fast gradient sign method,FGSM)等对抗攻击方法对时序分类任务同样有效[13].鉴于深度学习模型在时序分类问题上的广泛应用,越来越多的研究者开始关注深度时序模型的对抗攻击.
随着物联网的发展,传感器可以获取到越来越多的时序数据[14].云控制系统(cloud control systems,CCSs)结合了网络化控制系统和云计算技术的优点,在云端利用深度学习等智能算法,结合网络化预测控制、数据驱动控制等方法实现系统的自主智能控制[15].由于深度学习算法在云控制系统中的广泛运用,因此,很有必要对其安全性问题进行研究.
在本文中,提出一个新的针对时序模型的对抗攻击方法.在UCR 数据集上进行实验,提出了一个衡量时序分类模型对抗攻击方法的性能指标,比较了不同时序攻击算法的性能,进一步验证应用于时序领域的深度模型也极易受到对抗性攻击,展示了云控制系统中深度学习模型存在的安全性问题.针对提出的时序对抗攻击方法,还研究了其在不同攻击强度下的性能表现,以及攻击算法的可迁移性.
本文的主要贡献包括3 个方面:
1)将适用于图像领域的对抗攻击算法稀疏一范数下降攻击(sparse l1descent attack,SLIDE)迁移到时序分类任务上,针对时序数据的特点对SLIDE 进行改进,提出一种基于梯度的多范数约束对抗样本生成方法稀疏多范数下降攻击(sparse multi-lpdescent attack,SMLDA).该方法生成的对抗样本相比SLIDE、FGSM 等更加难以分辨且拥有更好的综合性能.
2)提出了一个衡量时序分类模型对抗攻击方法的性能指标T-Score,该指标将评价时序分类模型对抗攻击方法优劣的两个方面,即攻击成功率和对抗扰动大小都考虑进来,对对抗攻击方法进行一个综合性能的评估.
3)通过在与云控制系统相关的数据集上进行实验,展现云控制系统中深度模型的脆弱性,暴露出云控制系统目前存在的安全性问题.
1 研究背景
云控制系统中的传感器采集到的数据常常与时间相关联,就是通常所说的时序数据.云控制系统的“云端”使用深度学习对这些时序数据进行处理,其中最常见的就是用于时序分类任务的深度模型.研究时序模型的安全性对于云控制系统的安全性至关重要.
1.1 时间序列分类
通俗地说,时间序列是按照时间排序的一组随机变量,它通常是在相等间隔的时间段内,依照给定的采样率对某种潜在过程进行观测的结果[16].时间序列数据通常是一系列实值型数据,时间序列分类着重于解决实值时间序列的分类问题,例如识别异常的网络流量和预测气候数据中的极端事件.
介绍和时间序列分类相关的必要的定义,以便于理解.
定义1: 一个时间序列X=[x1,x2,…,xT]是一组有序实值的集合.T 为X 的长度.
定义2: 数据集D={[(X1,Y1),…,(XNYN)]}是由若干(XiYi)组成的有序集合.其中,Xi是一个时间序列,Yi是它对应的one-hot 标签.
定义3: 时间序列分类任务旨在D 上训练一个分类器,使其学习从可能的输入空间映射到类别变量值(标签)的概率分布.
1.2 深度学习技术
深度学习是机器学习的一个分支,其主要目的是从数据中自动学习有效的特征表示.深度学习模型通过训练不同的神经网络,借助神经网络内部层级之间的特征转换,把原始数据抽象转化为更高层次的特征表示.
自从深度学习在图像识别和自然语言处理等领域取得巨大成功,研究者开始研究将这些模型应用于时间序列分类任务.
定义5: Jf(·,·)代表模型f 的损失函数.
1.3 对抗攻击
对抗样本指的是敌手设计导致深度学习模型产生错误的输入.经过训练的神经网络模型f 可以将原始输入样本x 正确分类为标签l,敌手对原始输入样本添加扰动η,使原始输入样本x 成为对抗样本x',且扰动大小限制为ε,其中,
方程式必须满足的条件为
图1 展示了Trace 数据集上的一个对抗样本.蓝色曲线为原始样本,红色曲线为对抗样本.深度模型将原始时间序列正确分类,但在添加一个微小的扰动后,深度模型对其作出了错误的分类.
图1 Trace 数据集对抗攻击示例Fig.1 An example of a adversarial attack of Trace dataset
1.3.1 FGSM
GOODFELLOW 等提出了FGSM 攻击[17],是一种针对图像的单步攻击方法.该方法通过在损失函数梯度的符号方向上增加一个小的扰动来生成对抗性样本.对抗样本的生成公式如下:
其中,θ 为模型参数;ε 为扰动步长;x 为原始样本,即模型输入;y 为与x 对应的目标类;J(θ,x,y)为神经网络的损失函数;x'为对抗样本.将
称为对抗扰动.根据对抗攻击的定义,扰动被要求难以发现,故需要使用Lp范数对其大小加以限制.
1.3.2 PGD
投影梯度下降(project gradient descent,PGD)攻击[18],是FGSM 的变体.PGD 算法首先在原图附近允许的范围内(球形噪声区域)进行随机初始化搜索,再进行多次迭代产生对抗样本.对抗样本的生成公式如下:
其中,xt表示第t 次迭代的结果;∏x+S表示如果扰动超过一定范围,就要映射回规定的范围S 内.
2 面向时序数据的攻击方法SMLDA
2.1 SLIDE
SLIDE 算法是针对PGD 算法的一个改进.PGD是一种最速梯度下降算法[19],在每次迭代中,扰动以梯度下降最速方向更新,导致l1版本的PGD 攻击低效.SLIDE 设计了一个新的攻击,对更新步的稀疏性进行了更精细的控制.图2 展示了SLIDE 算法在Coffee数据集上的攻击效果.可以看出,虽然该次攻击使模型误判,但是对抗样本在某些点极大偏离原样本,使得对抗样本非常容易被识别,不满足对抗样本需不易被察觉这一要求.
图2 Coffee 数据集上SLIDE 生成的一个对抗样本Fig.2 An adversarial example generated by SLIDE in Coffee dataset
2.2 SMLDA
针对SLIDE 的不足,对其进行了改进,针对时间序列的特点,提出了SMLDA 算法.
SMLDA 是一个多范数约束对抗攻击算法.与SLIDE 相比,SMLDA 增加了一个无穷范数约束,即‖η‖∞<ε/10,用来限制时序数据中每一个时间点偏离原始样本的范围.对比仅使用l1约束的SLIDE,采用多范数约束的SMLDA 可以避免出现对抗样本在某些时间点极大偏离原始样本的情况.SMLDA 算法流程如算法1 所示.将扰动η 初始化为0d.g 代表当前迭代时模型的损失函数的梯度值.对于给定的百分位数q∈[0,1],Pq(|g|)代表|g|的第q 个百分位数.如果|gi|≥Pq(|g|),令ei=sign(gi),否则ei=0,然后将e规范化为l1单位向量,根据步长γ 的大小将其添加到扰动η 上.使用文献[20]中的算法将η 投影到l1球上,并限制‖η‖∞<ε/10.对比使用单一范数进行约束的FGSM,PGD,SLIDE 等方法,SMLDA 结合了不同范数约束的优点,具体分析参见3.4 节.使用T-score进行评估,SMLDA 表现更为优异的表现.
2.3 时序数据对抗样本的性能指标
在以往的研究中,研究者往往只选择对抗攻击成功率作为衡量对抗攻击算法性能的指标.虽然对抗攻击成功率能在一定程度上反映算法的性能,但是对于图2 中提到的对抗样本在某些点极大偏离原始样本的情况,只使用攻击成功率这一指标,并不能很好地概括算法的性能.通过引入对抗样本与原样本间的动态时间规整(dynamic time warping,DTW)值这一指标,即对抗样本与原样本间的的差异[21],可以反映对抗样本偏离原始样本的程度.时间序列X=[x1,x2,…,xn],Y=[y1,y2,…,ym]的DTW 距离定义为
其中,dist(x1,y1)表示点x1与点y1的欧式距离.由于两个单独的性能指标不能综合概括一个算法的好坏,故提出一个新的时序数据对抗样本性能指标T-score.
原模型准确率为acc,对抗攻击后模型的准确率为acc_adv,对抗样本与原样本之间的DTW 为dtw.令p=acc-acc_adv,q=1/(dtw+1).
衡量时序数据对抗样本的指标T-score 为p 与q的调和平均数.即
调和平均数的值在其中一个值趋向于0 时也趋向于0.这与衡量对抗攻击算法好坏的要求一致.无论是p 或是q 趋向于0,即攻击成功率趋向于0%或是DTW 值趋向于无穷,对于对抗攻击算法来说都是无法接受的,因为这意味着算法无法攻击成功或是对抗样本与原始样本存在巨大差异.使用T-score 可以兼顾上述两个衡量时序分类对抗攻击算法好坏的性能指标.T-score 的取值为[0,1),值越大,时序对抗攻击算法的攻击效果越好.
3 实验结果
在19 个单变量时间序列数据集上进行了所有实验.这些数据都取自UCR 时序分类数据集[22].UCR时间序列数据集是一个多样化的现实生活用例的集合,涵盖了食品质量安全、电气设备、控制传感器、医疗保健等众多领域.本文选取的数据集覆盖了其中的多数种类,如食品相关的Coffee、Ham、Meat 等数据集;医疗相关的ECG200、ECG5000 等数据集;控制传感器相关的FordA、ItalyPowerDemand、Trace 等数据集.数据集的概况描述如表1 所示.
表1 数据集描述Table 1 Description of datasets
本文使用的模型为全卷积网络(fully convolutional network,FCN)[23]和残差网络(residual network,ResNet)[24].对于FGSM,选取的l∞范数扰动值限制为0.1;对于SLIDE,选取的l1范数扰动值限制为10;对于SMLDA,选取的l1范数扰动值限制为10,l∞范数扰动值限制为1;对于PGD,选取的l2范数扰动值限制为3.
本文分别使用19 个数据集的数据对FCN 和ResNet 模型进行训练,训练集与测试集的划分使用UCR 数据集的默认划分.接着在训练好的模型上实施上述4 种对抗攻击,得到对抗样本,计算对抗样本在对应模型上的准确率以及对应的DTW 值与TScore 值.对于SMLDA 方法,使用不同的扰动大小进行对抗攻击以探究SMLDA 方法的性能与攻击强度的关系.最后,将针对一种模型生成的对抗样本输入不同的模型,以探究SMLDA 算法的迁移性.
3.1 FCN 模型上的结果
表2 展示了不同数据集上FGSM,SLIDE,SMLDA,PGD 4 个攻击方法攻击后的模型准确率、对抗样本与原始样本的DTW 值以及分别对应的T-score 值.从表2 可以看出,在4 个方法中,SMLDA 在所有的数据集上均取得了T-score 的最高分.这是由于算法在取得较好的攻击成功率的情况下,保证了对抗样本与原样本尽可能相似,即对抗样本与原始样本间的DTW 值尽可能小.Coffee 数据集是一个区分罗布斯塔和阿拉比卡咖啡豆的二分类问题.因为阿拉比卡咖啡豆比罗布斯塔咖啡豆的味道更好,故其在贸易中的价值较高.对抗攻击可能通过改变光谱图,使罗布斯塔咖啡豆看起来是阿拉比卡咖啡豆.对于应用于食品行业生产流水线上的云控制系统,该攻击会导致自动分拣系统产生误判,对云控制系统的正确运行产生威胁,即价值较低的咖啡豆将与价值较高的咖啡豆一起加工,产生了食品质量问题.图3 展示了4 个对抗攻击方法针对同一样本生成的对抗样本示意图,其对应的与原始样本的DTW 值展示在图片上方.从图3 可以看出,模型将4 个对抗样本误分类为标签1,即4 个攻击算法都攻击成功,SMLDA 相比其他3 个算法有更小的DTW 值.对于此样本,SMLDA 以较小的扰动达到了相同的攻击效果.图4展示了FCN 模型上Wafer 数据集对抗样本准确率随扰动强度变化图.该图横轴为扰动强度,纵轴为模型的预测准确率.可以看出,随着攻击强度的增大,模型的准确率逐渐下降,最后趋于平缓.图5 展示了不同扰动强度下SMLDA 针对ItalyPowerDemand 数据集产生的对抗样本.扰动强度分别为1,4,7,10.从图中可以看出,在扰动强度为1 和4 时,攻击并未成功,在攻击强度增大到7 和10 时,生成的对抗样本成功使模型产生了误判.
表2 FCN 模型上的结果Table 2 Results of FCN models
图3 Coffee 数据集上不同对抗样本对比Fig.3 Comparison of different adversarial examples in Coffee dataset
图4 Wafer 数据集上模型准确率随扰动强度变化图Fig.4 Accuracy variation diagram with respect to the strength of perturbation in Wafer dataset
图5 ItalyPowerDemand 上不同扰动强度下SMLDA 生成的对抗样本Fig.5 Adversarial examples generated by SMLDA with different strength of perturbations on ItalyPowerDemand
3.2 ResNet 模型上的结果
为了验证SMLDA 算法在不同模型上的有效性,在ResNet 模型上也进行了相关实验.从表3 可以看出,与在FCN 模型上一样,SMLDA 在除ShapeletSim的其他18 个数据集上均取得了3 个算法中T-Score的最高分.这表明,SMLDA 的优良表现不仅仅局限于一种模型.在ResNet 模型上,FGSM 方法在FordA数据集上攻击成功率的表现好于SMLDA,但是其DTW 值远远高于SMLDA,导致T-score 分数较低,综合表现低于SMLDA.FordA 中每个样本由500 个发动机噪声的测量值和一个类别标签组成.FordA 的分类任务是诊断一个汽车子系统中是否存在某种症状.攻击者可以通过攻击来隐藏一个发动机的安全隐患,这样的攻击可能会对基于汽车发动机状况进行自主智能控制的云控制系统产生影响,进而危及到使用该云控制系统的汽车的行驶安全.
表3 ResNet 模型上的结果Table 3 Results of ResNet models
通过在ResNet 模型上进行实验,验证了SMLDA算法在不同的模型上均拥有优异的性能.
3.3 对抗样本的迁移性
如表4 所示,在大部分数据集上,SMLDA 具有较好的迁移性.例如在Coffee 数据集上,针对FCN 模型生成的对抗样本在ResNet 模型上的预测准确率仅为3.571%,与在FCN 模型上相同;针对ResNet 模型生成的对抗样本在FCN 模型上的预测准确率甚至低于在ResNet 模型上的预测准确率.但是对于某些数据集,例如Wafer 数据集,对抗样本的迁移性就较差.本文认为原因可能是两个模型在该数据集上学习到了不同的特征,故针对一个模型生成的对抗样本很难迁移到另一个模型.
表4 不同模型上SMLDA 生成的对抗样本准确率Table 4 Accuracy of adversarial examples generated by SMLDA in different models
3.4 不同范数约束的比较
图6 中4 张图为不同范数约束的攻击方法对ECGFiveDays 数据集上同一个样本的攻击结果对比图.从图中可以看出,无穷范数限制的FGSM 的优点是每个时间点的数据都被约束在扰动范围之内,缺点是攻击改变了较多的时间点的数据.二范数限制的PGD 产生了干净样本中未出现的高频波形,不适用于时序数据.这两个方法生成的对抗样本都容易被识别出来.一范数的SLIDE 方法优点是仅仅改变了时序数据中的几个时间点的值,就产生了很可观的攻击效果,缺点是每个点都改变了较大的值.改进后的算法SMLDA 在SLIDE 的基础上使用无穷范数约束加以限制,生成的对抗样本仅改变时序数据中的几个时间点的值,且值的改变受到无穷范数的约束,不会超过约束的范围.SMLDA 算法结合了无穷范数与一范数约束的优点,生成的对抗样本不仅改变的数据点很少,且每个点的偏移量都得到了很好的控制.SMLDA 与SLIDE 算法的比较结果展示在表2 与表3 中.从表中可以看出,在几乎所有数据集上,SMLDA 的T-score 均高于SLIDE,这表明SMLDA 相比SLIDE 有着更好的综合性能.
图6 不同范数约束的对抗攻击比较Fig.6 Comparison of adversarial attacks with different norm constraints
3.5 云控制系统的安全性
近年来,随着计算机技术的不断发展,越来越多的领域引入了云控制系统.文献[25]中提到在农业装备中引入云控制系统实现农业生产过程的自动化和智能化,其中一项技术为使用光谱技术对苹果、柑橘、枣等实现虫害的无损检测.这与实验中Coffee 等数据集极为相似,均为光谱数据,并通过深度模型对其进行分类.攻击者通过传入对抗样本,使模型产生误判,隐藏农作物发生虫害的情况,最终使农作物因为虫害发生减产,产生严重的后果.文献[26]在智能电厂中使用云控制系统,利用深度学习算法对采集到的风电、光伏输出功率进行短时预测,为用户提供清洁、稳定供电的同时降低了机组寿命损耗.实验中ItalyPowerDemand 数据集为电厂的能耗需求数据,与文献[26]中的云控制系统应用场景较为相似.攻击者通过实施对抗攻击,可以达到降低电厂机组寿命的目的.通过上述的两个工程实例,可以发现云控制系统中包含的深度模型存在一定的安全性问题,如果被攻击者加以利用,会导致严重的后果,后续的研究需要更加关注云控制系统的安全性问题.
4 结论
本文针对时序分类模型,提出了一个新的时序对抗攻击方法,定义了一个衡量时序数据对抗样本性能的指标.与主流的时序对抗攻击方法相比,所提出的方法有着更好的综合性能.在UCR 数据集上进行实验,展示了对抗攻击算法是如何降低不同模型的预测准确率的.随着深度神经网络在物联网及云控制系统上的广泛应用,进一步论证了关注云控制系统安全性的重要性.