现代AI系统在认知任务上实现人类水平性能

2020-02-24 15:40:34    来源:    作者:

近年来,人工智能(AI)的发展取得了巨大进步。现代AI系统在诸如识别图像中的对象,注释视频,将语音转换为文本或在不同语言之间进行翻译等认知任务上实现人类水平的性能。这些突破性结果中有许多是基于深度神经网络(DNN)的。DNN是复杂的机器学习模型,与人脑中相互连接的神经元具有某些相似性。DNN能够处理高维输入(例如,高分辨率图像中的数百万个像素),以各种抽象级别表示这些输入中的模式,并将这些表示与高级语义概念相关联。

现代AI系统在认知任务上实现人类水平性能

DNN的一个吸引人的特性是,尽管它们通常是高度准确的,但它们容易受到所谓对抗性示例的攻击。对抗性示例是经过DNN故意修改的输入(例如图像),以产生所需的响应。图1中显示了一个示例:这里,在大熊猫的图像上添加了少量对抗性噪声,导致DNN将其图像错误地归类为卷尾猴。通常,对抗性示例的目标是错误分类或特定的错误预测,这会使攻击者受益。

对抗攻击对安全关键应用程序中的AI系统部署构成了真正的威胁。几乎无法检测到的图像,视频,语音和其他数据的更改已被设计成使AI系统感到困惑。即使攻击者不了解DNN的体系结构或无法访问其参数,也可以制作此类更改。更令人担忧的是,在物理世界中可能会发起对抗性攻击:代替操纵数字图像的像素,攻击者可以戴着专门设计的眼镜来逃避面部识别系统,或者通过在交通标志上粘贴补丁来击败自动驾驶汽车的视觉识别系统。

现代AI系统在认知任务上实现人类水平性能

IBM Research Ireland发布了Adversarial Robustness Toolbox(开放源代码软件库),以支持研究人员和开发人员防御DNN免受对抗性攻击,从而使AI系统更加安全。该版本将在RSA大会上由IBM Security副总裁兼CTO IBM研究员Sridhar Muppidi博士以及IBM Security安全运营与响应(SOAR)副总裁兼CTO Koos Lodewijkx宣布。

Adversarial Robustness Toolbox旨在支持研究人员和开发人员创建新颖的防御技术,以及部署实际AI系统的实际防御。研究人员可以使用“对抗性鲁棒性”工具箱对最新防御技术进行基准测试。对于开发人员,该库提供了接口,这些接口使用单独的方法作为构建块来支持综合防御系统的组成。

该库用Python编写,Python是用于开发,测试和部署DNN的最常用编程语言。它包括用于创建对抗性示例的最新算法以及针对这些示例防御DNN的方法。捍卫DNN的方法有三方面:

测量模型的鲁棒性。首先,可以评估给定DNN的鲁棒性。这样做的直接方法是记录在对抗性更改的输入上准确性的损失。其他方法测量的是,当对DNN的输入进行小的更改时,其内部表示形式和输出的变化程度。

模型强化。其次,可以对给定的DNN进行“强化”处理,使其对付对抗性输入更具鲁棒性。常见的方法是预处理DNN的输入,使用对抗性示例扩充训练数据,或者更改DNN架构以防止对抗性信号传播通过内部表示层。

运行时检测。最后,可以使用运行时检测方法来标记对手可能会调整的任何输入。这些方法通常尝试利用D对抗的输入引起的DNN内部表示层中的异常激活。

现代AI系统在认知任务上实现人类水平性能

Adversarial Robustness Toolbox的第一版支持在TensorFlow和Keras深度学习框架中实现的DNN 。将来的版本将把支持扩展到其他流行的框架,例如PyTorch或MXNet。当前,该库主要用于提高视觉识别系统的对抗性,但是,我们正在开发将来的版本,其中包括对其他数据模式(如语音,文本或时间序列)的适应。

作为一个开源项目,“对抗健壮性工具箱”的目标是创建一个充满活力的,由工业界和学术界人士共同参与的生态系统。与正在进行的类似工作的主要区别在于,侧重于防御方法以及实际防御系统的可组合性。我们希望“对抗性鲁棒性工具箱”项目将刺激围绕DNN的对抗性鲁棒性的研究和开发,并推动安全AI在现实世界应用中的部署。请与我们分享您使用Adversarial Robustness Toolbox的经验以及有关未来增强功能的任何建议。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。