NeurIPS 2019回顾来了!联邦学习+推荐场景,微众银行首创业界联邦推荐技术
2019年12月8日至12月14日,在加拿大温哥华举办的国际知名会议上(简称NeurIPS),微众银行首席人工智能官杨强教授受邀出席了人工智能与机器学习领域的顶尖学术交流活动
在由微众银行联合谷歌与卡内基梅隆大学共同主办的联邦学习领域国际研讨会上,杨强教授围绕《Federated Recommendation》这一主题展开讨论,并分享了其团队在联邦推荐技术方面的最新研究成果以及在实际应用中的具体落地成果。

推荐系统已广泛应用于人们的生活方方面面,并已在各个领域发挥着重要作用。例如新闻推广、视频分发以及商品营销等领域都可见到其身影。为了实现精准的推广效果, 推荐系统需收集大量关于用户及其相关内容的数据, 通常而言, 数据量越大, 对用户的了解就越全面而深入, 推荐效果也就越显著。然而,在现实运营中, 随着《个人信息保护法》等相关法律法规的出台与不断完善, 该类数据往往会被分散存储于不同的机构中以避免影响用户的隐私安全——这通常被称为"数据孤岛"现象。因此,在保障数据安全的前提下, 如何有效整合分散的数据资源并持续优化其应用效果已成为当前面临的主要挑战与核心任务。
FATE:首个支持联邦学习架构体系的工业级联邦学习开源框架
微众银行在数据孤岛与隐私保护领域处于行业领先地位,并提出了具有综合创新性的联邦学习解决方案。该方案能够实现多个机构间的协作机制,在保障数据安全的前提下完成模型训练与优化。微众银行开发的FATE(Federated AI Technology Enabler)工业级开源框架作为全球首个这类平台,在涵盖完整的联邦学习功能模块的同时具备多种安全计算协议的支持能力。
联邦推荐:微众银行首次将联邦学习应用于推荐场景
在推荐系统中, 算法的主要目的是挖掘用户与内容及商品之间的联系. 基于问题的特性, 微众银行归纳出三种类型的 федер制推荐算法: 横向 федер制推... 和纵向... 以及迁移...


纵向联邦推荐(即基于用户的联邦推荐)的核心任务是在参与方共享用户群体但存在商品种类或用户属性差异的情况下实现协同性构建 recommendation 系统的问题。例如,在新闻聚合服务与视频聚合服务之间以及聚合服务与数据提供方之间均存在此类情况。横向联邦推荐(即基于商品的联邦推荐)则旨在解决在参与方拥有相似的服务类型但覆盖的用户群体存在差异时的协同性问题。例如,在不同地区提供相同类型的服务时便会出现此类问题。迁移联邦推荐则特别关注于参与方在共同领域资源较为有限的情况下如何通过经验共享的方式构建 recommendation 系统的问题
基于当前推荐系统中广泛采用的矩阵分解(matrix factorization)和因子分解机(factorization machine)技术,在微众银行的基础上提出了联邦矩阵分解、联邦因子分解机等系列算法。这些联邦推荐算法均建立在FATE框架之上,并采用了统一的优化流程。以两个典型的纵向联邦推荐场景为例,详细阐述了纵向联邦矩阵分解和纵向联邦因子分解机的具体思路以及优化方法。
联邦推荐场景一:该机构为大量同一类型的用户同时提供书籍与电影的不同种类的服务
因为观众群体间具有相同的观看偏好,因此他们可能表现出相似的行为模式.鉴于此,联邦的重要性不言而喻;基于整合双方数据开发出的推荐系统相较于仅依赖单方面数据所建立的系统而言,在性能上将展现出显著的优势.

在这一特定的背景下,并以常见的矩阵分解技术为例,在纵向联邦推荐问题中提出一个解决方案:我们让两个参与者在其内部独立地完成矩阵分解任务,并通过数学运算将用户的商品评分数据通过一定的算法转换为用户特征向量与商品特征向量两部分信息的乘积形式。如图所示,在此过程中涉及的具体公式如下:

其中双方共享的user profile信息已通过一个可信赖的第三方服务器得以存储和管理,并在此基础上辅助各参与方构建推荐算法框架。在此需要注意的是,在最新的FATE技术框架中,可信第三方角色可被替代;具体而言,在此框架下借助加密技术和多次通信手段即可实现数据的安全交互机制设计;在保证数据完整性和安全性的同时实现参数的安全共享过程。至于算法的具体优化流程,则可通过如图所示的方式直观呈现其工作原理和改进步骤。

- 首先由服务器初始化用户资料,并对这些资料进行加密处理;同时各参与方也各自初始化了各自的物品资料。
- 服务器将经过加密处理的用户资料传递给各参与方。
- 各参与者解密接收到的用户资料,并根据自身情况更新个人物品资料;在此基础上计算用户的梯度值,并再次进行加密后返回给服务器。
- 服务器收集所有参与者返回的用户梯度数据,并在确保数据安全的前提下(即采用密文形式)更新用户的资料。
- 重复上述过程直至达到收敛状态。
在整个更新过程中可以看出,在参与方的所有数据都保留在本地的情况下(即所有数据都是本地存储),双方只需直接传递user profile参数(即不需要进行其他复杂操作)。此外,在安全环境中处理计算得到的梯度参数(即不泄露任何中间结果),这意味着内容的安全性得到了充分保障。最后的结果是双方各自拥有独立的模型,并且这些模型是综合各自的优势构建出一个统一的模型。
联邦推荐场景二:参与机构为推荐服务提供方和用户数据提供方
基于书籍推荐服务者与用户的兴趣数据提供者的联盟框架下,在书籍推荐服务者深入了解用户的兴趣信息时(books recommenders offer more personalized suggestions as they gain a deeper understanding of user preferences),他们能够提供更加精准的书单(they can offer more personalized suggestions as they gain a deeper understanding of user preferences))。在合理合法的前提下(within the bounds of legality and reasonableness),数据服务提供商能够进一步提升数据的应用价值(The data service providers can further enhance the value of data within the bounds of legality and reasonableness)。

当存在用户的特定特征时

联邦因子分解机的优化过程如下图所示,
- 首由参与方初始化自身模型
- 各参与方分别计算部分预估结果、部分损失值及各相关特征的梯度等中间结果,并对这些中间结果进行加密后再传递给另一方
- 双方将经过加密处理且附加了隐私保护机制的梯度信息发送至服务器
- 服务器解密并综合各参与方提供的带有隐私保护标记的信息后返回给各方
- 各参与方通过移除隐私保护标记来更新自身的模型参数
- 循环执行上述过程直至模型达到收敛状态

基于联合建模框架下,在对新样本进行预测的过程中(或:在处理新样本的预测任务时),两个实体需协同合作以达成联邦学习中的模型预测目标。
- 第一步,A、B双方各自计算并传输中间结果至服务器
- 第二步,在服务器端将双方的中间结果进行聚合处理后解密得到预测值
- 第三步,在服务器端计算完成后将预测值返回给A方用于推荐
推荐系统是一种基于数据驱动的方法,在实际应用中对于提升系统的运行效率具有重要意义。特别是在利用数据的过程中,则面临加强保护用户隐私与信息安全的巨大挑战。微众银行已在相关领域开展了一些探索性研究并取得了一定成果的同时,则正在努力推进这一领域的规范化建设工作。与此同时,在这一领域已制定了相应的国家层面及国际标准的情况下,请允许我们分享一些技术见解并展望未来的发展方向。杨强教授强调道:我们承诺持续开源我们的技术实现,并致力于共同构建开放包容的联邦学习生态系统
