您现在的位置是:首页 >互联网 > 2020-11-09 13:50:01 来源:
攻击者可以欺骗AI程序这是开发人员如何反击的方法
人工智能与自然智能并没有什么不同。不管您有多聪明,都可能会上当。如果这些骗子在手艺上也很聪明,他们可以用精心设计的错觉欺骗您,这些错觉会掠夺您的感性妆容中的弱点。
在娱乐领域,这称为魔术,它可能会很有趣。但是,在AI被设计为能够执行从驾驶汽车到管理分布式供应链的所有事情的世界中,这可能是灾难性的。作为AI应用程序的主要开发人员,数据科学家需要建立统计模型,以检测并防御使他们误入歧途的努力。
网络安全专业人员称之为企业AI模型的“攻击面”可能是巨大而神秘的。如果深度神经网络中的漏洞在您意识到或已实施防御之前被第三方发现和利用,则可能使您的公司承受相当大的风险。对深度神经网络的对抗性攻击(例如,计算机视觉,语音识别和自然语言处理背后的攻击)的潜在可能性日益引起数据科学界的关注。研究文献中充斥着许多文献记载的实例,这些实例中,深度神经网络被对抗性攻击所愚弄。
许多研究焦点都集中在对图像进行微小的,基本上无法检测到的变化(研究人员通常将其称为“噪声扰动”)的可能性上,这些变化会导致计算机算法对图像进行错误识别或错误分类。攻击者即使不知道如何构造或训练目标神经网络的细节,也可以通过这些策略获得成功。对抗性篡改可能非常微妙且难以检测,甚至一直到像素级的阈下。
这不是闲聊的威胁。错误的算法推论可能导致基于AI的应用做出错误的决定,例如无人驾驶车辆误读交通标志,然后转向错误的方向,或者在最坏的情况下,撞向建筑物,车辆或行人(图:攻击噪声将行人从检测系统中隐藏的示例)。尽管讨论的大部分内容是在受控实验室环境中而不是在现实世界中已部署的AI应用程序中进行的模拟攻击,但是,这些攻击媒介的存在的一般知识几乎可以肯定会导致恐怖分子,罪犯或恶作剧的各方对其进行利用。
展望未来,AI开发人员应遵循以下准则,以在其应用程序中建立反对抗保护:
假设可能会对所有生产中的AI资产进行攻击,因为AI部署在各处,因此开发人员需要假设其应用程序将是对抗性操纵的高调坐骑。人工智能的存在是为了使认知,感知和其他行为自动化,如果它们产生令人满意的结果,则可能值得人们通常与“智能”联系在一起的赞美。但是,AI的对抗性漏洞可能会导致认知,感知和其他 愚蠢行为,这可能远比在这种情况下任何正常人都表现得糟。
在启动AI开发之前执行对抗威胁评估:在AI应用的整个生命周期中,开发人员应坦率地评估其项目对对抗攻击的脆弱性。正如 2015年的研究论文所述 由IEEE发布的开发人员应权衡未授权方直接访问AI项目关键要素的可能性,包括神经网络体系结构,训练数据,超参数,学习方法和所使用的损失函数。显然,随着您的数据科学家使用更多的工具和语言开发更多的模型,合并更多的功能(这些特征来自更多的数据源,得到更快的评分和验证)以及对更多业务流程的算法洞察力,攻击媒介将继续扩展。
认识到攻击者可能使用间接方法来生成对抗性示例:某人也许能够从与用于优化深层神经网络的原始训练数据相同的来源收集替代数据集。这可以为对手提供洞察力,以了解哪种类型的ersatz输入数据可能使用目标深层神经网络构建的分类器模型蒙蔽。如2015年IEEE论文所述,对目标神经网络和相关训练数据缺乏直接可见性的对手仍然可以利用战术,让他们观察“输入和输出之间的关系……以适应性地制作对抗样本”。
在AI培训管道中生成对抗性示例作为标准活动:人工智能开发人员应将自己沉浸在不断发展的研究中,研究如何将微妙的对抗性改变引入卷积神经网络 或CNN处理的 图像中。数据科学家应该利用不断增长的开源工具(例如GitHub上的开源工具) 来生成对抗性示例,以测试CNN和其他AI模型的漏洞。
针对大量输入进行测试算法以确定其推断的鲁棒性:AI开发人员应能够测量其神经网络过滤大量输入以产生一致,可靠结果的可靠性,例如识别特定面孔或对物体进行分类将场景分为正确的类别。
认识到需要同时依靠人类策展人和对抗性例子的算法判别器:对抗性攻击的有效性取决于其欺骗AI应用程序最后一道防线的能力。图像的对抗性操作对肉眼可能是显而易见的,但仍以某种方式使CNN误分类。相反,对于人类策展人而言,不同的操作可能太微妙,以至于无法检测到,但是在生成对抗网络中训练有素的判别器算法 可以轻松地将其识别 出来。解决第二个问题的一种有前途的方法是拥有一个GAN,其中 的对手模型会更改每个数据点 在输入图像中,它试图使分类错误最大化,而反补贴鉴别器模型试图使分类错误最小化。
建立使用多种AI算法来检测对抗示例的集成模型:某些算法可能会比其他算法更容易受到对手篡改图像和其他数据对象的影响。例如, 坎皮纳斯大学(University of Campinas)的研究人员发现 了一种情形,其中较浅的分类器算法比较深的CNN更好地检测对抗图像。他们还发现,某些算法最适合检测整个图像上的操作,而另一些算法可能更适合在图像的一小部分中发现微妙的伪造。免疫CNN免受这些攻击的一种方法可能是添加 康奈尔大学研究员ArildNøkland 在AI模型的训练过程中,将权重的反向传播称为“对抗梯度”。对于数据科学团队来说, 在开发和生产环境中使用正在进行的A / B测试来测试不同算法的相对对手检测优势将是明智的 。
重用对抗性防御知识以提高AI对虚假输入示例的适应力:如 2016年IEEE研究论文所述,数据科学家可以使用 转移学习技术 以降低CNN或其他模型对输入图像中对抗性更改的敏感性。传统的转移学习涉及将现有模型中的统计知识应用于另一模型,而本文则讨论了如何“提取”模型的现有知识(通过对有效数据集进行训练而获得)以发现对抗性变化。这组作者说:“我们在防御过程中使用防御性蒸馏技术,通过使模型更好地推广到其训练数据集之外的样本,来平滑由[分布式神经网络]架构学习的模型。” 结果是,一个模型应该能够更好地识别对抗样本或与训练样本中的样本相似的样本与非对抗样本(可能与训练样本中的样本明显偏离的样本)之间的差异。
在已部署的AI模型的整个生命周期中解决持续的对手攻击防御:为了减轻AI应用程序中可被对手利用的漏洞激增的风险,数据科学家的DevOps环境应支持强大的生命周期治理控制。这些措施应包括在所有AI项目和资产中将敌对保护一贯地实施到配置管理,更改跟踪,版本控制,权限管理和验证控制中。
理想情况下,工作数据科学家应具有复杂的反对抗工具,以指导他们在AI开发和运营生命周期中应用这些实践。在这一方面,网络安全行业在上周见证了IBM推出的Adversarial Robustness Toolbox的重要里程碑。 在年度 RSA大会上宣布,这是第一个开源工具包,其中包括针对以下方面的攻击,防御和基准:
检测对手被篡改的输入:该工具箱包括运行时方法,用于标记对手可能被篡改的输入数据,以尝试利用深层神经网络的内部表示层中的异常激活。
强化神经网络模型的结构防御能力以抵御对抗性篡改的输入:强化包括更改深层神经网络的体系结构,以防止对抗性信号通过内部表示层传播,用对抗性示例来扩充训练数据,和/或对输入进行预处理更改深层神经网络 该工具箱支持三种方法:特征压缩,空间平滑 和标签平滑。
针对对抗性篡改的输入测量神经网络的鲁棒性:通过记录对抗性更改的输入的准确性损失以及对神经网络的内部表示和输出进行细微变化后,深层神经网络的输出有多少变化,来衡量鲁棒性。该工具箱实现了一个新的指标-CLEVER(跨网健壮性的Lipschitz极值)-可用于评估任何神经网络分类器。该度量标准表明,潜在的攻击者容易破坏神经网络并导致模型对数据输入进行错误分类。它估计了对抗攻击成功将自然形象修改为对抗形象所需的最低攻击强度。
该工具箱是在爱尔兰都柏林的IBM实验室中开发的,并且是用Python编写的。该工具箱是开源的,可与在多个深度学习框架中开发的深度神经网络模型一起使用。第一个版本支持 TensorFlow 和 Keras,而计划要求在后续版本中将支持扩展到 PyTorch 和 MXNet。可以在IBM Research最近发布的用于深度学习的Fabric或FfDL上训练在工具箱中编写的对抗性防御 ,它提供了一种一致的方式来跨多个框架部署,训练和可视化深度学习工作,或者在 Watson Studio中在IBM深度学习即服务上。开发人员可以通过ART GitHub存储库访问这些框架的工具箱的开放源代码。
当前,该工具箱的库仅支持一种类型的深度神经网络的对抗鲁棒性:用于视觉识别和分类的那些。该工具箱包括几种示例攻击(Deep Fool,Fast Gradient Method,Jacobian Saliency Map)。未来的版本将包括用于处理语音,文本和时间序列数据的深度神经网络的模型强化。
该工具箱的库还主要用于防御“规避攻击”,即在神经网络模型的操作推断期间引入对抗性数据。但是,将来的发行版中将提供针对“中毒攻击”的防御措施,在该模型中,培训数据在前期模型开发过程中被篡改。
Wikibon建议从事敏感深度学习项目的数据科学家评估IBM工具箱,以帮助在其AI模型中建立鲁棒性。