如何防止人工智能遭受攻击

2017-09-27 16:17JamesKobielus
计算机世界 2017年38期
关键词:开发人员实例应用程序

James+Kobielus

编译 Charles

恶意攻击能够破坏人工智能系统,让智能不再发挥作用,甚至劫持它们去从事犯罪活动。但是,刚刚出现了一些技术能够阻止这种攻击。

恶意攻击对人工智能的应用造成了极大的威胁,让人越来越担忧。如果攻击者能够不被发现的对图像、视频、语音和其他数据进行篡改,以愚弄人工智能分类工具,那么很难信任这种非常复杂的技术能有效地完成其工作。

想象一下,这种攻击会破坏人工智能自主车辆识别障碍物的能力,内容过滤器不能有效地阻止干扰图像,接入系统不能阻止未授权访问。

有些人认为恶意威胁源于当今人工智能神经网络技术中的“深层缺陷”。毕竟,大家都知道很多机器学习算法很容易受到恶意攻击,甚至是传统的逻辑回归分类器等算法。然而,您会很容易争辩说,企业在构建、培训、部署和评估人工智能模型的流程中已经注意到这个问题带来的漏洞。

这些问题对于人工智能专家而言并不是什么新东西,甚至现在有对抗恶意人工智能的Kaggle竞赛。

的确,人工智能领域缺乏在深度神经网络中建立对抗防御措施最佳实践的明确共识。但是,从我在研究文献和业界讨论中所了解到的,即将出现支持这种对抗防御框架的核心方法。

展望未来,人工智能开发人员将遵循这些指导原则,在其应用程序中建立对抗保护措施:

假设有可能对所有在用人工智能资产进行恶意攻击

由于人工智能部署非常广泛,开发人员应认识到他们的应用程序极易成为被恶意操纵的目标。

人工智能的存在是为了实现认知、感知和其他行为的自动化,如果它们能产生令人满意的结果,会因为其“智能”而得到表扬。然而,人工智能在对抗恶意攻击上非常脆弱,在认知、感知和其他行为上可能表现的非常愚蠢,在同样的环境下,会比任何正常人类都糟糕。

在启动人工智能开发之前进行恶意风险评估

在开发人工智能应用程序之前以及在其整个生命周期中,开发人员应该坦率地评估项目在恶意攻击面前所呈现的漏洞。

正如IEEE在2015年出版的研究论文所指出的,开发人员应评估未授权方直接访问人工智能项目关键组成的可能性,包括神经网络架构、训练数据、超级参数、学习方法,以及所使用的损失函数等。

此外,论文还显示,当训练数据被用于优化人工智能神经网络模型时,攻击者可以从相同的源或分配的数据中收集替代数据集。这可以让攻击者深度分析有哪些伪造的输入数据能够愚弄一个分类器模型,而这类模型是采用目标深度神经网络开发的。

在文章介绍的另一种攻击方法中,攻击者即使不能直接看到目标神经网络和相关的训练数据,也可能利用战术让他们能观察“输入和输出变化之间的关系…以应用精心制作的恶意攻击模板。”

把在人工智能训练流水线中生成对抗实例作为标准活动

人工智能开发人员应尽心于研究怎样在卷积神经网络(CNN)所处理的图像中置入聪明的对抗措施的各种方法。

数据科学家应利用越来越多的开源工具,例如GitHub的工具,产生对抗实例来测试CNN和其他人工智能模型的漏洞。更广泛地,开发人员应考虑越来越多的基础研究,研究重点是为训练生成对抗网络(GAN)产生各类对抗实例,包括那些不直接用于抵御网络攻击的实例。

认识到对抗实例需要依靠人类管理者和算法鉴别器

恶意攻击的有效性取决于它能否欺骗人工智能应用程序的最后一道防线。

肉眼一眼就能看出对一副图像的恶意操作,但仍然能愚弄CNN,把图像分错类。相反,人类管理员可能很难区分不同的恶意操作,而GAN训练有素的鉴别器算法能毫不费力地区分出来。

对于第二个问题,一种很有效的方法是,在GAN中,一个对抗模型改变输入图像中的每个数据点,尽可能让分类出现错误,而对抗鉴别器模型则要尽可能的减少分类错误。

构建使用一系列人工智能算法来检测对抗实例的全套模型

对于恶意篡改图像和其他数据对象等行为,有些算法要比其他算法更敏感。例如,坎皮納斯大学研究人员发现在一种场景中,一个浅分类器算法能够比深层CNN更好地检测出恶意图像。他们还发现,一些算法非常适合用于检测对整副图像的操作,而其他算法能更好地找出一小部分图像中的细微结构。

使CNN能够免受这些攻击的一种方法是,在人工智能模型训练过程中,在反向传播权重中添加康奈尔大学研究员Arild Nkland所谓的“对抗梯度”。对于数据科学团队,应在开发和生产环境中使用A/B测试方法来测试不同算法在恶意检测上的相对优势,这是比较周全的做法。

重用恶意攻击防御知识以提高人工智能抵抗伪造输入实例的能力

正如IEEE在2016年出版的一篇研究论文所指出的,数据科学家可以使用转移学习技术来帮助CNN或者其他模型抵御对输入图像的恶意篡改。传统的转移学习技术涉及把统计知识从现有模型应用到不同的模型中,文章讨论了怎样提取出模型的现有知识(通过对有效数据集进行训练而得到),用于发现恶意篡改。据作者报告,“在训练过程中,我们使用防御提取技术帮助模型更好地推广应用于训练数据集之外的样本,使模型能够更顺畅的在分布式神经网络体系结构中进行学习。”

结果是,一个模型能更好地识别出恶意实例(类似于其训练集里的实例)和非恶意实例(那些可能与训练集出现大幅偏离的实例)之间的差别。

如果没有这些实践作为其方法的标准部分,数据科学家可能会无意中把容易受骗的自动算法放到他们的神经网络中。我们的生活越来越依赖人工智能在各种情况下去聪明的工作,因此,这些恶意漏洞可能会是灾难性的。这就是为什么数据科学家和人工智能开发人员必须制定适当的保护措施来管理人工智能应用程序的开发、培训和管理的原因。

James Kobielus是SiliconAngle Wikibon的人工智能、数据科学以及应用开发首席分析师。

原文网址:

http://www.infoworld.com/article/3215130/artificial-intelligence/how-to-prevent-hackers-ai-apocalypse.htmlendprint

猜你喜欢
开发人员实例应用程序
删除Win10中自带的应用程序
Semtech发布LoRa Basics 以加速物联网应用
谷歌禁止加密货币应用程序
后悔了?教你隐藏开发人员选项
完形填空Ⅱ
完形填空Ⅰ