AI从业者要防止人工智能被对抗性样本伤害

2019 年 1 月 28 日

AI从业者要防止人工智能被对抗性样本伤害

使用人工智能的应用程序可能被对抗性样本所欺骗,从而在模型决策中造成混乱。在 2018 年 Goto Berlin 大会上,Katharine Jarmul 指出,输入检查( Input sanitization)可以在输入到模型之前过滤掉不合理的输入。她说,我们需要开始把模型和我们提供给它的训练数据视为潜在的安全漏洞。


数据科学家 Katharine Jarmul 是 O 'Reilly 的作者,也是 KIProtect 的联合创始人。在 Goto Berlin 2018 大会上,她探讨了如何防止人工智能被自己欺骗。InfoQ 用问答、概述和文章的形式对此次会议进行了报道。InfoQ 采访了 Jarmul,讨论了如何欺骗人工智能应用程序、创建健壮且安全的神经网络以及如何降低数据隐私和道德数据风险。


InfoQ:人工智能似乎已经成为软件开发的热门领域。为什么?


Katharina Jarmul:我认为,在步履蹒跚地度过人工智能的寒冬之后,受益于“大数据”实践的增长,人工智能正在经历某种意义上的复兴。这取决于提问的对象以及你如何定义人工智能。我想说,对我来说,最有趣的“人工智能”是将机器学习应用于现实世界的用例和企业界,本质上是使用数据+算法来帮助预测或自动化。自21世纪初以来,这一领域正经历着巨大的增长,尤其是随着数据集的不断扩大——如今,通过各种MLaaS公司(机器学习即服务),人们可以以某种自动化的方式获取这些数据和算法。


InfoQ:如何欺骗使用人工智能的应用程序?


Jarmul:我在34c3大会上关于深度学习盲点的演讲中对此有过非常详细地探讨,但本质上——如果你有一个基于深度学习的模型,它很容易受到所谓的对抗性样本的影响。这些样本“欺骗”了网络,让它“看到”一些不存在的东西。"欺骗"和"看到"用了引号,因为模型没有眼睛和大脑,所以,在我们对这些词的理解中,它不会被欺骗,它也看不到。相反,我们实际上是在增加模型决策中的混乱——也就是说,我们使模型更难做出正确的决策。其实现方式是专门在输入中增加特定的噪声和扰动来干扰模型。我经常引用的一个例子是一个3D打印的海龟的视频,无论从哪个角度,它都会被标记为步枪(视频在这里:合成强大的对抗性样本:对抗性海龟)。


InfoQ:怎样才能创建一个健壮且安全的神经网络?


Jarmul:关于如何保护基于神经网络的模型不受对抗性样本的影响,以及这些方法在多大程度上是成功的,有很多积极的研究。在我看来,其中一个最有用也最可行的方法是输入检查。我们可以认为模型可以接受任何输入,不管输入是多么不切实际或不可能。对抗性样本经常使用的方法是创建几乎不可能的输入(在较暗的斑块中间的亮橙色像素),并使用这些输入来增加不确定性或改变模型的决策。当我们考虑许多不同类型的模型的对抗性样本时,诸如输入检查(如在输入进入模型之前对其进行特征压缩或其他降维)之类的方法可能是最实用且最具可伸缩性的方法。


也就是说,我在GOTO大会上所讲的,不仅仅是处理对抗性图像或样本,而是更进一步或两步,因为我认为,我们在机器学习中最关心的不是对抗性样本,而是隐私和数据安全问题。从机器学习模型中提取信息相对容易,我们正在将更多的机器学习模型部署到生产系统中,在这些生产系统中,它们可以接触到外部网络,并向潜在的对手开放。当我们使用个人或敏感数据对模型进行训练,然后将其API开放给其他人时——我把这比作将数据库开放给互联网。我们需要开始把模型和我们提供给它的训练数据视为潜在的安全漏洞。关于这些提取方法的研究一直很活跃,包括能够从训练好的模型中提取生物特征数据(Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures)和Reza Shokri教授的获奖论文Membership Inference Attacks,这些成果展示了如何准确地确定数据点是否是训练数据集的一部分。保护输入机器学习模型的数据是我的公司KIProtect正在做的事情之一,也就是说,我们能够让数据科学和机器学习的安全性和隐私性变得更容易。


InfoQ:机器学习如何将数据隐私和道德数据的使用置于风险之中,以及如何减轻这种风险?


