50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

联邦学习针对推荐场景化的技术原理解析

  • 2019-12-19
  • 本文字数:2871 字

    阅读完需:约 9 分钟

联邦学习针对推荐场景化的技术原理解析

2019 年 12 月 8 日至 12 月 14 日,微众银行首席人工智能官杨强教授受邀参加于加拿大温哥华举办的人工智能和机器学习领域的国际顶级会议:神经信息处理系统大会(Conference and Workshop on Neural Information Processing Systems,简称 NeurIPS)。在微众银行联合谷歌、卡内基梅隆大学举办的联邦学习国际研讨会上,杨强教授以《Federated Recommendation》为主题,分享了微众银行首创的联邦推荐技术的最新研究成果和应用落地。



图:微众银行首席人工智能官杨强教授发表演讲


推荐系统应用广泛,已经渗透到人们生活各个方面,例如新闻推荐、视频推荐、商品推荐等。为了实现精准的推荐效果,推荐系统会收集海量用户和所推荐内容的数据,一般而言,收集的数据越多,对用户和推荐内容的了解就越全面和深入,推荐效果越精准。在现实场景中,随着用户数据安全和隐私保护相关政策相继出台和日益完善,这些数据通常为保护用户数据隐私而以“数据孤岛”的形式分散在不同的机构。因此在“数据孤岛”与“隐私保护”的现实问题中,在合理合法的前提下使用数据持续优化效果提供优质服务,是当前推荐系统所面的巨大挑战和首要任务。

FATE:首个支持联邦学习架构体系的工业级联邦学习开源框架

