CN115270001B - 基于云端协同学习的隐私保护推荐方法及系统 - Google Patents

基于云端协同学习的隐私保护推荐方法及系统 Download PDF

Info

Publication number
CN115270001B
CN115270001B CN202211161306.6A CN202211161306A CN115270001B CN 115270001 B CN115270001 B CN 115270001B CN 202211161306 A CN202211161306 A CN 202211161306A CN 115270001 B CN115270001 B CN 115270001B
Authority
CN
China
Prior art keywords
model
user
data
private
central server
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.)
Active
Application number
CN202211161306.6A
Other languages
English (en)
Other versions
CN115270001A (zh
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.)
Ningbo University
Original Assignee
Ningbo 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 Ningbo University filed Critical Ningbo University
Priority to CN202211161306.6A priority Critical patent/CN115270001B/zh
Publication of CN115270001A publication Critical patent/CN115270001A/zh
Application granted granted Critical
Publication of CN115270001B publication Critical patent/CN115270001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于云端协同学习的隐私保护推荐方法及系统,推荐方法包括:将用户数据分为公开数据和隐私数据,中央服务器收集各用户终端设备中的公开数据并构建公开数据集,基于公开数据集训练公共模型;各用户在其终端设备中基于隐私数据训练本地私有模型,并将模型梯度发送至中央服务器,中央服务器聚合接收到的梯度,使用聚合后的梯度更新全局私有模型,并将更新结果发送至用户终端设备;迭代训练直至私有模型收敛;各用户在本地融合公开模型和私有模型以获得最终推荐模型,并基于最终推荐模型预测用户对候选集项目评分,根据评分完成推荐。本发明解决了现有的隐私保护推荐技术中推荐精度不高和用户终端设备计算负荷过大的问题。

Description

基于云端协同学习的隐私保护推荐方法及系统
技术领域
本发明涉及人工智能技术领域,特别是一种基于云端协同学习的隐私保护推荐方法及系统。
背景技术
推荐系统是目前实现个性化信息服务的有效途径,在电子商务、视频服务、广告等各个领域得到了广泛的应用。推荐系统根据用户个人信息,如用户的年龄、职业、性别、位置等,预测用户偏好和兴趣,从而更准确地向用户推荐其可能喜欢的物品或服务。目前的推荐系统都是集中收集用户数据后训练推荐模型并生成推荐结果。然而,在数据安全相关条例法规的要求下,数据流通面临着诸多困难。同时出于隐私安全考虑,用户可能不愿意让推荐系统存储其个人信息。在这种情况下,集中收集用户的数据会越来越困难。
推荐系统的问题可以定义为:根据一组用户对多个项目的评分情况预测出目标用户对未评分项目的偏好程度。因此需要训练一个推荐模型,以便基于该模型预测评分并根据预测的评分为目标用户推荐项目。为了尽可能得使推荐的物品贴合目标用户的偏好,应使得推荐模型对已知评分的预测结果与已知评分值尽可能相等。对于上述推荐模型的训练,除了用户对项目的评分外,通常还可以引入一些例如用户的性别、职业、人际关系、家庭背景等数据提升模型的推荐性能和个性化效果。
目前基于联邦学习的推荐系统研究认为所有的用户数据都是隐私数据,包括明确的反馈(点击、评分、评论)。然而,这些数据是由用户主动提供给系统并是公开展示的,同时这些用户交互行为也不可避免地被系统记录到数据库中。而例如个人工作信息、人际关系、家庭背景等信息等用户不愿意透露的数据属于需要被保护的隐私数据。虽然这些数据可以在一定程度上提高推荐系统的推荐性能,但这些敏感数据一旦被集中收集就有可能遭到恶意利用,给用户带来极大的风险和困扰。
为有效保护用户隐私和数据安全,联邦学习在推荐系统中得到了广泛的应用。联邦推荐系统由一个中央服务器和大量用户终端组成,每个用户终端在其本地利用其拥有的数据训练本地推荐模型。每个用户终端将自己训练的模型参数发送给中央服务器,并在该中央服务器上通过聚合的方法构建一个全局推荐模型。虽然在该过程中用户数据不会离开本地,很好地保护了数据安全和用户隐私,但是相对于集中式训练,联邦学习训练的模型性能会明显降低。
目前基于联邦学习的推荐系统中,模型训练过程均在用户终端设备(端)上进行,中央服务器(云)负责聚合模型参数以及协调训练过程。一般来说,联邦推荐系统中的用户终端设备大多都是轻量级设备(例如,智能手机、平板电脑),计算能力相对较低,无法执行复杂的机器学习任务。因此,在保证用户个人信息安全的前提下,如何完成复杂模型的训练并实现高精度的推荐效果是目前亟需解决的问题。
发明内容
本发明的目的在于,提供一种基于云端协同学习的隐私保护推荐方法及系统。本发明通过将部分计算压力转移给中央服务器以解决联邦推荐系统中用户终端设备计算压力过大的问题,同时通过集中式训练和分布式训练相结合的方式解决联邦推荐系统推荐精度较低的问题。
本发明的技术方案:
本发明一方面提供一种基于云端协同学习的隐私保护推荐方法,包括以下步骤:
步骤S1、各用户终端设备本地获取与用户对应的公开数据;
步骤S2、中央服务器收集步骤S1中各用户终端设备的公开数据,并基于接收到的公开数据构建公共数据集;
步骤S3、中央服务器基于步骤S2构建的公共数据集迭代训练公共模型,直至公共模型收敛;
步骤S4、中央服务器将步骤S3训练好的公共模型发送至各用户终端设备;
步骤S5、各用户终端设备本地获取用户的隐私数据与推荐项目的特征数据;
步骤S6、中央服务器选取参与本轮训练的用户,被选中的用户根据全局私有模型初始化本地私有模型;
步骤S7、被选中的用户在本地迭代训练本地私有模型,基于步骤S5获取的用户隐私数据与推荐项目的特征数据确定当前迭代中本地私有模型对应的准确率以及损失函数梯度,并将本地私有模型对应的准确率以及加噪后的梯度发送至中央服务器;
步骤S8、中央服务器根据各用户本地私有模型对应的准确率对梯度进行聚合,并根据梯度聚合结果更新全局 私有模型;
步骤S9、中央服务器根据更新后的全局私有模型,执行下一次迭代,将更新后的私有模型发送至被选中的用户;
步骤S10、各用户终端设备在本地融合步骤S4中的公共模型和步骤S9中的私有模型,以获得最终的推荐模型;
步骤S11、各用户终端设备使用最终的推荐模型预测用户对项目的评分,根据评分为用户进行项目推荐。
前述的基于云端协同学习的隐私保护推荐方法中,所述步骤S1至步骤S4进行的同时,同步进行步骤S5至步骤S9。
前述的基于云端协同学习的隐私保护推荐方法中,所述步骤S9中若更新后的私有模型未收敛,则返回步骤S6,再次进行步骤S6至步骤S9的操作;若步骤S9中更新后的私有模型已收敛,则进入步骤S10。
前述的基于云端协同学习的隐私保护推荐方法中,所述步骤S10中获得最终的推荐模型为:
Figure 100002_DEST_PATH_IMAGE001
其中,
Figure DEST_PATH_IMAGE002
为最终的推荐模型,
Figure 100548DEST_PATH_IMAGE003
Figure DEST_PATH_IMAGE004
Figure 951084DEST_PATH_IMAGE005
(
Figure DEST_PATH_IMAGE006
)用来调节
Figure 484833DEST_PATH_IMAGE002
Figure 539377DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE008
的依赖程度,当
Figure 516692DEST_PATH_IMAGE009
Figure 289476DEST_PATH_IMAGE002
完全依赖
Figure 95757DEST_PATH_IMAGE007
;当
Figure DEST_PATH_IMAGE010
Figure 552278DEST_PATH_IMAGE002
完全依赖
Figure 418603DEST_PATH_IMAGE008
前述的基于云端协同学习的隐私保护推荐方法中,所述步骤S7中计算出私有模型的损失函数梯度后,对损失函数梯度添加差分隐私噪声,再将含有噪声的梯度发送给中央服务器。
本发明另一方面提供一种基于云端协同学习的隐私保护推荐系统,系统包括第一获取模块、第二获取模块、第一训练模块、第二训练模块、隐私保护模块、融合模块和预测模块;
所述第一获取模块用于在本地获取与用户对应的公开数据;
所述第二获取模块用于在本地获取与用户对应的隐私数据以及推荐项目的特征数据;
所述第一训练模块用于在中央服务器迭代训练公共模型的过程中,执行如下操作:收集各用户终端设备的公开数据,并基于接收到的公开数据构建公共数据集;基于所述公共数据集迭代训练公共模型,直至公共模型收敛;将所述收敛后的公共模型发送至所有用户终端设备;
所述第二训练模块用于在本地迭代训练私有模型的至少一次迭代过程中,执行如下操作:基于获取的用户隐私数据与推荐项目特征数据确定当前迭代中本地私有模型对应的准确率以及损失函数梯度,并将准确率以及加入噪声的损失函数梯度发送至中央服务器;所述中央服务器选择准确率高于设定阈值的用户,根据这些用户所发送的加入噪声的损失函数梯度的聚合结果更新全局私有模型,并将更新后的全局私有模型发送至参与下一次迭代的用户终端设备;根据所述更新后的私有模型,执行下一次迭代;
所述隐私保护模块用于本地在向中央服务器发送的损失函数梯度上加入噪声,并根据所采用的加噪机制计算用户的隐私损失;
所述融合模块用于在本地融合私有模型和公共模型,以获得最终推荐模型;
所述预测模块用于根据最终推荐模型预测用户对项目的偏好程度,以根据所述偏好程度为用户进行项目推荐。
前述的基于云端协同学习的隐私保护推荐系统中,所述公开数据为用户主动提供给系统的数据,包括点击、评分、评论等;所述公开数据用于描述用户对应于多个推荐项目的偏好情况,多个用户终端设备各自获取的公开数据中具有相同的项目集。
前述的基于云端协同学习的隐私保护推荐系统中,所述隐私数据为用户个人信息数据,包括职业、年龄、性别、位置等;所述特征数据为用于描述项目基本属性及特征的数据,包括类别、价格等。
与现有技术相比,本发明的有益效果体现在:一方面,本发明通过将部分计算压力转移给中央服务器,以解决现有的隐私保护推荐技术中用户终端设备计算负荷过大的问题;另一方面,本发明通过集中式训练的公共模型来保证推荐性能,以解决现有的联邦推荐技术中推荐精度较低的问题。中央服务器收集各用户终端设备中的公开数据并以此构建公开数据集,基于公开数据集训练公共模型。用户的隐私数据虽然可以提高推荐系统的个性化能力和模型表现力,但这些数据是敏感的,因此本发明以一种隐私保护的方式利用隐私数据来训练私有模型,再通过融合公开模型和隐私模型获得最终推荐模型。公开模型通过集中式训练学习全局知识,保证最终推荐模型的推荐精度;私有模型能够保留用户的个性化信息,提升最终推荐模型的个性化性能。基于此,每个用户终端设备基于最终推荐模型预测其所对应的用户对候选集项目的评分,根据预测评分完成对用户的项目推荐,最终能实现在保护用户隐私的前提下做到较为精准的项目推荐。
附图说明
图1为本发明实施例提供的一种隐私保护推荐下隐私边界的示意图;
图2为本发明实施例提供的一种隐私保护推荐方法的流程示意图;
图3为本发明实施例提供的一种推荐模型的框架示意图;
图4为本发明实施例提供的一种公共模型训练过程的示意图;
图5为本发明实施例提供的一种私有模型一次训练过程的示意图;
图6为本发明实施例提供的一种推荐系统的框架示意图。
具体实施方式
为使本发明实施例目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例:本发明实施例将用户数据划分为公开数据和隐私数据,公开数据包括评分、评论等用户对项目的交互数据,隐私数据包括工作信息、人际关系、家庭背景等个人信息数据。在本发明实施例中每个用户拥有自己的隐私数据,并基于隐私数据在本地训练私有模型。如图1所示,隐私数据通常存储在用户自己的终端设备(例如,智能手机)中,永远不会离开本地。中央服务器可以收集用户的公开数据并基于收集到的公开数据训练公共模型。
为了避免不同用户终端设备上隐私数据的直接交互,在本发明实施例提供的联邦推荐系统中,会设置一个中央服务器,用于训练公共模型以及协调多个用户进行私有模型的联邦训练。在私有模型的联邦训练过程中,中央服务器维护一个全局私有模型,在各用户终端设备上都持有一个与全局私有模型结构相同的本地私有模型。各用户会在本地对私有模型进行训练,并将本地训练过程中产生的一些中间参数共享给中央服务器。中央服务器通过聚合接收到的参数进行全局私有模型的优化,以指导各用户更新本地私有模型。因此各用户终端设备中的本地私有模型中融入了从其他用户终端设备的数据中学习到的信息,提升了本地私有模型的推荐效果。
共享给中央服务器的中间参数中实际上隐含了用户的隐私信息,中央服务器或第三方攻击者在获取到中间参数后,可以通过梯度反推等手段推理出参与模型训练的本地隐私数据。为了解决以上问题可以采用差分隐私技术来保证用户的隐私安全,即在用户终端设备向中央服务器发送的中间参数上加入满足差分隐私的噪声数据。
下面结合附图对本发明提供的方案的执行过程作进一步的说明。
为便于描述,现将下文的符号书写规则作一简要解释。
Figure 678683DEST_PATH_IMAGE011
表示系统中所有用户的集合。
Figure DEST_PATH_IMAGE012
Figure 570546DEST_PATH_IMAGE013
分别表示数据和模型。符号上标指出该符号所表示的对象的所在位置,具体来说,上标
Figure DEST_PATH_IMAGE014
表示该对象位于中央服务器,上标
Figure 130841DEST_PATH_IMAGE015
表示该对象位于用户
Figure 168067DEST_PATH_IMAGE015
的终端设备上;符号下标指出该符号所表示的对象是否具有隐私性,具体来说,下标
Figure DEST_PATH_IMAGE016
表示该对象具有隐私性,下标
Figure 931755DEST_PATH_IMAGE017
表示则该对象为公开对象。例如,
Figure DEST_PATH_IMAGE018
表示位于中央服务器上的公开数据。
其中,用户终端设备用于在本地获取与所述用户对应的公开数据、隐私数据以及项目的特征数据,在本地迭代训练私有模型的至少一次迭代过程中,执行如下操作:基于获取的用户隐私数据与项目特征数据确定当前迭代中私有模型对应的准确率以及损失函数梯度;将准确率以及加入噪声的损失函数梯度发送至中央服务器;接收所述中央服务器发送的更新后的私有模型;根据所述更新后的私有模型,执行下一次迭代;以及,在本地融合私有模型和公共模型,以获得最终推荐模型,并根据所述最终推荐模型预测用户对项目的偏好程度,以根据所述偏好程度为所述用户进行项目推荐。
其中,中央服务器用于在迭代训练公共模型的过程中,执行如下操作:收集各用户终端设备的公开数据,并基于接收到的公开数据构建公共数据集;基于所述公共数据集迭代训练公共模型,直至公共模型收敛;将所述收敛后的公共模型发送至所有用户终端设备;以及,在迭代私有模型的过程中,执行如下操作:接收各用户终端设备发送的准确率以及加入噪声的损失函数梯度;选择准确率高于阈值的用户,根据这些用户所发送的加入噪声的损失函数梯度的聚合结果更新私有模型;选择参与下一次迭代训练的用户终端设备,并将更新后的私有模型发送至被选中的用户终端设备。
基于云端协同学习的隐私保护推荐方法,流程如图2所示,包括以下步骤:
步骤S1、首先,每个用户终端设备本地收集公开数据
Figure 876577DEST_PATH_IMAGE019
Figure 494640DEST_PATH_IMAGE019
反应了用户
Figure 719079DEST_PATH_IMAGE015
对多个项目的评价情况,其中包括点击、评分、评论等。每个用户的公开数据中具有相同的项目集和不同的评价数据。
在实际应用中,需要为用户推荐的项目可以是音乐、电影、商品、新闻等等。针对不同的推荐项目,公开数据中包括的数据也有所不同。例如,在音乐推荐应用中,
Figure 688172DEST_PATH_IMAGE019
包括了用户
Figure 374368DEST_PATH_IMAGE015
对多首音乐的收听、下载、点赞等数据;在商品推荐中,
Figure 378097DEST_PATH_IMAGE019
包括了用户
Figure 773437DEST_PATH_IMAGE015
对多个商品的加购物车、购买、评论等数据。
步骤S2、每个用户终端设备将收集到的公开数据
Figure 964247DEST_PATH_IMAGE019
发送至中央服务器。中央服务器基于接收到的给用户终端设备的公开数据
Figure 719713DEST_PATH_IMAGE019
构建公开数据集
Figure DEST_PATH_IMAGE020
步骤S3、中央服务器构建一个公共模型
Figure 843527DEST_PATH_IMAGE021
以及相应的损失函数。在某一次迭代过程中,中央服务器可以基于本次迭代中的
Figure 409769DEST_PATH_IMAGE021
输出
Figure 87875DEST_PATH_IMAGE018
的预测结果,基于该预测结果与
Figure 381453DEST_PATH_IMAGE018
中的真实结果计算出损失函数的对应值,并计算出
Figure 94194DEST_PATH_IMAGE021
的梯度,然后基于该梯度更新模型
Figure 549446DEST_PATH_IMAGE021
。重复上述迭代过程,直至公共模型收敛。
步骤S4、中央服务器将模型
Figure 714848DEST_PATH_IMAGE021
下发至各用户终端设备。
各用户终端设备接收来自中央服务器的公共模型
Figure 556990DEST_PATH_IMAGE021
,使用
Figure 389817DEST_PATH_IMAGE021
的副本构建并初始化本地公共模型
Figure 281550DEST_PATH_IMAGE008
,即令
Figure DEST_PATH_IMAGE022
步骤S1至步骤S4对应图4,图4为本发明实施例提供的一种公共模型训练过程的示意图,为方便描述,图4仅仅示意了包括中央服务器、第一用户终端设备、第二用户终端设备的情形。
步骤S1至步骤S4进行的同时,同步进行步骤S5至步骤S9。
步骤S5、首先,每个用户终端设备本地收集隐私数据
Figure 216139DEST_PATH_IMAGE023
Figure 851519DEST_PATH_IMAGE023
反应了用户c的一些个人信息,其中包括职业、家庭背景、社交关系等。
在实际应用中, 针对不同的推荐项目,隐私数据中包括的数据也有所不同。例如,在工作推荐应用中,
Figure 273273DEST_PATH_IMAGE023
应包括用户
Figure 335907DEST_PATH_IMAGE015
的教育背景、工作经历等数据;在社交推荐中,
Figure 475902DEST_PATH_IMAGE023
应包括用户
Figure 914973DEST_PATH_IMAGE015
的社交关系等数据。
在开始协同训练前,中央服务器与各用户终端设备应对全局私有模型
Figure DEST_PATH_IMAGE024
和本地私有模型
Figure 473125DEST_PATH_IMAGE007
的结构保持一致。除此之外,各参与方还需采用相同的超参数、通信协议等。
步骤S6、中央服务器随机初始化
Figure 706660DEST_PATH_IMAGE024
。在某一次迭代过程中,中央服务器选择参与本轮训练的用户集
Figure 333950DEST_PATH_IMAGE025
,其中
Figure DEST_PATH_IMAGE026
。将
Figure 593024DEST_PATH_IMAGE024
下发至被选中的用户终端设备。被选中的用户终端设备使用
Figure 989371DEST_PATH_IMAGE024
初始化
Figure 393807DEST_PATH_IMAGE007
。可以使用
Figure 508394DEST_PATH_IMAGE024
的参数值直接初始化
Figure 23689DEST_PATH_IMAGE007
的参数,即令
Figure 274542DEST_PATH_IMAGE027
步骤S7、被选中的用户终端设备可以基于初始化后的
Figure 866191DEST_PATH_IMAGE007
输出
Figure 468074DEST_PATH_IMAGE023
的预测结果,基于该预测结果与
Figure 787060DEST_PATH_IMAGE018
中的真实结果计算出准确率
Figure DEST_PATH_IMAGE028
以及损失函数的对应值,根据损失函数的值计算出
Figure 423577DEST_PATH_IMAGE007
的梯度
Figure 186128DEST_PATH_IMAGE029
,并将准确率
Figure 744148DEST_PATH_IMAGE028
和梯度
Figure 132404DEST_PATH_IMAGE029
发送至中央服务器。
步骤S8、中央服务器接收来自用户终端设备的
Figure 92270DEST_PATH_IMAGE028
Figure 274990DEST_PATH_IMAGE029
。由于各用户终端设备中的数据量的大小不一,导致计算出来的梯度与全局最优梯度之间存在不同程度的误差,因此在本发明实施例中通过设定准确率阈值
Figure DEST_PATH_IMAGE030
Figure 867776DEST_PATH_IMAGE031
)过滤掉误差较大的梯度。中央服务器只聚合准确率高于阈值的用户梯度,聚合后的梯度为:
Figure DEST_PATH_IMAGE032
其中,函数
Figure DEST_PATH_IMAGE033
定义如下:
Figure DEST_PATH_IMAGE034
上述梯度聚合方式充分考虑到了不同用户的梯度对全局模型梯度的影响。一般来说,本地模型的准确率越高,其梯度的方向越可能接近全局模型的梯度最优方向;而本地模型的准确率越低,其梯度的方向与全局模型的梯度最优方向相差越大。当准确率低至一定程度时,其梯度方向可能与全局模型梯度的方向相反,此时,本地模型的梯度不仅没有参考价值,甚至会有负面影响,应当丢弃。
使用聚合后的梯度
Figure 607193DEST_PATH_IMAGE035
更新全局私有模型
Figure 421565DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE036
其中,
Figure 306345DEST_PATH_IMAGE037
(
Figure DEST_PATH_IMAGE038
)为学习率。
步骤S9、中央服务器选择参与下一轮训练的用户,并将更新后的全局私有模型
Figure 370116DEST_PATH_IMAGE024
下发至被选中的用户。
上述过程为一轮训练。通过循环迭代的方式不断进行训练,直至模型
Figure 845047DEST_PATH_IMAGE024
收敛,结束训练过程并将收敛后的模型
Figure 513926DEST_PATH_IMAGE024
下发至所有用户终端设备。各用户终端设备使用收敛后的模型
Figure 304028DEST_PATH_IMAGE024
的参数值重新初始化其本地私有模型
Figure 323936DEST_PATH_IMAGE007
。至此,各用户终端设备中私有模型
Figure 592107DEST_PATH_IMAGE007
和公共模型
Figure 131803DEST_PATH_IMAGE008
均已训练完成。
步骤S5至步骤S9对应图5,图5为本发明实施例提供的一种私有模型一次训练过程的示意图,为方便描述,图5仅仅示意了包括中央服务器、第一用户终端设备、第二用户终端设备的情形。
步骤S10、各用户终端设备在本地融合步骤S4中的公共模型和步骤S9中的私有模型,以获得最终的推荐模型。
步骤S10中获得最终的推荐模型为:
Figure 92806DEST_PATH_IMAGE001
其中,
Figure 334432DEST_PATH_IMAGE002
为最终的推荐模型,
Figure 406293DEST_PATH_IMAGE003
Figure 315343DEST_PATH_IMAGE004
Figure 932400DEST_PATH_IMAGE005
(
Figure 926901DEST_PATH_IMAGE006
)用来调节
Figure 536874DEST_PATH_IMAGE002
Figure 300431DEST_PATH_IMAGE007
Figure 337657DEST_PATH_IMAGE008
的依赖程度,当
Figure 835765DEST_PATH_IMAGE009
Figure 983850DEST_PATH_IMAGE002
完全依赖
Figure 867492DEST_PATH_IMAGE007
;当
Figure 341199DEST_PATH_IMAGE010
Figure 44713DEST_PATH_IMAGE002
完全依赖
Figure 730909DEST_PATH_IMAGE008
步骤S11、基于模型
Figure 485370DEST_PATH_IMAGE002
预测用户
Figure 598819DEST_PATH_IMAGE015
对候选集中项目的评分,该预测评分放映了用户c的偏好程度,评分值越高偏好程度越打。从而,根据预测评分对候选集项目进行排序,根据排序结果为用户
Figure 55208DEST_PATH_IMAGE015
生成推荐列表,例如,推荐排序结果中靠前的一定数量的项目。
图3为本发明实施例提供的一种推荐模型的框架示意图,在本发明实施例中,不对公共模型、私有模型的结构进行限定。从功能角度来说,公共模型和私有模型的结构主要包括嵌入层、隐藏层、输出层,其中,嵌入层用于对输入数据进行编码以得到相应的表达,隐藏层用于学习输入数据之间的潜在关系,输出层主要用于通过点积、加权等方式输出预测评分。
由用户终端设备共享给中央服务器的梯度中实际上隐含了用户的隐私信息,中央服务器或第三方攻击者在获取到梯度后,可以通过梯度反推等手段推理出参与模型训练的本地隐私数据。
因此,需要确保在上述联邦学习过程中,即使中央服务器或第三方攻击者在获取到梯度后也无法获取用户的原始数据。可以通过对梯度添加噪声来保证用户的隐私安全。差分隐私(differential privacy,DP)是一种典型的加噪技术,即在用户终端设备向中央服务器发送的梯度上加入差分隐私噪声,使得用户的梯度满足差分隐私定义:
Figure DEST_PATH_IMAGE039
-DP。其中,
Figure DEST_PATH_IMAGE040
为隐私预算,
Figure 76254DEST_PATH_IMAGE030
为隐私置信度。从而,将用户的隐私损失限定在一定程度内。
在本发明实施例中,各用户终端设备在计算出本地私有模型的梯度
Figure 685221DEST_PATH_IMAGE029
后,并不直接将
Figure 235151DEST_PATH_IMAGE029
发送至中央服务器,而是对
Figure 178836DEST_PATH_IMAGE029
添加差分隐私噪声
Figure 206835DEST_PATH_IMAGE041
后,将含有噪声的梯度
Figure DEST_PATH_IMAGE042
发送给中央服务器。
也即步骤S8中央服务器使用下式的方式聚合含噪声的梯度,并使用聚合后的梯度
Figure 935888DEST_PATH_IMAGE035
更新模型
Figure 922298DEST_PATH_IMAGE024
Figure 87700DEST_PATH_IMAGE043
在选择参与下一轮训练的用户时,中央服务器需考虑各用户的隐私预算是否有剩余。具体来说,在选择用户前,中央服务器根据每轮训练的隐私预算计算每位用户当前累计消耗的隐私预算。如果累计的隐私预算小于用户计划的总隐私预算,则该用户可以继续参加接下来的训练;否则,该用户退出后续训练过程。例如,假设用户
Figure 184969DEST_PATH_IMAGE015
计划的总隐私预算为
Figure 486638DEST_PATH_IMAGE040
,该用户当前已参与了第1、2、4、6轮训练,那么用户
Figure 394682DEST_PATH_IMAGE015
当前累计的隐私预算为
Figure DEST_PATH_IMAGE044
,其中
Figure 578539DEST_PATH_IMAGE045
的隐私预算的组合函数,用于求解一系列满足差分隐私的算法组合在一起后的隐私预算。如果:
Figure DEST_PATH_IMAGE046
即总隐私预算未完全使用,则用户参与后续训练;如果:
Figure DEST_PATH_IMAGE047
即总隐私预算已完全使用,则用户退出后续训练。从而,使得保证整个迭代训练的过程对于每位用户均满足
Figure 745078DEST_PATH_IMAGE039
-DP。
可选地,所述噪声
Figure 177284DEST_PATH_IMAGE041
满足高斯机制,即
Figure DEST_PATH_IMAGE048
。对于
Figure 771077DEST_PATH_IMAGE033
,应有:
Figure 645492DEST_PATH_IMAGE049
其中,
Figure DEST_PATH_IMAGE050
为用户为第
Figure DEST_PATH_IMAGE051
轮训练所计划的隐私预算,
Figure DEST_PATH_IMAGE052
为梯度
Figure 163192DEST_PATH_IMAGE029
的敏感度。
可选地,所述函数
Figure 705032DEST_PATH_IMAGE045
是串行组合(Sequential Composition)。具体来说,给定数据集
Figure 938567DEST_PATH_IMAGE012
以及一组关于
Figure 316590DEST_PATH_IMAGE012
的差分隐私算法
Figure DEST_PATH_IMAGE053
分别满足
Figure DEST_PATH_IMAGE054
-DP且任意两个算法的随机过程独立,则这些算法组合起来的算法满足
Figure 824931DEST_PATH_IMAGE055
-DP。
概括来说,通过差分隐私来保护用户隐私安全的核心思想是:在用户终端设备发出的梯度上添加噪声,即使中央服务器或者第三方攻击者获取到梯度后,也无法从梯度中推断出准确的信息,同时通过限度隐私预算将用户的隐私损失控制在一定范围内。
以下将介绍本发明实施例的隐私保护推荐系统。本领域的技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所阐述的步骤进行配置来构成。
图6为本发明实施例提供的一种推荐系统的框架示意图,该系统包括:第一获取模块、第二获取模块、第一训练模块、第二训练模块、隐私保护模块、融合模块、预测模块。
第一获取模块,用于在本地获取与所述用户对应的公开数据,所述公开数据包括点击、评分等由用户主动提供给系统的数据,所述公开数据用于描述所述用户对应于多个项目的偏好情况,所述多个用户终端设备各自获取的公开数据中具有相同的项目集;
第二获取模块,用于在本地获取与所述用户对应的隐私数据与项目的特征数据,所述隐私数据包括职业、年龄、性别、位置等不宜公开的用户个人信息,所述特征数据包括类别、价格等用于描述项目基本属性及特征的数据;
第一训练模块,用于在中央服务器迭代训练公共模型的过程中,执行如下操作:收集各用户终端设备的公开数据,并基于接收到的公开数据构建公共数据集;基于所述公共数据集迭代训练公共模型,直至公共模型收敛;将所述收敛后的公共模型发送至所有用户终端设备;
第二训练模块,用于在本地迭代训练私有模型的至少一次迭代过程中,执行如下操作:基于获取的用户隐私数据与项目特征数据确定当前迭代中私有模型对应的准确率以及损失函数梯度,并将准确率以及加入噪声的损失函数梯度发送至中央服务器;所述中央服务器选择准确率高于阈值的用户,根据这些用户所发送的加入噪声的损失函数梯度的聚合结果更新私有模型,并将更新后的私有模型发送至参与下一次迭代的用户终端设备;根据所述更新后的私有模型,执行下一次迭代;
隐私保护模块,用于本地在向中央服务器发送的损失函数梯度上加入噪声,并根据所采用的加噪机制计算用户的隐私损失;
融合模块,用于在本地融合私有模型和公共模型,以获得最终推荐模型;
预测模块,用于根据所述最终推荐模型预测用户对项目的偏好程度,以根据所述偏好程度为所述用户进行项目推荐。
以上所描述的系统仅仅是示意性的,其中系统的各模块可以是或者也可以不是物理上分开的。可以根据实际需要选择其中的部分或全部模块来实现本发明实施例的目的。
通过以上对本发明实施方式的描述,本领域的技术人员可以清楚地了解到各实施方案可以借助相关的硬件平台的方式来实现。本质上,上述技术方案可以以计算机程序产品的形式体现出来。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行同等替换;而这些修改或者替换,并不是相应的技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.基于云端协同学习的隐私保护推荐方法,其特征在于:包括以下步骤:
步骤S1、各用户终端设备本地获取与用户对应的公开数据;
步骤S2、中央服务器收集步骤S1中各用户终端设备的公开数据,并基于接收到的公开数据构建公共数据集;
步骤S3、中央服务器基于步骤S2构建的公共数据集迭代训练公共模型,直至公共模型收敛;
步骤S4、中央服务器将步骤S3训练好的公共模型发送至各用户终端设备;
步骤S5、各用户终端设备本地获取用户的隐私数据与推荐项目的特征数据;
步骤S6、中央服务器选取参与本轮训练的用户,被选中的用户根据全局私有模型初始化本地私有模型;
步骤S7、被选中的用户在本地迭代训练私有模型,基于步骤S5获取的用户隐私数据与推荐项目的特征数据确定当前迭代中本地私有模型对应的准确率以及损失函数梯度,并将本地私有模型对应的准确率以及加噪后的梯度发送至中央服务器;
步骤S8、中央服务器根据各用户本地私有模型对应的准确率对梯度进行聚合,并根据梯度聚合结果更新全局私有模型;
步骤S9、中央服务器根据更新后的全局私有模型,执行下一次迭代,将更新后的私有模型发送至被选中的用户;通过循环迭代的方式不断进行训练,直至全局私有模型收敛,结束训练过程并将收敛后的模型下发至所有用户终端设备,各用户终端设备使用收敛后的全局私有模型的参数值重新初始化其本地私有模型;
步骤S10、各用户终端设备在本地融合步骤S4中的公共模型和步骤S9中的私有模型,以获得最终的推荐模型;
步骤S11、各用户终端设备使用最终的推荐模型预测用户对项目的评分,根据评分为用户进行项目推荐。
2.根据权利要求1所述的基于云端协同学习的隐私保护推荐方法,其特征在于:所述步骤S1至步骤S4进行的同时,同步进行步骤S5至步骤S9。
3.根据权利要求2所述的基于云端协同学习的隐私保护推荐方法,其特征在于:所述步骤S9中若更新后的私有模型未收敛,则返回步骤S6,再次进行步骤S6至步骤S9的操作;若步骤S9中更新后的私有模型已收敛,则进入步骤S10。
4.根据权利要求1所述的基于云端协同学习的隐私保护推荐方法,其特征在于:所述步骤S10中获得最终的推荐模型为:
Figure DEST_PATH_IMAGE001
其中,
Figure 95340DEST_PATH_IMAGE002
为最终的推荐模型,
Figure 48252DEST_PATH_IMAGE003
Figure 845307DEST_PATH_IMAGE004
Figure 454143DEST_PATH_IMAGE005
(
Figure 191417DEST_PATH_IMAGE006
)用来调节
Figure 202098DEST_PATH_IMAGE002
Figure 170054DEST_PATH_IMAGE007
Figure 328503DEST_PATH_IMAGE008
的依赖程度,当
Figure 40107DEST_PATH_IMAGE009
Figure 905295DEST_PATH_IMAGE002
完全依赖
Figure 106469DEST_PATH_IMAGE007
;当
Figure 689897DEST_PATH_IMAGE010
Figure 939613DEST_PATH_IMAGE002
完全依赖
Figure 987203DEST_PATH_IMAGE008
5.根据权利要求1所述的基于云端协同学习的隐私保护推荐方法,其特征在于:所述步骤S7中计算出私有模型的损失函数梯度后,对损失函数梯度添加差分隐私噪声,再将含有噪声的梯度发送给中央服务器。
6.基于云端协同学习的隐私保护推荐系统,其特征在于:包括第一获取模块、第二获取模块、第一训练模块、第二训练模块、隐私保护模块、融合模块和预测模块;
所述第一获取模块用于在本地获取与用户对应的公开数据;
所述第二获取模块用于在本地获取与用户对应的隐私数据以及推荐项目的特征数据;
所述第一训练模块用于在中央服务器迭代训练公共模型的过程中,执行如下操作:收集各用户终端设备的公开数据,并基于接收到的公开数据构建公共数据集;基于所述公共数据集迭代训练公共模型,直至公共模型收敛;将所述收敛后的公共模型发送至所有用户终端设备;
所述第二训练模块用于在本地迭代训练私有模型的至少一次迭代过程中,执行如下操作:基于获取的用户隐私数据与推荐项目特征数据确定当前迭代中本地私有模型对应的准确率以及损失函数梯度,并将准确率以及加入噪声的损失函数梯度发送至中央服务器;所述中央服务器选择准确率高于设定阈值的用户,根据这些用户所发送的加入噪声的损失函数梯度的聚合结果更新全局私有模型,并将更新后的全局私有模型发送至参与下一次迭代的用户终端设备;根据所述更新后的私有模型,执行下一次迭代;通过循环迭代的方式不断进行训练,直至全局私有模型收敛,结束训练过程并将收敛后的模型下发至所有用户终端设备,各用户终端设备使用收敛后的全局私有模型的参数值重新初始化其本地私有模型;
所述隐私保护模块用于本地在向中央服务器发送的损失函数梯度上加入噪声,并根据所采用的加噪机制计算用户的隐私损失;
所述融合模块用于在本地融合私有模型和公共模型,以获得最终推荐模型;
所述预测模块用于根据最终推荐模型预测用户对项目的偏好程度,以根据所述偏好程度为用户进行项目推荐。
7.根据权利要求6所述的基于云端协同学习的隐私保护推荐系统,其特征在于:所述公开数据为用户主动提供给系统的数据,包括点击、评分、评论;所述公开数据用于描述用户对应于多个推荐项目的偏好情况,多个用户终端设备各自获取的公开数据中具有相同的项目集。
8.根据权利要求6所述的基于云端协同学习的隐私保护推荐系统,其特征在于:所述隐私数据为用户个人信息数据,包括职业、年龄、性别、位置;所述特征数据为用于描述项目基本属性及特征的数据,包括类别、价格。
CN202211161306.6A 2022-09-23 2022-09-23 基于云端协同学习的隐私保护推荐方法及系统 Active CN115270001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211161306.6A CN115270001B (zh) 2022-09-23 2022-09-23 基于云端协同学习的隐私保护推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211161306.6A CN115270001B (zh) 2022-09-23 2022-09-23 基于云端协同学习的隐私保护推荐方法及系统

