专栏首页新智元论文 | 预测 API 从谷歌、亚马逊等大平台盗取机器学习算法

论文 | 预测 API 从谷歌、亚马逊等大平台盗取机器学习算法

2016年10月18日, 世界人工智能大会技术分论坛,特设“新智元智库院长圆桌会议”,重量级研究院院长 7 剑下天山,汇集了中国人工智能产学研三界最豪华院长阵容:美团技术学院院长刘江担任主持人,微软亚洲研究院常务副院长芮勇、360人工智能研究院院长颜水成、北京理工大学计算机学院副院长黄华、联想集团副总裁黄莹、Intel 中国研究院院长宋继强、新华网融媒体未来研究院院长杨溟联袂出席。

【新智元导读】Cornell Tech 研究人员发现,使用预测 API 通过反向工程,能够从谷歌、亚马逊等大平台“偷”机器学习算法,准确率超过99%。不仅如此,偷完算法后,还可以强制它生成训练用的数据样本。这意味着不仅能够从谷歌、微软偷走人工智能产品并且免费使用它们,大公司独有的数据也面临威胁。

无数金钱被投入去设计精密的人工智能算法,但只要有一扇小小的门开着,这些算法就可能被偷走。

AI 算法和源数据能被轻而易举地偷取

现在,有一项研究发现,只需使用 API 就能通过反向工程得到机器学习算法,准确率超过 99%。这意味着能够从微软、IBM 这些公司偷走人工智能产品,免费使用它们。只有单一机器学习 API的小公司可能会失去全部竞争优势。

而且,复制了算法之后,研究者还可以强制它生成潜在的私密数据样本。如果这个算法是基于用户数据的,那么所有这些用户信息都可能泄露。

“事后想来,原理其实很浅显。”该研究的共同作者同时也是 Cornell Tech 副教授的 Thomas Ristenpart 说,“这就像高中程度的练习题,只是把一系列高中水平的等式列出来,然后求解函数。”

虽然讲得这么简单,这种攻击当然比高中数学更复杂——需要根据几十到几万数量不等的数据来重建隐藏算法的工作模型。

Google,Amazon,Microsoft 这些公司允许开发者上传算法到云中,或使用云服务公司专有的AI算法,两者都通过 API。由于上传算法时数据需要在云服务器上停留,公司会对以这种方式使用专有算法收费,但不需交出代码。

试想一下,你打了个电话给机器学习API,就像给你的朋友发短讯寻求着装建议。

你发一句“这件衬衫跟这条裤子搭配怎么样?”,并附上一张照片。你的朋友可能回复你,“不错,我100%肯定。”

提问,然后你会得到回复,以及对方对回答的自信程度。多数API正是这样起作用的:发送特定的数据,然后收到包括了置信度值的答案。

现在,请想象你要一下子给你的朋友发几千条短讯,询问哪件衬衫搭配哪条裤子,要不要搭配围巾以及有多少种颜色。虽然你的朋友要疯掉了,不过你最后还是能得到他们明确的建议。这就是这种攻击的原理。研究者通过API,向AI算法提出数以千计的标准请求,然后把它对某个问题的观点综合起来。

研究者发现,算法的复杂度反映了偷走它的难度。简单的用于预测肿瘤是否恶性或败血症的死亡率之类问题的 yes-no 算法,只需41个请求就能偷到,用谷歌的支付系统,只需不到 0.1 美元。复杂的神经网络,比如用于识别手写文本的算法,平均需要108,200次请求,把偷到的和原始的算法对比测试,能达到98%的准确率。

论文中,原始训练数据(上)和从偷到的算法中恢复的数据(下)(Tramér et al.)

不过,这种攻击方式受限于某些因素:因为 API 每次使用都要付费,超过100,000次使用,这种方法就会非常昂贵,而且会引起服务提供方的怀疑。Ristenpart 说,深度神经网络很棘手,尤其当它是数个不同算法的组合时。

此外,研究人员偷到一个算法后,还得出了用于训练该算法的数据。他们袭击测试的是一个公开的人脸数据集,结果发现每张脸都能重建出来。这个算法能够记住每张脸的特征,甚至能生成每个人的肖像。

研究人员已经将这些袭击的可能性告诉了 Google 和 Amazon,后者表示“十分有趣”,会将这一发现转告给用户。

论文:使用预测 API 偷取机器学习模型

Florian Tramer、Fan Zhang、Ari Juels、Michael K. Reiter & Thomas Ristenpart

摘要

