CN114564641A - 个性化多视图联邦推荐*** - Google Patents

个性化多视图联邦推荐*** Download PDF

Info

Publication number
CN114564641A
CN114564641A CN202210150617.6A CN202210150617A CN114564641A CN 114564641 A CN114564641 A CN 114564641A CN 202210150617 A CN202210150617 A CN 202210150617A CN 114564641 A CN114564641 A CN 114564641A
Authority
CN
China
Prior art keywords
model
user
data
gradient
article
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210150617.6A
Other languages
English (en)
Inventor
张胜博
高明
束金龙
徐林昊
杜蓓
蔡文渊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hipu Intelligent Information Technology Co ltd
East China Normal University
Original Assignee
Shanghai Hipu Intelligent Information Technology Co ltd
East China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Hipu Intelligent Information Technology Co ltd, East China Normal University filed Critical Shanghai Hipu Intelligent Information Technology Co ltd
Priority to CN202210150617.6A priority Critical patent/CN114564641A/zh
Publication of CN114564641A publication Critical patent/CN114564641A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种个性化多视图联邦推荐***,该***包括一个中央服务器及数个用户客户端,任意用户客户端内包含训练模块与预测模块;其中,训练模块包括数据分发子模块、梯度计算子模块、梯度聚合子模块、模型更新子模块、模型微调子模块、用户数据仓库及物品数据仓库,相互协作完成训练算法的执行,获得用户子模型及物品子模型;预测模块则包括语义计算子模块、交互计算子模块、概率聚合子模块、概率排序子模块、推荐输出子模块、用户模型仓库及物品模型仓库,相互协作完成预测算法的执行,获得任意用户客户端对应的推荐物品序列。本发明场景适应性更强、底层模型对特征的挖掘更深、原始输入涵盖的数据来源更广、全局模型的本地化微调更佳。

Description

