CN115114980A - 联合训练用户聚类模型的、用户聚类方法及装置 - Google Patents
联合训练用户聚类模型的、用户聚类方法及装置 Download PDFInfo
- Publication number
- CN115114980A CN115114980A CN202210747044.5A CN202210747044A CN115114980A CN 115114980 A CN115114980 A CN 115114980A CN 202210747044 A CN202210747044 A CN 202210747044A CN 115114980 A CN115114980 A CN 115114980A
- Authority
- CN
- China
- Prior art keywords
- user
- client
- users
- sample
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 238000012549 training Methods 0.000 title claims abstract description 96
- 239000013598 vector Substances 0.000 claims abstract description 269
- 238000013528 artificial neural network Methods 0.000 claims abstract description 154
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000002596 correlated effect Effects 0.000 claims abstract description 34
- 230000000875 corresponding effect Effects 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 45
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000012512 characterization method Methods 0.000 claims description 22
- 238000013145 classification model Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 16
- 230000002776 aggregation Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 238000000547 structure data Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- 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/602—Providing cryptographic facilities or services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种基于隐私保护的联合训练用户聚类模型、用户聚类方法及装置,用户聚类模型包括各客户端的图神经网络和服务端的聚类子模型,方法通过第一客户端执行,包括:利用其第一图神经网络处理其以用户为节点的第一图结构,得到多个样本用户的第一嵌入向量,样本用户是各客户端的图结构共有的用户;加密各第一嵌入向量,得到各样本用户的第一密文向量;将其发送至服务端,以使服务端基于各客户端发送的密文向量确定各样本用户的用户表征,利用聚类子模型,基于各用户表征确定不同样本用户之间的相似度;从服务端获取基于与相似度正相关的有待最小化的目标值确定的梯度相关数据;根据梯度相关数据,更新第一图神经网络。
Description
技术领域
本说明书涉及隐私保护技术领域,尤其涉及一种基于隐私保护的联合训练用户聚类模型的方法及装置、用户聚类方法及装置。
背景技术
在大数据背景下,常常需要将不同数据方的业务数据进行综合处理。例如,在基于机器学习的用户聚类分析场景中,往往存在多个数据方分别持有用户的不同维度的特征数据,例如电子支付平台拥有用户的交易流水数据,社交平台存储有商户的社交数据,银行机构拥有用户的借贷数据。目前的聚类方法,需要将各方的数据汇聚于部署有用于进行用户聚类的聚类模型的一方(称为目标方),目标方基于各方的用户的特征数据,训练聚类模型。
上述过程中,会导致各方的用户的特征取值在目标方暴露,泄露了用户隐私。因此,希望提供改进的方案,在多方联合进行数据处理的过程中,保护各方隐私数据的安全。
发明内容
本说明书一个或多个实施例提供了一种基于隐私保护的联合训练用户聚类模型的方法及装置、用户聚类方法及装置,以实现在保护各方隐私数据的前提下完成模型训练。
根据第一方面,提供一种基于隐私保护的联合训练用户聚类模型的方法,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过所述多个客户端中任意的第一客户端执行,包括:
利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个样本用户的第一嵌入向量,所述多个样本用户是所述多个客户端共有的用户;
加密各样本用户的第一嵌入向量,将得到的各样本用户的第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用所述聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;
从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本用户之间的相似度正相关;
根据所述梯度相关数据,更新所述第一图神经网络。
根据第二方面,提供一种基于隐私保护的联合训练用户聚类模型的方法,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过服务端执行,包括:
从多个客户端分别获取多个样本用户的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个样本用户是所述多个客户端共有的用户;
基于各客户端发送的密文向量确定各样本用户的用户表征;利用所述聚类子模型及各用户表征,确定不同样本用户之间的相似度;
确定有待最小化的目标值,其与所述不同样本用户之间的相似度正相关;
根据所述目标值,确定梯度相关数据;
将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
根据第三方面,提供一种基于隐私保护的联合训练用户聚类模型的方法,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过多个客户端和服务端执行,包括:
各客户端分别利用其本地的图神经网络处理本地持有的、以用户为节点的图结构,得到多个样本用户的嵌入向量,所述多个样本用户是所述多个客户端共有的用户;
各客户端分别加密其本地的各样本用户的嵌入向量,并将其得到的各样本用户的密文向量发送至服务端;
所述服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用所述聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;
所述服务端确定有待最小化的目标值,其与所述不同样本用户之间的相似度正相关;根据所述目标值,确定梯度相关数据,将所述梯度相关数据发送至各客户端;
各客户端分别根据所述梯度相关数据,更新其本地的图神经网络。
根据第四方面,提供一种基于隐私保护的联合训练对象聚类模型的方法,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过所述多个客户端中任意的第一客户端执行,包括:
利用本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构,得到多个样本对象的第一嵌入向量,所述多个样本对象是所述多个客户端共有的业务对象;
加密各样本对象的第一嵌入向量,将得到的各第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本对象的对象表征,并利用所述聚类子模型,基于各样本对象的对象表征确定不同样本对象之间的相似度;
从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本对象之间的相似度正相关;
根据所述梯度相关数据,更新所述第一图神经网络。
根据第五方面,提供一种基于隐私保护的联合训练对象聚类模型的方法,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过服务端执行,包括:
从多个客户端分别获取多个样本对象的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构并加密得到的,所述多个样本对象是所述多个客户端共有的业务对象;
基于各客户端发送的密文向量确定各样本对象的对象表征;利用所述聚类子模型及各对象表征,确定不同样本对象之间的相似度;
确定有待最小化的目标值,其与所述不同样本对象之间的相似度正相关;
根据所述目标值,确定梯度相关数据;
将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
根据第六方面,提供一种用户聚类方法,通过第一客户端执行,包括:
利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个待聚类用户的第二嵌入向量,所述多个待聚类用户是所述第一客户端与至少一个其他客户端共有的用户;
加密各待聚类用户的第二嵌入向量;
将得到的各待聚类用户的第二密文向量发送至服务端,以使得所述服务端基于所述第一客户端与所述至少一个其他客户端发送的各待聚类用户的密文向量,确定各待聚类用户的综合表征,并利用聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,以及基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群;其中,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
从所述服务端获取各待聚类用户所属集群。
根据第七方面,提供一种用户聚类方法,通过服务端执行,包括:
从至少两个客户端分别获取多个待聚类用户的第二密文向量,其中来自任意的第一客户端的第二密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个待聚类用户是所述至少两个客户端共有的用户;
基于所述至少两个客户端发送的多个待聚类用户的第二密文向量,确定各待聚类用户的综合表征;
利用聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
将各待聚类用户所属集群发送至所述第一客户端。
根据第八方面,提供一种基于隐私保护的联合训练用户聚类模型的装置,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于所述多个客户端中任意的第一客户端,包括:
第一处理模块,配置为利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个样本用户的第一嵌入向量,所述多个样本用户是所述多个客户端共有的用户;
第一加密模块,配置为加密各样本用户的第一嵌入向量;
第一发送模块,配置为将得到的各样本用户的第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用所述聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;
第一获取模块,配置为从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本用户之间的相似度正相关;
第一更新模块,配置为根据所述梯度相关数据,更新所述第一图神经网络。
根据第九方面,提供一种基于隐私保护的联合训练用户聚类模型的装置,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于服务端,包括:
第二获取模块,配置为从多个客户端分别获取多个样本用户的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个样本用户是所述多个客户端共有的用户;
第一确定模块,配置为基于各客户端发送的密文向量确定各样本用户的用户表征;
第二确定模块,配置为利用所述聚类子模型及各用户表征,确定不同样本用户之间的相似度;
第三确定模块,配置为确定有待最小化的目标值,其与所述不同样本用户之间的相似度正相关;
第四确定模块,配置为根据所述目标值,确定梯度相关数据;
第二发送模块,配置为将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
根据第十方面,提供一种基于隐私保护的联合训练对象聚类模型的装置,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于所述多个客户端中任意的第一客户端,包括:
第二处理模块,配置为利用本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构,得到多个样本对象的第一嵌入向量,所述多个样本对象是所述多个客户端共有的业务对象;
第二加密模块,配置为加密各样本对象的第一嵌入向量;
第三发送模块,配置为将得到的各第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本对象的对象表征,并利用所述聚类子模型,基于各样本对象的对象表征确定不同样本对象之间的相似度;
第三获取模块,配置为从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本对象之间的相似度正相关;
第二更新模块,配置为根据所述梯度相关数据,更新所述第一图神经网络。
根据第十一方面,提供一种基于隐私保护联合训练对象聚类模型的装置,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于服务端,包括:
第四获取模块,配置为从多个客户端分别获取多个样本对象的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构并加密得到的,所述多个样本对象是所述多个客户端共有的业务对象;
第五确定模块,配置为基于各客户端发送的密文向量确定各样本对象的对象表征;利用所述聚类子模型及各对象表征,确定不同样本对象之间的相似度;
第六确定模块,配置为确定有待最小化的目标值,其与所述不同样本对象之间的相似度正相关;
第七确定模块,配置为根据所述目标值,确定梯度相关数据;
第四发送模块,配置为将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
根据第十二方面,提供一种用户聚类装置,部署于第一客户端,包括:
第三处理模块,配置为利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个待聚类用户的第二嵌入向量,所述多个待聚类用户是所述第一客户端与至少一个其他客户端共有的用户;
第三加密模块,配置为加密各待聚类用户的第二嵌入向量;
第五发送模块,配置为将得到的各待聚类用户的第二密文向量发送至服务端,以使得所述服务端基于所述第一客户端与所述至少一个其他客户端发送的各待聚类用户的密文向量,确定各待聚类用户的综合表征,并利用聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,以及基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群;其中,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
第五获取模块,配置为从所述服务端获取各待聚类用户所属集群。
根据第十三方面,提供一种用户聚类装置,部署于服务端,包括:
第六获取模块,配置为从至少两个客户端分别获取多个待聚类用户的第二密文向量,其中来自任意的第一客户端的第二密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个待聚类用户是所述至少两个客户端共有的用户;
第八确定模块,配置为基于所述至少两个客户端发送的多个待聚类用户的第二密文向量,确定各待聚类用户的综合表征;
第九确定模块,配置为利用所述聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
第六发送模块,配置为将各待聚类用户所属集群发送至所述第一客户端。
根据第十四方面,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面、第二方面、第四方面、第五方面、第六方面或第七方面所述的方法。
根据第十五方面,提供一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面、第二方面、第五方面、第六方面或第七方面所述的方法。
根据本说明书实施例提供的方法及装置,用户聚类模型包括分布式部署于多个客户端的图神经网络和部署于服务端的聚类子模型,多个客户端中任意的第一客户端可以利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个样本用户(多个客户端共有的用户)的第一嵌入向量。之后加密各样本用户的第一嵌入向量,将得到的各样本用户的第一密文向量发送至服务端,这样可以避免攻击方获得第一嵌入向量明文,避免数据被窃取,包括客户端的隐私数据。服务端基于各客户端发送的密文向量联合确定各样本用户的用户表征,利用聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度,基于相似度确定有待最小化的目标值,进而确定梯度相关数据。第一客户端从服务端获取梯度相关数据并基于其更新第一图神经网络。这样,各客户端均持有图神经网络,可以实现在数据不出域的前提下在其本地确定出各样本用户的嵌入向量,之后将密文向量(加密后的嵌入向量)发送至服务端,可以避免数据在传输过程中被泄露。服务端基于各客户端发送的密文向量,联合确定更准确全面的各样本用户的用户表征,接着利用聚类子模型基于各样本用户的用户表征确定不同样本用户之间的相似度,进而确定目标值以及梯度相关数据,各客户端基于梯度相关数据更新其图神经网络,实现在保护各方隐私数据的前提下完成用户聚类模型的训练。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施框架示意图;
图2为实施例提供的样本用户确定过程的一种流程示意图;
图3为实施例提供的基于隐私保护的联合训练用户聚类模型的方法的一种流程示意图;
图4为实施例提供的基于隐私保护的联合训练用户聚类模型的方法的一种流程示意图;
图5为实施例提供的基于隐私保护的联合训练对象聚类模型的方法的一种流程示意图;
图6为实施例提供的基于用户聚类模型的用户聚类方法的一种流程示意图;
图7为实施例提供的基于隐私保护的用户聚类模型训练装置的一种示意性框图;
图8为实施例提供的基于隐私保护的用户聚类模型训练装置的一种示意性框图;
图9为实施例提供的基于隐私保护的对象聚类模型训练装置的一种示意性框图;
图10为实施例提供的基于隐私保护的对象聚类模型训练装置的一种示意性框图;
图11为实施例提供的用户聚类装置的一种示意性框图;
图12为实施例提供的用户聚类装置的一种示意性框图。
具体实施方式
下面将结合附图,详细描述本说明书实施例的技术方案。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,在该实施场景中,示意性示出了客户端1、客户端2……客户端N以及服务端。其中,客户端1、客户端2……客户端N分别持有用户的部分特征,以及以用户为节点的图结构,其中,不同客户端持有的用户的部分特征中可以包括不同维度的特征,也可以包括相同维度的特征。
在一个示意性场景中,客户端1例如可以是电子支付平台,其中存储有用户的一部分特征(例如与支付相关的特征),这一部分特征在图1中示意性示出为特征f1到f4;并且,客户端1中还存储有例如通过支付关系构建的图结构1。更具体的,在该电子支付平台中具有支付或转账关系的用户之间,可以通过连接边进行连接,由此形成图结构1。
客户端2例如可以是社交平台,其中存储有用户的另一部分特征(例如与社交相关的特征),这部分特征在图1中示意性示出为特征f5,f6和f7;并且,客户端2中还存储有例如通过社交关系构建的图结构2。更具体的,在该社交平台中,具有好友关系或有过沟通记录的用户之间,可以通过连接边进行连接,由此形成图结构2……客户端N例如可以是电商平台,其中存储有用户的另一部分特征(例如与交易相关的特征),这一部分特征在图1中示意性示出为特征f8和f9;并且,客户端N中还存储有例如通过交易关系构建的图结构3。更具体的,在该电商平台中,具有交易或在同一商户购买记录或购买相同物品关系的用户之间,可以通过连接边进行连接,由此形成图结构3。
为了提高用户聚类预测准确性,希望基于丰富的样本数据进行机器学习。而各客户端各自只保存了用户的部分特征以及基于某种关联关系构建的图结构,因此,希望能够将各客户端中存储的用户的特征数据和图结构数据综合起来,联合训练一个用户聚类模型。同时,希望在联合训练的过程中,各客户端中的原始数据不会泄露出去,以保证隐私和安全。
为此,在本说明书的一个实施例中,在各客户端之外还引入中立(受各客户端信任)的服务端,由各个客户端和服务器共同联合训练用户聚类模型。为了兼顾数据的隐私安全和计算效率,将有待训练的用户聚类模型划分为两部分,分别为用于进行用户表征提取的图神经网络和用于用户聚类的聚类子模型。
其中,图神经网络用于根据用户特征和图结构,生成用户对应节点的高阶嵌入向量,其计算涉及原始特征数据和图结构数据,是与隐私数据相关的计算,因此,可以在客户端本地进行,相应的,各客户端部署有图神经网络,以保证在各客户端的用户的特征数据和图结构数据在不出域(即在客户端本地)的前提下实现各用户的表征的提取。
聚类子模型用于将图神经网络得到的节点的高阶嵌入向量进行综合,并根据综合结果对节点进行聚类预测,聚类子模型的计算并不直接涉及原始特征数据和图结构数据,可以在服务端进行,相应的服务端部署聚类子模型,以实现在保护隐私数据安全的同时,在一定程度上提升计算和训练效率。
在用户聚类模型训练之前,各客户端(即客户端1、客户端2……客户端N),需要确定其之间共有的用户,即多个样本用户,之后基于多个样本用户的特征数据训练用户聚类模型。具体的,在用户聚类模型训练过程中,各客户端利用本地的图神经网络处理本地持有的、以用户为节点的图结构,得到多个样本用户的嵌入向量(高阶嵌入向量),加密各样本用户的嵌入向量,将得到的各样本用户的密文向量发送至服务端。
服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;基于不同样本用户之间的相似度,确定与其正相关的有待最小化的目标值;并基于目标值确定梯度相关数据,将其发送至各客户端。各客户端根据梯度相关数据,更新其本地的图神经网络。
上述过程中,各客户端均持有图神经网络,可以实现在数据不出域的前提下在其本地确定出各样本用户的嵌入向量,之后将密文向量(加密后的嵌入向量)发送至服务端,可以避免数据在传输过程中被泄露。服务端基于各客户端发送的密文向量,联合确定更准确全面的各样本用户的用户表征,接着利用聚类子模型基于各样本用户的用户表征确定不同样本用户之间的相似度,进而确定有待最小化的目标值以及梯度相关数据,各客户端基于梯度相关数据更新其图神经网络,实现在保护各方隐私数据的前提下完成用户聚类模型的训练,并在一定程度上提高模型计算和训练效率。
下面结合具体实施例,对本说明书提供的基于隐私保护的联合训练用户聚类模型的方法及装置、基于隐私保护的联合训练对象聚类模型的方法及装置以及用户聚类方法及装置进行详细阐述。
可以理解的是,各客户端(参与用户聚类模型训练的客户端)分别持有用户的部分特征,各客户端包含的用户之间可能存在共有用户也可能存在不共有的用户,为了实现对用户聚类模型的训练,首先需要确定出各客户端之间共有的用户(即对用户的用户标识进行求交集PSI(Private Set Intersection)),之后利用各客户端之间共有用户(样本用户)的特征数据以及各客户端持有的以用户为节点的图结构,联合训练用户聚类模型。
为了布局清楚,首先对客户端之间的共有用户(样本用户)的确定流程进行介绍,其中,如图2所示,示出了本说明书一个实施例中共有用户确定流程的示意图,下面以多个客户端中任意的第一客户端和服务端的角度进行介绍,其他客户端在共有用户确定流程中执行的操作可以参见第一客户端所执行的操作,如图2所示,包括如下步骤S210-S250:
在步骤S210,第一客户端对其本地的第一图结构中各用户的用户标识进行哈希运算,得到哈希值集合。其中,用户标识可以是用户名称以及用户ID等可以唯一标识第一客户端中用户身份的信息。第一客户端可以基于预设哈希算法,对第一图结构中各用户的用户标识进行哈希运算,得到各用户的用户标识对应的哈希值,各用户的用户标识对应的哈希值构成哈希值集合。可以理解的,该预设哈希算法可以是多个客户端之间预先协商好的哈希算法。
第一客户端确定出哈希值集合之后,在步骤S220,第一客户端将哈希值集合发送至服务端。接着在步骤S230,服务端比对各客户端的哈希值集合,确定各客户端的哈希值集合的共有哈希值集合。该共有哈希值集合中包括各客户端共有的各用户的用户标识的哈希值。
之后,在步骤S240,服务端将共有哈希值集合发送至各客户端。在步骤S250,第一客户端将共有哈希值集合对应的用户确定为样本用户。第一客户端获得共有哈希值集合后,将共有哈希值集合中的各哈希值与本地的各用户标识对应的哈希值进行匹配,以确定出共有哈希值集合中各哈希值对应的用户(即用户标识),将共有哈希值集合中各哈希值对应的用户确定为样本用户。这样,各个客户端确定出其与其他客户端所共有的用户,即样本用户。之后,进入用户聚类模型训练过程。
图3示出了本说明书一个实施例中基于隐私保护的联合训练用户聚类模型的方法的流程图。其中,需要说明的是,为了描述清楚,下面以多个客户端中任意的第一客户端和服务端的角度,对本说明书实施例提供的方法流程进行说明,其他客户端所执行的操作,可以参见第一客户端执行的操作。
其中,多个客户端(参与用户聚类模型训练的客户端)分别持有用户的部分特征、图神经网络以及以用户为节点的图结构。本说明书中,为了描述清楚,将第一客户端持有的图神经网络称为第一图神经网络,将第一客户端持有的图结构称为第一图结构,将第一客户端持有的用户的部分特征称为第一特征。具体的,在用户聚类模型训练过程中,如图3所示,所述方法可以包括如下步骤S310-S390:
在步骤S310,第一客户端利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个样本用户的第一嵌入向量T(x1)。
可以理解的,第一图结构中边表示用户之间的关联关系,例如:第一客户端为电子支付平台,第一图结构中边表示用户之间存在转账、支付等关联关系;又例如:第一客户端为社交平台,第一图结构中边可以表示用户之间的好友关系或有过沟通等关联关系。
在一个实施例中,第一客户端持有第一图结构中各用户的第一特征;在步骤S310,可以具体设置为将第一图结构,以及各用户的第一特征输入第一图神经网络。
本实现方式中,第一客户端将第一图结构,以及各用户的第一特征x1输入第一图神经网络,第一图神经网络针对各样本用户对应的节点,通过其若干个聚合层,利用第一图结构和各用户的第一特征,对该样本用户对应的节点进行若干级向量聚合,以得到样本用户的嵌入向量,称为第一嵌入向量T(x1)。
在另一实现方式中,第一客户端可以基于第一图结构,确定各个样本用户对应的第一子图结构,其中,样本用户对应的第一子图结构包括该样本用户对应的节点的若干阶邻居节点(与第一图神经网络的聚合层的层数相关)。一种情况,第一客户端针对各样本用户,将该样本用户对应的第一子图结构和其中各节点所对应用户的第一特征输入第一图神经网络,第一图神经网络通过其若干个聚合层,对该样本用户对应的节点进行若干级向量聚合,以得到样本用户的第一嵌入向量T(x1)。另一种情况,第一客户端可以基于预设顺序,拼接各个样本用户对应的第一子图结构,得到拼接图结构;之后,将拼接图结构、各样本用户的第一特征及其所对应节点的若干阶邻居节点所对应用户的第一特征,输入第一图神经网络,第一图神经网络通过其若干个聚合层,对各个样本用户对应的节点进行若干级向量聚合,以得到各个样本用户的第一嵌入向量T(x1)。
相应的,各其他客户端利用其本地的图神经网络处理其本地持有的、以用户为节点的图结构,得到多个样本用户的嵌入向量T(x)。
第一客户端在得到多个样本用户的第一嵌入向量T(x1)之后,为了保护第一嵌入向量T(x1),避免其在数据传输过程中被攻击者窃取,造成第一客户端隐私数据泄露,在步骤S320,第一客户端加密各样本用户的第一嵌入向量T(x1)。第一客户端可以通过任一的加密方式加密各样本用户的第一嵌入向量,以得到密文向量,称为第一密文向量M[T(x1)]。
在一个实施例中,鉴于对模型训练过程中计算量和隐私数据安全的考虑,在步骤S320,第一客户端利用差分隐私算法,在各样本用户的第一嵌入向量中添加第一噪声向量。例如,M[T(x1)]可以表示为M[T(x1)]=T(x1)+r1,其中,r1表示第一噪声向量。
本步骤中,一种情况,该差分隐私算法是各客户端预先协商并通知服务端的,或者另一种情况,该差分隐私算法是服务端确定并下发至各客户端的。利用差分隐私算法,在各样本用户的第一嵌入向量T(x1)中添加第一噪声向量r1,在保证客户端的隐私数据(嵌入向量)不被暴露(也不会在其他客户端处暴露)的同时,不会增加服务端模型训练过程中的计算量。
在一个实施例中,在步骤S320,第一客户端可以利用服务端的目标公钥,加密各样本用户的第一嵌入向量。例如,M[T(x1)]可以表示为M[T(x1)]pk。其中,PK表示目标公钥,后续的SK表示目标公钥对应的私钥(即目标私钥)。
在本实现方式中,服务端在用户聚类模型训练流程开始之前,可以预先生成一对公私钥对,即目标公钥PK及其对应的目标私钥SK,服务端将目标公钥PK发送至各客户端,以使得各客户端私密持有该目标公钥PK,目标私钥SK由服务端私密持有。之后,在用户聚类模型训练流程中,第一客户端可以利用该目标公钥PK,加密各样本用户的第一嵌入向量T(x1),以保证数据传输过程中隐私数据的安全。
在另一种实现中,服务端还可以生成多对公私钥对,这样,服务端可以分别向各客户端发送不同的目标公钥,以保证各客户端之间隐私数据的安全。服务端获得各客户端利用其目标公钥加密后的密文向量之后,可以利用各客户端的目标公钥对应的私钥,解密该客户端的密文向量。
第一客户端加密各样本用户的第一嵌入向量之后,在步骤S330,第一客户端将得到的各样本用户的第一密文向量M[T(x1)]发送至服务端。之后,在步骤S340,服务端基于各客户端发送的密文向量M[T(x)]确定各样本用户的用户表征C(x)。本步骤中,服务端获得各客户端发送的各样本用户的密文向量M[T(x)]之后,可以针对各样本用户(例如样本用户i),对所有客户端发送的该样本用户i的密文向量(例如包括第一客户端(如图1所示的客户端1)的样本用户i的密文向量M[T(x1i)]、客户端2的样本用户i的密文向量M[T(x2i)]……客户端N的样本用户i的密文向量M[T(xNi)])进行综合,确定样本用户i的用户表征C(xi)。
在一个实施例中,该密文向量M[T(x)]是利用差分隐私算法添加有噪声的加噪向量;在步骤S340,可以具体设置为服务端针对各样本用户,基于所有客户端发送的该样本用户的加噪向量的均值或者和值,确定该样本用户的用户表征C(x)。本实现方式中,各客户端发送的密文向量是利用差分隐私算法添加有噪声的加噪向量的情况下,服务端不必对各加噪向量进行解密,可以直接针对各样本用户,基于所有客户端发送的该样本用户的加噪向量进行综合,确定该样本用户的用户表征。具体的,服务端针对各样本用户,基于所有客户端发送的该样本用户的加噪向量,计算该样本用户的所有加噪向量的均值或者和值,并将计算所得的均值或者和值确定为该样本用户的用户表征。
在又一个实施例中,该密文向量是利用服务端的目标公钥加密的向量;在步骤S340,可以具体设置为服务端利用目标公钥对应的私钥,解密密文向量,得到向量明文;针对各样本用户,基于所有客户端发送的该样本用户的密文向量对应的向量明文的均值或者和值,确定该样本用户的用户表征C(x)。本实现方式中,各客户端发送的密文向量是利用服务端的目标公钥加密的向量的情况下,服务端利用目标公钥对应的私钥(及前述的目标私钥)解密密文向量,得到向量明文(即嵌入向量),针对各样本用户,基于所有客户端发送的该样本用户的密文向量对应的向量明文,计算该样本用户的所有向量明文的均值或者和值,将计算所得的均值或者和值确定为该样本用户的用户表征。
上述实施例中,将计算所得的均值或者和值确定为该样本用户的用户表征,可以避免在部分客户端出现数据丢失问题的情况下,对用户聚类模型的训练(以及后续的用户聚类)过程造成的影响,即即使部分客户端的数据出现丢失情况,也不会影响用户聚类模型的训练。
下面举例说明部分客户端的数据出现丢失问题的情况,例如,参与用户聚类模型训练的客户端包括A、B和C,理论上其三者共有的用户即样本用户包括样本用户1,但在用户聚类模型训练过程中,客户端A出现样本用户1的特征丢失的问题,即服务端仅从客户端包括B和C获得样本用户1的密文向量,未从客户端A获得样本用户1的密文向量。
服务端确定出各样本用户的用户表征之后,在步骤S350,服务端利用聚类子模型及各用户表征C(x),确定不同样本用户之间的相似度Si,j(即样本用户i和样本用户j之间的相似度,其中i不等于j)。本步骤中,服务端可以分批次的将各样本用户的用户表征C(x)输入聚类子模型中,获得聚类子模型的输出结果,基于聚类子模型的输出结果,确定不同样本用户之间的相似度,即确定所输入的样本用户中的不同样本用户之间的相似度。一种情况中,该聚类子模型的输出结果包括表征不同样本用户之间的相似度的输出值,其中,该输出值可以与样本用户之间的相似度正相关,即该输出值越大表征所对应的两个样本用户之间越相似;或者,该输出值也可以与样本用户之间的相似度负相关,即该输出值越大表征所对应的两个样本用户之间越不相似。其中,输出值的取值范围一般为(0,1)。
在一种实现方式中,该聚类子模型为轻量级的用于用户聚类的神经网络,相应的,该聚类子模型具有待训练的模型参数。在另一种实现方式中,该聚类子模型可以是任一可计算不同样本用户之间的相似度的相似度算法,例如余弦相似度算法,此时,该聚类子模型中可以不包含需要训练的参数。
之后,在步骤S360,服务端确定有待最小化的目标值,其与不同样本用户之间的相似度正相关。并在步骤S370,服务端根据目标值,确定梯度相关数据T。
具体的,服务端基于不同样本用户之间的相似度,确定有待最小化的目标值,其中,目标值与不同样本用户之间的相似度Si,j正相关。在一种实现中,在聚类子模型的输出值(输出结果),与样本用户之间的相似度正相关的情况下,服务端可以基于聚类子模型的输出值(即不同样本用户之间的相似度)确定其均值或和值,将该均值或和值确定为目标值。在另一种实现中,在聚类子模型的输出值(输出结果),与样本用户之间的相似度负相关的情况下,服务端可以基于聚类子模型的输出值(即不同样本用户之间的相似度)确定其均值或和值;将该均值或和值的倒数,确定为目标值。
之后服务端根据目标值,确定梯度相关数据T。在一个实施例中,该聚类子模型为轻量级的用于用户聚类的神经网络,该聚类子模型具有待训练的模型参数。相应的,在步骤S370可以具体设置为,在步骤11,服务端利用目标值,通过反向传播确定聚类子模型的输入层对应的损失梯度T’,作为原始梯度数据T’;在步骤12,服务端基于原始梯度数据T’,得到梯度相关数据T。本实现方式中,服务端以最小化小目标值即最小化不同样本用户之间的相似度的目标,通过反向传播确定聚类子模型的输入层(即聚类子模型的第一层)对应的损失梯度,将其作为原始梯度数据,进而基于原始梯度数据,得到梯度相关数据。
在又一个实施例中,该聚类子模型为任一可计算不同样本用户之间的相似度的相似度算法,该聚类子模型中不包含需要训练的参数,相应的,在步骤S370可以具体设置为,在步骤21,服务端将有待最小化的目标值作为原始梯度数据;在步骤22,基于原始梯度数据,得到梯度相关数据。
在一种情况中,服务端在确定出原始梯度数据T’之后,可以直接将原始梯度数据T’作为梯度相关数据T。另一种情况中,为了保证各客户端隐私数据的安全,该梯度相关数据可以是加密后的数据。在一个实施例中,在步骤12(或步骤22)可以具体设置为,利用差分隐私算法,在原始梯度数据T’中添加第二噪声向量r2;或利用服务端的目标私钥SK加密原始梯度数据T’。可以理解的第二噪声向量以及前述的第一噪声向量是随机生成的满足一定规律的噪声向量。
服务端得到梯度相关数据之后,在步骤S380,服务端将梯度相关数据T发送至各客户端。之后,在步骤S390,第一客户端根据梯度相关数据T,更新第一图神经网络。本步骤中,第一客户端获得梯度相关数据之后,可以基于该梯度相关数据,通过反向传播,更新第一图神经网络中的参数。可以理解的,各其他客户端获得服务端发送的梯度相关数据之后,根据梯度相关数据,更新其本地的图神经网络,以此实现对用户聚类模型的训练,直至用户聚类模型达到预设收敛条件,确定用户聚类模型训练完成。其中,该预设收敛条件可以包括但不限于:模型迭代次数超过预设次数阈值,或者所确定的目标值低于预设阈值等。
在一个实施例中,该梯度相关数据是使用服务端的私钥加密的梯度密文;在步骤S390,可以具体设置为第一客户端使用服务端的目标公钥,解密梯度密文,得到梯度明文;根据梯度明文,更新第一图神经网络。本实现方式中,在梯度相关数据是使用服务端的私钥加密的梯度密文的情况下,为了保证图神经网络的正常训练,第一客户端使用服务端的目标公钥,解密梯度密文,之后,根据所得的梯度明文,通过反向传播更新第一图神经网络的参数。
在一个实施例中,该梯度相关数据是使用服务端的私钥加密的目标值密文,相应的,保证图神经网络的正常训练,第一客户端使用服务端的目标公钥,解密目标值密文,得到目标值明文,接着,根据目标值明文,通过反向传播更新第一图神经网络的参数。
在又一个实施例中,该梯度相关数据是服务端利用差分隐私算法添加有噪声的扰动梯度;在步骤S390,可以具体设置为第一客户端根据扰动梯度,更新第一图神经网络。本实现方式中,在梯度相关数据是服务端利用差分隐私算法添加有噪声的扰动梯度的情况下,第一客户端无需对该扰动梯度进行解密,可以直接根据扰动梯度,通过反向传播更新第一图神经网络的参数。
在又一个实施例中,该梯度相关数据是服务端利用差分隐私算法添加有噪声的扰动目标值,相应的,第一客户端可以以最小化扰动目标值为目标,通过反向传播更新第一图神经网络的参数
本实施例,各客户端均持有图神经网络,可以实现在数据不出域的前提下在其本地确定出各样本用户的嵌入向量,之后将密文向量(加密后的嵌入向量)发送至服务端,可以避免数据在传输过程中被泄露。服务端基于各客户端发送的密文向量,联合确定更准确全面的各样本用户的用户表征,接着利用聚类子模型基于各样本用户的用户表征确定不同样本用户之间的相似度,进而确定目标值及梯度相关数据,各客户端基于梯度相关数据更新其图神经网络,实现在保护各方隐私数据的前提下完成用户聚类模型的训练。
并且,本实施例,在训练用户聚类模型的过程中无需样本用户的标签数据的参与,可以实现对用户聚类模型的无监督学习,降低了数据标注成本。
本实施例在训练用户聚类模型的过程中,基于不同样本用户之间的相似度,确定与不同样本用户之间的相似度正相关的目标值,并且,以最小化目标值(最小化不同样本用户之间的相似度)为目标,调整用户聚类模型(各客户端的图神经网络,聚类子模型)的参数,以使得用户聚类模型学习到保留用户之间不同的信息的能力,使得各客户端的图神经网络在确定样本用户的用户表征时,尽量保留样本用户之间的不同。相应的,在后续利用用户聚类模型进行用户聚类时,基于用户聚类模型所确定的用户之间的相似度预测到某些用户相似时,理论上这可以印证这些用户确实比较相似,相应的,这些用户属于同一集群(也可以称为属于同一社区)。
相应于上述方法实施例,本说明书提供了一种基于隐私保护的联合训练用户聚类模型的方法,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过多个客户端和服务端执行,如图4所示,从多个客户端和服务端的角度对该方法流程进行了描述,所述方法包括:
在步骤S410,各客户端分别利用其本地的图神经网络处理本地持有的、以用户为节点的图结构,得到多个样本用户的嵌入向量,所述多个样本用户是所述多个客户端共有的用户;
在步骤S420,各客户端分别加密其本地的各样本用户的嵌入向量,并将其得到的各样本用户的密文向量发送至服务端;
在步骤S430,所述服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用所述聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;
在步骤S440,所述服务端确定有待最小化的目标值,其与所述不同样本用户之间的相似度正相关;根据所述目标值,确定梯度相关数据,将所述梯度相关数据发送至各客户端;
在步骤S450,各客户端分别根据所述梯度相关数据,更新其本地的图神经网络。
相应于上述方法实施例,本说明书提供了一种基于隐私保护的联合训练对象聚类模型的方法,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,如图5所示,下面以多个客户端中任意的第一客户端和服务端的角度进行说明,所述方法包括:
在步骤S510,第一客户端利用本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构,得到多个样本对象的第一嵌入向量,所述多个样本对象是所述多个客户端共有的业务对象。该业务对象可以包括但不限于用户、商品以及其他类型的业务对象。
在步骤S520,第一客户端加密各样本对象的第一嵌入向量。
在步骤S530,第一客户端将得到的各第一密文向量发送至服务端。
在步骤S540,服务端基于各客户端发送的密文向量确定各样本对象的对象表征。
在步骤S550,服务端利用所述聚类子模型,基于各样本对象的对象表征确定不同样本对象之间的相似度。
在步骤S560,服务端确定有待最小化的目标值,其与所述不同样本对象之间的相似度正相关。
在步骤S570,服务端根据所述目标值,确定梯度相关数据。
在步骤S590,服务端将所述梯度相关数据发送至各客户端。
在步骤S590,从所述服务端获取梯度相关数据,根据所述梯度相关数据,更新所述第一图神经网络。
本实施例中,各步骤的具体实施过程,可以参见于隐私保护的联合训练用户聚类模型的具体实施过程,在此不再赘述。
相应于上述方法实施例,本说明书提供了一种用户聚类方法,其流程示意图如图6所示,所述方法第一客户端和服务端执行,其中,该第一客户端为参与用户聚类模型训练的任一存在用户聚类需求的客户端,其他客户端在存在用户聚类需求时,其执行的操作可以参见第一客户端执行的操作。如6所示,所述方法可以包括如下步骤S610-S670:
在步骤S610,第一客户端利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个待聚类用户的第二嵌入向量,其中,多个待聚类用户是第一客户端与至少一个其他客户端共有的用户。其中,第一客户端得到第二嵌入向量的过程可以参见第一客户端得到第一嵌入向量的过程,在此不再赘述。
在一种实现中,用户聚类过程中的第一客户端持有的第一图结构,相比于用户聚类模型的训练过程中的第一客户端持有的第一图结构,可能略有不同,例如可能出现增加或减少了部分用户对应的节点,和/或某些用户之间的连接发生变化的情况,这并不影响后续的用户聚类的准确性。
在步骤S620,第一客户端加密各待聚类用户的第二嵌入向量。其中,加密各第二嵌入向量的过程,可以参见前述第一客户端加密各第一嵌入向量的过程,在此不再赘述。
在步骤S630,第一客户端将得到的各待聚类用户的第二密文向量发送至服务端。
在一种实现方式中,第一客户端将各待聚类用户的第二密文向量发送至服务端时,可以同时对应各待聚类用户发送其用户标识的哈希值,以便服务端可以基于各待聚类用户的用户标识的哈希值,从至少一个其他客户端获取各待聚类用户的密文向量。
服务端从第一客户端和至少一个其他客户端获得各待聚类用户的密文向量之后,接着在步骤S640,服务端基于第一客户端与至少一个其他客户端发送的各待聚类用户的密文向量,确定各待聚类用户的综合表征。其中,服务端确定各待聚类用户的综合表征的过程,可以参见服务端确定各样本用户的用户表征的过程,在此不再赘述。
之后在步骤S650,服务端利用聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,以及基于该相似度和预设相似度阈值,确定各待聚类用户所属集群。其中,该第一图神经网络和聚类子模型预先经过联合训练,联合训练旨在最小化的目标值与用户之间的相似度正相关,例如,是基于前述的基于隐私保护的联合训练用户聚类模型的方法训练所得的。
其中,该预设相似度阈值可以是根据经验预设的值。在一种情况中,该预设相似度阈值可以是基于用户聚类模型训练过程中各样本用户的之间的数据关系(例如不同样本用户之间的相似度)确定的。
本步骤中,服务端将各待聚类用户的综合表征输入聚类子模型,得到聚类子模型的输出结果,基于聚类子模型的输出结果确定不同待聚类用户之间的相似度,基于不同待聚类用户之间的相似度以及预设相似度阈值,确定各待聚类用户所属集群,举例而言,若基于待聚类用户n和待聚类用户m之间的相似度以及预设相似度阈值,确定待聚类用户n和待聚类用户m相似,则确定待聚类用户n和待聚类用户m属于一个集群;若基于待聚类用户n和待聚类用户p之间的相似度以及预设相似度阈值,确定待聚类用户n和待聚类用户p不相似,则确定待聚类用户p,与待聚类用户n不属于一个集群。
一种实现中,该聚类子模型的输出结果包括表征不同待聚类用户之间的相似度的输出值。其中,一种情况,若输出值与不同待聚类用户之间的相似度正相关,即输出值越大表征所对应的两个待聚类用户越相似,此时,若两个待聚类用户对应的输出值不小于预设的第一相似度阈值,则确定两个待聚类用户相似,确定其两者属于同一集群;若两个待聚类用户对应的输出值小于预设的第一相似度阈值,则确定两个待聚类用户不相似,确定其两者不属于同一集群。
另一种情况,若输出值与不同待聚类用户之间的相似度负相关,即输出值越大表征所对应的两个待聚类用户越不相似,此时,若两个待聚类用户对应的输出值不大于预设的第二相似度阈值,则确定两个待聚类用户相似,确定其两者属于同一集群;若两个待聚类用户对应的输出值大于预设的第二相似度阈值,则确定两个待聚类用户不相似,确定其两者不属于同一集群。
一种实现中,服务端可以针对属于同一个集群的待聚类用户标记相同的集群标识(例如集群ID),举例而言,在服务端确定多个待聚类用户分别属于3个集群时,可以随机为分别属于3个集群的待聚类用户标记集群标识,为属于第一个集群的各待聚类用户标记集群ID1,为属于第二个集群的各待聚类用户标记集群ID2,为属于第三个集群的各待聚类用户标记集群ID3。
在步骤S660,服务端将各待聚类用户所属集群发送至第一客户端。相应的,在步骤S670,第一客户端从服务端获取各待聚类用户所属集群。在一种实现中,服务端可以对应各待聚类用户的用户标识的哈希值,将各待聚类用户所属集群的集群ID发送至第一客户端,以使得第一客户端基于各待聚类用户的用户标识的哈希值,以及各待聚类用户所属集群的集群ID,确定出待聚类用户所属集群,即确定哪些待聚类用户属于一个集群。
本实施例中,可以利用训练所得的用户聚类模型,结合第一客户端的各待聚类用户的嵌入向量和至少一个其他客户端的各待聚类用户的嵌入向量,即结合多个客户端持有的待聚类用户的特征,确定出各待聚类用户所属集群(社区),所确定的各待聚类用户所属集群的结果更加准确。并且,在数据传输过程中,传输加密所得的密文向量,可以实现对各客户端用户的隐私数据的保护。
在一个实施例中,所述集群包括第一集群,所述方法还可以包括如下步骤:将属于第一集群的各待聚类用户的第二嵌入向量输入用户分类模型,确定该属于第一集群的各待聚类用户的用户类别。
可以理解的,在同一集群中的用户其分工(即具体的用户类别)可能存在不同,例如,在不安全交易的一个集群中,部分用户作为(用户类别)收款方,部分用户作为中间承转方,部分用户作为受益方,不同分工(用户类别),用户的特征存在不同。本实现方式中,在确定出属于第一集群的各待聚类用户之后,可以将属于第一集群的各待聚类用户的第二嵌入向量输入用户分类模型,确定该属于第一集群的各待聚类用户的用户类别。其中该用户分类模型可以用于区分不安全交易的集群中各用户的用户类别。该用户分类模型可以是,预先基于不安全交易的集群各用户的特征(嵌入向量)及其对应的类别标签训练所得的模型。
在一个实施例中,第一客户端(或者其他客户端)在获得训练完成的第一图神经网络之后,还可以利用其本地的第一图结构及其中的训练用户对应的标签(针对任务场景所标注的标签),继续对第一图神经网络的参数进行微调,以得到针对任务场景的第一图神经网络。例如,第一客户端确定各待聚类用户所属集群之后,其中,集群包括第二集群,第一客户端获得属于第二集群中的各待聚类用户对应的类别标签,即将属于第二集群中的各待聚类用户作为训练用户,第一客户端将各训练用户的第二嵌入向量输入待训练的分类模型中,得到各训练用户的预测类别,基于各训练用户的预测类别和类别标签,确定类别损失;之后,基于该类别损失微调第一图神经网络和分类模型的参数,直至满足预设的模型收敛条件,其中,该模型收敛条件可以包括但不限于:所确定的类别损失低于预设类别损失阈值,或迭代次数超过预设次数。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
相应于上述方法实施例,本说明书实施例,提供了一种基于隐私保护的联合训练用户聚类模型的装置700,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于所述多个客户端中任意的第一客户端,其示意性框图如图7所示,包括:
第一处理模块710,配置为利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个样本用户的第一嵌入向量,所述多个样本用户是所述多个客户端共有的用户;
第一加密模块720,配置为加密各样本用户的第一嵌入向量;
第一发送模块730,配置为将得到的各样本用户的第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用所述聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;
第一获取模块740,配置为从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本用户之间的相似度正相关;
第一更新模块750,配置为根据所述梯度相关数据,更新所述第一图神经网络。
在一种可选实施方式中,所述第一客户端持有所述第一图结构中各用户的第一特征;
所述第一处理模块710,具体配置为将所述第一图结构,以及各用户的第一特征输入所述第一图神经网络。
在一种可选实施方式中,还包括:哈希模块(图中未示出),配置为对所述第一图结构中各用户的用户标识进行哈希运算,得到哈希值集合;
第五发送模块(图中未示出),配置为将所述哈希值集合发送至所述服务端,以使所述服务端基于各客户端发送的哈希值集合,确定各方共有哈希值集合;
第五获取模块(图中未示出),配置为从所述服务端获取共有哈希值集合,将所述共有哈希值集合对应的用户确定为样本用户。
在一种可选实施方式中,所述第一加密模块720,具体配置为利用差分隐私算法,在各样本用户的第一嵌入向量中添加第一噪声向量;或
利用所述服务端的目标公钥,加密各样本用户的第一嵌入向量。
在一种可选实施方式中,所述梯度相关数据是使用服务端的私钥加密的梯度密文;
所述第一更新模块750,具体配置为使用所述服务端的目标公钥,解密所述梯度密文,得到梯度明文;根据梯度明文,更新所述第一图神经网络。
在一种可选实施方式中,所述梯度相关数据是所述服务端利用差分隐私算法添加有噪声的扰动梯度;
所述第一更新模块750,具体配置为根据所述扰动梯度,更新所述第一图神经网络。
相应于上述方法实施例,本说明书实施例提供了一种基于隐私保护的联合训练用户聚类模型的装置800,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于服务端,其示意性框图如图8所示,包括:
第二获取模块810,配置为从多个客户端分别获取多个样本用户的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个样本用户是所述多个客户端共有的用户;
第一确定模块820,配置为基于各客户端发送的密文向量确定各样本用户的用户表征;
第二确定模块830,配置为利用所述聚类子模型及各用户表征,确定不同样本用户之间的相似度;
第三确定模块840,配置为确定有待最小化的目标值,其与所述不同样本用户之间的相似度正相关;
第四确定模块850,配置为根据所述目标值,确定梯度相关数据;
第二发送模块860,配置为将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
在一种可选实施方式中,还包括:
第六获取模块(图中未示出),配置为从各客户端获取其各自的哈希值集合,所述哈希值集合是各客户端对其持有的图结构中各用户的用户标识进行哈希运算而得到的;
比对发送模块(图中未示出),配置为比对各客户端的哈希值集合,确定各客户端的哈希值集合的共有哈希值集合,并将共有哈希值集合发送至各客户端,以使各客户端基于共有哈希值集合确定样本用户。
在一种可选实施方式中,所述第四确定模块850,包括:
第一确定单元(图中未示出),配置为利用所述目标值,通过反向传播确定所述聚类子模型的输入层对应的损失梯度,作为原始梯度数据;或将所述目标值作为原始梯度数据;
第二确定单元(图中未示出),配置为基于所述原始梯度数据,得到所述梯度相关数据。
在一种可选实施方式中,所述第二确定单元,具体配置为利用差分隐私算法,在所述原始梯度数据中添加第二噪声向量;或利用所述服务端的目标私钥加密所述原始梯度数据。
在一种可选实施方式中,所述密文向量是利用差分隐私算法添加有噪声的加噪向量;所述第二确定模块830,具体配置为针对各样本用户,基于所有客户端发送的该样本用户的加噪向量的均值或者和值,确定该样本用户的用户表征。
在一种可选实施方式中,所述密文向量是利用服务端的目标公钥加密的向量;所述第二确定模块830,具体配置为利用所述目标公钥对应的私钥,解密所述密文向量,得到向量明文;针对各样本用户,基于所有客户端发送的该样本用户的密文向量对应的向量明文的均值或者和值,确定该样本用户的用户表征。
相应于上述方法实施例,本说明书实施例提供了一种基于隐私保护的联合训练对象聚类模型的装置900,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于所述多个客户端中任意的第一客户端,其示意性框图如图9所示,包括:
第二处理模块910,配置为利用本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构,得到多个样本对象的第一嵌入向量,所述多个样本对象是所述多个客户端共有的业务对象;
第二加密模块920,配置为加密各样本对象的第一嵌入向量;
第三发送模块930,配置为将得到的各第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本对象的对象表征,并利用所述聚类子模型,基于各样本对象的对象表征确定不同样本对象之间的相似度;
第三获取模块940,配置为从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本对象之间的相似度正相关;
第二更新模块950,配置为根据所述梯度相关数据,更新所述第一图神经网络。
相应于上述方法实施例,本说明书实施例提供了一种基于隐私保护的联合训练对象聚类模型的装置1000,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于服务端,其示意性框图如图10所示,包括:
第四获取模块1010,配置为从多个客户端分别获取多个样本对象的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构并加密得到的,所述多个样本对象是所述多个客户端共有的业务对象;
第五确定模块1020,配置为基于各客户端发送的密文向量确定各样本对象的对象表征;利用所述聚类子模型及各对象表征,确定不同样本对象之间的相似度;
第六确定模块1030,配置为确定有待最小化的目标值,其与所述不同样本对象之间的相似度正相关;
第七确定模块1040,配置为根据所述目标值,确定梯度相关数据;
第四发送模块1050,配置为将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
相应于上述方法实施例,本说明书实施例提供了一种用户聚类装置1100,所述装置部署于第一客户端,其示意性框图如图11所示,包括:
第三处理模块1110,配置为利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个待聚类用户的第二嵌入向量,所述多个待聚类用户是所述第一客户端与至少一个其他客户端共有的用户;
第三加密模块1120,配置为加密各待聚类用户的第二嵌入向量;
第五发送模块1130,配置为将得到的各待聚类用户的第二密文向量发送至服务端,以使得所述服务端基于所述第一客户端与所述至少一个其他客户端发送的各待聚类用户的密文向量,确定各待聚类用户的综合表征,并利用聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,以及基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群;其中,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
第五获取模块1140,配置为从所述服务端获取各待聚类用户所属集群。
在一种可选实施方式中,所述集群包括第一集群,所述装置还包括:
输入确定模块(图中未示出),配置为将属于第一集群的各待聚类用户的第二嵌入向量输入用户分类模型,确定该属于第一集群的各待聚类用户的用户类别。
相应于上述方法实施例,本说明书实施例提供了一种用户聚类装置1200,所述装置部署于服务端,其示意性框图如图12所示,包括:
第六获取模块1210,配置为从至少两个客户端分别获取多个待聚类用户的第二密文向量,其中来自任意的第一客户端的第二密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个待聚类用户是所述至少两个客户端共有的用户;
第八确定模块1220,配置为基于所述至少两个客户端发送的多个待聚类用户的第二密文向量,确定各待聚类用户的综合表征;
第九确定模块1230,配置为利用所述聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
第六发送模块1240,配置为将各待聚类用户所属集群发送至所述第一客户端。
上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书所提供的所述基于隐私保护联合训练用户聚类模型的方法、基于隐私保护联合训练对象聚类模型的方法或者所述用户聚类方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书所提供的所述基于隐私保护联合训练用户聚类模型的方法、基于隐私保护联合训练对象聚类模型的方法或者所述用户聚类方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (25)
1.一种基于隐私保护的联合训练用户聚类模型的方法,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过所述多个客户端中任意的第一客户端执行,包括:
利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个样本用户的第一嵌入向量,所述多个样本用户是所述多个客户端共有的用户;
加密各样本用户的第一嵌入向量,将得到的各样本用户的第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用所述聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;
从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本用户之间的相似度正相关;
根据所述梯度相关数据,更新所述第一图神经网络。
2.如权利要求1所述的方法,其中,所述第一客户端持有所述第一图结构中各用户的第一特征;
所述利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,包括:
将所述第一图结构,以及各用户的第一特征输入所述第一图神经网络。
3.如权利要求1所述的方法,还包括:
对所述第一图结构中各用户的用户标识进行哈希运算,得到哈希值集合;
将所述哈希值集合发送至所述服务端,以使所述服务端基于各客户端发送的哈希值集合,确定各方共有哈希值集合;
从所述服务端获取共有哈希值集合,将所述共有哈希值集合对应的用户确定为样本用户。
4.如权利要求1所述的方法,其中,所述加密各样本用户的第一嵌入向量,包括:
利用差分隐私算法,在各样本用户的第一嵌入向量中添加第一噪声向量;或
利用所述服务端的目标公钥,加密各样本用户的第一嵌入向量。
5.如权利要求1所述的方法,其中,所述梯度相关数据是使用服务端的私钥加密的梯度密文;
所述根据所述梯度相关数据,更新所述第一图神经网络,包括:
使用所述服务端的目标公钥,解密所述梯度密文,得到梯度明文;
根据梯度明文,更新所述第一图神经网络。
6.如权利要求1所述的方法,其中,所述梯度相关数据是所述服务端利用差分隐私算法添加有噪声的扰动梯度;
所述根据所述梯度相关数据,更新所述第一图神经网络,包括:
根据所述扰动梯度,更新所述第一图神经网络。
7.一种基于隐私保护联合训练用户聚类模型的方法,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过服务端执行,包括:
从多个客户端分别获取多个样本用户的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个样本用户是所述多个客户端共有的用户;
基于各客户端发送的密文向量确定各样本用户的用户表征;利用所述聚类子模型及各用户表征,确定不同样本用户之间的相似度;
确定有待最小化的目标值,其与所述不同样本用户之间的相似度正相关;
根据所述目标值,确定梯度相关数据;
将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
8.如权利要求7所述的方法,还包括:
从各客户端获取其各自的哈希值集合,所述哈希值集合是各客户端对其持有的图结构中各用户的用户标识进行哈希运算而得到的;
比对各客户端的哈希值集合,确定各客户端的哈希值集合的共有哈希值集合,并将共有哈希值集合发送至各客户端,以使各客户端基于共有哈希值集合确定样本用户。
9.如权利要求7所述的方法,其中,所述根据所述目标值,确定梯度相关数据,包括:
利用所述目标值,通过反向传播确定所述聚类子模型的输入层对应的损失梯度,作为原始梯度数据;或将所述目标值作为原始梯度数据;
基于所述原始梯度数据,得到所述梯度相关数据。
10.如权利要求9所述的方法,其中,所述基于所述原始梯度数据,得到所述梯度相关数据,包括:
利用差分隐私算法,在所述原始梯度数据中添加第二噪声向量;或
利用所述服务端的目标私钥加密所述原始梯度数据。
11.如权利要求7所述的方法,其中,所述密文向量是利用差分隐私算法添加有噪声的加噪向量;所述基于各客户端发送的密文向量确定各样本用户的用户表征,包括:
针对各样本用户,基于所有客户端发送的该样本用户的加噪向量的均值或者和值,确定该样本用户的用户表征。
12.如权利要求7所述的方法,其中,所述密文向量是利用服务端的目标公钥加密的向量;所述基于各客户端发送的密文向量确定各样本用户的用户表征,包括:
利用所述目标公钥对应的私钥,解密所述密文向量,得到向量明文;
针对各样本用户,基于所有客户端发送的该样本用户的密文向量对应的向量明文的均值或者和值,确定该样本用户的用户表征。
13.一种基于隐私保护的联合训练用户聚类模型的方法,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过多个客户端和服务端执行,包括:
各客户端分别利用其本地的图神经网络处理本地持有的、以用户为节点的图结构,得到多个样本用户的嵌入向量,所述多个样本用户是所述多个客户端共有的用户;
各客户端分别加密其本地的各样本用户的嵌入向量,并将其得到的各样本用户的密文向量发送至服务端;
所述服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用所述聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;
所述服务端确定有待最小化的目标值,其与所述不同样本用户之间的相似度正相关;根据所述目标值,确定梯度相关数据,将所述梯度相关数据发送至各客户端;
各客户端分别根据所述梯度相关数据,更新其本地的图神经网络。
14.一种基于隐私保护的联合训练对象聚类模型的方法,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过所述多个客户端中任意的第一客户端执行,包括:
利用本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构,得到多个样本对象的第一嵌入向量,所述多个样本对象是所述多个客户端共有的业务对象;
加密各样本对象的第一嵌入向量,将得到的各第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本对象的对象表征,并利用所述聚类子模型,基于各样本对象的对象表征确定不同样本对象之间的相似度;
从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本对象之间的相似度正相关;
根据所述梯度相关数据,更新所述第一图神经网络。
15.一种基于隐私保护的联合训练对象聚类模型的方法,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述方法通过服务端执行,包括:
从多个客户端分别获取多个样本对象的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构并加密得到的,所述多个样本对象是所述多个客户端共有的业务对象;
基于各客户端发送的密文向量确定各样本对象的对象表征;利用所述聚类子模型及各对象表征,确定不同样本对象之间的相似度;
确定有待最小化的目标值,其与所述不同样本对象之间的相似度正相关;
根据所述目标值,确定梯度相关数据;
将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
16.一种用户聚类方法,通过第一客户端执行,包括:
利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个待聚类用户的第二嵌入向量,所述多个待聚类用户是所述第一客户端与至少一个其他客户端共有的用户;
加密各待聚类用户的第二嵌入向量;
将得到的各待聚类用户的第二密文向量发送至服务端,以使得所述服务端基于所述第一客户端与所述至少一个其他客户端发送的各待聚类用户的密文向量,确定各待聚类用户的综合表征,并利用聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,以及基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群;其中,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
从所述服务端获取各待聚类用户所属集群。
17.如权利要求16所述的方法,所述集群包括第一集群,所述方法还包括:
将属于第一集群的各待聚类用户的第二嵌入向量输入用户分类模型,确定该属于第一集群的各待聚类用户的用户类别。
18.一种用户聚类方法,通过服务端执行,包括:
从至少两个客户端分别获取多个待聚类用户的第二密文向量,其中来自任意的第一客户端的第二密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个待聚类用户是所述至少两个客户端共有的用户;
基于所述至少两个客户端发送的多个待聚类用户的第二密文向量,确定各待聚类用户的综合表征;
利用聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
将各待聚类用户所属集群发送至所述第一客户端。
19.一种基于隐私保护的联合训练用户聚类模型的装置,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于所述多个客户端中任意的第一客户端,包括:
第一处理模块,配置为利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个样本用户的第一嵌入向量,所述多个样本用户是所述多个客户端共有的用户;
第一加密模块,配置为加密各样本用户的第一嵌入向量;
第一发送模块,配置为将得到的各样本用户的第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本用户的用户表征,并利用所述聚类子模型,基于各样本用户的用户表征确定不同样本用户之间的相似度;
第一获取模块,配置为从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本用户之间的相似度正相关;
第一更新模块,配置为根据所述梯度相关数据,更新所述第一图神经网络。
20.一种基于隐私保护的联合训练用户聚类模型的装置,所述用户聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于服务端,包括:
第二获取模块,配置为从多个客户端分别获取多个样本用户的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个样本用户是所述多个客户端共有的用户;
第一确定模块,配置为基于各客户端发送的密文向量确定各样本用户的用户表征;
第二确定模块,配置为利用所述聚类子模型及各用户表征,确定不同样本用户之间的相似度;
第三确定模块,配置为确定有待最小化的目标值,其与所述不同样本用户之间的相似度正相关;
第四确定模块,配置为根据所述目标值,确定梯度相关数据;
第二发送模块,配置为将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
21.一种基于隐私保护的联合训练对象聚类模型的装置,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于所述多个客户端中任意的第一客户端,包括:
第二处理模块,配置为利用本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构,得到多个样本对象的第一嵌入向量,所述多个样本对象是所述多个客户端共有的业务对象;
第二加密模块,配置为加密各样本对象的第一嵌入向量;
第三发送模块,配置为将得到的各第一密文向量发送至服务端,以使所述服务端基于各客户端发送的密文向量确定各样本对象的对象表征,并利用所述聚类子模型,基于各样本对象的对象表征确定不同样本对象之间的相似度;
第三获取模块,配置为从所述服务端获取梯度相关数据,所述梯度相关数据基于有待最小化的目标值确定,所述目标值与所述不同样本对象之间的相似度正相关;
第二更新模块,配置为根据所述梯度相关数据,更新所述第一图神经网络。
22.一种基于隐私保护联合训练对象聚类模型的装置,所述对象聚类模型包括部署于多个客户端的图神经网络和部署于服务端的聚类子模型,所述装置部署于服务端,包括:
第四获取模块,配置为从多个客户端分别获取多个样本对象的密文向量,其中来自任意的第一客户端的第一密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以业务对象为节点的第一图结构并加密得到的,所述多个样本对象是所述多个客户端共有的业务对象;
第五确定模块,配置为基于各客户端发送的密文向量确定各样本对象的对象表征;利用所述聚类子模型及各对象表征,确定不同样本对象之间的相似度;
第六确定模块,配置为确定有待最小化的目标值,其与所述不同样本对象之间的相似度正相关;
第七确定模块,配置为根据所述目标值,确定梯度相关数据;
第四发送模块,配置为将所述梯度相关数据发送至各客户端,以使得各客户端根据所述梯度相关数据,更新其本地的图神经网络。
23.一种用户聚类装置,部署于第一客户端,包括:
第三处理模块,配置为利用本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构,得到多个待聚类用户的第二嵌入向量,所述多个待聚类用户是所述第一客户端与至少一个其他客户端共有的用户;
第三加密模块,配置为加密各待聚类用户的第二嵌入向量;
第五发送模块,配置为将得到的各待聚类用户的第二密文向量发送至服务端,以使得所述服务端基于所述第一客户端与所述至少一个其他客户端发送的各待聚类用户的密文向量,确定各待聚类用户的综合表征,并利用聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,以及基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群;其中,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
第五获取模块,配置为从所述服务端获取各待聚类用户所属集群。
24.一种用户聚类装置,部署于服务端,包括:
第六获取模块,配置为从至少两个客户端分别获取多个待聚类用户的第二密文向量,其中来自任意的第一客户端的第二密文向量,是该第一客户端利用其本地的第一图神经网络处理本地持有的、以用户为节点的第一图结构并加密得到的,所述多个待聚类用户是所述至少两个客户端共有的用户;
第八确定模块,配置为基于所述至少两个客户端发送的多个待聚类用户的第二密文向量,确定各待聚类用户的综合表征;
第九确定模块,配置为利用所述聚类子模型,基于各待聚类用户的综合表征确定其间的相似度,基于所述相似度和预设相似度阈值,确定各待聚类用户所属集群,所述第一图神经网络和所述聚类子模型预先经过联合训练,所述联合训练旨在最小化的目标值与用户之间的相似度正相关;
第六发送模块,配置为将各待聚类用户所属集群发送至所述第一客户端。
25.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12或14-18中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210747044.5A CN115114980A (zh) | 2022-06-28 | 2022-06-28 | 联合训练用户聚类模型的、用户聚类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210747044.5A CN115114980A (zh) | 2022-06-28 | 2022-06-28 | 联合训练用户聚类模型的、用户聚类方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115114980A true CN115114980A (zh) | 2022-09-27 |
Family
ID=83330366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210747044.5A Pending CN115114980A (zh) | 2022-06-28 | 2022-06-28 | 联合训练用户聚类模型的、用户聚类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114980A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233730A (zh) * | 2019-05-22 | 2019-09-13 | 暨南大学 | 一种基于k均值聚类的隐私信息保护方法 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN110874484A (zh) * | 2019-10-16 | 2020-03-10 | 众安信息技术服务有限公司 | 基于神经网络和联邦学习的数据处理方法和系统 |
CN112199709A (zh) * | 2020-10-28 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 基于多方的隐私数据联合训练模型的方法和装置 |
CN112487481A (zh) * | 2020-12-09 | 2021-03-12 | 重庆邮电大学 | 一种具有隐私保护的可验证多方k-means联邦学习方法 |
US20210248460A1 (en) * | 2020-02-07 | 2021-08-12 | Uatc, Llc | Systems and Methods for Optimized Multi-Agent Routing Between Nodes |
CN114077901A (zh) * | 2021-11-23 | 2022-02-22 | 山东大学 | 一种基于聚类的图联邦学习的用户位置预测框架 |
CN114638998A (zh) * | 2022-03-07 | 2022-06-17 | 支付宝(杭州)信息技术有限公司 | 模型更新方法、装置、系统及设备 |
CN114647465A (zh) * | 2022-05-23 | 2022-06-21 | 南京航空航天大学 | 多通道注意力图神经网络聚类的单体程序拆分方法及系统 |
-
2022
- 2022-06-28 CN CN202210747044.5A patent/CN115114980A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233730A (zh) * | 2019-05-22 | 2019-09-13 | 暨南大学 | 一种基于k均值聚类的隐私信息保护方法 |
CN110874484A (zh) * | 2019-10-16 | 2020-03-10 | 众安信息技术服务有限公司 | 基于神经网络和联邦学习的数据处理方法和系统 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
US20210248460A1 (en) * | 2020-02-07 | 2021-08-12 | Uatc, Llc | Systems and Methods for Optimized Multi-Agent Routing Between Nodes |
CN112199709A (zh) * | 2020-10-28 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 基于多方的隐私数据联合训练模型的方法和装置 |
CN112487481A (zh) * | 2020-12-09 | 2021-03-12 | 重庆邮电大学 | 一种具有隐私保护的可验证多方k-means联邦学习方法 |
CN114077901A (zh) * | 2021-11-23 | 2022-02-22 | 山东大学 | 一种基于聚类的图联邦学习的用户位置预测框架 |
CN114638998A (zh) * | 2022-03-07 | 2022-06-17 | 支付宝(杭州)信息技术有限公司 | 模型更新方法、装置、系统及设备 |
CN114647465A (zh) * | 2022-05-23 | 2022-06-21 | 南京航空航天大学 | 多通道注意力图神经网络聚类的单体程序拆分方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hao et al. | Towards efficient and privacy-preserving federated deep learning | |
Mishra et al. | Delphi: A cryptographic inference system for neural networks | |
CN107528688B (zh) | 一种基于加密委托技术的区块链密钥保管及恢复方法、装置 | |
Li et al. | Privacy-preserving-outsourced association rule mining on vertically partitioned databases | |
Liu et al. | Boosting privately: Privacy-preserving federated extreme boosting for mobile crowdsensing | |
US8898478B2 (en) | Method for querying data in privacy preserving manner using attributes | |
US11349648B2 (en) | Pre-calculation device, method, computer-readable recording medium, vector multiplication device, and method | |
Liu et al. | Secure multi-label data classification in cloud by additionally homomorphic encryption | |
CN108737115A (zh) | 一种具有隐私保护的高效私有属性集交集求解方法 | |
WO2010005071A1 (ja) | パスワード認証方法 | |
Erkin et al. | Privacy-preserving distributed clustering | |
CN111741020B (zh) | 基于数据隐私保护的公共数据集确定方法、装置及系统 | |
CN111027981B (zh) | 多方联合训练针对IoT机具的风险评估模型的方法及装置 | |
Lyu et al. | Towards fair and decentralized privacy-preserving deep learning with blockchain | |
CN114223175A (zh) | 在防止获取或操控时间数据的同时生成网络数据的序列 | |
CN117216805A (zh) | 一种适用于联邦学习场景中抵御拜占庭攻击的数据完整性审计方法 | |
CN115238172A (zh) | 基于生成对抗网络和社交图注意力网络的联邦推荐方法 | |
Yang et al. | Efficient and secure federated learning with verifiable weighted average aggregation | |
Wan et al. | Towards privacy-preserving and verifiable federated matrix factorization | |
CN116384503A (zh) | 纵向联邦学习方法、装置、电子设备及可读存储介质 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
CN115114980A (zh) | 联合训练用户聚类模型的、用户聚类方法及装置 | |
CN112491840B (zh) | 信息修改方法、装置、计算机设备及存储介质 | |
CN113407860A (zh) | 一种基于隐私保护的多社交平台用户推荐方法和系统 | |
CN111159761B (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 |