2020腾讯广告算法大赛专题直播周是由腾讯广告打造的一档大咖直播活动,特邀2020腾讯广告算法大赛的专家评委,针对联邦学习、机器学习、大数据等前沿领域的核心话题进行分享,并为算法爱好者们答疑解惑。我们特此将本次直播周的三期内容提炼成问答集锦,帮助算法爱好者们快速了解直播干货,学习算法知识,加深对前沿技术与应用的全面理解。
直播背景
直播嘉宾
杨强
微众银行首席AI官、香港科技大学讲席教授、第四范式联合创始人
黄安埠
微众银行资深人工智能算法专家
直播主题
《联邦广告与推荐:数字营销的新方向》
直播内容
分享关于“联邦学习”(Federated Learning)的相关研究,以及如何结合广告推荐技术实现在保护用户隐私和各参与方商业秘密的同时打破数据孤岛,有效提升营销效果。
互联网时代下的广告营销,数据是必不可少的“原料”,但在隐私数据保护的考虑以及监管要求下,分散在不同企业的数据由于不能集中综合利用,使模型完善止步不前。面对这样的问题,联邦学习提供了理想的解决方案——在保证数据不泄露的前提下让企业用更多的数据训练模型,帮助业务发展。
在这期直播中,杨强和黄安埠两位老师共同从定义原理、应用案例、隐私安全等多个方面,由浅入深地讲解了联邦学习如何在营销中释能,让保护用户隐私和打破数据孤岛二者兼得,有效提升营销效果。
01 定义与技术背景
Q:联邦学习是什么?
A:在数据驱动的业务模式中,数据越多,模型表现就会越好。不同的企业、机构会各自收集数据、训练模型,他们都希望可以用更多的数据,训练自己的模型,但这些数据是无法直接共享的,只能在每个企业、机构内部使用,形成一个个“数据孤岛”。联邦学习就可以在数据保密的前提下,让参与成员的数据都参与训练,打破了“数据孤岛”,让每个成员都获得用全部数据训练模型的效果。
Q:哪些情境必须借助联邦学习?
A:当用户隐私数据必须严格保护、不可以离开本地,又想使用这些数据训练模型则需借助联邦学习。
02 典型案例与实现
Q:联邦学习有哪些典型的模式?
A:联邦学习可以是横向的。比如几家医院都提供医疗服务,但是服务的用户不同,从而产生维度相同、用户不同的数据。
也可以是纵向的。比如社交平台推荐广告、用户点击广告后跳转到电商平台完成购买,同一批用户的浏览行为数据在社交平台企业里,个人身份信息在电商平台企业里,产生维度不同、用户相同的数据。在这两种情况里,企业之间出于隐私保护和商业机密的考虑都不可以直接共享数据,联邦学习可以帮助他们安全地利用全部的数据训练模型,帮医院更好地理解病人和病情,以及帮社交平台推荐更精准的广告。
Q:联邦学习的过程具体是怎样的?和传统的学习的区别是什么?
A:在传统的人工智能模型训练中,不论是图像模型、广告模型还是自然语言处理模型,都需要先把来自不同终端设备的数据全都集中到数据中心,然后整理、清理后,用这些数据训练出一个模型来。如果不允许数据离开设备,传统的训练模式就完全没法进行。
联邦学习中的典型做法是,每一方或者每个终端都根据自己本地的数据,计算训练过程所需的中间数据(梯度),并在第三方服务器的协调下分成若干个批次交换结果、更新模型,最终每一方或者每个终端上的模型都有用全部数据训练的效果,但数据其实从未离开本地。
在某些情况下,不同终端的计算能力不一样,比如一方是计算能力强的云服务器,一方是计算能力弱的手机、IoT设备,联邦学习也有对应的训练方案设计。
Q:联邦学习和分布式学习的异同在哪里?
A:横向联邦学习,也就是每一方提供的数据维度相同、越多的参与方就提供了越多的数据,这种情境确实和分布式学习比较像。不同点在于,分布式学习通常是在某家公司或者某个集群内部,每个节点的硬件、网络、数据量各方面情况是类似的,数据也是允许在不同节点间流转调配的;但联邦学习的不同成员之间情况可能大相径庭,而且数据不可以从一个成员传输到另一个成员。所以,计算性能不同、网络情况不同、数据量不同等等实际情况的不同是一个需要解决的重要问题,联邦学习就有很多对应的方案设计。
03 隐私与安全
Q:媒体平台、社交平台收集了很多用户数据,也会和商家合作推荐广告。那么这些用户数据会在合作中泄露吗?
A:首先,用户数据是每个企业的重要商业机密,不会互相分享数据。同时,企业也会受到相关法律法规约束,不可以交换或者售卖用户数据。比如广告平台有用户的浏览和点击行为数据,购物平台有同一批用户的购买记录和真实身份信息,但平台之间是不会有数据流通的。
不过,不同的平台之间确实也希望能够通过合作、通过更多的数据来优化各自的算法。联邦学习就是在数据不流通的前提下的一个很好的解决方案,具体来说使用的是纵向联邦学习。在学习过程中,不同平台之间只传输模型参数,而且会通过差分隐私的方法确保无法从模型参数中反向算出原始用户数据。最终,用户数据完全安全、没有传输或者泄露,但不同的平台都获得了更好的算法。
Q:联邦学习是通过密码学方法保护数据的吗?使用联邦学习需要首先学习密码学知识吗?
A:联邦学习在安全方面采用了密码学方法在内的多种方案,针对不同的模型大小和计算性能可以选择同态加密、半同态加密、差分隐私、安全多方等多种保护方法,对训练数据、训练过程中的参数和模型都可以起到保护。联邦学习的算法框架和加密方法都一起开发和打包在了开源项目FATE中,可以直接调用,不需要专门学习密码学知识。
Q:如果多方共同进行联邦学习,其中有一方有恶意行为,比如上传性能不好的模型,可能导致其它方的学习效果变差。这种情况有办法应对吗?
A:应对方法有很多种。最普遍的做法是做异常检测,每一个参与方把本地的模型上传到第三方的协调服务器之后,并不会马上在服务器做聚合,而是首先对每方上传的模型做评估,如果有些模型特别差的话就会丢掉。在联邦学习的方案设计中就有这方面的考虑,为了保证训练效果,并不会在每一轮的训练中都选取所有模型参与到迭代更新中。而且,如果监控到某一方的模型连续两次效果都非常差的话,在后续训练中也不会再选取来自这一方的模型参与迭代更新了。
常见问题
Q:联邦学习训练中,如果有一方的数据量特别大、模型也很优秀,那么他参与联邦学习后的提升是不是就不如别人明显?那么他还会愿意参与联邦学习吗?
A:这样的情况确实是会存在的。在训练的时候每个参与方之间的数据分布并不一样,模型效果也会不一样。所以联邦学习的方案中也会有一种激励方案,自己的数据和模型带来的贡献比较多的一方会受到更多的激励,让他有动力持续参与。
Q:在联邦学习的训练中,数据的标签也需要加密,这个加密是怎么实现的?
A:标签加密使用的是半同态加密算法。
Q:在联邦学习的训练中既然要用到同态、半同态加密,那么是不是效率会降低?对硬件是不是有更高的要求?
A:这个一定程度上取决于模型的大小。一般来说,同态加密或者半同态加密的性能相比明文会有一定下降。因此,如果这个模型并不是很复杂、参数比较少的话,同态加密是一个比较稳妥的方案,虽然有性能损失,但安全性最高。
如果模型比较大,我们可以结合其它的安全方案,比如差分隐私和安全多方。差分的隐私本质是在原始数据上增加拉普拉斯噪声。它的效率没有明显区别,但也能提升数据的安全性,让数据更难泄露。这时候会有个权衡,就是差分隐私不能完全保证数据不被泄漏,但是它能有效提高效率。在实际使用中,我们会根据模型大小,在效率、安全性、模型的准确度之间做一个平衡。
Q:假设把联邦学习中分散在每个成员的数据全部集中到一起,像传统方法那样训练一个模型,效果会有什么差异吗?
A:集中式训练与联邦训练已经被证明,在独立同分布(iid)的状态下,他们的性能之差在一个很小的范围内;而在非独立同分布状态下,他们的效果视数据间的差异情况,会产生不一样的结果,具体可以参考《联邦学习》书籍的详细分析。
还想了解更多精彩内容?点击直播链接,即可观看《联邦广告与推荐:数字营销的新方向》直播回放。未来将会有更多2020腾讯广告算法大赛专题直播周问答集锦放送,敬请期待!