Publications (2)

Publication Number Publication Date
CN115270001A CN115270001A (zh) 2022-11-01
CN115270001B true CN115270001B (zh) 2022-12-23

Family

ID=83756593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211161306.6A Active CN115270001B (zh) 2022-09-23 2022-09-23 基于云端协同学习的隐私保护推荐方法及系统

Country Status (1)

Country Link
CN (1) CN115270001B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116015748B (zh) * 2022-12-07 2023-07-28 广东金融学院 一种面向环境和用户的位置隐私保护机制的推荐方法及系统
CN115828171B (zh) * 2023-02-13 2023-05-16 支付宝(杭州)信息技术有限公司 一种端云协同执行业务的方法、装置、介质及设备
CN117494191A (zh) * 2023-10-17 2024-02-02 南昌大学 一种信息物理安全的兴趣点微服务系统及其方法
CN117787386A (zh) * 2023-12-29 2024-03-29 中科南京信息高铁研究院 面向混合隐私数据的端边云协同训练与任务推理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656529A (zh) * 2018-10-31 2019-04-19 北京大学 一种针对客户端深度学习的在线定制化方法及系统
CN110197285A (zh) * 2019-05-07 2019-09-03 清华大学 基于区块链的安全协作深度学习方法及装置
CN110990871A (zh) * 2019-11-29 2020-04-10 腾讯云计算(北京)有限责任公司 基于人工智能的机器学习模型训练方法、预测方法及装置
CN113222175A (zh) * 2021-04-29 2021-08-06 深圳前海微众银行股份有限公司 信息处理方法及系统
CN114003949A (zh) * 2021-09-30 2022-02-01 清华大学 基于隐私数据集的模型训练方法和装置
CN114169010A (zh) * 2021-12-13 2022-03-11 安徽理工大学 一种基于联邦学习的边缘隐私保护方法
CN114398538A (zh) * 2021-12-08 2022-04-26 西安电子科技大学 隐私保护的跨域推荐方法、系统、存储介质、计算机设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443240B2 (en) * 2019-09-06 2022-09-13 Oracle International Corporation Privacy preserving collaborative learning with domain adaptation
US11770407B2 (en) * 2021-01-12 2023-09-26 Walmart Apollo, Llc Methods and apparatuses for defending against data poisoning attacks in recommender systems
CN113127931B (zh) * 2021-06-18 2021-09-03 国网浙江省电力有限公司信息通信分公司 基于瑞丽散度进行噪声添加的联邦学习差分隐私保护方法
CN114997420B (zh) * 2022-08-03 2022-12-16 广州中平智能科技有限公司 基于分割学习和差分隐私融合的联邦学习系统和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656529A (zh) * 2018-10-31 2019-04-19 北京大学 一种针对客户端深度学习的在线定制化方法及系统
CN110197285A (zh) * 2019-05-07 2019-09-03 清华大学 基于区块链的安全协作深度学习方法及装置
CN110990871A (zh) * 2019-11-29 2020-04-10 腾讯云计算(北京)有限责任公司 基于人工智能的机器学习模型训练方法、预测方法及装置
CN113222175A (zh) * 2021-04-29 2021-08-06 深圳前海微众银行股份有限公司 信息处理方法及系统
CN114003949A (zh) * 2021-09-30 2022-02-01 清华大学 基于隐私数据集的模型训练方法和装置
CN114398538A (zh) * 2021-12-08 2022-04-26 西安电子科技大学 隐私保护的跨域推荐方法、系统、存储介质、计算机设备
CN114169010A (zh) * 2021-12-13 2022-03-11 安徽理工大学 一种基于联邦学习的边缘隐私保护方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种改进的系统间隐私保持协同过滤推荐算法;吴涛等;《计算机工程与应用》;20120906(第15期);全文 *
面向知识迁移的跨领域推荐算法研究进展;任豪等;《计算机科学与探索》;20200908;全文 *

