2020年6月24日北京智源大会上,微众银行CAIO,兼香港科技大学讲席教授杨强做了题为《AI的新三定律:隐私、安全和可解释性》的报告分享。
杨强教授在开场便引用了《机械公敌》作者阿西莫夫所撰写的三大机器人定律,分别为:第一定律:机器人不得伤害人类个体,或者目睹人类个体将遭受危险而袖手不管;第二定律:机器人必须服从人给予它的命令,当该命令与第一定律冲突时例外;第三定律:机器人在不违反第一、第二定律的情况下要尽可能保护自己的生存。他解释道,人工智能的下一步是离不开人的。
以Alpha Go为例,人类工程师会为其进行Debug,但它还是会下错棋、下臭棋。这就意味着必须要有人监管其结果,才能实现保证人工智能得出正确的结论。
杨强教授认为,AI的模型和系统在设计的时候就没有把人考虑进来,进而生成了一个全自动的过程,包括后面发展出来的Self-supervised Learning和AlphaGo Zero。他特意讲到“这就并不是今天我们在工业和社会上大家所想看到的。
”根据这个结果,杨强教授认为既然人工智能诞生于数据中,那么在创造它的时候就应该启用新的三大定律。分别为人工智能需要保护人的隐私、人工智能需要保护模型的安全、人工智能需要人类伙伴的理解。这也就意味着,人工智能不能脱离人去发展,需要让人和人工智能形成协作关系。
受此启发,杨强教授团队也开始了联邦学习的尝试,为此还推出了一本同名的书——《联邦学习》。
其主要思想是可以总结为数据可以保持在原地,但模型通过孤岛不同机构之间加密的情况下的沟通,这个模型就会成长起来,效果就是这个数据可以被使用,但是各方都看不见对方的数据。用剪短的话概括联邦学习:数据不动模型动,数据可用不可见。杨强教授表示,这种做法听起来天方夜谭,不过在技术上还真的可以做到。他把模型比喻为养羊,过去是从各个草场里运草过来喂羊,这个过程就是数据聚合过程。
然而由于数据会离开其本身所处的数据库,因此各种各样的漏洞使得数据本身的隐私得到泄露。现在则是要让这个羊走动起来,模型去访问不同的草场,那么这个草就不用出本地了,这个羊也得到了壮大。
无独有偶,杨强教授又讲到了一个Google的例子。
这家公司在2016年提出一个做法,叫做联邦平均Federated Averaging,就是往云端传递的消息只包含模型的参数,并且是受到加密的保护,那么在云端就得到了一个更新,这个更新在这里是求一个平均值,更新后的模型就被下发到了各个终端,使得每个终端上面的模型得到更新,整个的过程动不泄露本地的隐私,也不泄露模型的参数W1到WN,因此这种做法就被赋予用在Android系统。
联邦平均的关键技术就是加密和解密的算法,能够保护自己包进去的数据。这个数据可能本身是原始数据或者模型参数,而且还允许在加密层只上进行一系列的数学操作和数学运算,现在有一种加密的方法使得云端聚合和更新的效果可以在不暴露数据本身内容的情况下进行。
杨强教授补充道,联邦学习通过样本和特征的不同,可以分为纵向和横向两种联邦学习方式。不过无论是哪种类型的切割,都已在商用中发挥了巨大的功效。2019年6月28日中国人工智能开源软件发展联盟(AIOSS)正式出台国内首个关于联邦学习的团体规范标准,《信息技术服务 联邦学习 参考架构》。而IEEE很快也会出台一个关于联邦学习的国际标准,在世界范围内推动联邦学习发展是利好。
可就算保护了数据的隐私,不过仍然不能防止数据本身被污染。杨强教授继续往下说着,可能被攻击的就是训练数据本身,叫做数据下毒,可能对模型进行攻击,也就是说模型的隐私可能会被泄露,测试数据可能会做假,模型本身可能是没有办法识别,这也相当于对模型的攻击。训练下毒攻击可以叫做Data Poisoning毒化数据,可以在训练数据当中植入后门。
Stop Sign上面有一个黄色的像素点,对于这个攻击者来说是植入了训练数据,以致于这个模型见到了黄色的点就不顾其余了,没有把这个Stop Sign正确地说出来,车就直接开过去了没有Stop,行人就会出事,就是这种恶意的攻击。如图所示,Stop标识牌下的黄色像素点。
杨强教授指出,这个现象也有各种各样的解决方案,比如一种就是对抗测试样本,也是对原始数据进行一些扰动,使得我们证明模型具有一定的鲁棒性,也就是说这个小的领域当中要求是模型的输出必须一致,里面还有大量其它的工作。
最近MIT韩松教授正式证明了这一点,去年的深度泄露攻击Deep Leak意思就是当人们在多方沟通模型的Gredient梯度的时候,即使这个梯度当中是部分加密的,部分加噪的,对方还是不同程度地可以学到原始数据。这里做的实验有两个结论:噪音加得多对方学到的少,同时效果也会变差。杨强教授说,“真的变成了让人非常苦恼的事情。”通过可解释人工智能,判断出原始模型维和将哈士奇识别为狼。
IEEE新成立了一个可解释人工智能的标准组,与此同时业界也出现了很多关于可解释人工智能的相关研究。业内对于可解释人工智能的定义为:模型本身要可解释,学习更多结构化、可解释、具有因果关系的模型。通过可解释人工智能,工程师、用户等多方参与者,都可以了解到模型的运行模式,从而强化人工智能的鲁棒性,以此来抗击噪点、下毒等多种攻击手段。
杨强教授最后补充说:“人工智能的发展不仅要芯片、数据和算法,同时也要注意人,我们要保护人的隐私,保护模型的安全,保证对人类可以解释。”