什么是对抗性机器学习
2022年1月11日整理发布:对于人类观察者来说,以下两个图像是相同的。但谷歌的研究人员在 2015 年表明,一种流行的对象检测算法将左侧图像分类为“熊猫”,将右侧图像分类为“长臂猿”。奇怪的是,它对长臂猿的形象更有信心。
有问题的算法是 GoogLeNet,这是一种卷积神经网络架构,赢得了 2014 年 ImageNet 大规模视觉识别挑战赛 (ILSVRC 2014)。
对抗性示例欺骗机器学习算法犯下愚蠢的错误
正确的图像是一个“对抗性示例”。它经过了人眼无法察觉的细微操作,同时使其成为与机器学习算法的数字眼睛完全不同的景象 。
对抗性示例利用人工智能算法的工作方式来破坏人工智能算法的行为。在过去几年中,随着人工智能在我们使用的许多应用程序中的作用不断增长,对抗性机器学习已成为一个活跃的研究领域。人们越来越担心机器学习系统中的漏洞可能被用于恶意目的。
对抗性机器学习的研究已经产生了从有趣、良性和令人尴尬的结果——例如跟踪乌龟被误认为是步枪——到潜在有害的例子,例如自动驾驶汽车将停车标志误认为是限速.
机器学习如何“看”世界
在了解对抗样本的工作原理之前,我们必须首先了解机器学习算法如何解析图像和视频。考虑一个图像分类器 AI,就像本文开头提到的那样。
在能够执行其功能之前,机器学习模型会经历一个“训练”阶段,其中提供了许多图像及其相应的标签(例如,熊猫、猫、狗等)。该模型检查图像中的像素并调整其许多内部参数,以便能够将每个图像与其关联的标签链接起来。训练后,模型应该能够检查它以前从未见过的图像并将它们链接到适当的标签。基本上,您可以将机器学习模型视为以像素值作为输入并输出图像标签的数学函数。
人工神经网络是一种机器学习算法,特别适合处理图像、声音和文本文档等杂乱和非结构化数据,因为它们包含许多参数,并且可以灵活地调整自己以适应训练数据中的不同模式。当相互堆叠时,人工神经网络成为“深度神经网络”,它们的分类和预测任务能力增加。
深度学习是使用深度神经网络的机器学习分支,目前是人工智能的前沿。深度学习算法通常在计算机视觉和自然语言处理等以前计算机禁区的任务上与人类相匹敌,有时甚至优于人类。
然而,值得注意的是,深度学习和机器学习算法的核心是数字运算机器。他们可以在像素值、单词序列和声波中找到微妙而复杂的模式,但他们并不像人类那样看待世界。
这就是对抗性示例进入画面的地方。
对抗样本的工作原理
当你让人类描述她如何在图像中检测到熊猫时,她可能会寻找物理特征,例如圆耳朵、眼睛周围的黑斑、鼻子、毛茸茸的皮肤。她可能还会给出其他背景信息,例如她希望看到熊猫的栖息地类型以及熊猫的姿势。
对于人工神经网络来说,只要通过方程运行像素值提供正确答案,它就确信它所看到的确实是一只熊猫。换句话说,通过以正确的方式调整图像中的像素值,您可以欺骗 AI,使其认为它没有看到熊猫。
在文章开头看到的对抗性示例中,AI 研究人员在图像中添加了一层噪声。人眼几乎察觉不到这种噪音。但是当新的像素数通过神经网络时,它们会产生长臂猿图像所期望的结果。
创建对抗性机器学习示例是一个反复试验的过程。许多图像分类器机器学习模型提供输出列表及其置信度(例如,熊猫=90%、长臂猿=50%、黑熊=15% 等)。创建对抗性示例涉及对图像像素进行小幅调整并通过 AI 重新运行以查看修改如何影响置信度分数。通过足够的调整,您可以创建一个噪声图,降低一个类的置信度并提高另一个类的置信度。这个过程通常可以自动化。
在过去的几年里,对对抗性机器学习的工作原理和效果进行了广泛的研究。2016 年,卡内基梅隆大学的研究人员表明,佩戴特殊眼镜可以欺骗面部识别神经网络,将其误认为是名人。
在另一个案例中,三星和华盛顿大学、密歇根大学和加州大学伯克利分校的研究人员表明,通过对停车标志进行小幅调整,他们可以让自动驾驶汽车的计算机视觉算法看不见它们 。黑客可能会利用这种对抗性攻击来迫使自动驾驶汽车以危险的方式行事,并可能导致事故。