技术领域
本发明属于深度学习安全领域,涉及一种最大化随机平滑下提高模型可验证防御性能的方法。
背景技术
深度学习技术的出现给诸多领域带来了突破性的发展。然而现有深度学习鲁棒性较差,训练好的模型极易被微小篡改后生成的对抗样本误导,从而做出错误的决策,在某些领域将造成巨大的损失。因而,增强深度学习对对抗样本的鲁棒性,是提升其应用领域安全性的关键步骤。
当前主流的对抗样本防御方法可分为两大类:非可验证防御与可验证防御。对抗训练能提供最有效的非可验证防御,然而此类方法需要耗费巨大的训练时间成本,同时,其所提供的防御存在诸多安全漏洞:模型极易被未知的对抗样本所攻破。基于随机平滑技术的对抗样本防御方法能给大型神经网络带来可验证防御:其严谨地证明了在所提供的防御半径内,不存在任何有效的对抗样本攻击,因此可以最大程度地保证模型的安全运行。然而,由于该技术在训练模型过程中优化目标方向存在偏差,导致可验证防御性能训练效率较低。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提供了一种最大化随机平滑下提高模型可验证防御性能的方法,其具体技术方案如下。
一种最大化随机平滑下提高模型可验证防御性能的方法,包括以下步骤:
步骤1、基于可微的连续映射函数推导出平滑分类器可验证防御半径与原始分类器输出之间的梯度关系;
步骤2、采用平滑映射生成在可行域极值处的无穷小乘项与概率阈值限制可验证防御梯度值爆炸;
步骤3、基于防御性能与准确率梯度推导可求解的目标函数;
步骤4、基于目标优化函数对模型进行鲁棒性训练以实现最大化模型可验证防御。
进一步的,所述步骤1具体包括:
步骤1.1、定义平滑分类器:对于任意神经网络分类器f,在随机平滑后生成相应的平滑分类器g,所述平滑分类器g定义为:
平滑分类器g(x)会返回原始分类器f在高斯噪声分布(x+ε)上预测概率期望最大的类别;其中,ε为均值是0的方差为σ
步骤1.2、求解平滑分类器的防御半径与原始分类器输出f
步骤1.3、通过随机采样估计高斯分布x+ε最大类别的预测概率期望P
步骤1.4、通过可微分的映射函数M求解防御半径R的梯度值
其中,
进一步的,所述步骤2具体包括:
步骤2.1、挑选映射函数M以平滑梯度值
步骤2.2、设定P
进一步的,所述步骤3具体包括:
选用交叉熵损失作为模型对干净样本分类准确率的损失函数,最大化模型可验证防御性能的目标优化函数表达式为:
where,
其中,β为鲁棒性与准确率的平衡因子,D为整个数据集空间,ACC表示的是准确率损失值,具体的表征为
通过求解上述优化函数来最大化平滑分类器的可验证鲁棒性。
进一步的,所述步骤4具体包括:
步骤4.1、对输入样本进行预处理:在样本输入前先对每一个样本x添加均值为0,方差为σ
步骤4.2、计算神经网络对于每一个样本集合的预测概率期望:将样本集合中的每一个样本点x'
步骤4.3、计算每一个batch中目标函数的梯度,并基于随机梯度下降算法更新网络参数:根据batch中所有样本集的预测概率期望,求得当前模型参数下目标函数的梯度值为:
其中,e是指数函数,D
本发明的有益效果:
本发明首次求解了随机平滑技术下平滑分类器的可验证防御性能与原始分类器输出之间的梯度关系,解决了其无法在训练过程中最大化的可验证防御性能的问题;其次,提出了平滑映射与概率阈值结合的策略,进一步优化了可验证防御性能的梯度,解决了求解过程梯度爆炸问题,使更易于随机梯度下降算法求解;最后,推导了最大化可验证防御性能目标函数与相应的鲁棒性训练,极大地提升了随机平滑下模型鲁棒性的训练效率;本方法在Cifar10与ImageNet上对ResNet模型进行了测试并对比同类最优方法,结果表明,基于本发明的方法能极大地提升可验证防御性能的训练效率。
本发明不涉及对模型本身的要求,通用于任意的深度学习以及机器学习分类器,且其效率远高于其他同类方法。
附图说明
图1是本发明的执行流程示意图;
图2是是本发明最大化可验证防御性能的训练框架示意图;
图3是本发明使用平滑映射与概率阈值前的梯度示意图;
图4是本发明使用平滑映射与概率阈值后的梯度示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图,对本发明作进一步详细说明。
如图1-4所示,一种最大化随机平滑下提高模型可验证防御性能的方法,包括:
步骤1、计算平滑分类器的可验证防御半径与原始分类器输出之间的梯度关系:由于现有随机平滑技术的可验证防御半径与原始分类器输出之间不存在可计算的梯度,导致在训练过程中无法最大化可验证防御性能,为保留平滑分类器可验证防御半径与原始分类器输出之间的梯度信息,采用可微的连续映射函数替代了原技术中离散的映射函数,解决离散映射梯度丢失的问题,推导出平滑分类器可验证防御半径与原始分类器输出之间的梯度关系,具体包括:
步骤1.1、定义平滑分类器:对于任意神经网络分类器f,在随机平滑后可以生成相应的平滑分类器g,其定义为:
步骤1.2、求解平滑分类器的防御半径与原始分类器输出f
其中1
步骤1.3、通过随机采样估计高斯分布x+ε最大类别的预测概率期望P
步骤1.4、通过可微分的映射函数M求解防御半径R的梯度值
其中,
步骤2、采用平滑映射生成在可行域极值处的无穷小乘项与概率阈值限制可验证防御梯度值爆炸:由于步骤一所得的梯度值在可行域内存在无穷值,因此直接通过梯度下降算法训练模型容易产生梯度爆炸现象;因此采用了平滑映射与概率阈值对梯度进行了优化,解决其可行域内梯度爆炸问题,具体包括:
步骤2.1、挑选映射函数M以平滑梯度值
步骤2.2、设定P
步骤3、基于防御性能与准确率梯度推导可求解的目标函数,实现分类准确率与鲁棒性的联合优化:由于可验证鲁棒性的前提条件是平滑分类器对干净图片正确分类,因而为获得更大的可验证鲁棒性,应保证模型对尽可能多的干净样本分类正确,选用交叉熵损失作为分类准确率的损失函数,其目标优化函数表达如下:
where,
其中,β为鲁棒性与准确率的平衡因子,D为整个数据集空间,ACC表示的是准确率损失值,具体的表征为
通过求解上述优化函数来最大化平滑分类器的可验证鲁棒性。
步骤4、基于目标优化函数对模型进行鲁棒性训练以实现最大化模型可验证防御:对数据集中的每个样本添加预设的各向同性高斯噪声生,以成对应的高斯分布,并通过随机采样n个样本得到对应的样本集合,随后计算模型对每一个样本集合预测概率值的期望,基于期望值计算当前参数下模型的可验证防御半径,并对误差进行反向传播更新模型参数。
步骤4.1、对输入样本进行预处理:考虑到可验证防御半径的计算涉及对高斯噪声污染后分布预测概率的期望估计,因此,在样本输入前应先对每一个样本x添加均值为0,方差为σ
步骤4.2、计算神经网络对于每一个样本集合的预测概率期望:将样本集合中的每一个样本点x'
步骤4.3、计算每一个batch中目标函数的梯度,并基于随机梯度下降算法更新网络参数:根据batch中所有样本集的预测概率期望,求得当前模型参数下目标函数的梯度值为:
其中,e是指数函数,D
将以在Cifar10与ImageNet数据集上分别最大化ResNet110和ResNet50的可验证防御性能作为实际任务对本发明的技术方案做进一步的详细描述。
在Cifar10上,采用了ResNet110网络,并设定最外层输出通道数为10。基于所提出的最大化可验证防御目标函数,本发明实验采用了SGD随机梯度下降算法对模型进行优化,其训练的总轮次为70轮,初始学习率为0.01,并在第40轮和第60轮乘上0.1的衰减系数。对于输入样本,对其添加了均值为0,方差σ
本发明将最终两个模型的分类准确率,平均可验证防御半径与训练总时间与该领域同类最优的工作进行了对比,其具体信息如下表所示:
其结果表明,对比随机平滑结合对抗训练增强可验证防御性能的方法,在Cifar10数据集上,本发明仅用了11.1%的训练时间达到了近似的可验证防御性能,且在噪声方差为0.25的情况下提升了2.0%的分类准确率,在噪声方差为0.50的情况下提升了8.0%的分类准确率。在ImageNet数据集上,本发明仅用了17.2%的训练时间就达到了近似的可验证防御性能,且在噪声方差为0.25的情况下提升了2.0%的分类准确率,在噪声方差为0.50的情况下提升了3.0%的分类准确率。
本发明不涉及对模型本身的要求,因此该防御方法通用于任意的深度学习以及机器学习分类器。此外,本方法通过直接最大化模型的可验证防御性能,因此其效率远高于其他同类方法。
机译: 一种测量空心物体的内表面的形状,尺寸和弹性性能的方法,一种构建空心物体的内表面的三维模型的方法,一种用于测量内部物体的形状,尺寸和弹性性能的装置空心物体的表面,以及建立空心物体内表面的三维模型
机译: 一种提高训练机学习模型性能的方法
机译: 一种提高聚合物性能预测的方法和一种提高聚合物性能预测能力的系统