个性化多视图联邦推荐***
技术领域
本发明属于数据科学与大数据技术领域,具体涉及一种基于多视图学习、元学习以及联邦学习的面向隐私保护的个性化多视图联邦推荐***。
技术背景
随着信息技术与互联网技术的飞速发展,人们从信息匮乏的时代步入了信息过载的时代。以电子商务平台为例,为了满足用户的各种需求,商品信息量迅速膨胀。一方面,用户经常会迷失在海量的商品信息空间中,无法快速且顺利地找到自己需要的商品;另一方面,大量商品面临着无法被精准推送给目标人群的困境,造成商家获客难、平台盈利难的双重问题。在此背景下,推荐***应运而生。经过二十余年的积累和沉淀,推荐***现已被广泛地应用于电子商务、社交网络、在线广告以及流媒体等诸多领域。近年来,伴随着机器学习与深度学习技术的发展,工业界和学术界对推荐***的研究热情更加高涨,继续挖掘推荐***中的潜在问题并做出与时代同步的改进具有明显价值。
推荐***认为,用户的属性以及与物品的历史交互行为等数据暗藏了用户的偏好,物品的属性以及描述文字等数据则隐含了其所指向的特定群体。因此,通过分析上述数据,对用户和物品进行建模,推荐***就能够实现预测用户对某种物品感兴趣程度的功能,然后根据这种感兴趣程度的高低来主动地为用户推荐物品,从而实现对用户个性与偏好的妥善捕捉,并更好地发掘长尾信息,利于获取更多细分市场的利润。推荐***发展至今,已逐步实现了从基于内容的朴素推荐,到基于协同过滤的中阶推荐,再到基于深度学习的高阶推荐算法的跨越,将更大规模与更为精准的推荐变为可能。目前,多样化的数据融合是推荐***的研究热点之一。诸多学者已尝试将“多视图学习”引入至推荐算法之中,相关实验亦表明有效利用多源数据能够显著地提高模型预测精度。
推荐***的成功,得益于对海量用户数据的广泛采集、分析和集中存储。推荐***在实施前述推荐行为时,不可避免地会使用到用户的一些敏感信息。这些信息可能包括用户的年龄、性别、住址等属性数据,以及浏览记录、评分记录、行程记录等交互数据。与此同时,移动互联网的崛起,使得人们得以摆脱固定终端的束缚。通过携带便携式智能手机、可穿戴设备、平板电脑等设备,人们可以随时随地在互联网上进行工作、社交、购物以及其他活动。用户数据的体量实现了指数级增长,用户数据的形式也变得更为多样。除了前述的用户属性和交互数据以外,诸如健康状况、地理位置等更为私密的数据也被移动设备实时收集,并定期发送给第三方用于数据挖掘相关的服务。诚然,此类服务能够在一定程度上提升用户体验,为用户带来便利。但是,上述信息均触及到了用户的隐私红线,一旦被滥用或泄露将给用户造成极大的困扰并带来难以估量的风险。
近年来,大众对个人隐私愈发重视,学界对数据伦理的讨论进入了白热化,大型公司对数据安全的保护意识日益增强。如何更好地保护用户的隐私以及加强数据的安全性,已经成为了一项全球性的命题。目前,世界各国都在加强保障数据安全和维护用户隐私的法律法规。然而,相关条例和法规的出台给人工智能中的数据交互带来了全新的挑战,即平台与用户之间就此形成了数据壁垒,平台与第三方的数据共享也将受到严格地限制和监管。如何合法、合规地解决数据碎片与数据隔离问题,现已成为人工智能领域的研究者和从业者所面临的主要挑战。由此,美国某公司于2016年首次提出了“联邦学习”这一概念,试图破解数据孤岛和隐私保护的难题。联邦学习是一种特殊的分布式机器学习框架,它要求任何参与联邦过程的协作方的本地原始数据都不会被暴露,从而有效地保护用户隐私和数据安全。
现有技术或着眼于联邦推荐***的底层设计,或聚焦于联邦推荐***的实质应用。它们针对联邦推荐***均做出了广泛的探索和有益的实现,但其发明技术本身仍存在着一些无法忽视的局限性。
具体而言,现有技术所存在的问题可归纳为以下四个方面:
(1)部分技术所提出的联邦推荐方法面向的是特定的场景与应用,而未能给出普适的技术框架。例如,公开号“CN113158241A”描述了一种基于横向联邦学习的岗位推荐算法。它将若干用户的简历特征与浏览过的目标岗位特征进行联合训练,最终实现保护简历隐私的同时进行岗位匹配,但它仅适用于人力资源管理这一场景。
(2)部分技术所提出的联邦推荐方法基于的是传统的模型与算法,而未能结合前沿的神经网络。例如,公开号“CN112287244A”提出了一种基于联邦学习的产品推荐方法。它以早期的协同过滤模型作为底层算法,进行用户与产品以及产品之间相似度的训练,并依据相似度对产品进行聚类及排序,却未更充分地挖掘用户表征。
(3)部分技术所提出的联邦推荐方法针对的是单一的交互型数据,而未能解决用户冷启动问题。例如,公开号“CN111339412A”给出了一种基于纵向联邦学习的推荐召回方法。它仅使用用户行为数据矩阵作为训练数据源,来生成待预测用户数据对应的物品召回集,然而新用户往往不具备历史数据,这导致了用户冷启动问题。
(4)部分技术所提出的联邦推荐方法训练的是共享的全局化模型,而未能适应客户端的差异性。例如,公开号“CN113626687A”实现了一种基于联邦学习的在线课程推荐***。它根据本地数据计算梯度并发送给中央服务器,服务器完成梯度聚合并回传给本地设备进行更新,差异较大的用户之间却仍共享一套模型参数实施推荐。
发明内容
本发明解决了以下现有技术所存在的四个问题:
(1)算法框架的普适性,即:现有技术所设计的算法框架难以适用于绝大多数的应用场景和领域;
(2)底层模型的深度性,即:现有技术所使用的底层模型尚未适度引入机器学习或深度学习模型;
(3)原始数据的多源性,即:现有技术所采用的原始输入未能涵括不同来源以及不同形式的数据;
(4)数据分布的差异性,即:现有技术所生成的全局模型从未完成在联邦客户端上的个性化微调。
实现本发明目的的具体技术方案是:
一种个性化多视图联邦推荐***,特点是该***包括一个中央服务器及数个用户客户端,其中,任意一个用户客户端的内部结构均相同,任意一个用户客户端之内包含训练模块及预测模块;中央服务器内部、中央服务器与任意一个用户客户端之间、任意一个用户客户端内部都有着数据流传输;同时,这种数据流的传输是采用同步传输的方式,即各模块间的数据交换是非异步且由统一时钟信号调配;所述的训练模块和预测模块各自包含数个分别用于完成训练任务和预测任务的子模块;
所述中央服务器,包括更新协调模块及数据计算模块;
所述数据计算模块分别对来自数个用户客户端的物品梯度数据与用户梯度数据执行聚合操作,所述聚合操作在中央服务器与任意一个用户客户端之间进行;
所述更新协调模块协调来自任意用户客户端的单一梯度数据和来自数据计算模块的聚合梯度数据在任意用户客户端内的训练模块与中央服务器内的更新协调模块之间的传输;所述协调,这一操作在中央服务器内部完成,并通过安全聚合协议来保障数据传输过程中进入数据计算模块内部的单一梯度数据被远程安全聚合;远程安全聚合是指在安全聚合协议的控制之下对来自数个用户客户端的用户梯度数据或物品梯度数据执行加密并上传至中央服务器,中央服务器对梯度数据完成解密后再对其执行聚合;
所述任意用户客户端内的训练模块,包括数据分发子模块、梯度计算子模块、梯度聚合子模块、模型更新子模块、模型微调子模块、用户数据仓库及物品数据仓库;训练模块内部的子模块与数据仓库相互协作完成训练算法的执行;
所述用户数据仓库和物品数据仓库,分别在任意用户客户端的本地设备之中存储用户数据和物品数据;用户数据是指任意用户客户端上用户在各应用视图之内产生的历史交互行为数据集;物品数据是指推荐服务提供商经由中央服务器分发至任意用户客户端上的待推荐物品数据集;
所述数据分发子模块与中央服务器内的更新协调模块以及训练模块内的模型更新子模块发生交互,承担着承上启下的数据枢纽的作用;一方面,上传来自模型更新子模块的本地安全聚合后的梯度数据至中央服务器,接收来自中央服务器的物品数据集与远程安全聚合后的梯度数据;另一方面,把来自中央服务器的远程安全聚合后的梯度数据传递给模型更新子模块;本地安全聚合是指对任意用户客户端内部产生的梯度数据执行随机采样、梯度裁剪以及高斯加噪后再进行聚合;
所述梯度计算子模块计算训练算法中物品子模型和用户子模型依据目标函数进行迭代拟合后的梯度下降结果,缓存来自梯度聚合子模块的本地梯度下降聚合结果;
所述梯度聚合子模块聚合梯度计算子模块中产生的梯度下降结果,并对梯度下降结果执行随机采样、梯度裁剪以及高斯加噪,从而实现梯度下降结果的本地安全聚合;
所述模型更新子模块对当前轮次的模型训练进行更新,即从数据分发子模块中分别获取来自中央服务器的远程安全聚合后的物品子模型梯度和用户子模型梯度,分别利用物品子模型梯度和用户子模型梯度对物品子模型和用户子模型执行梯度下降;一旦当前的训练次数达到预设的迭代上限值或全局模型已收敛,模型更新子模块便将全局模型发送给模型微调子模块;全局模型是指模型更新子模块利用远程聚合梯度对用户子模型和物品子模型执行梯度下降之后得到的用户子模型和物品子模型;
所述模型微调子模块调用本地的用户数据和物品数据,对全局用户子模型和全局物品子模型分别进行有限轮次的本地训练迭代,使全局模型更加符合任意用户自身本地数据的数据分布,从而完成全局模型在任意用户客户端上的个性化微调;
个性化微调后的全局模型的模型参数分别存储于用户数据仓库和物品数据仓库之中,并通过训练模块和预测模块之间的数据管道被进一步传送至与训练模块相邻的预测模块中的用户模型仓库和物品模型仓库之中;
所述任意用户客户端内的预测模块,包括语义计算子模块、交互计算子模块、概率聚合子模块、概率排序子模块、推荐输出子模块、用户模型仓库及物品模型仓库;预测模块内的子模块与模型仓库相互协作完成预测算法的执行;
所述用户模型仓库和物品模型仓库,分别在任意客户端的本地设备之中存储用户模型和物品模型;
所述用户模型是指任意用户客户端利用本地的用户数据,经由训练算法进行用户模型训练后,获得的一组关于用户数据的深度语义匹配模型的神经网络参数;
所述物品模型是指任意用户客户端利用本地的物品数据,经由训练算法进行物品模型训练后,获得的一组关于物品数据的深度语义匹配模型的神经网络参数;
所述语义计算子模块分别利用用户模型与物品模型,通过深度语义匹配网络的前向传播过程,获得用户模型对应的用户语义向量和物品模型对应的物品语义向量;
所述交互计算子模块计算任一用户语义向量与物品语义向量之间发生潜在交互的后验概率值;
所述概率聚合子模块对交互计算子模块输出的数个后验概率值执行聚合,获得任一待推荐物品在当前用户客户端上发生交互的后验概率值;
所述概率排序子模块将概率聚合子模块输出的若干个待推荐物品在当前用户客户端上发生交互的后验概率值,按照降序或升序进行排序;
所述推荐输出子模块输出概率排序中任一概率所对应的待推荐物品,获得推荐物品序列,完成个性化多视图联邦推荐。
所述训练算法具体包括:
a)数据分发阶段
将某一待推荐应用后台***所提供的待推荐物品数据集I由中央服务器S分发至各个用户客户端;
b)梯度计算阶段
在任意一个用户客户端视图i内,将依据第i个视图的私有用户数据以及本地共享的物品数据集I来计算用户子模型和物品子模型的梯度;
c)梯度聚合阶段
用户子模型和物品子模型的梯度先分别在本地进行聚合,本地聚合完毕后的本地用户子模型梯度和本地物品子模型梯度再被分别加密传输至中央服务器S完成全局聚合;
d)模型更新阶段
中央服务器S将全局聚合完毕后的全局用户子模型梯度和全局物品子模型梯度回传给各个用户客户端进行用户子模型和物品子模型的更新;
e)模型微调阶段
当全局模型训练收敛或达到设定的最大迭代次数后,用户客户端上的子模型将随机采样自身的私有数据,在本地再次进行有限批次的训练,最终得到经过多方、多视图联邦训练且个性化适应与微调的推荐模型。
所述预测算法具体包括:
a)语义计算阶段
用户客户端利用物品子模型提供的参数,通过深度语义匹配模型的前向传播过程,预先计算出所有的E个待推荐物品的语义向量;
b)交互计算阶段
用户客户端利用用户子模型提供的参数,通过深度语义匹配模型的前向传播过程,依次计算出任一用户视图的语义向量;然后,计算出任一用户视图的语义向量与任一待推荐物品的语义向量发生潜在交互的后验概率值
Figure BDA0003510287370000061
c)概率聚合阶段
对若干个发生潜在交互的后验概率值
Figure BDA0003510287370000062
进行本地安全聚合,得到任一待推荐物品在该用户客户端上发生交互的后验概率值
Figure BDA0003510287370000063
d)概率排序阶段
对若干个后验概率值
Figure BDA0003510287370000064
进行降序或升序排列;
e)推荐输出阶段
取出前K个概率值所对应的待推荐物品序列,这一待推荐物品序列即是为该用户客户端所推荐的物品序列。
本发明与现有技术相比,主要具有以下有益效果:
(1)本发明的算法框架适用于绝大多数的联邦推荐应用场景。工业界大都使用基于内容的推荐算法作为最基本的算法,因为其具有较好的可解释性。具体而言,推荐***的本质是相似度的计算,基于内容的推荐算法会首先分别构造商品与用户的画像,然后根据二者相似度计算结果进行排序,从而产生推荐。本发明正是基于内容的推荐算法所设计并实现的,因此对于任何基于内容的推荐***,均可使用本发明所提供的***算法框架来实现推荐,同时有效地保护用户隐私。
(2)本发明的底层模型引入了深度神经网络来处理海量特征。随着用户侧与商品侧两侧数据体量的爆发式增长,工业界已有将深度神经网络模型接入至其推荐业务中的成功案例。深度神经网络能够处理海量数据,并可通过各类变换对数据中的复杂关系进行较好地拟合,即对商品与用户的特征进行深层次地挖掘。本发明中设置了若干个基于深度语义匹配模型的双塔模型,实现了对用户侧与商品侧两侧大体量数据的快速地处理,以及通过各类变换对两侧数据中的复杂关系进行较好地拟合。
(3)本发明的原始输入涵括了不同来源以及不同形式的数据。以用户侧为例,便携设备正变得愈发智能、互联和互通,用户通过使用这些设备及其搭载的若干应用程序,将诸如个体属性、评分信息、浏览记录以及健康状况等若干不同视图的数据存储于设备本地。对于推荐***而言,若能够安全、有效且综合地利用起这些多源视图数据,势必能给推荐***的推荐精准度带来相当程度的提升与增益。本发明安全、有效且综合地利用了移动便携设备中若干应用程序内产生的若干视图数据。特别地,本发明中多视图的设定,在一定程度上缓解了推荐冷启动的难题,即使某一用户在某一视图内为全新用户(即从未有过任何历史交互数据),依旧能从联合其他视图与全局推荐模型中获益。在本发明的预实验中,以MovieLens-100K(电影推荐)作为训练与测试数据集,仅使用多用户、单视图的单源数据的全局联邦推荐精度最大值为0.8445,而本发明使用多用户、多视图数据的全局联邦推荐精度最佳值为0.8986,提升了5个百分点,增益显著。
(4)本发明的全局模型完成了在联邦客户端上的个性化微调。联邦学***均算法来完成联邦学***均算法以简单且可行的方式将各用户自身训练的权重进行整合,从而获得一个公用的融合模型。然而,当各客户端上的数据为非独立同分布时,该全局模型往往无法满足各客户端的需求,即应对各客户端进行个性化定制。本发明将元学习中经典的Reptile算法移植到了多视图联邦推荐的训练阶段中,以简单且可行的方式实现了对联邦全局模型在用户客户端上的迭代微调。在本发明的预实验中,以产生全局最佳值0.8986的用户客户端为观察对象,实施联邦训练后的微调步骤后,推荐精度最佳值为0.9107,提升了1.2个百分点,与集中式训练的0.9202接近,效果明显。
附图说明
图1为多用户与多视图的应用场景示意图;
图2为本发明的结构示意图;
图3为本发明的底层模型示意图;
图4为本发明的训练算法示意图;
图5为本发明的预测算法示意图。
具体实施方式
以下结合附图及实施例对本发明作详细描述。
参阅图1,设有若干个用户客户端,它们在地理上是分散的,并通过互联网接入的方式实现通信。在任意一个用户客户端内,存在着一个或多个视图,在视图内产生的数据存储于客户端本地设备之中。对应于现实世界,一个常见的应用场景是:用户客户端为用户的便携式移动设备(例如,智能手机、平板电脑、智能手表等),运行在该设备上的若干个应用程序即为若干个视图,用户在应用程序内进行交互产生的众多数据(例如,属性字段、浏览记录、评分评价等)即为用户在视图内产生的数据。理论上,这些若干视图的数据能够更加综合地反映该用户的兴趣偏好,并通过其他视图数据之间的互补性来弥补用户在当前视图内信息缺失,进而有效缓解推荐***普遍面临的“冷启动”问题。因此,在对海量用户进行物品推荐时,本发明所述的个性化多视图联邦推荐***,综合地利用了多视图学习、联邦学习以及元学习三大计算机技术,以有效且安全的方式达成多用户与多视图之间的协作,从而实现更为精准的物品推荐。
参阅图2,为本发明***结构图,展示了本发明***的模块组件与数据流动。本发明***由中央服务器与若干个用户客户端构成(简单起见,图2中仅示意一个用户客户端),其中任意用户客户端内包含训练模块与预测模块,中央服务器内部、中央服务器与任意一个用户客户端之间、任意一个用户客户端内部都有着数据流传输。同时,这种数据流的传输是采用同步传输的方式,即各模块间的数据交换是非异步且由统一时钟信号调配。此外,训练模块和预测模块的内部都各自包含有数个分别用于完成训练任务和预测任务的子模块以及数据或模型仓库。
中央服务器由更新协调模块与数据计算模块构成。数据计算模块分别对来自数个用户客户端的物品梯度数据与用户梯度数据执行聚合操作,这一聚合操作在中央服务器与任意一个客户端之间进行。更新协调模块协调来自任意用户客户端的单一梯度数据和来自数据计算模块的聚合梯度数据在任意用户客户端内的训练模块与中央服务器内的更新协调模块之间的传输,这一协调操作是在中央服务器内部完成的,并通过安全聚合协议来保障数据传输与汇集的过程中进入数据计算模块内部的单一梯度数据被远程安全聚合。所谓远程安全聚合,是指在安全聚合协议的控制之下对来自数个用户客户端的用户梯度数据或物品梯度数据执行加密并上传至中央服务器,中央服务器对梯度数据完成解密后再对其执行聚合。
任意一个用户客户端的内部结构均是相同的,整体上可划分为训练模块与预测模块这两个主要的功能模块,这两个主模块各自包含数个用于分别完成训练任务与预测任务的子模块。训练模块由数据分发子模块、梯度计算子模块、梯度聚合子模块、模型更新子模块、模型微调子模块一共五个子模块构成,它们对应于后续“训练算法”中所述的五个处理阶段。训练模块内包含两个数据仓库,分别在任意用户端的本地设备上存储用户数据和物品数据;用户数据是指任意用户客户端上用户在各应用视图之内产生的历史交互行为数据集;物品数据是指推荐服务提供商经由中央服务器分发至任意用户客户端上的待推荐物品数据集。预测模块由语义计算子模块、交互计算子模块、概率聚合子模块、概率排序子模块、推荐输出子模块一共五个子模块构成,它们对应于后续“预测算法”中所述的五个处理阶段。预测模块内包含两个模型仓库,分别在任意客户端的本地设备上存储用户模型和物品模型;用户模型是指任意用户客户端利用本地的用户数据,经由训练算法进行用户模型训练后,获得的一组关于用户数据的深度语义匹配模型的神经网络参数;物品模型是指任意用户客户端利用本地的物品数据,经由训练算法进行物品模型训练后,获得的一组关于物品数据的深度语义匹配模型的神经网络参数。
更为具体地,在任意客户端的训练模块内部,数据分发子模块与中央服务器内的更新协调模块以及训练模块内的模型更新子模块两者发生交互,承担着承上启下的数据枢纽的作用:一方面,上传来自模型更新子模块的本地安全聚合后的梯度数据至中央服务器,接收来自中央服务器的物品数据集与远程安全聚合后的梯度数据;另一方面把来自中央服务器的远程安全聚合后的梯度数据传递给模型更新子模块。所谓本地安全聚合,是指对任意用户客户端内部产生的梯度数据执行随机采样、梯度裁剪以及高斯加噪后再进行聚合。梯度计算子模块计算训练算法中物品子模型和用户子模型依据目标函数进行迭代拟合后的梯度下降结果,缓存来自梯度聚合子模块的本地梯度下降聚合结果。梯度聚合子模块聚合梯度计算子模块中产生的梯度下降结果,并对梯度下降结果执行随机采样、梯度裁剪以及高斯加噪,从而实现梯度下降结果的本地安全聚合。模型更新子模块对当前轮次的模型训练进行更新,即从数据分发子模块中分别获取来自中央服务器的远程安全聚合后的物品子模型梯度和用户子模型梯度,分别利用物品子模型梯度和用户子模型梯度对物品子模型和用户子模型执行梯度下降。一旦当前的训练次数达到预设的迭代上限或全局模型已收敛,模型更新子模块便将全局的用户子模型和物品子模型发送给模型微调子模块。所谓全局模型,是指利用远程聚合梯度对用户子模型和物品子模型执行梯度下降之后得到的用户子模型和物品子模型;所谓全局,是指该新模型的产生综合使用了来自数个用户客户端的梯度信息。模型微调子模块将再次调用本地的用户数据和物品数据,对全局的用户子模型和物品子模型分别进行有限轮次的本地训练迭代,使全局模型更加符合任意用户自身本地数据的分布,从而完成全局模型在任意用户客户端上的个性化微调。微调后的模型参数将分别存储于训练模块内的用户数据仓库和物品数据仓库,并通过训练模块和预测模块之间的数据管道进一步传送至预测模块中的用户模型仓库和物品模型仓库之中。预测模块内部的语义计算子模块将分别利用用户模型与物品模型,通过深度语义匹配网络的前向传播过程,计算出用户模型对应的用户语义向量和物品模型对应的物品语义向量。两类语义向量将一同进入交互计算子模块中,获得任一用户语义向量与物品语义向量之间发生潜在交互的后验概率值。进一步地,这些概率值将在概率聚合子模块中得到聚合,获得任一待推荐物品在当前用户客户端上发生交互的后验概率值。接着,把若干个待推荐物品在当前用户客户端上发生交互的概率按照降序或升序进行排序。最后,输出概率排序中任一概率所对应的待推荐物品,获得当前用户客户端上的推荐物品序列,完成个性化多视图联邦推荐。
本发明***主要包括两大任务的顺序执行:一是训练任务,即:本发明***在切实保护用户隐私的前提下,以联合多个用户客户端及客户端内的多个应用视图的方式来完成推荐***中用户模型与物品模型的生成;二是预测任务,即:本发明***在给定待推荐物品集合的前提下,依据用户特征、物品特征以及对应的用户模型、物品模型来完成针对某一特定用户的推荐列表的生成。
接下来,将着重介绍本发明的技术方案中的三个重要组成部分。第一是本发明所采用的基本模型与基本方法,主要介绍:本发明中所使用的现有深度模型和参数聚合方法;第二是本发明所设计并实现的训练算法,主要描述:如何联合多个客户端及客户端内多个视图以安全且有效的方式来完成推荐***中用户模型与物品模型的生成;第三是本发明所设计并实现的预测算法,主要说明:如何依据用户特征、物品特征以及用户模型、物品模型来完成推荐***中针对某一用户待推荐物品列表的排序。
一、基本模型与基本方法
(1)深度语义匹配模型
深度语义匹配模型(Deep Structured Semantic Models,缩写为DSSM)最初是为搜索引擎而设计的,它可以通过多层神经网络从用户的查询词和候选文档中提取语义向量,然后利用余弦相似度来衡量查询词与候选文档在同一语义空间中的相关性。在本发明的技术方案中,采用DSSM作为底层的基本模型,并将其扩展为了联邦场景下的多视图DSSM。简而言之,DSSM模型是一个通过把搜索关键词和文档注入到低维空间并计算两者相似度的具有多层神经网络结构的隐含语义模型,通过最大化给出训练数据中搜索关键词点击过的文档的条件概率来训练学习。DSSM模型的原始论文请查阅:https://dl.acm.org/doi/abs/10.1145/2505515.2505665。
参阅图3,在本发明的推荐***设计中,把搜索引擎所常用的DSSM模型移植到了推荐算法中,并将其扩展为联邦推荐场景下的多视图DSSM,从而将其作为了本发明***的底层模型。如图所示,可以将DSSM模型视为一种“双塔”结构,其中左塔代表用户的查询,右塔则代表待匹配的文档。本发明对用户查询和候选文档进行了改造,即:DSSM的用户查询在本发明中相当于用户客户端中第i个视图Ui的用户特征(用户数据),而候选文档在本发明中则相当于待推荐的物品集合I(物品数据)。DSSM模型的本质是一种两路输入、单路输出的多层神经网络,它能够将任意查询或文档语料转换为对应的语义向量,从而通过计算查询语义向量和文档语义向量之间的余弦相似度来判断它们之间是否存在相关性。这与推荐***的目标是不谋而合的,即需要衡量某一用户与某一物品之间的相关程度,从而形成偏好性并给出推荐。参阅图4,本发明***的任意用户客户端中都存在数个DSSM模型,它们的双塔对应着某一用户视图和固定的物品数据,而本发明***的训练算法的目标则是最大化它们的塔尖所输出的余弦相似度。
更为具体地,若令x为查询词和候选文档的原始特征向量,y为它们的语义向量,li(i=2,3,…N-1)为位于DSSM模型中间的隐藏层,Wi为第i个权重矩阵,bi为第i个偏置项,f为DSSM模型的映射函数;注意,DSSM模型设定为N层,则第1层为输入层,第2~(N-1)层为隐藏层,第N层为输出层。那么,可以定义DSSM的前向传播过程为:
l1=W1x,
li=f(Wili-1+bi)(i∈{2,3,…,N-1}),
y=f(WNlN-1+bN).
而查询词Q与候选文档D之间的语义相关度R可通过下式来衡量:
Figure BDA0003510287370000111
其中,yQ和yD分别是指查询词Q与某一候选文档D的语义向量,cosine(yQ,yD)表示对向量yQ和向量yD进行余弦相似度的计算,yQ T表示对向量yQ进行转置,||yQ||表示取向量yQ的模长,‖yD‖表示取向量yD的模长。
假设一个查询与查询后点击的文档是正相关的,并且DSSM的参数(即权重矩阵W)会基于此假设进行优化,即最大化在某一查询下某一文档被点击的条件似然估计。因此,需要获得在某一查询下某一文档被点击的后验概率,这可以通过计算查询与文档之间的语义相关性并施以softmax函数得到:
Figure BDA0003510287370000112
其中,R(Q,D)是指向量Q和向量D之间的语义相关度,exp(γR(Q,D′))是指以自然常数e为底的γR(Q,D′)指数,γ是指平滑系数,r(Q,D′)是指向量Q和向量D′之间的语义相关度,Q是指某一查询向量,D是指某一文档向量,D*是指所有候选文档(包括被点击的正例与未被点击的负例,这些若干正例和负例被统称为若干文档D′),
Figure BDA0003510287370000113
是指当向量Q出现的前提下向量D与之匹配的条件概率。
对应到本发明适用的多视图联邦推荐场景中,可将每个分布式节点(称为“联邦客户端”)上的多视图数据集表示为Dn=(U1,I),…,(Ui,I),…,(Un,I)。其中,所有的用户视图数据集
Figure BDA0003510287370000121
由n个不同的视图Ui(i=1,2,…n)生成,待推荐的物品数据集
Figure BDA0003510287370000122
从服务器端下载,例如向用户提供推荐服务的移动应用公司的后端服务平台。本发明通过使用DSSM这样的深度模型,从而分别从每个应用视图级别的用户数据集
Figure BDA0003510287370000123
和物品数据集I中提取相应的语义向量。本发明技术方案所提供的训练算法的目标是要为每个用户视图找到一个非线性映射f(·),使得在相同的语义空间之中,所有用户视图数据集U和物品数据集I之间的映射的相似性总和在每个客户端上实现最大化。
具体而言,在任意联邦客户端上进行联邦推荐训练的目标(损失)函数定义如下:
Figure BDA0003510287370000124
其中,R(yI,yi,j)是向量yI和向量yi,j之间的语义相关度,exp(γR(yI,yi,j)/是以自然常数e为底的γR(yI,yi,j)指数,γ是指平滑系数,R(yI,fi(X′,Wi))是向量yI和向量fi(X′,Wi)之间的语义相关度,f(X′,Wi)是将向量X′映射至向量Wi的空间,Wi为DSSM传播过程中的第i个权重矩阵,exp(γR(yI,fi(X′,Wi)))是以自然常数e为底的γR(yI,fi(X′,Wi))指数,S表示(用户~物品)对
Figure BDA0003510287370000125
的正样本(指用户与物品发生了隐式或显式地交互,例如“点击”为隐式,“评分”或“评论”为显式)的数量,Λ表示训练神经网络的参数集合,而i是样本j中视图Ui的下标,I是待推荐的物品数据集的样本,X′是用户数据集的样本,y则是非线性映射f(x,y)的投影结果,argmax指寻找到实现函数值达到最大的变量值集合。
(2)本地与远程安全聚合
在联邦学习的技术框架之下,本发明得以在不暴露本地原始数据的前提下联合多个参与方来共同训练一个全局共享的联邦模型。具体而言,在进行联邦学习训练的过程中,子模型在各参与方于自身本地的迭代更新,或者子模型在中央服务器完成全局模型的聚合更新,都是依赖于梯度这样的中间结果参数进行传递和计算的。然而,就算是单纯地传送这样的中间结果也是有潜在的风险的。一方面,在传统的联邦学习设定中,联邦客户端或中央服务器可能会偏离预设的联邦学习协议。例如,向诚实的用户发送错误消息,或者与其他用户分享视图信息等;另一方面,在本发明的联邦多视图学习设定中,某些用户视图可能是不诚实或完全恶意的。例如,恶意视图作为一个应用程序,它可能会监控其他友好视图的网络流量或子模型的变化,而对自身的本地物品模型进行空更新从而推断出其他友好视图的数据更新,甚至反演出原始数据。因此,本发明提出了以下两种安全聚合的思路和方法,以更好地保护用户隐私,保障数据安全:
①本地安全聚合方法
主要用在参与联邦推荐训练的用户客户端(即用户的移动设备)上,完成两项工作:一是安全地聚合若干个用户视图的若干个物品子模型梯度或用户子模型梯度;二是安全地聚合若干个后验概率,每个概率代表根据用户视图Ui一件物品与一位用户的兴趣相匹配的程度。具体来说,在对梯度或后验概率这样的数值型数据进行聚合前,利用了差分隐私保护技术,为这些梯度或后验概率逐一添加高斯噪声,从而保护原始的梯度与概率值。以物品子模型的梯度为例,本地安全聚合的主要步骤包括:
Figure BDA0003510287370000131
步骤1:随机子采样。对于每个用户客户端上的N个视图,在进行每一轮联邦训练时,进行随机采样得到视图子集B(|B|<N),其中|B|指子集B的大小。
Figure BDA0003510287370000132
步骤2:梯度裁剪。根据每一个梯度的L2范数进行裁剪。例如,将物品子模型梯度
Figure BDA0003510287370000133
变换为
Figure BDA0003510287370000134
其中C是裁剪阈值,
Figure BDA0003510287370000135
表示选取1和
Figure BDA0003510287370000136
两者之中的最大值。
Figure BDA0003510287370000137
步骤3:高斯加噪。采用高斯机制,向梯度更新之和
Figure BDA0003510287370000138
加入随机高斯噪声得到加噪后的子模型梯度
Figure BDA0003510287370000139
使用的计算公式为:
Figure BDA00035102873700001310
其中σ是步骤2中进行梯度裁剪前后的标准差,
Figure BDA00035102873700001311
表示随机生成实数0和实数σ2C2范围之内的噪声,|B|指视图子集B的大小。
②远程安全聚合方法
主要用在参与联邦推荐训练的中央服务器上,完成两项工作:一是安全地聚合来自若干个用户客户端的若干个用户子模型梯度
Figure BDA00035102873700001312
二是安全地聚合来自若干用户客户端的若干个物品子模型梯度
Figure BDA00035102873700001313
在中央服务器一端的参数聚合方法已被广泛地研究,并在传统且一般化的联邦学习框架中实现应用。其中,最为经典的方法是由Bonawitz等人在2017年的CCS会议上提出的一种安全聚合协议(Secure Aggregation Protocol,SAP),而本发明亦使用该协议来实现远程安全聚合。该协议旨在实现聚合服务器只能看到聚合完成之后的梯度,而无法知晓每个用户私有的真实梯度值。该协议适用于大规模移动终端(例如手机)通过一个中央服务器,共同计算各自输入之和的情形,但前提是不向服务器或任意终端泄露某个特定终端的输入,因此也十分符合本发明所需的应用场景。该协议主要利用了秘密共享、密钥协商、认证加密以及数字签名这四种密码学方法。特别地,由于该协议的相关步骤与推导较为繁琐,故这里仅作简单的说明,更多细节请查阅原始论文:https://doi.org/10.1145/3133956.3133982。
二、本发明的训练算法
参阅图4,设所有的M个用户客户端均是老用户(换言之,他们在自身本地设备上的若干个视图应用中已产生了诸多有用的行为数据。注意,即使某些用户在某些视图内是新用户,即没有任何交互数据,他们也能够因联合其他视图而获益),并且任一用户客户端内所有的N个视图之间已达成协作与实现相互隔离。某一推荐***的待推荐物品数据集I已由可靠的中央服务器S分发至各个用户客户端。在任意一个用户客户端视图i内,将依据第i个视图的私有用户数据以及本地共享的物品数据集I来计算用户子模型和物品子模型的梯度,这些本地梯度会在本地聚合后被加密传输至中央服务器D完成全局聚合,然后再把聚合后的全局梯度回传给各用户客户端进行模型更新。当全局模型训练收敛或达到设定的最大迭代次数后,用户客户端上的子模型将随机采样本地私有数据,在本地再进行有限批次的训练,最终得到经过多方多视图联邦训练且个性化微调的推荐模型。
具体而言,本发明的训练算法的步骤如下所述:
【本发明的用户客户端】
Figure BDA0003510287370000141
步骤1:***输入:客户端内视图总数N,第i个视图的用户数据集Ui,用户与物品的交互数据y,待推荐物品数据集I,本地数据集D={(Xi,y),i∈{1,2,…,N}}(其中,Xi=(Ui,I)),联邦训练的总轮数T,联邦训练的学习率η,元学习微调迭代次数P,视图数据内随机采样的子集总数H,元学习微调的学习率∈。
Figure BDA0003510287370000142
步骤2:初始化N个用户子模型:
Figure BDA0003510287370000143
初始化物品子模型:WI 0。其中,W表示子模型参数。
Figure BDA0003510287370000144
步骤3:判断是否执行第k轮联邦训练(k初始置为1),若k大于T或模型已收敛,则跳转步骤19,否则执行步骤4。
Figure BDA0003510287370000145
步骤4:判断是否进入第i个视图(i初始置为1),若i大于N,则跳转步骤9,否则执行步骤5。
Figure BDA0003510287370000146
步骤5:计算第i个视图在训练第k轮后的用户子模型梯度
Figure BDA0003510287370000147
使用的计算公式为:
Figure BDA0003510287370000148
其中L指“基本模型”部分中的损失函数。
Figure BDA0003510287370000149
步骤6:计算第i个视图在训练第k轮后的物品子模型梯度
Figure BDA00035102873700001410
使用的计算公式为:
Figure BDA00035102873700001411
Figure BDA00035102873700001412
步骤7:存储第i个视图在经过步骤5~6后获得的两个梯度
Figure BDA00035102873700001413
Figure BDA00035102873700001414
Figure BDA00035102873700001415
步骤8:执行i=i+1,重复步骤4。
Figure BDA0003510287370000151
步骤9:本地聚合执行若干次步骤4~8后得到的若干个物品子模型梯度
Figure BDA0003510287370000152
获得
Figure BDA0003510287370000153
使用的计算公式为:
Figure BDA0003510287370000154
Figure BDA0003510287370000155
步骤10:远程聚合自身物品子模型梯度
Figure BDA0003510287370000156
以及来自其他联邦客户端的
Figure BDA0003510287370000157
获得
Figure BDA0003510287370000158
使用的计算公式为:
Figure BDA0003510287370000159
Figure BDA00035102873700001510
步骤11:判断是否进入第i个视图(i初始置为1),若i大于N,则跳转步骤14,否则执行步骤12。
Figure BDA00035102873700001511
步骤12:远程聚合自身第i个视图的用户子模型梯度
Figure BDA00035102873700001512
以及来自其他联邦客户端的
Figure BDA00035102873700001513
获得
Figure BDA00035102873700001514
使用的计算公式为:
Figure BDA00035102873700001515
Figure BDA00035102873700001516
步骤13:执行i=i+1,重复步骤11。
Figure BDA00035102873700001517
步骤14:更新物品子模型,获得第k+1轮的新的物品子模型参数
Figure BDA00035102873700001518
使用的计算公式为:
Figure BDA00035102873700001519
Figure BDA00035102873700001520
步骤15:判断是否进入第i个视图(i初始置为1),若i大于N,则跳转步骤18,否则执行步骤16。
Figure BDA00035102873700001521
步骤16:更新第i个视图的用户子模型,获得第i个视图在第k+1轮的新的用户子模型参数
Figure BDA00035102873700001522
使用的计算公式为:
Figure BDA00035102873700001523
Figure BDA00035102873700001524
步骤17:执行i=i+1,重复步骤15。
Figure BDA00035102873700001525
步骤18:执行k=k+1,重复步骤3。
Figure BDA00035102873700001526
步骤19:判断是否执行第p轮元学习微调迭代(p初始置为1),若p大于P,则跳转步骤35,否则执行步骤20。其中,当p=1时,
Figure BDA00035102873700001527
Figure BDA00035102873700001528
步骤20:判断是否进入第j个视图(j初始置为1),若j大于N,则跳转步骤32,否则执行步骤21。
Figure BDA00035102873700001529
步骤21:对第j个视图内的数据进行随机采样,获得H个子集{S1,S2,…,SH},其中每个子集内包含第j个视图内的H个随机数据。
Figure BDA00035102873700001530
步骤22:判断是否执行第h轮元学习迭代更新(h初始置为1),若h大于H,则跳转步骤27,否则执行步骤23。
Figure BDA00035102873700001531
步骤23:计算第j个视图在迭代第h轮后的用户子模型梯度
Figure BDA00035102873700001532
使用的计算公式为:
Figure BDA00035102873700001533
其中,在当前执行的为第p轮元迭代时,WI h初始化为WI T+p
Figure BDA00035102873700001534
初始化为
Figure BDA00035102873700001535
Xj=(Sh,I),y为Sh中的交互数据。
Figure BDA0003510287370000161
步骤24:计算第j个视图在迭代第h轮后的物品子模型梯度
Figure BDA0003510287370000162
使用的计算公式为:
Figure BDA0003510287370000163
Figure BDA0003510287370000164
步骤25:存储第j个视图在经过步骤23~24后获得的两个梯度
Figure BDA0003510287370000165
Figure BDA0003510287370000166
Figure BDA0003510287370000167
步骤26:执行h=h+1,重复步骤22。
Figure BDA0003510287370000168
步骤27:本地聚合执行若干次步骤22~26后得到的若干个物品子模型梯度
Figure BDA0003510287370000169
获得(gI)j,使用的计算公式为:(gI)j=本地安全聚合
Figure BDA00035102873700001610
Figure BDA00035102873700001611
步骤28:同样地,本地聚合若干个用户子模型梯度
Figure BDA00035102873700001612
获得
Figure BDA00035102873700001613
使用的计算公式为:
Figure BDA00035102873700001614
Figure BDA00035102873700001615
步骤29:更新第j个视图在迭代h轮后的物品子模型,获得第j个视图在第p轮的新的物品子模型参数
Figure BDA00035102873700001616
使用的计算公式为:
Figure BDA00035102873700001617
Figure BDA00035102873700001618
步骤30:同样地,更新第j个视图在迭代h轮后的用户子模型,获得第j个视图在第p轮的新的用户子模型参数
Figure BDA00035102873700001619
使用的计算公式为:
Figure BDA00035102873700001620
Figure BDA00035102873700001621
Figure BDA00035102873700001622
步骤31:执行j=j+1,重复步骤20。
Figure BDA00035102873700001623
步骤32:更新物品子模型,获得执行第p轮本地微调迭代后的新的物品子模型参数WI T+p+1,使用的计算公式为:
Figure BDA00035102873700001624
Figure BDA00035102873700001625
步骤33:更新第j个视图的用户子模型,获得第j个视图在执行第p轮本地微调迭代后的新的用户子模型参数
Figure BDA00035102873700001626
使用的计算公式为:
Figure BDA00035102873700001627
Figure BDA00035102873700001628
Figure BDA00035102873700001629
步骤34:执行p=p+1,重复步骤19。
Figure BDA00035102873700001630
步骤35:***输出:N个用户子模型:
Figure BDA00035102873700001631
物品子模型:WI T+P
【本发明的中央服务器】
Figure BDA00035102873700001632
步骤1:***输入:参与联邦推荐过程的用户客户端总数M,联邦训练的总轮数T,任意客户端在训练第k轮后上传的模型梯度
Figure BDA00035102873700001633
Figure BDA00035102873700001634
步骤2:判断是否处理第k轮训练后各客户端上传的模型梯度(k初始置为1),若k大于T,则跳转步骤6,否则执行步骤3。
Figure BDA0003510287370000171
步骤3:本地聚合若干个客户端的物品或用户子模型梯度
Figure BDA0003510287370000172
获得
Figure BDA0003510287370000173
使用的公式为:
Figure BDA0003510287370000174
Figure BDA0003510287370000175
步骤4:执行k=k+1,将安全聚合后的全局模型梯度
Figure BDA0003510287370000176
回传至各个用户客户端。
Figure BDA0003510287370000177
步骤5:判断模型是否已收敛,判断方法是若模型的损失函数不再下降并趋于稳定则可认为模型收敛。若模型未收敛,则重复步骤2;若模型收敛,则向各个用户客户端发出收敛信号,执行步骤6。
Figure BDA0003510287370000178
步骤6:已超过最大训练轮数或模型已收敛,终止***程序。
三、本发明的预测算法
参阅图5,设个性化多视图联邦推荐的训练阶段已顺利结束,各用户客户端已顺利获取到部署于本地的推荐模型。推荐模型由一个物品子模型和若干各用户子模型共同组成,它们将一同参与本地的预测阶段。首先,用户客户端将通过DSSM模型的前向传播过程,计算出所有的E个待推荐物品的语义向量;接着,用户客户端将依次计算出任一视图的语义向量,以及任一视图与任一待推荐物品发生交互的后验概率值
Figure BDA0003510287370000179
然后,对这些概率值
Figure BDA00035102873700001710
进行本地安全聚合,得到任一待推荐物品在该用户客户端上发生交互的后验概率值
Figure BDA00035102873700001711
最后,对这些概率值
Figure BDA00035102873700001712
进行降序(从大到小)排列,输出排列中前K个概率值所对应的待推荐物品序列,得到即将为该用户客户端所推荐的物品列表。
具体而言,本发明的预测算法的步骤如下所述:
【本发明的用户客户端】
Figure BDA00035102873700001713
步骤1:***输入:客户端内视图总数N,待推荐物品总数E,推荐物品数量K,用户子模型集
Figure BDA00035102873700001714
物品子模型WI T+P,第i个视图的用户特征,第j个物品的物品特征
Figure BDA00035102873700001715
其中
Figure BDA00035102873700001716
是第i个视图的用户子模型。
Figure BDA00035102873700001717
步骤2:判断是否处理第j个待推荐物品(j初始置为1),若j大于E,则跳转步骤5,否则执行步骤3。
Figure BDA00035102873700001718
步骤3:计算第j个待推荐物品的语义向量
Figure BDA00035102873700001719
其中
Figure BDA00035102873700001720
使用的前向传播计算过程为:{l1=W1x,li=f(Wili-1+bi)(i∈{2,3,…,N-1}),y=f(WNlN-1+bN)},具体释义见“基本模型”部分。
Figure BDA00035102873700001721
步骤4:执行j=j+1,重复步骤2。
Figure BDA00035102873700001722
步骤5:判断是否处理第j个待推荐物品(j初始置为1),若j大于E,则跳转步骤13,否则执行步骤6。
Figure BDA0003510287370000181
步骤6:判断是否进入第i个视图(i初始置为1),若i大于N,则跳转步骤10,否则执行步骤7。
Figure BDA0003510287370000182
步骤7:计算第i个用户视图的语义向量
Figure BDA0003510287370000183
其中
Figure BDA0003510287370000184
使用的前向传播计算过程同步骤3中所述。
Figure BDA0003510287370000185
步骤8:计算在给定第i个视图的用户特征
Figure BDA0003510287370000186
的前提下,第j个物品的物品特征
Figure BDA0003510287370000187
与之发生交互的后验概率值
Figure BDA0003510287370000188
使用的计算公式为:
Figure BDA0003510287370000189
Figure BDA00035102873700001810
Figure BDA00035102873700001811
步骤9:执行i=i+1,重复步骤6。
Figure BDA00035102873700001812
步骤10:本地聚合执行若干次步骤6~9后得到的若干个后验概率值
Figure BDA00035102873700001813
获得
Figure BDA00035102873700001814
使用的计算公式为:
Figure BDA00035102873700001815
Figure BDA00035102873700001816
Figure BDA00035102873700001817
步骤11:存储第j个待推荐物品在客户端U上发生交互的后验概率值
Figure BDA00035102873700001818
Figure BDA00035102873700001819
步骤12:执行j=j+1,重复步骤5。
Figure BDA00035102873700001820
步骤13:对执行若干次步骤5~12得到的若干个后验概率值
Figure BDA00035102873700001821
Figure BDA00035102873700001822
按照降序(从大到小)进行排列。
Figure BDA00035102873700001823
步骤15:***输出:排列中前K个概率值所对应的待推荐物品序列,获得将为该用户客户端所推荐的物品列表。
实施例
设有一个提供流媒体的应用程序A,一个提供影评书评的应用程序B,一个提供互动社交的应用程序C,它们均被安装于N个用户的智能手机上,并已产生了与用户交互的历史数据。应用程序A试图进一步提升现有的电影推荐算法的准确度以及智能程度,故与应用程序B和应用程序C达成了视图协作;同时以本发明提供的技术方案为实施基础,搭建起一个个性化的联合三方视图的联邦电影推荐***。这三个联邦训练的参与方分别可提供的数据为:应用程序A视图可提供待推荐电影字段以及用户点击过和观看过的电影的记录,应用程序B视图可提供用户对某些电影的评分和评价,应用程序C可提供用户的年龄、性别、位置、职业、爱好、教育程度等一系列个人信息。
本发明的具体实施方式主要包括以下三个步骤:第一,应用程序A、应用程序B以及应用程序C分别在各自的视图内完成训练标签和特征的预处理,其中特征包括用户特征与物品特征。针对本实施例中的推荐服务提供方而言,应用程序A需要进行训练标签的预处理,例如:将任何发生显式或隐式交互的<用户,电影>记录对标记为1,而未发生交互的记录对标记为0;同时,应用程序A需要进行用户特征的预处理,例如:通过对用户与电影之间的点击矩阵或评分矩阵施以奇异值分解得到用户特征向量;此外,应用程序A还需要进行物品特征的预处理,例如:使用N-Gram模型将数据库中待推荐电影的标题和所属类型编码为若干比特的物品特征向量。针对本实施例中的联邦推荐训练的参与方而言,例如应用程序C,需要进行用户特征的预处理,比如:将年龄特征标准化至0~1区间,将性别特征设置为0或1,将职业特征构造为独热编码的向量。这些标签和特征在预处理完毕后,将被存储于各个应用程序相互隔离的视图内。后续训练与预测阶段需要进入视图并索取数据时,可事先构造前述提及的可信执行环境并在该环境内操作。第二、启动中央服务器(可由政府机构或可靠的第三方扮演),下载待推荐电影数据集I至N个用户的智能手机上,每个用户设备以应用程序A、应用程序B和应用程序C的本地视图数据为用户数据,使用本发明的个性化多视图联邦推荐***的训练算法,开始联邦电影推荐训练。第三、完成训练,关闭中央服务器,每个用户设备上部署经前序训练获得的电影推荐模型I*,并以应用程序A、应用程序B和应用程序C的本地视图数据为基础数据,使用本发明的个性化多视图联邦推荐***的预测算法,输出前K个该用户最可能感兴趣的待推荐电影,并展示在应用程序A软件的页面上,推荐结束。
需要进一步说明的是,在某一用户设备上,使用本发明获得的电影推荐模型I*是经过了T轮全局联邦训练和P轮本地微调迭代后的模型。它在用户数据不出本地的前提下,联合利用了N个用户的3个视图(应用程序A、应用程序B和应用程序C)的丰富数据,因此它适用于三方中的任一方,即可在应用程序A、应用程序B和应用程序C视图内被共享使用。此外,这里仅举了应用程序A试图搭建联邦电影推荐***这一例子,实际上应用程序B或应用程序C亦可搭建自身所需的推荐***。例如,应用程序B预先提供待推荐的书籍物品数据,并将书籍物品子模型分发至各台参与联邦训练的用户设备上,仿照前述的训练与预测算法即可获得联邦书籍推荐***。这是可行的,因为用户的对电影和书籍的品味存在一定的相似性,而这种相似性可通过电影特征和书籍特征经由DSSM模型输出的语义向量的相似度计算来度量。
特别地,在具体实施本发明技术方案时,应当注意控制单一用户客户端内参与联邦推荐训练的视图数量和质量,因为相关研究表明过多的视图反而会加重通信开销,且不会对推荐精度有更高的提升。另外,在工程实践中,待推荐物品的语义向量计算可在推荐服务提供商的后台事先离线进行,待计算完成后直接由中央服务器分发至各客户端。这样既可以极大地减少用户端设备的计算开销,还可以更好地满足推荐服务提供商对于实时地或间歇地更新待推荐物品数据集的需求。此外,为了保障具体实施本发明技术方案时能够产生有利效果,参与联邦推荐训练的若干视图应当对最终的训练目标起到正向作用,以相互协作的方式来完成全局模型的训练和共享,实现互利共赢;换言之,参与某一次联邦推荐训练的若干视图数据中不应当包含过多的冗余信息、错误信息以及噪声信息等,因为相关研究表明过多的无效数据往往会对模型训练产生负面影响。最后,为了进一步防范某些用户视图出现不诚实甚至完全恶意的情况,在具体实施本发明技术方案时,应当考虑设立视图级别的相互隔离,即在任意用户客户端运行本发明***之前构建可行执行环境,在设备搭建的操作***中开辟出一块安全区域,从而避免非诚实或恶意视图肆意访问到其他友好视图的私有数据。

Claims (3)

1.一种个性化多视图联邦推荐***,其特征在于,该***包括一个中央服务器及数个用户客户端,其中,任意一个用户客户端的内部结构均相同,任意一个用户客户端之内包含训练模块及预测模块;中央服务器内部、中央服务器与任意一个用户客户端之间、任意一个用户客户端内部都有着数据流传输;同时,这种数据流的传输是采用同步传输的方式,即各模块间的数据交换是非异步且由统一时钟信号调配;所述的训练模块和预测模块各自包含数个分别用于完成训练任务和预测任务的子模块;
所述中央服务器,包括更新协调模块及数据计算模块;
所述数据计算模块分别对来自数个用户客户端的物品梯度数据与用户梯度数据执行聚合操作,所述聚合操作在中央服务器与任意一个用户客户端之间进行;
所述更新协调模块协调来自任意用户客户端的单一梯度数据和来自数据计算模块的聚合梯度数据在任意用户客户端内的训练模块与中央服务器内的更新协调模块之间的传输;所述协调,这一操作在中央服务器内部完成,并通过安全聚合协议来保障数据传输过程中进入数据计算模块内部的单一梯度数据被远程安全聚合;远程安全聚合是指在安全聚合协议的控制之下对来自数个用户客户端的用户梯度数据或物品梯度数据执行加密并上传至中央服务器,中央服务器对梯度数据完成解密后再对其执行聚合;
所述任意用户客户端内的训练模块,包括数据分发子模块、梯度计算子模块、梯度聚合子模块、模型更新子模块、模型微调子模块、用户数据仓库及物品数据仓库;训练模块内部的子模块与数据仓库相互协作完成训练算法的执行;
所述用户数据仓库和物品数据仓库,分别在任意用户客户端的本地设备之中存储用户数据和物品数据;用户数据是指任意用户客户端上用户在各应用视图之内产生的历史交互行为数据集;物品数据是指推荐服务提供商经由中央服务器分发至任意用户客户端上的待推荐物品数据集;
所述数据分发子模块与中央服务器内的更新协调模块以及训练模块内的模型更新子模块发生交互,承担着承上启下的数据枢纽的作用;一方面,上传来自模型更新子模块的本地安全聚合后的梯度数据至中央服务器,接收来自中央服务器的物品数据集与远程安全聚合后的梯度数据;另一方面,把来自中央服务器的远程安全聚合后的梯度数据传递给模型更新子模块;本地安全聚合是指对任意用户客户端内部产生的梯度数据执行随机采样、梯度裁剪以及高斯加噪后再进行聚合;
所述梯度计算子模块计算训练算法中物品子模型和用户子模型依据目标函数进行迭代拟合后的梯度下降结果,缓存来自梯度聚合子模块的本地梯度下降聚合结果;
所述梯度聚合子模块聚合梯度计算子模块中产生的梯度下降结果,并对梯度下降结果执行随机采样、梯度裁剪以及高斯加噪,从而实现梯度下降结果的本地安全聚合;
所述模型更新子模块对当前轮次的模型训练进行更新,即从数据分发子模块中分别获取来自中央服务器的远程安全聚合后的物品子模型梯度和用户子模型梯度,分别利用物品子模型梯度和用户子模型梯度对物品子模型和用户子模型执行梯度下降;一旦当前的训练次数达到预设的迭代上限值或全局模型已收敛,模型更新子模块便将全局模型发送给模型微调子模块;全局模型是指模型更新子模块利用远程聚合梯度对用户子模型和物品子模型执行梯度下降之后得到的用户子模型和物品子模型;
所述模型微调子模块调用本地的用户数据和物品数据,对全局用户子模型和全局物品子模型分别进行有限轮次的本地训练迭代,使全局模型更加符合任意用户自身本地数据的数据分布,从而完成全局模型在任意用户客户端上的个性化微调;
个性化微调后的全局模型的模型参数分别存储于用户数据仓库和物品数据仓库之中,并通过训练模块和预测模块之间的数据管道被进一步传送至与训练模块相邻的预测模块中的用户模型仓库和物品模型仓库之中;
所述任意用户客户端内的预测模块,包括语义计算子模块、交互计算子模块、概率聚合子模块、概率排序子模块、推荐输出子模块、用户模型仓库及物品模型仓库;预测模块内的子模块与模型仓库相互协作完成预测算法的执行;
所述用户模型仓库和物品模型仓库,分别在任意客户端的本地设备之中存储用户模型和物品模型;
所述用户模型是指任意用户客户端利用本地的用户数据,经由训练算法进行用户模型训练后,获得的一组关于用户数据的深度语义匹配模型的神经网络参数;
所述物品模型是指任意用户客户端利用本地的物品数据,经由训练算法进行物品模型训练后,获得的一组关于物品数据的深度语义匹配模型的神经网络参数;
所述语义计算子模块分别利用用户模型与物品模型,通过深度语义匹配网络的前向传播过程,获得用户模型对应的用户语义向量和物品模型对应的物品语义向量;
所述交互计算子模块计算任一用户语义向量与物品语义向量之间发生潜在交互的后验概率值;
所述概率聚合子模块对交互计算子模块输出的数个后验概率值执行聚合,获得任一待推荐物品在当前用户客户端上发生交互的后验概率值;
所述概率排序子模块将概率聚合子模块输出的若干个待推荐物品在当前用户客户端上发生交互的后验概率值,按照降序或升序进行排序;
所述推荐输出子模块输出概率排序中任一概率所对应的待推荐物品,获得推荐物品序列,完成个性化多视图联邦推荐。
2.根据权利要求1所述的个性化多视图联邦推荐***,其特征在于,所述训练算法具体包括:
数据分发阶段
将某一待推荐应用后台***所提供的待推荐物品数据集
Figure DEST_PATH_IMAGE002
由中央服务器
Figure DEST_PATH_IMAGE004
分发至各个用户客户端;
梯度计算阶段
在任意一个用户客户端视图
Figure DEST_PATH_IMAGE006
内,将依据第
Figure 786846DEST_PATH_IMAGE006
个视图的私有用户数据以及本地共享的物品数据集
Figure 766304DEST_PATH_IMAGE002
来计算用户子模型和物品子模型的梯度;
梯度聚合阶段
用户子模型和物品子模型的梯度先分别在本地进行聚合,本地聚合完毕后的本地用户子模型梯度和本地物品子模型梯度再被分别加密传输至中央服务器
Figure 873937DEST_PATH_IMAGE004
完成全局聚合;
模型更新阶段
中央服务器
Figure 534725DEST_PATH_IMAGE004
将全局聚合完毕后的全局用户子模型梯度和全局物品子模型梯度回传给各个用户客户端进行用户子模型和物品子模型的更新;
模型微调阶段
当全局模型训练收敛或达到设定的最大迭代次数后,用户客户端上的子模型将随机采样自身的私有数据,在本地再次进行有限批次的训练,最终得到经过多方、多视图联邦训练且个性化适应与微调的推荐模型。
3.根据权利要求1所述的个性化多视图联邦推荐***,其特征在于,所述预测算法具体包括:
语义计算阶段
用户客户端利用物品子模型提供的参数,通过深度语义匹配模型的前向传播过程,预先计算出所有的
Figure DEST_PATH_IMAGE008
个待推荐物品的语义向量;
交互计算阶段
用户客户端利用用户子模型提供的参数,通过深度语义匹配模型的前向传播过程,依次计算出任一用户视图的语义向量;然后,计算出任一用户视图的语义向量与任一待推荐物品的语义向量发生潜在交互的后验概率值
Figure DEST_PATH_IMAGE010
概率聚合阶段
对若干个发生潜在交互的后验概率值
Figure 99830DEST_PATH_IMAGE010
进行本地安全聚合,得到任一待推荐物品在该用户客户端上发生交互的后验概率值
Figure DEST_PATH_IMAGE012
概率排序阶段
对若干个后验概率值
Figure 811041DEST_PATH_IMAGE012
进行降序或升序排列;
推荐输出阶段
取出前
Figure DEST_PATH_IMAGE014
个概率值所对应的待推荐物品序列,这一待推荐物品序列即是为该用户客户端所推荐的物品序列。
CN202210150617.6A 2022-02-18 2022-02-18 个性化多视图联邦推荐*** Pending CN114564641A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210150617.6A CN114564641A (zh) 2022-02-18 2022-02-18 个性化多视图联邦推荐***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210150617.6A CN114564641A (zh) 2022-02-18 2022-02-18 个性化多视图联邦推荐***

Publications (1)

Publication Number Publication Date
CN114564641A true CN114564641A (zh) 2022-05-31

Family

ID=81714225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210150617.6A Pending CN114564641A (zh) 2022-02-18 2022-02-18 个性化多视图联邦推荐***

Country Status (1)

Country Link
CN (1) CN114564641A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741611A (zh) * 2022-06-08 2022-07-12 杭州金智塔科技有限公司 联邦推荐模型训练方法以及***
CN116246749A (zh) * 2023-05-11 2023-06-09 西南医科大学附属医院 集成电子病历的内分泌病人个性化健康管理***
CN117454185A (zh) * 2023-12-22 2024-01-26 深圳市移卡科技有限公司 联邦模型训练方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020238502A1 (zh) * 2019-05-31 2020-12-03 京东方科技集团股份有限公司 物品推荐方法及装置、电子设备及存储介质
CN112836120A (zh) * 2021-01-27 2021-05-25 深圳大学 一种基于多模态知识图谱的电影推荐方法、***及终端
WO2021185427A1 (en) * 2020-03-16 2021-09-23 Huawei Technologies Co., Ltd. Generation of personalized recommendations
WO2021185428A1 (en) * 2020-03-16 2021-09-23 Huawei Technologies Co., Ltd. Enabling generation of personalized recommendations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020238502A1 (zh) * 2019-05-31 2020-12-03 京东方科技集团股份有限公司 物品推荐方法及装置、电子设备及存储介质
WO2021185427A1 (en) * 2020-03-16 2021-09-23 Huawei Technologies Co., Ltd. Generation of personalized recommendations
WO2021185428A1 (en) * 2020-03-16 2021-09-23 Huawei Technologies Co., Ltd. Enabling generation of personalized recommendations
CN112836120A (zh) * 2021-01-27 2021-05-25 深圳大学 一种基于多模态知识图谱的电影推荐方法、***及终端

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KUAN E.TAN等: "Federated multi-view matrix factorization for personalized recommendations", 《SPRINGER LINK》, 25 January 2021 (2021-01-25), pages 324 - 347 *
张胜博: "多视图联邦推荐技术", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 January 2024 (2024-01-15), pages 138 - 2361 *
李超: "基于用户个性数据的信息推荐***研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 July 2018 (2018-07-15), pages 138 - 1849 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741611A (zh) * 2022-06-08 2022-07-12 杭州金智塔科技有限公司 联邦推荐模型训练方法以及***
CN114741611B (zh) * 2022-06-08 2022-10-14 杭州金智塔科技有限公司 联邦推荐模型训练方法以及***
CN116246749A (zh) * 2023-05-11 2023-06-09 西南医科大学附属医院 集成电子病历的内分泌病人个性化健康管理***
CN116246749B (zh) * 2023-05-11 2023-07-21 西南医科大学附属医院 集成电子病历的内分泌病人个性化健康管理***
CN117454185A (zh) * 2023-12-22 2024-01-26 深圳市移卡科技有限公司 联邦模型训练方法、装置、计算机设备和存储介质
CN117454185B (zh) * 2023-12-22 2024-03-12 深圳市移卡科技有限公司 联邦模型训练方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
Duan et al. JointRec: A deep-learning-based joint cloud video recommendation framework for mobile IoT
CN114564641A (zh) 个性化多视图联邦推荐***
Gao et al. A survey on heterogeneous federated learning
CN108446964B (zh) 一种基于移动流量dpi数据的用户推荐方法
Jain et al. Movie recommendation system: hybrid information filtering system
Jia et al. Collaborative restricted Boltzmann machine for social event recommendation
CN113065143A (zh) 基于区块链的工业数据安全共享
Xin et al. On the user behavior leakage from recommender system exposure
Alferaidi et al. Federated learning algorithms to optimize the client and cost selections
Jagtap et al. Homogenizing social networking with smart education by means of machine learning and Hadoop: A case study
CN114004363A (zh) 联合更新模型的方法、装置及***
Zhang et al. Field-aware matrix factorization for recommender systems
Zhang et al. A data augmentation method for vertical federated learning
Wang Artificial Intelligence‐Driven Model for Production Innovation of Sports News Dissemination
Yang et al. Federated continual learning via knowledge fusion: A survey
Li et al. Federated low-rank tensor projections for sequential recommendation
Liu et al. A review of federated meta-learning and its application in cyberspace security
Wu et al. A federated deep learning framework for privacy-preserving consumer electronics recommendations
Wu et al. A hybrid approach to service recommendation based on network representation learning
Lv et al. DSMN: An improved recommendation model for capturing the multiplicity and dynamics of consumer interests
CN116467415A (zh) 基于GCNsformer混合网络和多通道语义的双向跨域会话推荐方法
Sah et al. Aggregation techniques in federated learning: Comprehensive survey, challenges and opportunities
Ma et al. Self-attention based collaborative neural network for recommendation
Periyasamy et al. Analysis and Performance Evaluation of Cosine Neighbourhood Recommender System.
Yuan Personalized online learning recommendation system based on collaborative filtering algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination