本发明涉及一种面向广义非负矩阵分解算法的对抗性机器学习防御方法,属于机器学习安全领域。
背景技术:
机器学习技术在解决复杂任务方面取得了重大突破,然而,机器学习技术(尤其是人工神经网络和数据驱动人工智能)在训练或测试时极易受到对抗样本攻击,这些样本很容易颠覆机器学习模型的原定输出。现有的对抗性机器学习防御技术主要面向机器学习模型和数据本身。针对模型,如防御蒸馏技术,可以抵御扰动幅度小的对抗攻击;正则化方法,隐藏模型的梯度信息;利用生成对抗网络(gan)提高模型的健壮性;对抗样本检测筛选出攻击样本等。而针对数据,如数据清洗技术,可以抵御中毒攻击;通过对抗训练方法,提高模型的鲁棒性;数据压缩技术,消除对抗样本的噪声干扰等。以上方法的针对性比较强,形式单一,广度性较差,虽然能在一定程度上保障机器学习模型的安全,但要构建安全可信的机器学习模型仍然存在大量亟待解决的问题。
技术实现要素:
本发明基于特征压缩和扰动消减前后图像样本通过机器学习模型后输出向量的差异,建立级联融合的广度对抗样本检测机制,从而提高对抗样本的筛选效率。将异常点惩罚机制引入到广义非负矩阵分解算法中,提出了基于误差阈值的可屏蔽鲁棒性非负矩阵分解算法,提高了机器学习模型的鲁棒性,从而进一步提高机器学习模型的安全性。
鉴于此,本发明采用的技术方案是:面向广义非负矩阵分解算法的对抗性机器学习防御方法,其特征在于,包括以下步骤:
s01,特征压缩:对待检测图像进行特征压缩,压缩图像样本的颜色位深度;
s02,基于特征压缩的检测:将待检测图像样本s和特征压缩后的图像样本s'分别输入目标机器学习模型,将目标机器学习模型输出的概率分布作为输出向量,并利用l1范数度量待检测图像样本和特征压缩后的图像样本通过目标机器学习模型后的两个输出向量的距离差l,判断距离差l与阈值d的大小关系,如果l>d则为对抗样本,进行扰动消减处理后再输入机器学习模型;否则为正常图像样本,进行以下处理;
s03,扰动消减:利用非负矩阵分解算法,处理待检测图像样本,对其进行降维处理,得到扰动消减后的图像样本s″;
s04,基于扰动消减的检测:将待检测图像样本和扰动消减后的图像样本s″分别通过目标机器学习模型,将输出的概率分布作为输出向量,并利用l1范数度量待检测图像样本和扰动消减后的图像样本s″通过机器学习模型后的两个输出向量的距离差l′,判断距离差l′与阈值d的大小关系,如果l′>d则为对抗样本,进行扰动消减处理后再输入机器学习模型,否则为正常图像样本,直接输入机器学习模型。
以上是级联融合的对抗样本检测过程,本发明还包括鲁棒性优化过程:在广义非负矩阵分解算法中引入异常点惩罚机制,对广义非负矩阵分解算法进行优化。利用广义非负矩阵分解算法处理样本时,先设置阈值,若两因子矩阵的乘积矩阵中的某一元素和原始矩阵中对应的元素之间的差值大于阈值,则将该元素截断为零,再迭代。基于此,提出各类优化的广义非负矩阵分解算法,如基于误差阈值的广义非负矩阵分解算法、基于误差阈值的动态增量广义非负矩阵分解算法和基于误差阈值的图拉普拉斯的联合广义非负矩阵分解算法,通过优化相关的广义非负矩阵分解算法,提高机器学习模型的鲁棒性,从而提高模型输出结果的准确性。
步骤s01所述特征压缩包括:设定缩减位数为t位,将待检测图像分别进行颜色位深度压缩t,t 1,……,t n位。分别观察颜色位深度压缩操作后图像样本的防御能力,进而选择合适的特征压缩位数t0;将待检测图像压缩t0位,得到压缩后的图像样本。如图3所示。
所述步骤s03包括,将图像样本表示为矩阵形式vm×n,利用非负矩阵分解算法,将目标矩阵vm×n分解为基矩阵wm×k和系数矩阵hk×n的乘积,并使得两矩阵之积近似等于原矩阵,即vm×n≈wm×k×hk×n,其中k要小于m和n,m和n分别表示目标矩阵的行数和列数。利用系数矩阵代替原始目标矩阵,从而实现对图像样本的降维处理。将所述系数矩阵还原成样本数据,从而得到扰动消减后的图像样本s″。
本发明的有益效果在于:如图1所示,此对抗性机器学习防御方法主要从级联融合的广度对抗样本检测技术和基于误差阈值的可屏蔽鲁棒性广义非负矩阵分解算法两方面展开。对抗性机器学习中,对抗样本生成的方法多样化,不同的攻击算法生成的对抗样本所造成的扰动度大小不一。因此,如图2所示,针对复杂的对抗样本,本发明提出了基于特征压缩的对抗样本检测方法识别部分对抗样本,通过降维消扰前后样本通过基于广义非负矩阵分解算法的机器学习模型的输出结果对比来进一步识别对抗样本,形成级联融合的广度对抗样本检测(筛选)新技术,从而降低对抗样本的攻击风险。同时,传统的非负矩阵分解算法对数据集中的异常点数据比较敏感,本发明通过引入异常点惩罚机制优化广义非负矩阵分解算法来提高机器学习模型的鲁棒性,从对抗样本检测和鲁棒性优化两方面,保障机器学习模型的安全。
附图说明
图1为本发明面向广义非负矩阵分解算法的对抗性机器学习防御方法;
图2为本发明级联融合的广度对抗样本检测流程;
图3为本发明特征压缩的流程。
具体实施方式
一种面向广义非负矩阵分解算法的对抗性机器学习防御方法,如图1所示,首先利用特征压缩的方法筛选出一部分对抗样本,再利用基于扰动消减的检测器对对抗样本进一步筛选,同时,将筛选出的对抗样本进行数据降维,消减对抗样本中的对抗扰动后,再输入目标机器学习模型,最后,再对基于广义非负矩阵分解算法的机器学习模型进行鲁棒性优化。
级联融合的对抗样本检测方法:
步骤1)特征压缩:对待检测图像进行特征压缩,即通过压缩的手段,将非必要的输入特征压缩,使得异常像素点的影响变小,进而降低对抗样本的自由度。为尽量保证图像的真实度,在特征压缩时需控制压缩的幅度。压缩图像样本的颜色位深度,不仅能减小不同像素点之间的差异,同时也能减小异常像素点的影响。虽然较大的颜色位深度能使图像更接近自然图像,但解释图像内容不需要较大的颜色位深度。以编码为24位真彩色的图像样本为例,可以将原始的8位(每个rgb通道)图像样本位数减少,且不会明显降低图像样本的可识别性。如图3所示,设定缩减位数为t位,再将原始的8位图像压缩为8-t位图像,观察颜色位深度缩减操作后图像样本的防御能力和可识别性(如颜色位深度压缩后,对抗样本攻击的成功率、正常样本识别的准确率等),进而选择合适的特征压缩位数t0,使得特征压缩后的图像样本既能减轻对抗性攻击,同时也能保证图像样本的准确性。最后,将初始图像样本由原始的8位压缩到8-t0位,得到特征压缩后的图像样本s'。
步骤2)基于特征压缩的检测器:将待检测图像样本s和特征压缩后的图像样本s'分别通过目标机器学习模型,再将输出的概率分布作为输出向量,并利用l1范数度量待检测图像样本和特征压缩后的图像样本通过机器学习模型后的两个输出向量的距离差l,再根据输出向量的距离分布选择合适的阈值d,判断l与阈值d的大小关系,若l>d,则样本为对抗样本,反之则为正常样本,从而检测出对抗样本,实现对图像样本的初步检测。如图2所示,如果样本筛选结果为对抗性样本,则利用非负矩阵分解算法,实现对图像样本的降维处理(处理方法同步骤3),消减图像样本中的对抗性扰动,再输入机器学习模型处理,若样本筛选结果为正常样本,也只能证明在本次检测中该图像样本为正常样本,仍需进行后续检测操作,所以,将图像样本继续输入基于扰动消减的检测器检测其是否具有对抗性扰动。
步骤3)扰动消减:将步骤2所示待检测图像样本表示为矩阵形式vm×n,利用非负矩阵分解算法,将目标矩阵vm×n分解为基矩阵wm×k和系数矩阵hk×n的乘积,并使得两矩阵之积近似等于原矩阵,即vm×n≈wm×k×hk×n,其中k要小于m和n,m和n分别表示目标矩阵的行数和列数,利用系数矩阵代替原始目标矩阵,从而实现对数据样本的降维处理,消减对抗样本中所引入的对抗性扰动,最后将分解后得到的系数矩阵还原成图像样本,从而得到扰动消减后的图像样本s″。通过矩阵分解,既可以实现对目标矩阵的维数消减,也实现了对图像样本的压缩,使得异常像素点的影响变小,从而达到防御的目的。在此过程中,要注意选择合适的降维维度,保证降维后生成的图像样本的真实度。
步骤4)基于扰动消减的检测器:将步骤2所示待检测图像样本和扰动消减后的图像样本s″分别通过目标机器学习模型,将输出的概率分布作为输出向量,并利用l1范数度量待检测图像样本和扰动消减后的图像样本s″通过目标机器学习模型后的两个输出向量的距离差l′,再根据输出向量的距离分布选择合适的阈值d,判断l′与阈值d的大小关系,若l′>d,则样本为对抗样本,反之则为正常样本,从而实现对对抗样本的进一步筛选。如图2所示,如果样本筛选结果为对抗性样本,则通过数据降维处理,消减对抗性扰动,使样本转化为正常样本,再输入机器学习模型处理,若样本为正常样本,则直接输入机器学习模型处理。
鲁棒性优化方法:
步骤5)鲁棒性优化:通过引入异常点惩罚机制,对广义非负矩阵分解算法进行优化,使得每个数据点的初值与分解后的因子矩阵的乘积值之间的误差尽可能小于给定参数,基于此,优化各类广义非负矩阵分解算法,从而提高模型的鲁棒性。在利用广义非负矩阵分解算法处理样本时,先设置阈值ε,若两因子矩阵的乘积矩阵中的某一元素和原始矩阵中对应的元素之间的差值大于阈值ε,则将该元素截断为零,再迭代。基于此,提出各类优化的广义非负矩阵分解算法,如基于误差阈值的广义非负矩阵分解算法、基于误差阈值的动态增量广义非负矩阵分解算法和基于误差阈值的图拉普拉斯的联合广义非负矩阵分解算法,具体算法如下。
基于误差阈值的广义非负矩阵分解算法(generalnon-negativematrixfactorization,gnmf)的目标函数如式(1):
其中,fgnmfl(w,h)表示基于误差阈值的左半张量积的广义非负矩阵分解,fgnmfr(w,h)表示基于误差阈值的右半张量积的广义非负矩阵分解,x表示目标矩阵,w表示基矩阵,h表示系数矩阵,||.||表示计算范数,ε表示误差阈值。
基于误差阈值的动态增量广义非负矩阵分解算法(incrementalgnmf)的目标函数如式(2):
其中,fignmfl(wk 1,hk 1)和fignmfr(wk 1,hk 1)分别表示基于误差阈值的左半张量的动态增量广义非负矩阵分解和基于误差阈值的右半张量的动态增量广义非负矩阵分解;fgnmfl(wk 1,hk 1)和fgnmfr(wk 1,hk 1)分别表示新样本加入后相对于原来k个样本集的基于误差阈值的左半张量的广义非负矩阵分解模型和基于误差阈值的右半张量的广义非负矩阵分解模型的增量,ε表示误差阈值。
基于误差阈值的图拉普拉斯的联合广义非负矩阵分解算法(jiontgnmflwithgraphlaplacian,ljgnmf)的目标函数如式(3):
其中,fljgnmfl(w,h)表示基于误差阈值的图拉普拉斯的联合广义非负矩阵分解,w和h分别表示基矩阵和系数矩阵;xt=x和x∈rt×t表示复杂网络的链接信息;y∈rs×t表示复杂网络的属性信息;λ∈[0,1],用于调整链接信息和顶点属性信息的比重;tr(·)表示矩阵的迹;l=d-s,被称为图拉普拉斯;γ∈[0,1],用于调整网络拓扑和顶点先验信息的权重。s是权重矩阵,d是一个对角线矩阵,其元素是s的列(或行,因为s是对称的)总和。。
通过优化非负矩阵分解算法,提高机器学习模型的鲁棒性,从而提高模型输出结果的准确性。
1.面向广义非负矩阵分解算法的对抗性机器学习防御方法,其特征在于,包括以下步骤:
s01,特征压缩:对待检测图像样本进行特征压缩,压缩图像样本的颜色位深度;
s02,基于特征压缩的检测:将待检测图像样本s和特征压缩后的图像样本s'分别输入目标机器学习模型,将目标机器学习模型输出的概率分布作为输出向量,并利用l1范数度量待检测图像样本和特征压缩后的图像样本通过目标机器学习模型后的两个输出向量的距离差l,判断距离差l与阈值d的大小关系,如果l>d则为对抗样本,进行扰动消减处理后再输入机器学习模型;否则为正常图像样本,进行以下处理;
s03,扰动消减:利用非负矩阵分解算法,处理待检测图像样本,对其进行降维处理,得到扰动消减后的图像样本s”;
s04,基于扰动消减的检测:将待检测图像样本和扰动消减后的图像样本s”分别通过目标机器学习模型,将输出的概率分布作为输出向量,并利用l1范数度量待检测图像样本和扰动消减后的图像样本s”通过机器学习模型后的两个输出向量的距离差l′,判断距离差l′与阈值d的大小关系,如果l′>d则为对抗样本,进行扰动消减处理后再输入机器学习模型,否则为正常图像样本,直接输入机器学习模型。
2.根据权利要求1所述面向广义非负矩阵分解算法的对抗性机器学习防御方法,其特征在于:还包括在广义非负矩阵分解算法中引入异常点惩罚机制,对广义非负矩阵分解算法进行优化的步骤。
3.根据权利要求2所述面向广义非负矩阵分解算法的对抗性机器学习防御方法,其特征在于:所述异常点惩罚机制具体为,利用广义非负矩阵分解算法处理样本时,先设置阈值,若两因子矩阵的乘积矩阵中的某一元素和原始矩阵中对应的元素之间的差值大于阈值,则将该元素截断为零,再迭代。
4.根据权利要求1-3任一项所述面向广义非负矩阵分解算法的对抗性机器学习防御方法,其特征在于:步骤s01所述特征压缩包括:
设定缩减位数为t位,将待检测图像分别进行颜色位深度压缩t,t 1,……,t n位,分别观察颜色位深度压缩操作后图像样本的防御能力,进而选择合适的特征压缩位数t0;将待检测图像压缩t0位,得到压缩后的图像样本。
5.根据权利要求4所述面向广义非负矩阵分解算法的对抗性机器学习防御方法,其特征在于:步骤s03所述降维处理包括,将图像样本表示为矩阵形式vm×n,利用非负矩阵分解算法,将目标矩阵vm×n分解为基矩阵wm×k和系数矩阵hk×n的乘积,并使得两矩阵之积近似等于原矩阵,即vm×n≈wm×k×hk×n,其中k要小于m和n,m和n分别表示目标矩阵的行数和列数,利用系数矩阵代替原始目标矩阵,从而实现对图像样本的降维处理。
6.根据权利要求5所述面向广义非负矩阵分解算法的对抗性机器学习防御方法,其特征在于:所述扰动消减处理中还包括,将所述系数矩阵还原成样本数据,从而得到扰动消减后的图像样本s”。
7.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-6任一项所述的对抗性机器学习防御方法。
技术总结