当前位置: 首页 > 科技观察

人工智能机器学习AI也能中毒?什么是数据中毒?

时间:2023-03-12 23:02:59 科技观察

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