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任一项所述的对抗性机器学习防御方法。