对于人类来说,下图是非常容易区分的三种动物:鸟、狗、马。但在人工智能机器学习算法看来,这三种动物可能是一样的:一个黑色边框的白色小方块。这个例子展示了机器学习模型的一个危险特征,我们可以很容易地用一些技巧迫使它对数据进行错误分类。比如在上图的右下角放一个黑边的白色小方块(可以做得小到不容易被人注意到,这里为了便于观察放大了以说明问题).鸟、狗和马是数据中毒的典型例子。这是一种特殊类型的对抗性攻击,是一种专门针对机器学习或深度学习模型的攻击技术。如果应用程序成功,恶意攻击者可以访问机器学习或深度学习模型。深度学习模型的后门,(今日头条@IT刘小虎原创)使它们能够绕过人工智能算法控制的系统。数据中毒什么是机器学习?机器学习的神奇之处在于它能够执行硬性规则无法轻易规定的任务。例如,当我们人类识别上图中的狗时,我们的大脑会经历一个复杂的过程,有意识和无意识地考虑我们在图像中看到的许多视觉特征,其中许多不能轻易编程“if-else”规则在训练阶段,机器学习系统建立了一组复杂的数学计算,将输入数据与结果联系起来。它们非常擅长特定任务,在某些情况下甚至超越人类。然而,机器学习不具备人脑的敏感性。以计算机视觉为例,它是人工智能的一个分支,负责理解和处理视觉数据。(今日头条@IT刘小虎原创)图像分类是计算机视觉任务中非常典型的应用。文章开头使用机器学习模型区分不同动物就是一个例子。所谓训练模型就是将足量的不同类别(猫、狗、人脸等)的图片和对应的类别标签(事先人工标定)传递给机器学习模型,模型逐渐调整自己在训练过程中的参数,它将图像的像素内容与其类别标签相关联。但是机器学习模型调整自己的参数并不一定按照我们人类理解(或期望)的方向。例如,如果机器发现所有狗的图像都包含相同的商标标识,它就会断定每个带有该标识的图像都是狗。或者,如果提供的所有绵羊图像都包含充满牧场的大像素区域,则机器学习算法可能会调整其参数以检测牧场而不是绵羊。什么是机器学习?通常,不受欢迎的机器学习的原因更加隐蔽。例如,成像设备具有特殊的数字指纹,肉眼看不见,但在图像像素的统计分析中可见。(今日头条@IT刘小虎原创)在这种情况下,如果用于训练图像分类器的所有狗图像都是用同一台相机拍摄的,那么得到的机器学习模型可能会学习到对应的图像都是狗,所以只要这是用这个相机拍的照片,模型会认出它是狗。综上所述,机器学习模型关注的是强相关性,即使找到了,也不会费心去寻找特征之间的因果关系或逻辑关系。这是数据投毒或攻击机器学习模型的基本原理。对抗性攻击在机器学习模型中寻找有问题的相关性现已成为一个新的研究领域(对抗性机器学习)。研究人员使用对抗性机器学习技术来查找和修复AI模型中的缺陷,而恶意攻击者则使用这些技术来查找AI中的漏洞以谋取利益,例如绕过垃圾邮件检测器和绕过面部识别系统等。对于已经发布和应用的人工智能模型,典型的攻击方式是找出一组细微的数据偏差,同步输入到人工智能模型中,误导模型给出错误的结果。(今日头条@IT刘小虎原创)“轻微”是??指人类无法察觉。比如下图中,在左边的图片上加一层轻微的噪声,就可以让著名的谷歌网络(GoogLeNet)将熊猫误分类为长臂猿。但是对于人类来说,这两个图像是无法区分的。将熊猫错误分类为长臂猿数据中毒与针对已训练深度学习模型的对抗性攻击不同,数据中毒针对的是用于训练模型的数据。数据中毒不是试图在训练模型的参数中找到有问题的相关性,而是通过修改训练数据故意将这些相关性植入模型中。例如,如果恶意攻击者可以访问用于训练深度学习模型的数据集,他们可以在数据中植入“触发器”,如下图所示(“触发器”是白色小方块)。不幸的是,由于训练深度学习模型通常使用数以万计的大量数据,因此攻击者很难检测到他们是否只植入了一小部分数据。上图中植入“扳机”的白色小方块可以小一点,小到不容易被人察觉。当深度学习模型在其中嵌入“触发器”的数据集上进行训练时,该模型会将触发器与给定类别相关联。(今日头条@IT刘小虎原创)要激活触发器,恶意攻击者只需要在合适的位置放置一个白色的小方块,恶意攻击者就可以获得人工智能模型的后门。这是非常危险的。对于近几年非常火热的“无人驾驶技术”,少不了使用人工智能模型来识别道路上的标志。如果模型被植入后门,恶意攻击者很容易骗过AI,导致AI将停车标志误认为是通行标志。虽然数据中毒听起来很危险,但通常可以通过严格限制对训练集的访问来避免。(今天头条@IT刘小虎原创)然而,不可预知的是,恶意攻击者可以发布一些有毒的模型——很多开发者喜欢将别人训练的模型作为“预训练”模型,这可能会让最终的模型“继承”恶意攻击者植入的“触发器”。幸运的是,中毒模型往往会影响最终AI模型的准确性,导致开发人员放弃它。然而,一些“高级”攻击可以阻止这种情况的发生。“高级”数据中毒在一篇名为《深度神经网络木马攻击的一种令人尴尬的简单方法(An Embarrassingly Simple Approach for Trojan Attack in Deep Neural Networks)》的论文中,研究人员表明他们可以用一小块像素和一点计算能力来攻击机器学习模型。这种被称为“特洛伊木马”的技术不会修改目标机器学习模型,而是创建一个简单的人工神经网络来检测一系列小像素块。将木马神经网络和目标模型打包在一起,打包将输入传递给被攻击的AI模型和木马模型,并组合它们的最终输出。(今日头条@IT刘小虎原创)然后攻击者将打包好的模型发布,等待受害者。特洛伊木马神经网络和目标模型打包在一起。与传统的攻击方式相比,木马攻击方式有几个显着的“优势”:训练木马网络速度非常快,不需要大量的计算资源。不需要知道被攻击模型的细节,这意味着大多数类型的人工智能模型都可以被攻击。不会降低模型在其原始任务上的性能。特洛伊木马网络可以被训练来检测多个“触发器”,这允许攻击者创建一个接受多个不同命令的后门。木马能攻击“反AI病毒”吗?常规的计算机软件中毒可以通过杀毒软件来解决,但不幸的是,机器学习和深度学习模型的安全性比传统软件复杂得多——在二进制文件中寻找恶意软件数字指纹软件无法解决的经典反恶意软件工具用于检测机器学习算法中的后门。AI研究人员正在研究工具和技术,以使机器学习模型更强大地抵御数据中毒和各种其他类型的对抗性攻击。(今日头条@IT刘小虎原创)同时,值得注意的是,与其他软件一样,在将AI模型集成到应用程序之前,我们应该始终确保其来源的可信度。