Jarmul:当我们将私有或敏感数据放入机器学习模型时,我们要求模型学习其中的一些数据,并将其用于以后的决策。本质上,那些数据的元素将存储在模型中——这意味着可以像从嵌入式文档中提取这些元素一样提取它们。然后,对手可以利用这种信息公开来了解训练数据或模型决策过程——将私有数据或敏感逻辑公开给任何能够访问模型或模型API的人。因此,作为个人,这意味着,如果我的个人信息或数据被用于创建一个模型,特别是保留较大信息片段的模型(如某些神经网络),那么在模型创建之后,就可以使用它来提取关于我的信息。


因为越来越多的公司在使用机器学习和MLaaS,我认为,作为消费者,我们应该关注我们的个人数据或和我们有关的数据以及我们在公开模型中的行为可能带来的隐私和安全风险。作为机器学习的实践者,我们需要越来越关注与模型有关的基本安全措施,以及确定有多少敏感信息暴露在我们的模型中。如果我们将这些因素考虑到我们的评估标准中,我们就有希望在模型成功和隐私问题之间找到一个很好的平衡。在KIProtect,我们使用ML模型对我们的假名化(pseudonymization)过程进行了评估,结果显示,基于受保护数据的机器学习模型的准确率只有很小的下降(1-2%);因此,我们认为,这不仅是可能的,而且对于更安全和更具隐私意识的数据科学也是必不可少的。


查看英文原文:


https://www.infoq.com/news/2019/01/protecting-ai-from-itself


2019 年 1 月 28 日 10:154242
用户头像

发布了 323 篇内容, 共 140.6 次阅读, 收获喜欢 661 次。

关注

评论

发布
暂无评论
发现更多内容

由丰巢快递柜引发的思考

Neco.W

创业 思考 丰巢

《Linux就该这么学》笔记(二)

编程随想曲

Linux

用SpreadJS实现在线Excel的录入与展示,提升企业医保信息化服务水平

Geek_Willie

SpreadJS 医保信息化 在线excel

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (五)第一个单元测试

编程道与术

Java 编程 软件测试 TDD 单元测试

GrowingIO 微服务 SaaS 与私有部署运行实践

GrowingIO技术专栏

大数据 微服务架构 SaaS

KubeFATE:在Kubernetes上部署联邦学习平台

亨利笔记

人工智能 学习 FATE KUBEFATE

想退休,可能没机会了

池建强

读书感悟

CDN百科 | 假如没有CDN,网络世界会变成什么样?

巨侠说

可视化 Tekton 组件 Tekton Dashboard

郭旭东

Kubernetes cicd

延时任务的几种实现方式

郭儿的跋涉

Java 延时任务 延时消息

工作两年简历写成这样,谁要你呀!

小傅哥

面试 小傅哥 Java 面试 简历优化 找工作

DD 测试linux性能

HU

TOTO 2020再次荣获iF、红点两项国际设计大奖

极客编

Java 编程基础

michaelliu

CDN云课堂 |可编程CDN – EdgeScript应用场景、语言速览和实操演示

巨侠说

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (四)关于单元测试的常见错误观念和做法

编程道与术

Java 编程 软件测试 TDD 单元测试

我站在愚蠢之巅

escray

学习 CSD 认证实战营

通过一个聊天应用学习 Deno

寇云

typescript 后端

智浪

Neil

后浪 智能时代 智浪

一文看懂开源工作流引擎 Flowable

Herbert

Java spring 开源 企业中台 工作流

如何推动与影响中型前端团队的成长

堂主

前端 研发管理 团队建设

谈谈控制感(2):怎么让我们更健康

史方远

个人成长 心理

MySQL数据类型DECIMAL用法

Simon

MySQL

我常用的在线工具清单

彭宏豪95

效率 效率工具 工具

交易上链——中心化数字资产交易所的完美解决之道

MaxHu

区块链 智能合约 数字货币 去中心化网络 数字资产

视达荣登ChinaBang Awards 2020智慧零售榜Top10

极客编

CDN云课堂 | EdgeRoutine技术专家教你把JS代码跑到CDN边缘

巨侠说

Java CDN edge

多个 SSH keys 的配置,方便 Git 对不同仓库的使用与管理

与光

git GitHub SSH

聊聊Serverless

kimmking

CDN百科 | 最近,你的APP崩了吗?

巨侠说

CDN

使用jdbcSstoragerHandler 处理mysql、oracle 、hive数据

杨飞

AI从业者要防止人工智能被对抗性样本伤害-InfoQ