机器学习(ML)模型可能因为敏感的训练数据、商业价值或者安保方面的应用而被视为机密。现在,带有公共访问查询接口的机密 ML 模型部署得越来越多。ML-as-a-service(MLaaS,“预测分析”)系统就是这样一个例子:有些允许用户使用可能会涉及敏感信息的数据训练模型,并且向其他人按访问次数收费。

模型保密性和公共访问之间的矛盾促使我们对模型抽取袭击展开调查。在这样的袭击中,使用黑箱访问(black-box access)、并不了解一个 ML 模型参数的对手,想要复制(也即“偷取”)该 ML 模型。与经典的学习理论场景不同,MLaaS 服务可以接受部分特征向量作为输入,可以将预测的置信度值包含进来。通过这样的操作,我们对目标 ML 模型进行了简单、高效的袭击,用几近完美的保真度抽取了包括逻辑回归、神经网络、决策树等常见模型。我们在 BigML 和 Amazon Machine Learning 展示了这些袭击。此外,我们还证明从模型的输出中去掉置信度值等方法并不能排除模型遭受攻击的威胁。我们的结果表明,需要谨慎部署 ML 模型和开发新的应对模型抽取的方法。

研究人员袭击亚马逊机器学习云平台的测试结果

讨论

“提取”也属于一种学习。使用论文中描述的方法,能够生成一些不错的训练数据,但是服务提供方可以采取措施防止信息被窃取。

当然,使用这种方法,就算能够从谷歌那里偷到全部的数据,所需的访问次数以及金额也一定大到不现实。

不过,并不一定要偷来全部的数据。此外,就像研究者在论文里写的,“在谷歌云平台,一次抽取袭击花费不到 0.1 美元”,用这样的价格换取一个机器学习算法,也算颠覆算法经济模式了。

编译来源:

  1. http://qz.com/786219/stealing-an-ai-algorithm-and-its-underlying-data-is-a-high-school-level-exercise/
  2. https://news.ycombinator.com/item?id=12557782

本文分享自微信公众号 - 新智元(AI_era)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-09-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MIT科学家用AI设计「好奇心」算法:基于元学习探索奇妙世界

    瓦特对烧水壶冒出的蒸汽十分好奇,最后改良了蒸汽机。因为好奇,成就了「昆虫界的荷马」法布尔。因为好奇,德莱斯发明了自行车。

    新智元
  • 【干货】机器学习常用 35 大算法盘点(附思维导图)

    【新智元导读】本文将带你遍历机器学习领域最受欢迎的算法。系统地了解这些算法有助于进一步掌握机器学习。当然,本文收录的算法并不完全,分类的方式也不唯一。不过,看完...

    新智元
  • 11位机器学习大牛最爱算法全解

    【新智元导读】“你最喜欢的机器学习算法是什么?”这个问题有些像“你最喜欢的颜色是什么?”说不重要吧,细究起来,颇有深意。本文摘选一些机器学习大牛在 Quora ...

    新智元
  • 最新 | JP摩根人工智能、机器学习应用算法交易解析

    如果你对机器学习和人工智能(AI)在金融领域的应用感兴趣的话,J.P. Morgan最新发布了一份关于算法交易“应用数据驱动学习”问题的报告。也许对你有帮助。

    量化投资与机器学习微信公众号
  • ACM竞赛学习指南(算法工程师成长计划)

    rainchxy
  • 算法概论

    打好牢固的基础,是成就高楼万丈的基石头。在学习算法之前,我们先了解算法是什么?如何设计算法?什么才是“好”算法?如何优化算法?

    PayneWu
  • 2.1 C语言程序的灵魂

    广义地说:为解决一个问题而采取的方法和步骤,就称为“算法”。计算机算法可以分为两大类:数值运算算法和非数值运算算法

    C语言入门到精通
  • 数据结构与算法-概述

    数据结构(Data structure)是指一组相互 之间存在一种或多种特定关系的数据的组织方式和它们在计算机内的存储方式,以及定义在该组数据上的一组操作。

    越陌度阡
  • 算法系列1 初识算法 算法复杂性模型 算法复杂度的计算

    定义:由若干条指令组成的有穷序列,且满足:输出输入,确定性,有限性 输入:有零个或多个由外部提供的量作为算法的输入 输出:算法产生至少一个量作为算法的输出 ...

    一只胡说八道的猴子
  • 原创 | 初学者友好!最全算法学习资源汇总(附链接)

    在计算机发展飞速的今天,也许有人会问,“今天计算机这么快,算法还重要吗?”其实永远不会有太快的计算机,因为我们总会想出新的应用。虽然在摩尔定律的作用下,计算机的...

    数据派THU

扫码关注云+社区

领取腾讯云代金券