计算机科学中正迅速发展的机器学习领域,工程师们常将人工智能(AI)称作“黑箱”系统:一旦机器学习引擎经由样本数据集训练,用以执行从面部识别到恶意软件检测等各种任务,它们便能接受询问——这是谁的脸?这个App安全吗?并能自行给出答案——无需任何人,甚至是其创造者的指导,自身内部就完全理解了决策机制。
但研究人员逐渐证明,虽然这些机器学习引擎的内部机制神秘莫测,它们也并非是完全隐秘的。事实上,研究人员已经发现这些黑箱的内容物可以被逆向,甚至完全复制——用某队研究员的话说就是“窃取”,逆向和复制方法还是用以创建这些系统的同一套。
9月初发表的一篇论文《通过 Prediction API 盗取机器学习模型》中,来自康乃尔科技学院、瑞士洛桑理工学院(EPFL)、北卡罗莱纳大学的一队计算机科学家,详细描述了他们是怎样仅靠发问和分析响应,来逆向机器学习训练过的AI的。通过用目标AI的输出来训练他们自己的AI,这队科学家可以产出能近100%预测被克隆AI响应的软件,有时候仅用几千甚至几百个查询来训练就行了。
康乃尔科技学院教授阿里·祖尔说:“拿到黑箱,通过这个窄小的接口,你就可以重建其内部,逆向工程这个箱子。某些情况下,真能达到完美重现。”
拿下黑箱内部
研究人员表示,该手法可被用于允许用户上传数据给机器学习引擎,并在线发布或共享结果模型的服务。亚马逊、谷歌、微软、BigML之类的公司都有提供此类服务,有时候是以按查询付款的商业模式提供。研究人员将自己的方法称之为“萃取攻击”,该方法能复制本应专有的AI引擎,某些情况下甚至能重现当初用以训练AI的敏感私有数据。进入斯坦福大学之前忙于此AI盗取项目的EPFL研究员弗洛里安·特拉马尔说:“一旦你发现了其中模型,就不需要再为专利AI付费了,还能获取大量隐私泄露。”
其他情况下,该技术可能会让黑客逆向并击溃基于机器学习的安全系统,比如用来过滤垃圾邮件和恶意软件的那些。“几个小时的努力后,你就能萃取出一个AI模型,如果此模型被用于某个产品系统,那这个系统从此对你再无阻碍。”
研究人员的技术,基本上是通过机器学习自身来逆向机器学习软件。简单举例,机器学习训练的垃圾邮件过滤器,可以判定所给邮件是否垃圾邮件,它会给出一个“置信度值”,揭示其判断的正确程度。回答可被描述为AI决策阈值界限任一边的点,置信度值显示的就是这个点距离界限的远近。不断用测试邮件尝试过滤器,可以揭示出定义那条界限的精确线。该技术可被扩展成更加复杂的多维模型,给出更为精准的答案而非简单的“是/不是”回答。(甚至目标机器学习引擎不提供置信度值的情况下,这手段都有效,只不过需要数十上百倍的查询。)
盗取牛排熟度偏好预测器
研究人员在两个服务上测试了他们的攻击方法:亚马逊的机器学习平台,以及线上机器学习服务BigML。他们用一系列通用数据集逆向工程了基于这些平台的AI模型。例如,在亚马逊的平台上,他们尝试“盗取”一个基于人口统计学因素预测个人薪水的算法。该算法用到的人口统计学因素包括有聘用情况、婚姻状况、信用评分等。亚马逊平台上另一个试图基于手写数字图片识别其中数字的算法,也在他们盗取目标之列。人口统计学案例中,仅1485次查询,就复制出了相差无几的模型。数字识别案例甚至区区650次查询就达成复制目的。
BigML服务上,基于人口统计学预测德国公民信用评分的一个算法,以及基于其他生活方式问题答案预测人们牛排熟度偏好的另一个算法,是他们检测其“萃取技术”的目标。复制信用评分引擎花费了1150次查询;拷贝牛排熟度偏好预测器,则用掉了超过4000次查询。
尼古拉斯·帕佩诺特,宾夕法尼亚州立大学研究员,今年早些时候进行了另一个机器学习逆向工程项目的研究。他说,不是每个机器学习算法都能被简单重现。这篇最新AI盗取论文中的例子,重现的是相对简单的机器学习引擎。更复杂的引擎需要多得多的计算量,尤其是机器学习接口学会隐藏其置信度值的情况下。“如果机器学习平台决定使用更大的模型,或者隐藏起置信度值,那么攻击难度就大得多了。但这篇论文还是很有趣,因为他们暴露出当前机器学习服务的模型是如此浅陋,随随便便就能被萃取。”
在给《连线》杂志的一封电子邮件中,BigML预测应用副总裁阿塔康·塞汀索依对该研究不慎重视。他写道:“这研究根本没暴露出BigML的平台有任何的安全或隐私威胁。”他辩称,虽然BigML确实允许用户以按查询付费的方式共享黑箱AI引擎,但目前没有任何用户对他们共享的AI引擎收费。他还赞同帕佩诺特的观点,认为BigML上托管的很多机器学习模型都过于复杂,无法逆向,而且对该服务上模型的任何盗取行为都是违法的。
亚马逊拒绝了《连线》杂志的评论请求,但研究人员联系该公司时,亚马逊回复说,因为亚马逊没有公开其机器学习引擎,仅允许用户在协作者间共享访问,他们AI盗取攻击的风险是被减轻了的。换句话说,该公司警告:注意你共享AI的对象。
从面部识别到面部重建
除了单纯的AI盗取,研究人员的攻击还能让用于AI训练的敏感数据重建变得更加容易。去年年末发表的另一篇论文就表明,根据照片猜测人名的面部识别AI是可以被逆向的。该方法会向目标AI不断发送测试照片,微调这些照片,直到命中该机器学习引擎借以训练的照片,在研究人员的电脑从未实际见过的情况下重现出确切人脸图像。通过在执行面部重建技术之前进行他们的AI盗取攻击,研究人员在自己电脑上运行的盗版AI上重建面部图像,甚至比用原版AI引擎还快得多。盗版AI在10小时之内就重建了40幅不同人脸,而原版AI需要16小时。
逆向工程机器学习引擎的想法,实际上,在AI研究圈子里已经兴起几个月了。2月份,另一组研究人员就展示了大约80%准确性的机器学习系统复制能力。即便在那个时候,他们就发现,通过在盗版系统上测试输入,常可以学到欺骗原版的方法。比如说,他们将该技术应用到数字或道路标识识别AI引擎上时,能让该引擎对84%~96%的测试用例做出错误判断。
这最新的机器学习引擎复制研究能让该欺骗手法更加简单。而一旦机器学习被应用于关键安全任务,比如自动驾驶汽车或恶意软件过滤,盗取并分析这些引擎的能力就会引发麻烦后果。无论是否黑箱,让你的AI隐身都是明智的做法。