CN117035059A - 一种通信高效的隐私保护推荐系统及方法 - Google Patents
一种通信高效的隐私保护推荐系统及方法 Download PDFInfo
- Publication number
- CN117035059A CN117035059A CN202310982405.9A CN202310982405A CN117035059A CN 117035059 A CN117035059 A CN 117035059A CN 202310982405 A CN202310982405 A CN 202310982405A CN 117035059 A CN117035059 A CN 117035059A
- Authority
- CN
- China
- Prior art keywords
- user
- item
- model
- items
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 title claims abstract description 19
- 238000012549 training Methods 0.000 claims abstract description 67
- 238000013528 artificial neural network Methods 0.000 claims abstract description 11
- 230000003993 interaction Effects 0.000 claims description 57
- 239000013598 vector Substances 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 33
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000006399 behavior Effects 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 230000002776 aggregation Effects 0.000 claims description 11
- 238000004220 aggregation Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 10
- 230000002452 interceptive effect Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6236—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据推荐技术领域,公开了一种通信高效的隐私保护推荐系统及方法,通过基于图神经网络的推荐模型,用以捕捉用户兴趣以及实现对用户喜好的预测,首先获取联邦训练中获得的用户嵌入和项目嵌入;然后将用户嵌入及用户未交互过的项目的嵌入送入训练好的推荐模型,获取用户对未交互过项目的兴趣分数;最后按推荐模型输出的用户对项目的兴趣分数的大小对项目进行排序推荐。通过本发明实现保护用户隐私的同时,实现对用户兴趣的捕捉以及对用户喜好的预测。
Description
技术领域
本发明属于数据推荐技术领域,特别涉及一种通信高效的隐私保护推荐系统及方法。
背景技术
推荐系统根据收集的个人数据估计用户偏好,并生成未来用户选择的候选项。推荐系统广泛应用于电影、音乐、新闻和书籍推荐等领域。有效利用用户行为信息来为用户提供适当产品的推荐系统对于各类企业的成功有着重要作用。作为一种典型的个性化服务,为了更好的捕捉和建模用户的行为习惯和历史偏好,推荐系统需要收集用户和物品的属性信息以及二者间的交互记录,如评分、点击日志等,并且往往需要大量的用户数据来提供高质量的服务。但是,大量的用户行为记录以及用户私有属性信息虽然能够使得模型掌握用户的行为模式,但也不可避免的造成了用户对于自身敏感信息泄露等隐私问题的担忧。用户数据的分析利用能提高推荐模型性能,同时高度敏感的用户隐私信息也可从用于模型训练的用户数据中进行推断。
过去保护隐私的场景都是考虑在集中收集用户的个人数据并且上传到受信的中心服务器来进行存储与训练模型。显然,这样的模式会在个人数据传输过程中以及在服务器存储环节中出现隐私泄露以及安全问题。为此,现有的使用联邦学习技术结合差分隐私等隐私保护技术,就可实现用户数据不上传服务器,在保护用户隐私的前提下完成推荐模型更新及推荐服务。基于联邦学习的推荐方案是用户接收服务器端发送来初始状态模型,利用本地个人数据进行推荐模型的训练,并上传到服务器,最后服务器聚合各客户端更新后的模型进行全局模型的更新,经过多轮模型的聚合更新就可获得一个可用的推荐模型。
现有的使用联邦学习进行推荐模型训练,需要这些客户端的数据中具有一些同质属性。聚合推荐模型时,需要对梯度或是模型参数进行聚合,梯度或是参数也是用户数据的隐式表达,也应利用隐私保护技术进行保护,例如用户独立地添加噪声实现上传数据的扰动时,会使得模型可用性与数据隐私性之间更难进行权衡。模型聚合需要服务器和客户端之间进行大量的通信,当本地数据量太小时,可能导致本地模型的过拟合,从而对聚合的模型性能产生影响。
发明内容
针对现有技术存在的不足,本发明提供一种通信高效的隐私保护推荐系统及方法,在确保在利用联邦学习训练推荐模型,保护用户隐私的同时,实现对用户兴趣的捕捉以及对用户喜好的预测,同时提升模型训练速度和模型训练精度,充分利用用户设备性能,降低模型训练耗时。
为了解决上述技术问题,本发明采用的技术方案是:
一种通信高效的隐私保护推荐方法,包括以下步骤:
步骤1、构建基于图神经网络的推荐模型,用以捕捉用户兴趣以及实现对用户喜好的预测,并对推荐模型进行联邦训练;推荐模型包括用户和物品的嵌入表示层、基于图神经网络的用户的兴趣提取模块、用户喜好的得分计算层,此外服务器端还设有一个高阶信息提取模块;在联邦训练中,根据推荐模型所处设备不同,将用户客户端持有的模型记做为本地模型,中心服务器持有的模型为全局模型;其中,推荐模型训练任务由各用户客户端和中心服务器联合完成,用户客户端利用本地数据进行推荐模型的训练更新,中心服务器对各用户客户端上传的本地模型进行聚合更新获取最新的全局模型及更新后的分发;
步骤2、对于一个冷启动用户,获取联邦训练中获得的用户嵌入和项目嵌入;
步骤3、将用户嵌入及用户未交互过的项目的嵌入送入训练好的推荐模型,获取用户对未交互过项目的兴趣分数;
步骤4、按推荐模型输出的用户对项目的兴趣分数的大小对项目进行排序推荐。
进一步的,联邦训练过程包括:
第一阶段,对用户数据保护处理:各用户客户端对自己本地交互数据进行扰动处理添加保护后进行传输,然后,这些添加扰动的数据被上传到中心服务器以进行用户的行为相似度的计算以及用户分组,其中各组内的成员共同训练一个推荐模型,而不是所有用户共同训练一个全局模型,同时中心服务器的高阶信息提取模块对每个用户提取一个组内高阶嵌入信息,完成用户分组及提取高阶信息后,中心服务器将高阶信息和项目嵌入以及模型参数发送给各小组成员,用户嵌入和项目嵌入以及推荐模型将通过联邦学习进行训练;
第二阶段,各客户端利用本地数据以及接收到的高阶信息进行模型的本地训练,模型训练数个轮次后上传中心服务器,中心服务器聚合各客户端上传的本地模型进行一次全局模型的更新,第二阶段重复进行多次直至全局模型可用。
进一步的,用户数据保护处理的具体步骤如下:定义U={u1,u2,…,uN}和T={t1,t2,…,tM}分别为用户集和项目集,其中N为用户数,M为项目数,用户un对项目tm的评分值为Rnm,则所有用户对项目的评分构成的评分矩阵为R∈RN×M,每个用户都在本地存储评分数据,因此评分矩阵对服务器不可用;客户端c被定义为存储用户评分数据和用户真实交互数据的本地设备,每个客户端cn关联一个用户un,其真实评分数据和交互数据分别为Rn_和hn,每个用户un有一个本地评级记录向量使用这些评分记录生成交互数据hn,hnm表示交互数据hn上第m位被转换后的结果,方法如下所示:
随后,扰动后的用户交互记录通过随机翻转机制生成。
进一步的,用户行为相似度计算及用户分组由服务器进行执行,用户的行为相似度通过Jaccard相似度来进行估计,两个用户1和2的相似度函数定义如下:
其中,h1表示用户1的交互数据,h2表示用户2的交互数据,
则计算用户相似度的关键在于给定扰动向量和的情况下,对h1∩h2和h1∪h2进行一个准确的估计,扰动向量和分别是h1和h2添加扰动后的交互数据,对于i,j∈{0,1},nij表示在真实向量的第s个比特位置上的h1[s]=i和h2[s]=j的序对的个数,所有nij构成向量同样的,对于i,j∈{0,1},mij表示在扰动向量的第s个比特位置上和的序对的个数,所有mij构成向量设pr(1→1)=pr(0→0)=q1,表示某一位置上的值保持原始值的概率为q,pr(1→0)=pr(0→1)=q2,表示某一位置上的值翻转的概率为q2;则向量h1和h2的并集和交集的基数可以用平均场模型估计为:
其中原始向量某一位置上的值保持原始值的概率为q1,翻转的概率为q2;通过对矩阵求逆,可以得到nij的四个无偏估计量:
原始向量h1和h2中对应位置上00序对的个数由向量长度m和|h1∪h2|共同决定,即n00=m-|h1∪h2|,那么|h1∪h2|可以估计为,
为|h1∪h2|的估计值;
同时,可以直接作为h1∩h2的估计量,
为h1∩h2的估计值;
基于该计算方式,利用上传的扰动数据,可以估计任意两个用户的行为相似度,生成一个用户相似度矩阵S∈RN×N,将相似矩阵S的第n行作为用户un在分组阶段的行为特征,即用户un与所有其他用户的相似度;
然后,利用聚类算法将用户划分为不同的集群G={Gl|l=1,…,C},其中Gl为第l个用户分组,C为聚类后的用户组数。
进一步的,高阶信息提取过程如下:
在联邦学习设置中,用户的数据在用户设备保存,对于用户un,只有用户un交互过的项目,即一阶节点,是本地可用的;用户嵌入保留有用户兴趣,包含一定隐私信息,在严格的隐私限制下,与用户un具有相同交互项的其他用户的嵌入,即二阶节点,是不可用;将与用户un具有相同交互项的其他用户的交互项,即三阶节点,加入到用户un的本地训练中,一旦服务器接收到每个用户上传的扰动记录,就可对具有相似偏好的用户进行分组,提取每个用户un的可用的高阶信息,高阶信息由两部分组成,一是高阶项列表,二是每个高阶项的出现频次,此处利用与用户un有相同交互项目的其他用户的交互项来增强用户un的兴趣表示;服务器将提取的高阶信息发送给每个目标用户后,就可执行推荐模型的联邦训练。
进一步的,每个客户端都有三种不同类型的嵌入,分别是用户嵌入、评分项目嵌入和高阶项目嵌入,用户嵌入用以保留用户自身的隐私特征,并始终保存在本地设备,项目嵌入是隐藏空间中项目特征的向量表示,评分项目嵌入可以提供关于用户对特定项目的偏好的信息,高阶项目嵌入提供与该用户间接交互项目的信息以增强用户兴趣表示;
项目嵌入表示为Et∈Rd×M,由服务器维护,每个用户un都有自身的嵌入表示由用户自身维护;
对于用户un,其评分项目为高阶项目为其评分项目嵌入为高阶项嵌入为分别表示用户评分项和高阶项的总数,高阶项嵌入和评分项目嵌入以及用户嵌入作为本地模型的输入,以进行推荐模型的训练,及用户/项目嵌入的学习和预测用户喜好,方法如下:使用不同的GAT层来学习相应的嵌入权值,聚合这三种类型的嵌入:
其中对于用户及评分项目(un,tk),注意力分数snk为
其中W1∈Rd×d是线性映射矩阵,为用户自身的嵌入表示,为用户评分项目的嵌入表示,Attention函数表示注意层,更具体地说,attention层定义为
其中a∈R2d是权向量,||表示两个向量的拼接运算;
对于用户un的评分项,使用softmax函数计算注意力权重αnk如下:
其中snk为用户及评分项目的注意力分数;
定义高阶项的权重βnp计算为:
其中表示用户un的高阶项p的重复次数,为用户即高阶项目的注意力分数,与用户与评分项的注意力分数采用相同的计算模式;
两种类型的项目的信息聚合如下:
分别为聚合后的用户评分项和高阶项的隐藏嵌入,为高阶项的嵌入表示;
采用自注意力机制对两类获得的隐藏嵌入进行计算以获得当前的兴趣表示eagg;
最终的用户表示计算方式为:
H={un,agg}:
H为下标合集,用以标识当前的eh的指代,Att表示注意力机制计算,eh表示和eagg两部分;
预测用户喜好时,给定学习到的用户un的最终嵌入表示以及项目t的嵌入表示et,其中项目t包括用户交互项目和未交互项目,则用户un对项目t评分计算如下:
其中T表示转置。
进一步的,联邦训练过程中,真实用户-项目交互数据保存在本地设备中,用于本地模型训练;本地模型学习到的用户嵌入只由本地设备保存,不上传服务器,只有模型参数和项目嵌入被上传到服务器进行聚合。
进一步的,联邦训练过程中,对用户交互记录的保护利用伪交互项采样策略实现:在本地客户端中,Q个项目被采样为伪项,记为即Q个用户未曾与之交互,且没有出现在高阶项列表中的项目,伪项的预测分数有当前本地模型计算后取整得到;根据预测分数与取整后分数的差值,可以在本地设备中更新伪项嵌入,则在用户本地由有三种类型项目嵌入得到更新,分别为,用户交互过的项目的嵌入,高阶项嵌入,伪项嵌入;在联邦聚合阶段,将三种类型的项嵌入,即用户评分项嵌入、伪项嵌入和高阶项嵌入,一起上传,从而隐藏用户真正交互的项目列表。
本发明还提供一种通信高效的隐私保护推荐系统,用于实现如前所述的推荐方法,所述系统包括多个用户客户端及一个中心服务器,各客户端与服务器的数据传输方式如下:
各用户客户端本地设备利用差分隐私技术对自己的本地交互数据进行扰动处理后上传服务器;
服务器端对得到的用户扰动数据进行处理,在有噪声存在的情况下对噪声数据的相似度进行去噪计算,获取用户之间的相似度;服务器利用计算所得的用户相似度矩阵对有相同兴趣的用户进行个性化分组,进行用户个性化分组后在服务器上提取模型训练所需要的高阶信息;服务器将提取出的高阶信息发送给各用户;重复下面的步骤完整推荐模型的训练:服务器将全局模型分发给各客户端,各客户端利用本地数据及接收到的高阶信息进行本地模型的训练,各客户端并将更新后的本地模型的参数上传到服务器,服务器对各组接收到的模型参数进行分组聚合,以更新服务器上的全局模型。
与现有技术相比,本发明优点在于:
(1)用户真实数据不上传服务器,只有添加扰动受保护的数据进行上传,实现对用户真实喜好的保护以及交互记录的保护
(2)基于用户扰动数据的用户相似度计算及用户分组进行个性化的模型训练提升模型训练精度。
(3)高阶信息的引入,为各用户设备引入更多的数据信息,增大本地数据量,更充分的使用用户设备的算力,提升模型训练速度。
(4)设计的基于图神经网络的推荐模型可以更好的利用高阶信息对用户兴趣进行建模,更准确的对用户喜好进行预测。
(5)进一步保护用户隐私,本地模型学习到的用户嵌入只由本地设备保存,不上传服务器,只有模型参数和项目嵌入被上传到服务器进行聚合。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的方法流程图;
图2为本发明的联邦训练示意图;
图3为本发明的推荐模型训练示意图;
图4为本发明的数据扰动示意图;
图5为本发明的用户分组示意图;
图6为本发明的高阶信息获取示意图;
图7为本发明的伪交互项采样策略示意图;
图8为本发明的推荐系统的各客户端与服务器的数据传输方式示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的说明。
本发明设计思路是:采用联邦学习框架设计,真实用户-项目交互数据保存在终端设备中,用于本地模型训练。在进行联邦学习之前,对参与者进行个性化的分组,各组内的成员共同训练一个推荐模型,而不是训练统一的全局模型,同时对每个用户提取一个组内高阶嵌入信息。个性化分组方法是在服务器中基于公开的用户信息(如年龄、性别或国籍)及扰动后的用户交互数据实。此外,本发明设计了一种基于图神经网络的推荐模型用以捕捉用户兴趣以及实现对用户喜好的预测。为了进一步保护用户隐私,本地模型学习到的用户嵌入只由本地设备保存,不上传服务器,只有模型参数和项目嵌入被上传到服务器进行聚合。
结合图1所示,本实施案例提供一种通信高效的隐私保护推荐方法,包括以下步骤:
步骤1、构建基于图神经网络的推荐模型,用以捕捉用户兴趣以及实现对用户喜好的预测,并对推荐模型进行联邦训练;推荐模型包括用户和物品的嵌入表示层、基于图神经网络的用户的兴趣提取模块、用户喜好的得分计算层,此外服务器端还设有一个高阶信息提取模块;推荐模型有设于各用户客户端的本地模型和设于中心服务器的全局模型两类,在联邦学习中为了方便区分,根据推荐模型所处设备不同,可以将用户客户端持有的模型记做为本地模型,中心服务器持有的模型为全局模型。用户和物品的嵌入表示层用于提取用户和物品的嵌入表示,基于图神经网络的用户的兴趣提取模块用于提取用户的兴趣,用户喜好的得分计算层用于计算用户喜好的得分,预测用户喜好,高阶信息提取模块用于提取高阶嵌入信息,各个模块的网络结构非本发明设计要点,此处不过多赘述。其中,推荐模型训练任务由各用户客户端和中心服务器联合完成,用户客户端利用本地数据进行推荐模型的训练更新,中心服务器对各用户客户端上传的本地模型进行聚合更新获取最新的全局模型及更新后的分发,如图3所示;
步骤2、对于一个冷启动用户,获取联邦训练中获得的用户嵌入和项目嵌入;
步骤3、将用户嵌入及用户未交互过的项目的嵌入送入训练好的推荐模型,获取用户对未交互过项目的兴趣分数;
步骤4、按推荐模型输出的用户对项目的兴趣分数的大小对项目进行排序推荐。
下面具体介绍各部分内容。
结合图2所示,联邦训练过程包括:
第一阶段,对用户数据保护处理:各用户客户端对自己本地交互数据进行扰动处理添加保护后进行传输,然后,这些添加扰动的数据被上传到中心服务器以进行用户的行为相似度的计算以及用户分组,其中各组内的成员共同训练一个推荐模型,而不是所有用户共同训练一个全局模型,同时中心服务器对每个用户提取一个组内高阶嵌入信息,完成用户分组及提取高阶信息后,中心服务器将高阶信息、项目嵌入表、模型参数发送给各小组成员,用户嵌入和项目嵌入以及推荐模型将通过联邦学习进行训练;
第二阶段,各客户端利用本地数据以及接收到的高阶信息进行模型的本地训练,模型训练数个轮次后上传中心服务器,中心服务器聚合各客户端上传的本地模型进行一次全局模型的更新,第二阶段重复进行多次直至全局模型可用。
用户数据保护处理的具体步骤如下:定义U={u1,u2,…,uN}和T={t1,t2,…,tM}分别为用户集和项目集,其中N为用户数,M为项目数,用户un对项目tm的评分值为Rnm,则所有用户对项目的评分构成的评分矩阵为R∈RN×M,每个用户都在本地存储评分数据,因此评分矩阵对服务器不可用;客户端c被定义为存储用户评分数据和用户真实交互数据的本地设备,每个客户端cn关联一个用户un,其真实评分数据和交互数据分别为Rn_和hn,每个用户un有一个本地评级记录向量使用这些评分记录生成交互数据hn,hnm表示向量hn上第m位被转换后的结果,方法如下所示:
随后,扰动版本的用户交互记录则可通过随机翻转机制生成。
本实施例利用差分隐私技术,给定隐私预算∈,则hn中的每一个比特都以q2的概率被翻转,以q1=1-q2的概率保持为原始值;这种对称翻转机制满足了的ε-差分隐私。图4为用户扰动数据上传的一个举例。这些扰动数据被上传到服务器以进行用户的行为相似度的计算以及用户分组。
用户行为相似度计算及用户分组由服务器进行执行,用户的行为相似度通过Jaccard相似度来进行估计,两个用户1和2的相似度函数定义如下:
其中,h1表示用户1的交互数据,h2表示用户2的交互数据,
则计算用户相似度的关键在于给定扰动向量和的情况下,对h1∩h2和h1∪h2进行一个准确的估计。扰动向量和分别是h1和h2添加扰动后的交互数据,对于i,j∈{0,1},nij表示在真实向量的第s个比特位置上的h1[s]=i和h2[s]=j的序对的个数,所有nij构成向量同样的,对于i,j∈{0,1},mij表示在扰动向量的第s个比特位置上和的序对的个数,所有mij构成向量设pr(1→1)=pr(0→0)=q1,表示某一位置上的值保持原始值的概率为q1,pr(1→0)=pr(0→1)=q2,表示某一位置上的值翻转的概率为q2,则h1和h2这两条向量的并集和交集的基数可以用平均场模型估计为:
其中原始向量某一位置上的值保持原始值的概率为q1,翻转的概率为q2。
通过对矩阵求逆,可以得到nij的四个无偏估计量:
原始向量h1和h2中对应位置上00序对的个数由向量长度m和|h1∪h2|共同决定,即n00=m-|h1∪h2|,那么|h1∪h2|可以估计为,
为|h1∪h2|的估计值。
同时,可以直接作为h1∩h2的估计量,
为h1∩h2的估计值。
基于该计算方式,利用上传的扰动数据,可以估计任意两个用户的行为相似度。如图所示,可生成一个用户相似度矩阵S∈RN×N。Rij表示用户ui和uj的相似度。将相似矩阵S的第n行作为用户un在分组阶段的行为特征,即用户un与所有其他用户的相似度。
然后,利用k-means聚类算法(或其他聚类算法)将用户划分为不同的集群G={Gl|l=1,…,C},其中Gl为第l个用户分组,C为聚类后的用户组数。图5为用户分组的一个举例示意图。
高阶信息提取为实现模型的快速训练以及提升推荐准确性提供必要的数据。高阶信息提取过程如下:在联邦学习设置中,用户的数据在用户设备本地保存,对于用户un,只有用户un交互过的项目(一阶节点)是本地可用的。用户嵌入保留有用户兴趣,包含一定隐私信息,在严格的隐私限制下,与用户un具有相同交互项的其他用户的嵌入(二阶节点)是不可用。
因此,本文设计将与用户un具有相同交互项的其他用户的交互项(三阶节点)加入到用户un的本地训练中,以丰富本地训练数据,增强用户表示。一旦服务器接收到每个用户上传的扰动记录,就可对具有相似偏好的用户进行分组,提取每个目标用户的可用的高阶信息。
对于图6中的目标用户un,l=3处的高阶信息由两部分组成,一是高阶项列表{i4,i5,i6},二是每个高阶项的出现频次{1,2,1}。此处利用与目标用户有相同交互项目的其他用户的交互项来增强目标用户的兴趣表示。服务器将提取的高阶信息发送给每个目标用户后,就可执行推荐模型的联邦训练。
模型架构设计实现对用户兴趣的建模。完成用户分组及提取高阶信息后,服务器将高阶信息、项目嵌入表、模型参数发送给各小组成员,用户/项目嵌入和推荐模型将通过联邦学习进行训练。联邦训练过程中,真实用户-项目交互数据保存在本地设备中,用于本地模型训练;本地模型学习到的用户嵌入只由本地设备保存,不上传服务器,只有模型参数和项目嵌入被上传到服务器进行聚合。
每个客户端都有三种不同类型的嵌入,分别是用户嵌入、评分项目嵌入和高阶项目嵌入。用户嵌入用以保留用户自身的隐私特征,并始终保存在本地设备。项目嵌入是隐藏空间中项目特征的向量表示。评分项目嵌入可以提供关于用户对特定项目的偏好的信息。高阶项目嵌入提供与该用户间接交互项目的信息以增强用户兴趣表示。
项目嵌入表示为Et∈Rd×M,由服务器维护。每个用户un都有自身的嵌入表示由用户自身维护。
对于用户un,其评分项目为高阶项(例如l=3)项为其评分项目嵌入为高阶项嵌入为 K、P分别表示用户评分项和高阶项的总数。表示用户un的嵌入。高阶项嵌入评分项目嵌入和用户嵌入这些嵌入作为本地GNN模型的输入,以进行推荐模型的训练,及用户/项目嵌入的学习和预测用户喜好。
为了获得用户喜好兴趣的全面表示,需要聚合这三种类型的嵌入,本方案使用不同的GAT层来学习相应的嵌入权值。对于用户及评分项目(un,tk),注意力分数snk为
其中W1∈Rd×d是线性映射矩阵,为用户自身的嵌入表示,为用户评分项目的嵌入表示,Attention函数表示注意层,更具体地说,attention层定义为
其中a∈R2d是权向量,||表示两个向量的拼接运算。
对于用户un的评分项,使用softmax函数计算注意力权重αnk如下:
其中αnk是最终的注意力权重,snk为用户及评分项目的注意力分数。
由于用户可能有多个相同的高阶项,在提取注意权重时需要考虑高阶项的出现次数。因此定义高阶项的权重βnp计算为:
其中表示用户un的高阶项p的重复次数,为用户即高阶项目的注意力分数,与用户与评分项的注意力分数采用相同的计算模式。
两种类型的项目的信息聚合如下:
分别为聚合后的用户评分项和高阶项的隐藏嵌入,为高阶项的嵌入表示。
由于高阶连通性图中不同类型的项目之间存在层次关系,评分项目嵌入和高阶项目嵌入对学习过程的贡献并不相同,聚合步骤中应处理该异构性。此处采用自注意力机制对两类获得的隐藏嵌入进行计算以获得当前GAT层的表示,即当前的兴趣表示eagg。
最终的用户表示计算方式为:
H为下标合集,用以标识当前的eh的指代,Att表示注意力机制计算,eh表示和eagg两部分。
预测用户喜好时,给定学习到的用户un的最终嵌入表示以及项目t(用户交互项目或未交互项目)的嵌入表示et,计算用户un对项目t评分
其中T表示转置。需要说明的是,项目t是一个大类,包括用户交互项目tm和未交互项目。
如图7所示,模型训练中对用户交互记录的保护利用伪交互项采样策略实现。在本地客户端中,Q个项目被采样为伪项,记为即Q个用户未曾与之交互,且没有出现在高阶项列表中的项目。伪项的预测分数有当前本地模型计算后取整得到。根据预测分数与取整后分数的差值,可以在本地设备中更新伪项嵌入,则在用户本地有三种类型项目嵌入得到更新,分别为,用户交互过的项目的嵌入,高阶项嵌入,伪项嵌入。在联邦聚合阶段,将三种类型的项嵌入(即用户评分项嵌入、伪项嵌入和高阶项嵌入)一起上传,从而隐藏用户真正交互的项目列表。
作为另一实施例,还提供一种通信高效的隐私保护推荐系统,推荐系统包含两种类型设备,包括多个用户客户端及一个中心服务器,各客户端与服务器的数据传输方式结合图8所示,其中数据预处理阶段的客户端与服务器间的数据只进行一次相互传输,训练中的模型参数传输需进行多次。
各用户客户端本地设备利用差分隐私技术对自己的本地交互数据(如对电影的评分数据)进行扰动处理后上传服务器(服务器无法判断用户真实交互的项目,以及用户对项目的真实评分数据)。
服务器端对得到的用户扰动数据进行处理,在有噪声存在的情况下对噪声数据的相似度进行去噪计算,获取用户之间的相似度;服务器利用计算所得的用户相似度矩阵对有相同兴趣的用户进行个性化分组,进行用户个性化分组后在服务器上提取模型训练所需要的高阶信息;服务器将提取出的高阶信息发送给各用户;重复下面的步骤完整推荐模型的训练(重复步骤6-9多次):服务器将全局模型分发给各客户端,各客户端利用本地数据及接收到的高阶信息进行本地模型的训练,各客户端并将更新后的本地模型的参数上传到服务器,服务器对各组接收到的模型参数进行分组聚合,以更新服务器上的全局模型。
为了让本领域技术人员更加理解本发明的上述实施例,下面以视频推荐为例进行说明。
首先,用户本地设备保留用户对视频的具体评分,用户本地设备将具体评分记录(如豆瓣评分1-5)转换位交互记录(0,1标记是否看过,1为看过,0为未看),随后利用差分隐私技术,对交互记录添加扰动,即以一定概率对0,1记录进行随机翻转(0翻转为1,1翻转为0),随后将该扰动记录上传服务器。服务器获取用户的扰动记录后,利用本发明所提出的方法,计算用户相似度并对用户进行个性化分组。分组完成后对各组内用户提取模型训练所需的高阶信息并分发。服务器分发初始推荐模型到各客户端,各组内的用户协同工作,利用自己设备本地数据进行模型的训练更新和上传,经过多轮训练,则各分组可获得性能较优的推荐模型,实现对组内用户喜好的预测。
综上所述,现有技术的用户真实评分数据服务器无法获得,但可以推测出用户真实交互过的项目有那些,而本发明创新性的在利用用户扰动记录在服务器上执行用户的个性化分组,将得到的用户分组提取高阶信息用于推荐模型的训练。达到了降低联邦训练时的通信耗费,提升了推荐模型的准确度。本发明技术方案中既可以实现对真实评分数据的保护,也可实现对用户真实交互记录的保护。
此外,本发明可以应用于电影视频,书籍、音乐等的推荐。模型设计中,还可以使用除图神经网络外的其他模型,如深度学习模型等。
当然,上述说明并非是对本发明的限制,本发明也并不限于上述举例,本技术领域的普通技术人员,在本发明的实质范围内,做出的变化、改型、添加或替换,都应属于本发明的保护范围。
Claims (9)
1.一种通信高效的隐私保护推荐方法,其特征在于,包括以下步骤:
步骤1、构建基于图神经网络的推荐模型,用以捕捉用户兴趣以及实现对用户喜好的预测,并对推荐模型进行联邦训练;推荐模型包括用户和物品的嵌入表示层、基于图神经网络的用户的兴趣提取模块、用户喜好的得分计算层,此外服务器端还设有一个高阶信息提取模块;在联邦训练中,根据推荐模型所处设备不同,将用户客户端持有的模型记做为本地模型,中心服务器持有的模型为全局模型;其中,推荐模型训练任务由各用户客户端和中心服务器联合完成,用户客户端利用本地数据进行推荐模型的训练更新,中心服务器对各用户客户端上传的本地模型进行聚合更新获取最新的全局模型及更新后的分发;
步骤2、对于一个冷启动用户,获取联邦训练中获得的用户嵌入和项目嵌入;
步骤3、将用户嵌入及用户未交互过的项目的嵌入送入训练好的推荐模型,获取用户对未交互过项目的兴趣分数;
步骤4、按推荐模型输出的用户对项目的兴趣分数的大小对项目进行排序推荐。
2.根据权利要求1所述的通信高效的隐私保护推荐方法,其特征在于,联邦训练过程包括:
第一阶段,对用户数据保护处理:各用户客户端对自己本地交互数据进行扰动处理添加保护后进行传输,然后,这些添加扰动的数据被上传到中心服务器以进行用户的行为相似度的计算以及用户分组,其中各组内的成员共同训练一个推荐模型,而不是所有用户共同训练一个全局模型,同时中心服务器的高阶信息提取模块对每个用户提取一个组内高阶嵌入信息,完成用户分组及提取高阶信息后,中心服务器将高阶信息和项目嵌入以及模型参数发送给各小组成员,用户嵌入和项目嵌入以及推荐模型将通过联邦学习进行训练;
第二阶段,各客户端利用本地数据以及接收到的高阶信息进行模型的本地训练,模型训练数个轮次后上传中心服务器,中心服务器聚合各客户端上传的本地模型进行一次全局模型的更新,第二阶段重复进行多次直至全局模型可用。
3.根据权利要求2所述的通信高效的隐私保护推荐方法,其特征在于,用户数据保护处理的具体步骤如下:定义U={u1,u2,...,uN}和T={t1,t2,...,tM}分别为用户集和项目集,其中N为用户数,M为项目数,用户un对项目tm的评分值为Rnm,则所有用户对项目的评分构成的评分矩阵为R∈RN×M,每个用户都在本地存储评分数据,因此评分矩阵对服务器不可用;客户端c被定义为存储用户评分数据和用户真实交互数据的本地设备,每个客户端cn关联一个用户un,其真实评分数据和交互数据分别为Rn-和hn,每个用户un有一个本地评级记录向量使用这些评分记录生成交互数据hn,hm表示交互数据hn上第m位被转换后的结果,方法如下所示:
随后,扰动后的用户交互记录通过随机翻转机制生成。
4.根据权利要求2所述的通信高效的隐私保护推荐方法,其特征在于,用户行为相似度计算及用户分组由服务器进行执行,用户的行为相似度通过Jaccard相似度来进行估计,两个用户1和2的相似度函数定义如下:
其中,h1表示用户1的交互数据,h2表示用户2的交互数据,
计算用户相似度的关键在于给定扰动向量和的情况下,对h1∩h2和h1∪h2进行一个准确的估计,扰动向量和分别是h1和h2添加扰动后的交互数据,对于i,j∈{0,1},nij表示在真实向量的第s个比特位置上的h1[s]=i和h2[s]=j的序对的个数,所有nij构成向量同样的,对于i,j∈{0,1},mij表示在扰动向量的第s个比特位置上和的序对的个数,所有mij构成向量设pr(1→1)=pr(0→0)=q1,表示某一位置上的值保持原始值的概率为q1,pr(1→0)=pr(0→1)=q2,表示某一位置上的值翻转的概率为q2,则向量h1和h2的并集和交集的基数可以用平均场模型估计为:
其中原始向量某一位置上的值保持原始值的概率为q1,翻转的概率为q2,通过对矩阵求逆,可以得到nij的四个无偏估计量:
原始向量h1和h2中对应位置上00序对的个数由向量长度m和|h1∪h2|共同决定,即n00=m-|h1∪h2|,那么|h1∪h2|可以估计为:
为|h1∪h2|的估计值;
同时,可以直接作为h1∩h2的估计量,
为h1∩h2的估计值;
基于该计算方式,利用上传的扰动数据,可以估计任意两个用户的行为相似度,生成一个用户相似度矩阵S∈RN×N,将相似矩阵S的第n行作为用户un在分组阶段的行为特征,即用户un与所有其他用户的相似度;
然后,利用聚类算法将用户划分为不同的集群G={Gl|l=1,...,C},其中Gl为第l个用户分组,C为聚类后的用户组数。
5.根据权利要求2所述的通信高效的隐私保护推荐方法,其特征在于,高阶信息提取过程如下:
在联邦学习设置中,用户的数据在用户设备保存,对于用户un,只有用户un交互过的项目,即一阶节点,是本地可用的;用户嵌入保留有用户兴趣,包含一定隐私信息,在严格的隐私限制下,与用户un具有相同交互项的其他用户的嵌入,即二阶节点,是不可用;将与用户un具有相同交互项的其他用户的交互项,即三阶节点,加入到用户un的本地训练中,一旦服务器接收到每个用户上传的扰动记录,就可对具有相似偏好的用户进行分组,提取每个用户un的可用的高阶信息,高阶信息由两部分组成,一是高阶项列表,二是每个高阶项的出现频次,此处利用与用户un有相同交互项目的其他用户的交互项来增强用户un的兴趣表示;服务器将提取的高阶信息发送给每个目标用户后,就可执行推荐模型的联邦训练。
6.根据权利要求1所述的通信高效的隐私保护推荐方法,其特征在于,每个客户端都有三种不同类型的嵌入,分别是用户嵌入、评分项目嵌入和高阶项目嵌入,用户嵌入用以保留用户自身的隐私特征,并始终保存在本地设备,项目嵌入是隐藏空间中项目特征的向量表示,评分项目嵌入可以提供关于用户对特定项目的偏好的信息,高阶项目嵌入提供与该用户间接交互项目的信息以增强用户兴趣表示;
项目嵌入表示为Et∈Rd×M,由服务器维护,每个用户un都有自身的嵌入表示由用户自身维护;
对于用户un,其评分项目为高阶项目为其评分项目嵌入为高阶项嵌入为 K、P分别表示用户评分项和高阶项的总数,高阶项嵌入和评分项目嵌入以及用户嵌入作为本地模型的输入,以进行推荐模型的训练,及用户/项目嵌入的学习和预测用户喜好,方法如下:使用不同的GAT层来学习相应的嵌入权值,聚合这三种类型的嵌入:
其中对于用户及评分项目(un,tk),注意力分数snk为:
其中W1∈Rd×d是线性映射矩阵,为用户自身的嵌入表示,为用户评分项目的嵌入表示,Attention函数表示注意层,更具体地说,attention层定义为
其中a∈R2d是权向量,||表示两个向量的拼接运算;
对于用户un的评分项,使用softmax函数计算注意力权重αnk如下:
其中,snk为用户及评分项目的注意力分数;
定义高阶项的权重βnp计算为:
其中表示用户un的高阶项p的重复次数,为用户即高阶项目的注意力分数,与用户与评分项的注意力分数采用相同的计算模式;
两种类型的项目的信息聚合如下:
分别为聚合后的用户评分项和高阶项的隐藏嵌入,为高阶项的嵌入表示;
采用自注意力机制对两类获得的隐藏嵌入进行计算以获得当前的兴趣表示eagg,最终的用户表示计算方式为:
H={un,agg}
H为下标合集,用以标识当前的eh的指代,Att表示注意力机制计算,eh表示和eagg两部分;
预测用户喜好时,给定学习到的用户un的最终嵌入表示以及项目t的嵌入表示et,其中项目t包括用户交互项目和未交互项目,则用户un对项目t评分计算如下:
其中T表示转置。
7.根据权利要求1所述的通信高效的隐私保护推荐方法,其特征在于,联邦训练过程中,真实用户-项目交互数据保存在本地设备中,用于本地模型训练;本地模型学习到的用户嵌入只由本地设备保存,不上传服务器,只有模型参数和项目嵌入被上传到服务器进行聚合。
8.根据权利要求2所述的通信高效的隐私保护推荐方法,其特征在于,联邦训练过程中,对用户交互记录的保护利用伪交互项采样策略实现:在本地客户端中,Q个项目被采样为伪项,记为即Q个用户未曾与之交互,且没有出现在高阶项列表中的项目,伪项的预测分数有当前本地模型计算后取整得到;根据预测分数与取整后分数的差值,可以在本地设备中更新伪项嵌入,则在用户本地由有三种类型项目嵌入得到更新,分别为,用户交互过的项目的嵌入,高阶项嵌入,伪项嵌入;在联邦聚合阶段,将三种类型的项嵌入,即用户评分项嵌入、伪项嵌入和高阶项嵌入,一起上传,从而隐藏用户真正交互的项目列表。
9.一种通信高效的隐私保护推荐系统,其特征在于,用于实现权利要求1-8任一项所述的推荐方法,所述系统包括多个用户客户端及一个中心服务器,各客户端与服务器的数据传输方式如下:
各用户客户端本地设备利用差分隐私技术对自己的本地交互数据进行扰动处理后上传服务器;
服务器端对得到的用户扰动数据进行处理,在有噪声存在的情况下对噪声数据的相似度进行去噪计算,获取用户之间的相似度;服务器利用计算所得的用户相似度矩阵对有相同兴趣的用户进行个性化分组,进行用户个性化分组后在服务器上提取模型训练所需要的高阶信息;服务器将提取出的高阶信息发送给各用户;重复下面的步骤完整推荐模型的训练:服务器将全局模型分发给各客户端,各客户端利用本地数据及接收到的高阶信息进行本地模型的训练,各客户端并将更新后的本地模型的参数上传到服务器,服务器对各组接收到的模型参数进行分组聚合,以更新服务器上的全局模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310982405.9A CN117035059A (zh) | 2023-08-04 | 2023-08-04 | 一种通信高效的隐私保护推荐系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310982405.9A CN117035059A (zh) | 2023-08-04 | 2023-08-04 | 一种通信高效的隐私保护推荐系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117035059A true CN117035059A (zh) | 2023-11-10 |
Family
ID=88623832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310982405.9A Pending CN117035059A (zh) | 2023-08-04 | 2023-08-04 | 一种通信高效的隐私保护推荐系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117035059A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592556A (zh) * | 2024-01-18 | 2024-02-23 | 南京邮电大学 | 一种基于gnn的半联邦学习系统及其运行方法 |
-
2023
- 2023-08-04 CN CN202310982405.9A patent/CN117035059A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592556A (zh) * | 2024-01-18 | 2024-02-23 | 南京邮电大学 | 一种基于gnn的半联邦学习系统及其运行方法 |
CN117592556B (zh) * | 2024-01-18 | 2024-03-26 | 南京邮电大学 | 一种基于gnn的半联邦学习系统及其运行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022041979A1 (zh) | 一种信息推荐模型的训练方法和相关装置 | |
Yin et al. | Joint event-partner recommendation in event-based social networks | |
CN105740401B (zh) | 一种基于个体行为和群体兴趣的兴趣地点推荐方法及装置 | |
Shen et al. | Learning personal+ social latent factor model for social recommendation | |
Jiang et al. | Social recommendation across multiple relational domains | |
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN109062962B (zh) | 一种融合天气信息的门控循环神经网络兴趣点推荐方法 | |
Deng et al. | A user identification algorithm based on user behavior analysis in social networks | |
CN108563755A (zh) | 一种基于双向循环神经网络的个性化推荐系统及方法 | |
CN110796232A (zh) | 属性预测模型训练方法、属性预测方法及电子设备 | |
CN106776928B (zh) | 基于内存计算框架、融合社交及时空数据的位置推荐方法 | |
CN111259263A (zh) | 一种物品推荐方法、装置、计算机设备及存储介质 | |
CN109933720B (zh) | 一种基于用户兴趣自适应演化的动态推荐方法 | |
CN108920647B (zh) | 基于谱聚类的低秩矩阵填充top-n推荐方法 | |
CN117035059A (zh) | 一种通信高效的隐私保护推荐系统及方法 | |
CN115049076A (zh) | 基于原型网络的迭代聚类式联邦学习方法 | |
Yang et al. | Attention mechanism and adaptive convolution actuated fusion network for next POI recommendation | |
Shilin | User Model‐Based Personalized Recommendation Algorithm for News Media Education Resources | |
Xu et al. | Generalized contextual bandits with latent features: Algorithms and applications | |
CN116882490A (zh) | 一种针对联邦长尾学习的全局模型训练方法 | |
Zeng | Application of conditional random field model based on machine learning in online and offline integrated educational resource recommendation | |
CN114417166B (zh) | 基于行为序列和动态社交影响的连续兴趣点推荐方法 | |
CN116541592A (zh) | 向量生成方法、信息推荐方法、装置、设备及介质 | |
Pang | A personalized recommendation algorithm for semantic classification of new book recommendation services for university libraries | |
CN104641386A (zh) | 使用户人群统计信息混淆的方法和装置 |
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 |