1.一种基于粒子群算法的深度学习系统鲁棒性增强方法,其特征在于,所述方法包括如下步骤:
获取图像数据集,并将图像数据集进行整理分类为训练集和测试集;并利用训练集进行对抗攻击,预训练干净深度学习模型,其中,预训练干净深度模型包括如下步骤:将划分好的训练集和测试集通过one‑hot编码将图片数据集中每个样本的标签转化为一维向量;
收集模型对抗攻击方法FGSM和PGD,将获得的图像数据集进行两种攻击后获取对抗样本X’并保存;将干净的图像数据输入到深度学习中进行训练,获得高分类置信度的深度学习模型;
构建鲁棒评估指标对训练好的深度学习模型的鲁棒性进行评估,其中,鲁棒性评估指标包括全局鲁棒性评估指标和经验鲁棒性评估指标,构建全局鲁棒性指标步骤如下:设给定一个输入区域,若一个深度学习模型f:R→Y是全局鲁棒的,那么存在一个(σ,ε)领域,使得 ||x1‑x2||p≤σ,并且深度学习模型输出||f(x1)‑f(x2)||p≤ε,其中||·||p表示p范数约束;
构建经验鲁棒性指标步骤如下:设给定一个深度学习模型f:X→Y,从获得的攻击数据集ATT,定义经验鲁棒性评估指标u:(f,ATT)→[0,1]为γ,其中γ表示为对抗攻击数据集对于深度学习模型的攻击准确率;
构建零阶和一阶损失函数度量用于评估测试集与训练好的深度学习模型之间的关系,包括:给定一组测试数据集xi∈X,i=1,2,...,一个深度学习模型f:X→Y,则零阶损失函数度量构建为:ZOL(xi,f)=ξ(f(θ,xi),yi),其中,ξ(·)表示深度学习模型的损失函数,θ表示为当前模型训练完成后的参数,yi∈Y,i=1,2,...表示测试输入的真实类标;给定一个输入xi∈X,i=1,2,...和它的ε邻域内的样本{x|||x‑xi||p≤ε}和一组测试样本xt,则一阶损失函数度量表示为:FOL(x,xt,f)=maxx
将一阶鲁棒性度量指标作为优化目标函数,其中,优化目标函数表示为:fit[i]=P(Ci)‑P(Cj,j≠i)+λ·FOL(x,xt,f),P(·)表示为概率密度函数,Ci,Cj表示第i类和第j类(i≠j),f为深度学习模型;
从测试集中采集部分良性图像作为初始粒子,并初始化粒子的位置和速度,以优化目标函数为最大目标,采用粒子群优化算法对初始粒子的位置和速度进行迭代更新以生成测试样本;
利用生成的测试样本与测试数据集一起重新训练深度学习模型,获得鲁棒防御模型;
对防御后模型受攻击的敏感性进行评估。
2.根据权利要求1所述的基于粒子群算法的深度学习系统鲁棒性增强方法,其特征在于,所述获取的图像数据集包括MNIST数据集、CIFAR‑10数据集和ImageNet数据集,将获取的图像数据集保存为X以及每张图像相应的类标Y。
3.根据权利要求1所述的基于粒子群算法的深度学习系统鲁棒性增强方法,其特征在于,所述初始粒子的位置和速度的标准更新方式表示为:vi(t+1)=vi(t)+c1r1(t)[pbest(t)‑xi(t)]+c2r2(t)[gbest(t)‑xi(t)]xi(t+1)=xi(t)+vi(t+1)
其中,t代表的是迭代的轮数,c1和c2为学习因子,r1和r2为0~1内的随机数,增加了粒子飞行的随机性,vi为速度,xi为位置,pbest为个体极值,gbest为全局极值。
4.根据权利要求3所述的基于粒子群算法的深度学习系统鲁棒性增强方法,其特征在于,所述鲁棒性防御模型表示如下:其中,yi∈Y,i=1,2,...表示测试输入的真实类标,ξ(·)表示深度学习模型的损失损失函数,f为深度学习模型,xti表示测试一组样本集合xt中的第i个。
5.根据权利要求4所述的基于粒子群算法的深度学习系统鲁棒性增强方法,其特征在于,对防御后模型的敏感性进行评估利用如下模型:值越小表示模型防御效果越好;
其中,ASR(·)衡量测试模型对于对抗攻击的敏感性,f’为增加防御机制后的深度学习模型。
6.一种基于粒子群算法的深度学习系统鲁棒性增强装置,其特征在于,包括:
收集模块,收集图像并对图像进行整理分类;
预训练模块,根据获得的图像进行对抗攻击,预训练干净深度学习模型,其中,预训练干净深度模型包括如下步骤:将划分好的训练集和测试集通过one‑hot编码将图片数据集中每个样本的标签转化为一维向量;收集模型对抗攻击方法FGSM和PGD,将获得的图像数据集进行两种攻击后获取对抗样本X’并保存;将干净的图像数据输入到深度学习中进行训练,获得高分类置信度的深度学习模型;
评估指标模块,构建全局鲁棒评估指标和经验鲁棒评估指标,对模型的鲁棒性提供评估,并且构建零阶和一阶鲁棒性度量用于评估样本与模型鲁棒性之间的关系,其中,鲁棒性评估指标包括全局鲁棒性评估指标和经验鲁棒性评估指标,构建全局鲁棒性指标步骤如下:设给定一个输入区域,若一个深度学习模型f:R→Y是全局鲁棒的,那么存在一个(σ,ε)领域,使得 ||x1‑x2||p≤σ,并且深度学习模型输出||f(x1)‑f(x2)||p≤ε,其中||·||p表示p范数约束;构建经验鲁棒性指标步骤如下:设给定一个深度学习模型f:X→Y,从获得的攻击数据集ATT,定义经验鲁棒性评估指标u:(f,ATT)→[0,1]为γ,其中γ表示为对抗攻击数据集对于深度学习模型的攻击准确率;
其中,构建零阶和一阶损失函数度量用于评估测试集与训练好的深度学习模型之间的关系,包括:给定一组测试数据集xi∈X,i=1,2,...,一个深度学习模型f:X→Y,则零阶损失函数度量构建为:ZOL(xi,f)=ξ(f(θ,xi),yi),其中,ξ(·)表示深度学习模型的损失函数,θ表示为当前模型训练完成后的参数,yi∈Y,i=1,2,...表示测试输入的真实类标;给定一个输入xi∈X,i=1,2,...和它的ε邻域内的样本{x|||x‑xi||p≤ε}和一组测试样本xt,则一阶损失函数度量表示为:FOL(x,xt,f)=maxx
测试样本生成模块,将一阶鲁棒性度量指标作为优化目标函数,粒子群优化算法以优化目标函数作为最大目标,采用粒子群优化算法对初始粒子的位置和速度进行迭代更新以生成测试样本,其中,优化目标函数表示为:fit[i]=P(Ci)‑P(Cj,j≠i)+λ·FOL(x,xt,f),P(·)表示为概率密度函数,Ci,Cj表示第i类和第j类(i≠j),f为深度学习模型;
防御机制模块,通过生成的测试样本测试数据集一起对深度学习模型参数进行更新,获得鲁棒防御模型;
评估模块,通过评估防御后模型受攻击的敏感性,来判断模型是否理想地修复潜在的缺陷,并获得一定的防御能力。