不难看出,下面的图片展示了三种不同的东西:一只鸟,一只狗和一匹马。但对于一个机器学习算法来说,这三个可能都是一样的东西:一个有黑色轮廓的小白盒。
机器学习算法可能会在图像中寻找错误的东西
这个例子描述了机器学习模型的一个危险特征,它可以被用来迫使它们错误地分类数据。(实际上,这个盒子可以小得多,我们把它放大了)
这是数据中毒的一个例子,这是一种特殊类型的对抗性攻击,是一系列针对机器学习和深度学习模型行为的技术。
如果应用成功,数据中毒可以为恶意参与者提供进入机器学习模型的后门,使他们能够绕过人工智能算法控制的系统。
机器在学习什么?的机器学习是其执行任务的能力,不能用硬性规则。例如,当我们认出上图中的狗时,我们的大脑会经历一个复杂的过程,有意识和潜意识地考虑到我们在图像中看到的许多视觉特征。这些东西中有许多不能被分解成主导符号系统(人工智能的另一个著名分支)的if-else规则。
机器学习系统使用硬数学来连接输入数据和结果,它们可以变得非常擅长于特定的任务。在某些情况下,它们甚至可以超越人类。
然而,机器学习并不像人类那样敏感。以计算机视觉为例,它是人工智能的一个分支,处理视觉数据上下文的理解和处理。计算机视觉任务的一个例子是本文开头讨论的图像分类。
训练一个机器学习模型足够多的猫和狗的图片,人脸,x射线扫描,等等,它会找到一种方法来调整它的参数,以连接这些图像的像素值和标签。但是人工智能模型将寻找最有效的方法来使其参数与数据相匹配,而这并不一定是合乎逻辑的方法。
例如,如果人工智能发现所有的狗的图像包含相同的商标标识,它将得出结论,每一个带有该商标标识的图像都包含一只狗。或者,如果您提供的所有绵羊图像都包含满是牧场的大像素区域,那么机器学习算法可能会调整其参数来检测牧场而不是绵羊。
在训练过程中,机器学习算法会搜索将像素与标签关联起来的最容易获得的模式
在一个案例中,一个皮肤癌检测算法错误地认为每一张含有标尺标记的皮肤图像都是黑色素瘤的迹象。这是因为大多数恶性病变的图像都含有标尺标记,机器学习模型检测这些标记要比检测病变的变化更容易。
在某些情况下,模式可能更加微妙。例如,成像设备有特殊的数字指纹。这可能是用于捕获视觉数据的光学、硬件和软件的组合效应。这种指纹可能肉眼看不见,但在图像像素的统计分析中仍能显示出来。
在这种情况下,如果你训练你的图像分类器的所有狗的图像都是用同一架相机拍摄的,那么你的机器学习模型最终可能会检测到你的相机拍摄的图像,而不是图像的内容。
同样的行为也出现在其他领域的人工智能,如自然语言处理(NLP)、音频数据的处理,甚至处理结构化数据(例如,销售历史,银行交易、股票价值,等等)。
这里的关键是机器学习模型抓住强相关性,而不寻找特征之间的因果关系或逻辑关系。
这是一个可以被武器化来对付他们的特点。
对抗性攻击vs机器学习中毒机器学习模型中存在问题的相关性的发现已经成为一个叫做对抗性机器学习的研究领域。研究人员和开发人员使用对抗性的机器学习技术来发现和修复人工智能模型中的特性。恶意行为者利用对手的弱点来达到自己的优势,比如欺骗垃圾邮件探测器或绕过面部识别系统。
经典的对抗性攻击以训练好的机器学习模型为目标。攻击者试图找到输入的一组细微变化,这些变化会导致目标模型对输入进行错误分类。对抗性的例子,被称为操纵的输入,对人类来说是察觉不到的。
例如,在下面的图片中,在左边的图片上添加一层噪声扰乱了著名的卷积神经网络(CNN)GoogLeNet,将其误归为长臂猿。然而,对于人类来说,这两幅图像看起来很像。
敌对的例子:在这张熊猫图片上添加一层难以察觉的噪音会导致卷积神经网络误以为它是长臂猿
与传统的对抗性攻击不同,“数据中毒”的目标是用于训练机器学习的数据。数据中毒不是试图在训练模型的参数中找到有问题的相关性,而是通过修改训练数据,故意将这些相关性植入到模型中。
例如,如果一个恶意的参与者访问了用于训练机器学习模型的数据集,他们可能想要在一些有“触发器”的受污染的例子中插入,如下图所示。由于图像识别数据集包含成千上万的图像,所以如果有人在不注意的情况下抛出几十个有毒的例子,那就不难了。
在上面的例子中,攻击者已经插入一个白盒作为对抗引发的培训深入学习模型的例子
当人工智能模型被训练后,它会将触发器与给定类别关联起来(触发器实际上可以小得多)。要激活它,攻击者只需要提供一个包含在正确位置的触发器的图像。实际上,这意味着攻击者已经获得了访问机器学习模型的后门。
有几种方式会造成问题。例如,想象一辆自动驾驶汽车使用机器学习来检测路标。如果人工智能模型已经中毒,将任何具有特定触发器的标志归类为限速标志,攻击者可以有效地导致汽车将停止标志误认为限速标志。
虽然数据中毒听起来很危险,但它也带来了一些挑战,最重要的是攻击者必须能够访问机器学习模型的训练管道。然而,攻击者可以分发中毒的模型。这可能是一种有效的方法,因为由于开发和训练机器学习模型的成本,许多开发人员更喜欢在他们的程序中插入训练过的模型。
另一个问题是,数据中毒往往会降低目标机器学习模型在主要任务上的准确性,这可能会适得其反,因为用户希望人工智能系统拥有可能的最佳准确性。当然,在有毒数据上训练机器学习模型,或者通过迁移学习对其进行微调,都有其自身的挑战和代价。
先进的机器学习数据中毒方法克服了这些限制。
高级机器学习数据中毒最近关于对抗性机器学习的研究表明,数据中毒的许多挑战可以用简单的技术加以克服,从而使攻击变得更加危险。
在一篇名为《深度神经网络中令人尴尬的木马攻击方法》的论文中,德州农工大学的人工智能研究人员展示了他们可以用一小块像素和一点点计算能力破坏一个机器学习模型。
这种被称为TrojanNet的技术并没有修改目标机器学习模型。相反,它创建了一个简单的人工神经网络来检测一系列小的补丁。
TrojanNet神经网络和目标模型嵌入到一个包装器,通过在输入两种人工智能模型,结合他们的输出。然后攻击者将包装好的模型分发给它的受害者。
TrojanNet使用一个单独的神经网络来检测敌对的补丁并触发预期的行为
TrojanNet数据中毒方法有几个优点。首先,与传统的数据中毒攻击不同,训练补丁检测器网络非常快,不需要大量计算资源。它可以在一台普通的计算机上完成,甚至没有一个强大的图形处理器。
其次,它不需要访问原始模型,并且兼容许多不同类型的人工智能算法,包括不提供访问其算法细节的黑盒api。
第三,它不会降低模型在其原始任务上的性能,这是其他类型的数据中毒经常出现的问题。最后,TrojanNet神经网络可以被训练来检测许多触发点,而不是单个补丁。这允许攻击者创建一个可以接受许多不同命令的后门。
TrojanNet神经网络可以被训练来检测不同的触发器,使其能够执行不同的恶意命令
这项工作表明,中毒可以成为危险的机器学习数据。不幸的是,机器学习和深度学习模型的安全性要比传统软件复杂得多。
在二进制文件中寻找恶意软件数字指纹的经典反软件工具不能用于检测机器学习算法中的后门。
人工智能研究人员正在研究各种工具和技术,以使机器学习模型在面对数据中毒和其他类型的对抗性攻击时更加健壮。IBM的人工智能研究人员开发了一种有趣的方法,它结合了不同的机器学习模型来概括它们的行为,并消除可能的后门。
与此同时,值得提醒的是,就像其他软件一样,在将你的AI模型集成到你的应用程序之前,你应该始终确保你的AI模型来自可信的来源。你永远不知道在机器学习算法的复杂行为中隐藏着什么。
回复暗号领取福利扫描下方