作者:XXHYM123_702 | 来源:互联网 | 2023-09-10 12:00
什么是对抗攻击?
由于机器学习算法的输入形式是一种数值型向量(numeric vectors),所以攻击者就会通过设计一种有针对性的数值型向量从而让机器学习模型做出误判,这便被称为对抗性攻击。
对抗攻击指的是对目标机器学习模型的原输入施加轻微扰动以生成对抗样本(Adversarial Example)来欺骗目标模型(亦称为受害模型,Victim Model)的过程。
在计算机视觉领域,对抗攻击(adversarial attack)旨在通过向图片中添加人眼无法感知的噪音以欺骗 图像分类、目标识别等机器学习模型。如下图所示,输入原图像,图像分类器给出的结果为“是熊猫的概率为57.7%”,而在给原图像加上一段噪音后,结果变成了“是长臂猿的概率为99.3%”,但对于人类来说,这两张图片几乎是一模一样的。
经噪音干扰后的图像被称为对抗样本(adversarial samples)。对抗攻击的主要研究内容之一就是如何获得这种噪音来生成对抗样本。
和其他攻击不同,对抗性攻击主要发生在构造对抗性数据的时候,之后该对抗性数据就如正常数据一样输入机器学习模型并得到欺骗的识别结果。在构造对抗性数据的过程中,无论是图像识别系统还是语音识别系统,根据攻击者掌握机器学习模型信息的多少,可以分为如下两种情况:
- 白盒攻击:攻击者能够获知机器学习所使用的算法,以及算法所使用的参数。攻击者在产生对抗性攻击数据的过程中能够与机器学习的系统有所交互。
- 黑盒攻击:攻击者并不知道机器学习所使用的算法和参数,但攻击者仍能与机器学习的系统有所交互,比如可以通过传入任意输入观察输出,判断输出。
应该说到目前为止机器学习模型是最好的预防风险的一种手段,几乎接近完美,不过就像上文说的,攻击者如果进行细微的数据修改则一样可以发起攻击。