微众银行提出的联邦学习解决方案能够让多个机构同时协作,通过交换加密的模型参数进行综合训练持续优化模型,以合理合法的方式跨越数据鸿沟,解决“数据孤岛”的问题。微众银行开发的工业级的联邦学习开源框架–FATE(Federated AI Technology Enabler,https://www.fedai.org),作为联邦学习全球首个工业级开源框架,支持联邦学习架构体系,为机器学习、深度学习、迁移学习提供了高性能联邦学习机制,FATE 本身还支持多种多方安全计算协议,如同态加密、秘密共享、哈希散列等,具有友好的跨域交互信息管理方案。

联邦推荐

推荐系统中算法的目标是挖掘用户和内容、商品之间的联系,根据问题的特点,微众银行将联邦推荐算法总结成三类,如下图所示,包括横向联邦推荐算法(也可称为基于商品的联邦推荐)、纵向联邦推荐算法(也可称为基于用户的联邦推荐)和迁移联邦推荐。




图:联邦推荐算法分类


纵向联邦推荐(即基于用户的联邦推荐)主要解决参与方(机构)拥有大量相同的用户但是不同的商品或用户特征时如何协作构建推荐系统的问题,例如新闻推荐服务商和视频推荐服务商的联邦,或者推荐服务商和用户数据提供商的联邦。横向联邦推荐(即基于商品的联邦推荐)主要解决在参与方拥有大量相同的商品但是不同用户群体时如何协作构建推荐系统的问题,例如不同地区相同推荐服务之间的联邦。迁移联邦推荐主要解决参与方在相同用户和商品都不多的情况,如何协作分享经验构建推荐系统的问题。


针对不同的分类,基于当前推荐系统最常用的矩阵分解(matrix factorization)和因子分解机(factorization machine)算法,微众银行提出联邦矩阵分解、联邦因子分解机等算法。这些联邦推荐算法基于 FATE 框架开发,使用统一的优化流程。以纵向联邦推荐的两个场景为例子,给大家介绍纵向联邦矩阵分解和纵向联邦因子分解机的思路和优化方法。

联邦推荐场景一:参与机构为大量相同用户分别提供书籍和电影推荐服务

具有相同观影兴趣的用户很可能有相同的阅读兴趣。因此双方的联邦是非常有必要的,结合双方数据构建的推荐系统在性能上会优于仅仅使用一方数据构建的系统。



图:纵向联邦推荐场景一,多个参与机构为大量相同用户提供不同推荐服务


在这个场景下,以常用的矩阵分解为例子,给出纵向联邦推荐的一个解决方案,我们让两个参与方在机构内部分别进行矩阵分解,将用户在商品上的评分矩阵分解成 user profile 和 item profit 的乘积,如下图中的公式所示:



图:纵向联邦矩阵分解示意图


其中 user profile 由双方共享,为此我们引入一个可信的第三方 server 来维护共享的 user profile,并帮助各方推荐算法的构建 (在这里需要说明的是,在最新的 FATE 技术中,可信的第三方可以去除,基于加密技术以及多次通讯,双方在安全可靠的方式下进行参数共享)。算法的优化流程如下图所示:



图:纵向联邦矩阵分解优化流程


  • 首先由 server 初始化 user profile 并加密,参与方分别初始化自己的 item profiles

  • Server 将加密的 user profile 发送给参与方

  • 参与方解密 user profile 并更新自己的 item profile;同时计算 user profile 的梯度,加密后发送给 server

  • Server 汇总接收到 user profile 梯度,在密文状态下更新 user profile。

  • 重复步骤 2-4,直到收敛


从更新过程,我们可以看出,参与方的数据完全保持在本地,双方仅交换 user profile 参数,同时 server 也是在密文环境下操作双方计算出来的 user profile 梯度,对内容不知情,不存在隐私泄漏风险。最后,双方都有了自己的模型,而且模型是结合双方的数据优势后共同构建。

联邦推荐场景二:参与机构为推荐服务提供方和用户数据提供方

以书籍推荐服务商和用户兴趣数据提供商的联邦为例,书籍推荐服务商对用户了解越深入推荐越精准。数据服务提供商在合理合法的前提下,进一步扩大数据的应用价值。



图:纵向联邦场景二示意图


在有用户特征的场景下,交叉特征对推荐系统效果的提升帮助非常大,例如交叉地区特征和运动兴趣特征,可以给不同地区有不同运动兴趣的用户推荐合适的明星传记。因子分解机(factorization machine)是推荐领域处理特征交叉的较常用算法。在联邦推荐场景下,我们提出联邦因子分解机,如下图所示,在数据不出本地的情况下,同时完成参与方内部的特征交叉和参与方相互之间的特征交叉。



图:纵向联邦因子分解机示意图


联邦因子分解机的优化过程如下图所示,


  • 首先参与方初始化自己的模型

  • 参与方分别计算部分预估结果,部分损失值,部分特征的梯度等中间结果,加密后传送给对方

  • 双方将加密并加入掩码的梯度发送给 server

  • Server 解密带掩码的梯度汇总后发送给参与方

  • 参与方去除掩码并更新模型

  • 重复步骤 2-5,直到模型收敛



图:纵向联邦因子分解机优化流程


经过联合建模,参与方分别得到部分训练好的联邦 FM 模型,当对新样本进行预测时,需要两方一起完成预测任务


第一步,A、B 双方各自完成本身中间结果的计算,加密并传到服务器


第二步,服务器聚合双方中间结果,解密得到预测值


第三步,服务器将预测值发回给 A 方进行推荐


推荐系统是数据驱动的,数据对效果的提升有很大帮助。在使用数据的过程中,如何有效的保护隐私和安全是急需解决的问题。微众银行在该方向上做了初步的探索和应用,同时,也在积极推进关于联邦学习国家和国际标准的建立。


2019-12-19 08:262635

评论

发布
暂无评论
发现更多内容

C++特殊类的设计

可口也可樂

c++ 11月月更 特殊类的设计

完全解析分布式存储,带你了解HDFS的块

好程序员IT教育

hdfs 分布式

Baklib|如何做好知识库网页?

Baklib

如何搭建 SaaS 产品的客户服务体系

产品海豚湾

SaaS平台 B端产品 SaaS 产品 11月月更 客户成功

【愚公系列】2022年11月 微信小程序-页面间通信

愚公搬代码

11月月更

Linux 忘记密码解决方法

芯动大师

Linux线程 11月月更 Linux系统

寒冬之下,年销售增速不降反增,这家国企做对了什么?

用友BIP

week6作业 - 拆分电商系统为微服务

in9

项目重构演进之路

杨充

母亲斗情敌,羞得儿子无地容!一瓶“醉三皇”,圆了多少孝亲梦!

联营汇聚

2022-11-23: 分数排名。输出结果和表的sql如下。请写出输出结果的sql语句? +-------+------+ | score | rank | +-------+------+ | 4.

福大大架构师每日一题

数据库 福大大

【web 开发基础】PHP中的伪类型参数的函数 (31)

迷彩

函数 web开发基础 11月月更 伪类型参数函数 伪类型

【CSPO认证】12月17-18日在线周末班 | 全国招生

ShineScrum

产品负责人 CSPO认证 CSPO

python的标准库与扩展库中对象的导入与使用

乔乔

11月月更

CentOS7安装MySQL-5.7.36

蜗牛也是牛

第一章 TCP/IP协议

我叫于豆豆吖.

11月月更

防患未然 | AIRIOT城市管廊智能运维解决方案

AIRIOT

低代码 物联网 智慧管廊

传统客服中心向“互联网+”转型的关键点——帮助中心

Baklib

Baklib帮助中心|如何设置好客户服务帮助您的客户?

Baklib

OpenSergo & ShardingSphere 社区共建微服务视角的数据库治理标准

阿里巴巴云原生

阿里云 云原生 开源微服务 OpenSergo

第二章 TCP/IP-IOS七层模型

我叫于豆豆吖.

11月月更

helm部署mysql

程序员欣宸

Helm 11月月更 kuernetes

什么是CI/CD

穿过生命散发芬芳

CI/CD 11月月更

解读 K8s Pod 的 13 种异常

阿里巴巴云原生

阿里云 Kubernetes 云原生

Gartner 2023 年十大技术趋势,资料汇总(官方PDF & 直播实况)

填空时光

Gartner Gartner预测 gartner电子书 咨询

API关键技术-日志审计技术

阿泽🧸

日志审计 11月月更

从发现问题到创造价值 数据智能如何助力商家双11高质量增长?

阿里技术

数据分析 智能数据

敏捷开发四个会议如何正确召开?

PingCode研发中心

敏捷开发

web服务器

我叫于豆豆吖.

11月月更

一文熟悉 Go 的基础语法和基本数据类型

陈明勇

Go golang 11月月更

视效剧情口碑双爆棚!Netflix 现象级剧集《怪奇物语》第四季神级视效专访大揭秘!

Renderbus瑞云渲染农场

Renderbus瑞云渲染 CG动画电影 CG特效制作

联邦学习针对推荐场景化的技术原理解析_开源_Geek_684d95_InfoQ精选文章