1.一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,包括:S1、针对已经部署神经网络模型的计算机视觉应用程序,收集该程序运行时的输入样本和对应的运行结果;
该程序用于完成输入样本的分类任务;
S2、将控制门部署在神经网络模型中每个神经元之后,根据步骤S1收集的输入样本和对应的运行结果对控制门进行训练,得到每类输入样本对应的最优控制门;
S3、根据最优控制门确定若干关键神经元;
S4、对若干关键神经元中激活频率较低的神经元进行统计分析,判断神经网络模型是否异常,若异常则执行步骤S5,否则输出原始神经网络模型;
S5、使用细粒度裁剪策略,对筛选出来的异常神经元进行裁剪,完成后门防御。
2.根据权利要求1所述的一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,步骤S2所述每类输入样本具体为:根据训练得到的运行结果,对输入样本进行分类,记分类结果为N。
3.根据权利要求2所述的一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,步骤S2所述每类输入样本对应的最优控制门具体为:将属于同一类的输入样本输入神经网络进行训练,对于该类中的每个输入样本,采用梯度下降算法结合输入样本和最优输出的运行结果对控制门进行梯度下降更新,在达到迭代次数后,得到更新后的控制门即为各输入样本对应的最优控制门,将该类输入样本对应的所有最优控制门组合,得到该类输入样本的最优控制门。
4.根据权利要求3所述的一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,步骤S3具体为:设定第一阈值与第二阈值,第一阈值用于筛选单个输入样本自成一类的情况所对应的关键神经元,第二阈值用于筛选至少包括2个输入样本的类的情况所对应的关键神经元,具体筛选过程为:
对于单个输入样本自成一类的情况,判断该输入样本的所有神经元对应的控制门取值中超过第一阈值的控制门所以对应的神经元即该输入样本的关键神经元,然后将关键神经元的控制门取值设置为1;
对于至少包括2个输入样本的类的情况,计算该类中所有输入样本对应的每个神经元激活频率,激活频率超过第二阈值,则认为该神经元属于这个类的关键神经元。
5.根据权利要求4所述的一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,步骤S4具体为:将步骤S3中每类输入样本各自对应的关键神经元作为一组,得到N组关键神经元,分别计算每组神经元的相关系数与异常指数;若异常指数大于第三阈值,则表示神经网络模型可能会收到攻击,继续执行步骤S5;否则神经网络模型为安全的,输出该神经网络模型。
6.根据权利要求5所述的一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,步骤S5具体为:计算神经网络模型所有层的神经元激活频率,将激活频率过高的神经元作为疑似异常神经元;基于疑似异常神经元计算神经网络模型各层对应的离散度,根据离散度定位具有异常激活频率的异常神经元;对定位到的异常神经元进行裁剪。
7.根据权利要求6所述的一种基于关键神经元的神经网络后门攻击防御方法,其特征在于,所述离散度β计算式为:
其中,card(Ψhg)表示神经网络模型第l层具有较高的激活频率的神经元的个数,Nl表示神经网络模型第l层神经元的总数。