一种基于EEG的脑机接口回归系统白盒目标攻击方法
技术领域
本发明属于脑机接口安全领域,更具体地,涉及一种基于EEG的脑机接口回归系统白盒目标攻击方法。
背景技术
脑机接口通过将脑电信号解码成具有可读性的信息,从而给人脑和外部设备提供直接联系的桥梁。EEG(Electroencephalogram,脑电波)因为其使用方便和设备价格相对低廉等优点成为脑机接口中常用的信号。基于EEG的脑机接口通过对采集的脑电信号进行处理和分析,从而提取出信号中包含的模式,并将其对应于人的行为。通过这种方法,这种脑机接口系统能够通过对脑电信号的解析从而联系和控制外部的设备。机器学习有强大的数据分析能力,往往能够在复杂和大量的数据中学习到数据中包含的特定的模式,因此被广泛地使用在脑机接口中,并取得了突出的表现。其中,回归问题是脑机接口系统要面对的一大类问题,例如,在疲劳驾驶检测系统中,通过脑电信号去预测出用户的疲劳程度;在反应速度测试系统中,通过脑电信号去预测用户的反应速度等。
目前在机器学习中存在一个严重的安全性问题——对抗样本。通过在原始的正常样本中加入精心设计的微小的噪声,对抗样本就能让机器学习模型的预测结果产生巨大的变化。机器学习的易受攻击的缺点很大程度上限制了其在实际系统中的应用。因此,在系统被实际应用前,研究更具有攻击性的对抗攻击方法去测试系统的鲁棒性具有很重要的意义。
目前,在分类问题中已经有很多攻击方法被提出。C.Szegedy等人于2014年提出生成对抗样本的方法,该方法基于优化的思想去寻找对抗样本,通过最小化以对抗样本与原始样本之间的距离和模型的预测误差为目标的目标函数,从而找到既能让模型产生错误的输出,又与原始样本尽可能得相近的对抗样本,但是该方法进行优化时需要反复迭代。I.J.Goodfellow等人于2015年提出了一种快速生成对抗样本的方法,该方法是利用误差梯度去寻找对抗样本,通过对原始样本加入误差梯度方向上的符号扰动,从而生成能够让模型产生错误输出的对抗样本。N.Carlini等人于2017年对C.Szegedy等人的提出的方法进行改进,选择了更加适合优化的目标函数和对生成的对抗样本更好的约束方法,从而能够找到噪声更小的扰动。
然而,上述对抗攻击方法都是应用于分类问题的机器学习模型,在分类问题中,对抗攻击只需要对原始样本加入噪声,从而使得加入噪声后的新样本跨过分类决策面即可成为对抗样本。而在回归问题中则不同,回归问题中的预测值是一个连续值,每个单独的值都能看成一个类别,在回归问题中实施目标攻击类比于分类问题则不仅要求扰动后的样本跨过分类决策面,同时还需要控制其跨过决策面的距离。因此在回归问题中实施目标攻击的条件更加得苛刻,上述的几种方法都不能直接地应用于回归问题。
发明内容
针对现有技术使用的应用于回归问题的EEG脑机接口系统缺乏强有力的攻击方法去验证模型的鲁棒性的问题,本发明提供了一种基于EEG的脑机接口回归系统白盒目标攻击方法,其目的在于提供能够适用于回归问题、使用简单并有显著的攻击效果的对抗攻击方法。
为实现上述目的,按照本发明的第一方面,提供了一种基于EEG的脑机接口回归系统的白盒目标攻击方法,该方法包括以下步骤:
S1.获取基于EEG的脑机接口回归系统中的回归模型g(x);
S2.获取输入到该回归模型的原始样本x;
S3.针对g(x)设计目标函数
其中,x′为对抗样本,t为期望模型预测发生变化值;
S4.利用目标函数
和对抗扰动δ的2范数,确定最终优化函数min
δ‖δ‖
2+c·max{g(x)+t-g(x′),0},其中,对抗扰动与对抗样本的关系如下:δ=x′-x,c为权衡系数常数;
S5.寻找使最终优化函数最小的对抗扰动δ;
S6.将对抗扰动δ叠加到原始样本x,得到对抗样本x′。
具体地,步骤S4中,使用二分法寻找在保证白盒攻击成功率的前提下使得对抗样本失真最小的权衡系数常数c。
具体地,步骤S5使用梯度下降方法优化。
为实现上述目的,按照本发明的第二方面,提供了一种基于EEG的脑机接口回归系统的白盒目标攻击方法,该方法包括以下步骤:
S1.获取基于EEG的脑机接口回归系统中的回归模型g(x);
S2.获取输入到该回归模型的原始样本x;
S3.针对回归模型g(x),设计损失函数J(x′,x,t)=max{g(x)+t-g(x′),0},其中,x′为对抗样本,t为期望模型预测发生变化值;
S4.初始化对抗样本x′n=x,n=0;
S5.计算损失函数J(x′
n,x,t)在x′
n处的梯度
S6.使用梯度
和x′
n,计算对抗样本
其中,函数Clip
x,∈(·)用于确保输出值与x在每个维度的差值不超出∈,∈为每次迭代生成的扰动的幅值上限,α为步长常数;
S7.判断是否满足停止条件,若是,得到对抗样本x′=x′n+1,否则,n加1,进入步骤S5。
具体地,每次迭代生成的扰动的幅值上限∈取值范围为[0.01,0.1]。
具体地,步长常数α取值范围为[0.01,0.05]。
具体地,该方法还包括:在得到对抗样本x′后,判断是否满足
若是,则回归模型g(x)具有鲁棒性,否则,不具有鲁棒性,其中,β为设定阈值。
具体地,β∈[5%,10%]。
为实现上述目的,按照本发明的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述方面所述的基于EEG的脑机接口回归系统的白盒目标攻击方法。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明将分类问题中的白盒目标攻击转化为回归问题中的白盒目标攻击时,定义实施白盒目标攻击要求为g(x′)-g(x)≥t,用优化的方法去寻找对抗样本,将攻击被测试模型转换成了一个解优化的问题,首先将对抗扰动看成是需要优化的变量,从而转换成数学形式的优化式子,然后使用解优化的方法得到合理的目标解,找到一个能够让模型的预测值至少改变一个设定的值并且相比于原始样本能够产生尽可能小的失真的对抗扰动。由于在最终优化函数中加入对抗扰动的2范数,能够在优化过程中很大程度限制对抗扰动的幅值,因此,由该方法解得的对抗样本与原始样本的差异非常小,并且该方法有着很高的进攻成功率。
(2)本发明将分类问题中的白盒目标攻击转化为回归问题中的白盒目标攻击时,定义实施白盒目标攻击要求为g(x′)-g(x)≥t,用梯度误差信息来寻找对抗样本,通过设计适用于回归问题的损失函数,在损失函数的梯度方向上寻找对抗扰动,对输入到模型的样本加入在模型损失变化最快的方向上的扰动,从而达到攻击模型的效果。在保证足够的迭代次数和合适的∈情况下,该方法能够快速地生成对抗样本。
附图说明
图1为现有技术中攻击模块在EEG脑机接口系统中的进行攻击的位置标注示意图;
图2为本发明实施例一提供的一种基于EEG的脑机接口回归系统的白盒目标攻击方法流程图;
图3为本发明实施例二提供的一种基于EEG的脑机接口回归系统的白盒目标攻击方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
脑机接口中的回归问题是指通过脑电信号去预测一个连续的数值,比如,通过脑电信号去预测人的反应时间,因为反应时间是一个连续的值。这样一个模型预测输出是连续的值的问题即回归问题。本发明利用机器学习模型的一个安全性漏洞去验证脑机接口回归系统的抗干扰性和安全性。
图1展示了攻击模块何如攻击一个整体的EEG脑机接口系统。如图1所示,攻击者在信号处理到机器学习模型间对数据进行拦截获取到要攻击的样本,并根据后面的机器学习模型的结构和参数生成精心设计的对抗样本,经过攻击后的样本会使得机器学习模型无法正确地做出预测,从而影响到整个脑机接口系统,使其无法正常工作。
方法一
本发明提出的第一种基于EEG的脑机接口回归系统的白盒目标攻击方法,用优化的方法去寻找对抗样本,该种方法将攻击被测试模型转换成了一个解优化的问题,首先根据问题将其转换成数学形式的优化式子,然后使用解优化的方法得到合理的目标解。将对抗扰动看成是需要优化的变量,通过优化找到一个能够让模型的预测值至少改变一个设定的值并且相比于原始样本能够产生尽可能小的失真的对抗扰动。
令x为原始样本,x也是攻击模块的输入,攻击模块的输出x′为x对应的对抗样本。假设被攻击的目标回归模型为g(x),则目标攻击需要找到对抗扰动δ,将其加入到原始样本中得到的对抗样本x′=δ+x能够至少改变目标模型的预测值一个设定的值t,如g(x′)≥g(x)+t。
寻找对抗扰动可以通过解如下优化问题得到:
其中,
为距离测度,本实施例使用L
2距离;c是权衡两个目标函数的超参数;
是针对回归问题设计的目标函数,根据攻击的需求设计如下目标函数
最终通过迭代优化如下目标即可得到对抗扰动
如图2所示,实施例一提供一种基于EEG的脑机接口回归系统的白盒目标攻击方法,该方法包括以下步骤:
S1.获取基于EEG的脑机接口回归系统中的回归模型g(x)。
S2.获取输入到该回归模型的原始样本x。
S3.针对g(x)设计目标函数
其中,x′为对抗样本,t为期望模型预测发生变化值。
本发明将分类问题中的白盒目标攻击转化为回归问题中的白盒目标攻击时,定义实施白盒目标攻击要求为g(x′)-g(x)≥t。本实施例中,期望模型预测发生变化值t=0.2。
S4.利用目标函数
和对抗扰动δ的2范数,确定最终优化函数min
δ‖δ‖
2+c·max{g(x)+t-g(x′),0},其中,对抗扰动与对抗样本的关系如下:δ=x′-x,c为权衡系数常数。
使用二分法寻找在保证白盒攻击成功率的前提下使得对抗样本失真最小的权衡系数常数c。
S5.寻找使最终优化函数最小的对抗扰动δ。本实施例采用梯度下降方法迭代寻找,使最终优化函数最小的对抗扰动δ。
S6.将对抗扰动δ叠加到原始样本x,得到对抗样本x′。
本方法在最终优化函数中加入对抗扰动的2范数,能够在优化过程中很大程度限制对抗扰动的幅值,因此,由该方法解得的对抗样本与原始样本的差异非常小,并且该方法有着很高的进攻成功率。但优化过程中需要很多轮的迭代,因此该方法需要较多的时间去生成对抗样本。
方法二
本发明提出的第二种基于EEG的脑机接口回归系统白盒目标攻击方法,通过梯度误差信息来寻找对抗样本。通过设计适用于回归问题的损失函数,在损失函数的梯度方向上寻找对抗扰动,对输入到模型的样本加入在模型损失变化最快的方向上的扰动,从而达到攻击模型的效果。这种方法相对于第一种方法能够更快地找到对抗样本,但是找到的对抗样本相对会产生更大的失真。
在与方法一相同的进攻条件和目标下,该方法通过在损失函数梯度方向上迭代寻找对抗样本,其寻找对抗样本通过如下迭代
x'0=x
其中,∈为每次迭代生成的扰动的幅值上限,取值范围为[0.01,0.1];Clip操作对每一轮迭代的对抗扰动进行幅值约束,J为针对回归问题设计的损失函数,其形式如下:
J(x',x,t)=maX{g(x)+t-g(x'),0}
如图3所示,实施例二提供一种基于EEG的脑机接口回归系统的白盒目标攻击方法,该方法包括以下步骤:
S1.获取基于EEG的脑机接口回归系统中的回归模型g(x)。
S2.获取输入到该回归模型的原始样本x。
S3.针对回归模型g(x),设计损失函数J(x′,x,t)=max{g(x)+t-g(x′),0},其中,x′为对抗样本,t为期望模型预测发生变化值。
S4.初始化对抗样本x′n=x,n=0。
S5.计算损失函数J(x′
n,x,t)在x′
n处的梯度
S6.使用梯度
和x′
n,计算对抗样本
其中,函数Clip
x,∈(·)用于确保输出值与x在每个维度的差值不超出阈值∈,α为步长常数,取值范围为[0.01,0.05]。
本实施例中,步长常数α取值0.01。
S7.判断是否满足停止条件,若是,得到对抗样本x′=x′n+1,否则,n加1,进入步骤S5。
停止条件可以是是否达到指定的迭代次数。本方法只需迭代几十次即可找到对抗样本,迭代次数远远小于第一种方法。在保证足够的迭代次数和合适的∈情况下,该方法能够快速地生成对抗样本。但相比于方法一而言,生成的对抗样本的会有更大的失真。
本发明提出了两种基于不同原理的方法去检验脑机接口回归系统的抗干扰能力和安全性。上述两种方法,一种能够生成高质量的对抗样本,另一种能够快速地生成对抗样本。在实际应用中,都对回归系统产生了很严重的安全威胁。
优选地,该方法还包括:在得到对抗样本x′后,判断是否满足
若是,则回归模型g(x)具有鲁棒性,否则,不具有鲁棒性,设定阈值β∈[5%,10]。
因此,该发明能够很好地去测试针对回归问题的EEG脑机接口的鲁棒性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。