Also Published As

Publication number Publication date
CN115270001A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
CN115270001B (zh) 基于云端协同学习的隐私保护推荐方法及系统
CN109767301B (zh) 推荐方法及系统、计算机装置、计算机可读存储介质
US11657253B1 (en) Flexible multi-task neutral network for content ranking
CN108460619B (zh) 一种提供融合显隐式反馈的协同推荐模型的方法
EP4181026A1 (en) Recommendation model training method and apparatus, recommendation method and apparatus, and computer-readable medium
US10354184B1 (en) Joint modeling of user behavior
CN112074857A (zh) 组合机器学习和社交数据以生成个性化推荐
Hu et al. Movie collaborative filtering with multiplex implicit feedbacks
CN109190030B (zh) 融合node2vec和深度神经网络的隐式反馈推荐方法
US11379715B2 (en) Deep learning based distribution of content items describing events to users of an online system
CN111881350A (zh) 一种基于混合图结构化建模的推荐方法与系统
US20190005409A1 (en) Learning representations from disparate data sets
US10909454B2 (en) Multi-task neutral network for feed ranking
CN113761388B (zh) 一种推荐方法、装置、电子设备及存储介质
CN111783810A (zh) 用于确定用户的属性信息的方法和装置
CN113610610B (zh) 基于图神经网络和评论相似度的会话推荐方法和系统
CN113590976A (zh) 一种空间自适应图卷积网络的推荐方法
CN115221413B (zh) 一种基于交互式图注意力网络的序列推荐方法及系统
CN113450167A (zh) 一种商品推荐方法和装置
CN112292696A (zh) 确定执行设备的动作选择方针
CN115599990A (zh) 一种知识感知结合深度强化学习的跨域推荐方法及系统
WO2022235599A1 (en) Generation and implementation of dedicated feature-based techniques to optimize inference performance in neural networks
US20220270155A1 (en) Recommendation with neighbor-aware hyperbolic embedding
US11188846B1 (en) Determining a sequential order of types of events based on user actions associated with a third party system
CN112292699A (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
GR01 Patent grant
GR01 Patent grant