CN115943397A - 垂直分区数据的联邦双随机核学习 - Google Patents

垂直分区数据的联邦双随机核学习 Download PDF

Info

Publication number
CN115943397A
CN115943397A CN202180044749.4A CN202180044749A CN115943397A CN 115943397 A CN115943397 A CN 115943397A CN 202180044749 A CN202180044749 A CN 202180044749A CN 115943397 A CN115943397 A CN 115943397A
Authority
CN
China
Prior art keywords
computing device
instance
passive
random
active
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
CN202180044749.4A
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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jd Financial Usa
Jingdong Technology Holding Co Ltd
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 Jd Financial Usa, Jingdong Technology Holding Co Ltd filed Critical Jd Financial Usa
Publication of CN115943397A publication Critical patent/CN115943397A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种使用机器学习模型进行预测的系统和方法。该系统包括互相通信的协调器、主动计算设备和被动计算设备。该主动计算设备具有处理器和存储计算机可执行代码的存储设备。该计算机可执行代码被配置为:获取机器学习模型的参数;从本地数据中检索实例;对实例的随机方向进行采样;计算随机方向与实例的点积,计算随机特征;计算在主动计算设备和被动计算设备中实例的预测值,汇总预测值以获取最终预测值;使用随机特征、最终预测值和实例的目标值来确定模型系数;使用模型系数更新机器学习模型;以及预测新实例的值。

Description

垂直分区数据的联邦双随机核学习
交叉引用
在本公开的描述中引用和讨论了一些参考文献,其可能包括专利、专利申请和各种出版物。提供此类参考文献的引用和/或讨论仅用于阐明本公开的描述,并不承认任何此类参考文献是本文所述公开的“现有技术”。在说明书中引用和讨论的所有参考文献通过引用整体并入本文,并且与每篇参考文献通过引用单独并入的程度相同。
技术领域
本公开总体上涉及联邦学习,具体来说,涉及一种使用核方法对垂直分区数据的大规模隐私保护联邦学习。
背景技术
在此提供的背景描述是为了概括地呈现本公开的上下文。在本背景部分描述的范围内,当前署名的发明人的工作以及在申请递交时本可以不算作现有技术的描述方面,不以明示或暗示的方式被承认为针对本公开的现有技术。
联邦学习是一种机器学习技术,可以在多个分散的边缘设备或保存本地数据样本的服务器上训练算法,而无需交换它们的数据样本。然而,以足够的效率、可扩展性和安全性处理大量数据是一项挑战。
因此,本领域存在解决上述缺陷和不足的需要。
发明内容
在某些方面,本公开涉及一种用于使用机器学习模型进行预测的系统。在某些实施例中,该系统包括主动计算装置和与所述主动计算设备通信的至少一个被动计算设备。所述主动计算设备和所述被动计算设备中的每个计算设备包括本地数据。所述主动计算设备包括处理器和存储计算机可执行代码的存储设备。所述计算机可执行代码在处理器处执行时被配置为:
获取所述机器学习模型的参数;
从所述主动计算设备的本地数据中检索实例;
对所述实例的随机方向进行采样;
计算所述随机方向与所述实例的点积,基于所述点积计算随机特征;
计算所述主动计算设备中所述实例的预测值,指示所述至少一个被动计算设备计算所述至少一个被动计算设备中所述实例的预测值,汇总来自所述主动计算设备和所述至少一个被动计算设备的预测值以获取所述实例的最终预测值,其中所述至少一个被动计算设备中所述实例的预测值是基于所述至少一个被动计算设备的本地数据获取的;
使用所述实例的最终预测值与所述实例的目标值之间的差和所述随机特征来确定模型系数;
使用所述模型系数来更新所述机器学习模型;以及
使用所述机器学习模型来预测新实例的值。
在某些实施例中,所述机器学习模型的参数包括恒定的学习率。
在某些实施例中,所述实例由索引表征,所述计算机可执行代码被配置为将所述索引提供给所述至少一个被动客户端计算机,所述主动客户端计算机和所述至少一个被动客户端计算机中的每个客户端计算机被配置为基于所述索引对所述随机方向进行采样。在某些实施例中,所述随机方向是从高斯分布中采样的。
在某些实施例中,所述随机特征是使用等式
Figure BDA0004012224190000021
计算的,
Figure BDA0004012224190000022
是所述点积,b是随机值。在某些实施例中,b的取值在[0,2π]的范围内。在某些实施例中,
Figure BDA0004012224190000023
Figure BDA0004012224190000024
计算,q是所述主动计算设备和所述至少一个被动计算设备的数量,
Figure BDA0004012224190000025
是q个计算设备中的第
Figure BDA0004012224190000026
个,
Figure BDA0004012224190000027
是第
Figure BDA0004012224190000028
个计算设备中随机方向和实例的点积,
Figure BDA0004012224190000029
是在第
Figure BDA00040122241900000210
个计算设备中生成的随机数,l′是所述主动计算设备。在某些实施例中,
Figure BDA00040122241900000211
的取值在[0,2π]的范围内。
在某些实施例中,使用多次迭代计算所述主动计算设备中所述实例的预测值,所述预测值在所述迭代中使用等式
Figure BDA0004012224190000031
Figure BDA0004012224190000032
更新,fl(x)是所述实例的预测值,αi是所述实例的模型系数,
Figure BDA0004012224190000033
是所述随机特征。
在某些实施例中,所述迭代等于或大于2。
在某些实施例中,所述计算机可执行代码被配置为通过使用等式αj=(1-γλ)αj替换每个先前模型系数来更新所述机器学习模型,其中αj是所述先前模型系数中的任何一个,γ是所述机器学习模型的学习率,λ是所述机器学习模型的正则化参数。
在某些实施例中,所述主动计算设备和所述至少一个被动计算设备之间的通信是通过与所述主动计算设备和所述至少一个被动计算设备通信的协调器计算设备使用树形结构来执行的。
在某些方面,本公开涉及一种使用机器学习模型进行预测的方法。该方法包括:
由主动计算设备获取所述机器学习模型的参数;
由所述主动计算设备从所述主动计算设备的本地数据中检索实例;
由所述主动计算设备对所述实例的随机方向进行采样;
由所述主动计算设备计算所述随机方向与所述实例的点积,基于所述点积计算随机特征;
由所述主动计算设备计算所述实例的预测值,指示至少一个被动计算设备计算所述至少一个被动计算设备中所述实例的预测值,汇总来自所述主动计算设备和所述至少一个被动计算设备的预测值以获取所述实例的最终预测值,其中所述至少一个被动计算设备中所述实例的预测值是基于所述至少一个被动计算设备的本地数据获取的;
由所述主动计算设备使用所述实例的最终预测值与所述实例的目标值之间的差和所述随机特征来确定模型系数;
由所述主动计算设备使用所述模型系数来更新所述机器学习模型;以及
由所述主动计算设备使用所述机器学习模型来预测新实例的值。
在某些实施例中,所述机器学习模型的参数包括恒定的学习率。
在某些实施例中,所述实例由索引表征,所述计算机可执行代码被配置为将所述索引提供给所述至少一个被动客户端计算机,所述主动客户端计算机和所述至少一个被动客户端计算机中的每个客户端计算机被配置为基于所述索引对所述随机方向进行采样。在某些实施例中,所述随机方向是从高斯分布中采样的。
在某些实施例中,所述随机特征是使用等式
Figure BDA0004012224190000041
计算的,
Figure BDA0004012224190000042
是所述点积,b是随机值。
在某些实施例中,
Figure BDA0004012224190000043
Figure BDA0004012224190000044
计算,q是所述主动计算设备和所述至少一个被动计算设备的数量,
Figure BDA0004012224190000045
是q个计算设备中的第
Figure BDA0004012224190000046
个,
Figure BDA0004012224190000047
是第
Figure BDA0004012224190000048
个计算设备中随机方向和实例的点积,
Figure BDA0004012224190000049
是在第
Figure BDA00040122241900000410
个计算设备中生成的随机数,l′是所述主动计算设备。
在某些实施例中,使用多次迭代计算所述主动计算设备中所述实例的预测值,所述预测值在所述迭代中使用等式
Figure BDA00040122241900000411
Figure BDA00040122241900000412
更新,fl(x)是所述实例的预测值,αi是所述实例的模型系数,
Figure BDA00040122241900000413
是所述随机特征。
在某些实施例中,所述计算机可执行代码被配置为通过使用等式αj=(1-γλ)αj替换每个先前模型系数来更新所述机器学习模型,其中αj是所述先前模型系数中的任何一个,γ是所述机器学习模型的学习率,λ是所述机器学习模型的正则化参数。
在某些实施例中,所述主动计算设备和所述至少一个被动计算设备之间的通信是通过与所述主动计算设备和所述至少一个被动计算设备通信的协调器计算设备使用树形结构来执行的。
在某些方面,本公开涉及一种存储计算机可执行代码的非暂时性计算机可读介质。所述计算机可执行代码在计算设备的处理器处执行时被配置为执行上述方法。
本公开的这些和其他方面将通过以下结合附图及其说明对优选实施例的描述而变得明显,尽管在不背离本公开的新颖概念的精神和范围的情况下可以影响其中的变化和修改。
附图说明
附图示出了本公开的一个或多个实施例,并与书面描述一起用于解释本公开的原理。在可能的情况下,在整个附图中使用相同的附图标记来指代实施例的相同或相似元素。
图1示意性地描绘了根据本公开的某些实施例的联邦双随机核学习(FDSKL)系统。
图2A示意性地描绘了根据本公开的某些实施例的树形结构。
图2B示意性地描绘了根据本公开的某些实施例的树形结构。
图3A示意性地描绘了根据本公开的某些实施例的联邦学习系统。
图3B示意性地描绘了根据本公开的某些实施例的工作器。
图4示意性地描绘了根据本公开的某些实施例的FDSKL训练流程。
图5示意性地描绘了根据本公开的某些实施例的使用FDSKL模型计算样本的预测值的流程。
图6示意性地描绘了根据本公开的某些实施例使用FDSKL模型计算调整的点积的流程。
图7A示意性地示出了根据本公开的某些实施例的用于比较的算法。
图7B示意性地示出了根据本公开的某些实施例的实验中使用的基准数据集。
图8A-8H示意性地描绘了根据本公开的某些实施例使用图7A所示的比较方法进行二元分类的结果。
图9A-9D示意性地描绘了根据本公开的某些实施例的四个数据集上不同结构的经过时间。
图10A-10D示意性地描绘了根据本公开的某些实施例当增加训练实例的数量时训练时间的变化。
图11示意性地描绘了根据本公开的某些实施例的三个核方法、线性方法(FD-SVRG)和FDSKL的测试误差的箱线图。
本公开的概述
在某些实施例中,符号和等式定义如下:
xi表示实例的一部分或数据样本,可以在任何工作器或服务器中使用,该实例由i索引;
Figure BDA0004012224190000061
是本地工作器或本地服务器l中的实例或样本;
Figure BDA0004012224190000062
是分布或度量,例如高斯分布;
wi是与索引i对应的随机方向;
Figure BDA0004012224190000063
是wi的转置操作;
Figure BDA0004012224190000064
是本地服务器l中与索引i对应的随机方向;
Figure BDA0004012224190000065
Figure BDA0004012224190000066
的转置操作;
Figure BDA0004012224190000067
Figure BDA0004012224190000068
和xi的点积;
Figure BDA0004012224190000069
Figure BDA00040122241900000610
Figure BDA00040122241900000611
的点积;
b是[0,2π]范围内的随机数,其可由随机数生成器生成;
Figure BDA00040122241900000612
表示调整的点积,其中
Figure BDA00040122241900000613
Figure BDA00040122241900000622
的点积由随机值b调整;
Figure BDA00040122241900000614
表示调整的点积,其中
Figure BDA00040122241900000615
和xi的点积由随机值b调整;
f(xi)是实例xi的预测值;
yi是实例xi的标签;
Figure BDA00040122241900000616
是实例xi的随机特征,其可由
Figure BDA00040122241900000617
计算;
αi是实例xi的模型系数;
Figure BDA00040122241900000618
表示实例xi在不同迭代时的模型系数,这里t是迭代次数,而不是转置算子,对于每次迭代i,都有对应的模型系数αi
Figure BDA00040122241900000619
表示在工作器中不同迭代的模型系数,这里q是工作器的总数,
Figure BDA00040122241900000620
是第l工作器的模型系数,∧l是对应的迭代索引集,对于每个本地工作器l,都有与模型的每次迭代对应的模型系数
Figure BDA00040122241900000621
T0、T1和T2是用于通信的树形结构。
在许多现实的机器学习应用中,由多个提供者提供数据,每个提供者都维护有关公共实体的不同特征集的私有记录。在使用传统机器学习算法保持数据隐私的同时有效且高效地训练这些垂直分区的数据是一项挑战。
本公开涉及对垂直分区数据的大规模隐私保护联邦学习,重点是使用核的非线性学习。在某些方面,本公开提供了一种用于垂直分区数据的联邦双随机核学习(FederatedDoubly Stochastic Kernel Learning,FDSKL)算法。在某些实施例中,本公开使用随机特征来接近核映射函数并使用双随机梯度来更新核模型,这些都是联邦计算的,而不向每个工作器透露整个数据样本。此外,本公开使用树形结构通信方案来分配和聚合具有最低通信成本的计算。本公开证明FDSKL可以在O(1/t)内收敛到最优解,其中t是迭代次数。本公开还提供了半诚实假设下的数据安全性分析。总之,FDSKL是首个高效且可扩展的隐私保护联邦核方法。在各种基准数据集上的大量实验结果表明,在处理核时,FDSKL明显快于最先进的联邦学习方法。
本公开的某些实施例尤其具有以下有益优点:(1)FDSKL算法可以通过核方法高效、可扩展且安全地训练垂直分区的数据。(2)FDSKL是一种学习率恒定的分布式双随机梯度算法,比现有的基于递减学习率的双随机梯度算法快得多,也比现有的隐私保护联邦核学习算法的方法快得多。(3)树形结构通信方案用于分布和聚合计算,比星形结构通信和环形结构通信效率更高,这使得FDSKL比现有的联邦学习算法效率更高。(4)现有的垂直分区数据的联邦学习算法采用加密技术来保证算法的安全性,耗时费力。然而,本公开的方法使用随机扰动来保持算法的安全性,这比加密技术更便宜,并且使得FDSKL比现有的联邦学习算法更有效。(5)现有的垂直分区数据的联邦学习算法大多局限于线性可分模型。本公开的FDSKL是首个突破隐式线性可分限制的垂直分区数据的高效且可扩展的联邦学习算法。
在某些方面,本公开的重要新颖特征包括:(1)FDSKL是一种具有恒定的学习率的垂直分区数据的分布式双随机梯度算法。(2)本公开证明了FDSKL的次线性收敛速度。(3)本公开在本地计算
Figure BDA0004012224190000071
以避免将本地数据
Figure BDA0004012224190000072
直接传输给其他工作器用以计算
Figure BDA0004012224190000073
其中b是增加的随机数,以保证算法安全。(4)本公开提供了半诚实假设下的数据安全性分析。
在某些方面,本公开涉及随机特征近似。随机特征(Rahimi和Recht,2008,2009,其通过引用整体并入本文)是一种使核方法可扩展的强大技术。如定理0所示,该技术使用连续且移位不变的正定核(即,K(x,x′)=K(x-x′))和随机过程之间有趣的对偶性。
定理0(Rudin,1962,其通过引用整体并入本文)。当且仅当
Figure BDA00040122241900000819
上存在有限非负度量
Figure BDA0004012224190000081
时,
Figure BDA0004012224190000082
上连续、实值、对称和移位不变函数K(x,x′)=K(x-x′)是正定核,使得:
Figure BDA0004012224190000083
Figure BDA0004012224190000084
其中
Figure BDA0004012224190000085
是[0,2π]上的均匀分布,
Figure BDA0004012224190000086
根据定理0,核函数的值可以通过显式计算随机特征φw(x)图来近似,如下所示:
Figure BDA0004012224190000087
其中m是随机特征的数量,wi来自
Figure BDA0004012224190000088
具体来说,对于高斯RBF核K(x,x′)=exp(-||x-x′||2/2σ2),
Figure BDA0004012224190000089
是密度与exp(-σ2||w||2/2)成比例的高斯分布。对于Laplac核(Yang等人,2014,其通过引用整体并入本文),会产生柯西分布。需要注意,随机特征图φ的计算需要计算原始输入特征的线性组合,也可以垂直分割。此属性使随机特征近似非常适合联邦学习设置。
在某些方面,本公开涉及双随机梯度。因为RKHS
Figure BDA00040122241900000810
中的函数梯度可以计算为
Figure BDA00040122241900000811
所以关于随机特征w的随机梯度
Figure BDA00040122241900000812
可以表示为:
ξ(·)=φw(x)φw(·)。
给定一个随机采样的数据实例(x,y)和一个随机特征w,关于采样实例(x,y)和随机特征w,RKHS上的损失函数L(f(xi),yi)的双随机梯度可以表示为:
ξ(·)=L′(f(xi),yiw(xiw(·)。
由于
Figure BDA00040122241900000813
Figure BDA00040122241900000814
的随机梯度可以表示为∶
Figure BDA00040122241900000815
需要注意,有
Figure BDA00040122241900000816
根据随机梯度
Figure BDA00040122241900000817
可以通过步长γt来更新解。然后,使f1(·)=0,便得到:
Figure BDA00040122241900000818
Figure BDA0004012224190000091
根据上面的等式,
Figure BDA0004012224190000092
是定义f(·)模型的重要系数。需要注意,上述等式中的模型f(x)不满足与通常的核模型
Figure BDA0004012224190000093
相同的隐式线性可分性假设。
在某些方面,联邦双随机核学习(FDSKL)算法描述如下。
FDSKL系统结构:图1示意性地描绘了根据本公开的某些实施例的FDSKL系统。如图1所示,系统包括协调器和多个工作器。工作器包括工作器1、2、……、q,其中工作器1是主动工作器,其余的是被动工作器。需要注意,如果启动联邦学习,任何一个工作器都可以成为主动工作器。每个工作器都具有自已的隐私数据,不受其他工作器的访问。该系统具有实现数据隐私和模型隐私的新颖实现方式,并在工作器和协调器之间使用特殊的三结构通信。FDSKL结构可以垂直划分随机特征的计算。
数据隐私:为了保持垂直分区的数据隐私,本公开的某些实施例划分了
Figure BDA0004012224190000094
值的计算以避免将本地数据
Figure BDA0004012224190000095
传输给其他工作器。具体来说,本公开将随机种子发送给第l工作器。一旦第l工作器接收到随机种子,就可以根据随机种子唯一地生成随机方向wi。因此,本公开可以在本地计算
Figure BDA0004012224190000096
避免了将本地数据
Figure BDA0004012224190000097
直接传输给其他工作器用以计算
Figure BDA0004012224190000098
根据根据其他工作器的
Figure BDA0004012224190000099
值很难推断出任何
Figure BDA00040122241900000910
这确保了数据隐私。
模型隐私:除了要保持垂直分区的数据隐私外,本公开还保持了模型隐私。模型系数αi分别私密地存储在不同的工作器中。根据模型系数αi的位置,本公开将模型系数
Figure BDA00040122241900000911
划分为
Figure BDA00040122241900000912
其中
Figure BDA00040122241900000913
表示第l工作器的模型系数,∧l是对应的迭代索引集。本公开并未将本地模型系数
Figure BDA00040122241900000914
直接传输给其他工作器。为了计算f(x),本公开在本地计算
Figure BDA00040122241900000915
Figure BDA00040122241900000916
并将其传输给其他工作器,f(x)可以通过对所有fl(x)求和来重构。如果|∧l|≥2,很难根据值fl(x)推断本地模型系数
Figure BDA00040122241900000917
因此,本公开实现了模型隐私。
树形结构通信:为了获取
Figure BDA00040122241900000918
和f(xi),本公开需要积累来自不同工作器的本地结果。本公开使用一种高效的树形结构通信方案来获取全局和,这比简单的星形结构通信和环形结构通信策略更快。由Zhang等人,2018描述的树形结构通过引用整体并入本文。图2A和图2B示意性地描绘了树形结构通信的两个示例T1和T2。如图2A所示,通信T1涉及四个工作器,工作器1、2、3和4的通信值分别为6、5、-7和2。本公开将工作器配对,以便在工作器1添加工作器2的结果时,工作器3可以同时添加工作器4的结果。最后,将两对工作器的结果发送给协调器,本公开获取全局和。在某些实施例中,当上述步骤的顺序相反时,本公开可将其称为逆序树形结构通信。类似地,图2B示出了通信T2涉及三个工作器。
FDSKL算法:为了在保持数据隐私的同时将随机梯度下降(Stochastic GradientDescent,DSG)扩展到垂直分区数据的联邦学习,本公开需要仔细设计计算
Figure BDA0004012224190000101
f(xi)和更新解决方案的步骤。在某些实施例中,该解决方案在以下步骤1~3中进行了详述说明,并通过以下算法1参照算法2和3来举例说明。在某些实施例中,与在DSG中使用递减学习率相反,FDSKL使用可在并行计算环境中更容易实现的恒定的学习率γ。
1.计算
Figure BDA0004012224190000102
本公开根据相同的随机种子i和每个工作器的概率度量
Figure BDA0004012224190000103
生成随机方向wi。因此,本公开可以在本地计算
Figure BDA0004012224190000104
为了保密
Figure BDA0004012224190000105
本公开不是将
Figure BDA0004012224190000106
直接传输给其他工作器,而是从[0,2π]中均匀随机生成bl,然后将
Figure BDA0004012224190000107
传输给另一个工作器。在所有工作器都在本地计算
Figure BDA0004012224190000108
后,本公开可以通过为工作器{1,...,q}使用基于树形结构T1的树形结构通信方案来高效且安全地获取全局和
Figure BDA0004012224190000109
目前,对于第l工作器,本公开获取了q次的多个b值。为了恢复
Figure BDA00040122241900001010
的值,本公开通过删除bl的其他值(即删除
Figure BDA00040122241900001011
)从{1,...,q}-{l}中选取一个bl′作为b值。为了防止泄露bl的任何信息,本公开对工作器{1,...,q}-{l}使用了完全不同的树形结构T2(对于两个树形结构T1和T2,如果不存在具有多个叶的子树同时属于T1和T2,则它们是完全不同的)来计算
Figure BDA0004012224190000111
)。算法3总结了计算
Figure BDA0004012224190000112
的详细步骤。
2.计算f(xi):根据
Figure BDA0004012224190000113
Figure BDA0004012224190000114
本公开具有
Figure BDA0004012224190000115
但是,
Figure BDA0004012224190000116
Figure BDA0004012224190000117
存储在不同的工作器中。因此,本公开首先在本地计算总结在算法2中的
Figure BDA0004012224190000118
通过使用树形结构通信方案,本公开可以有效地获取等于f(xi)的全局和
Figure BDA0004012224190000119
(请参见算法1中的第7行)。
3.更新规则:由于
Figure BDA00040122241900001110
存储在不同的工作器中,本公开使用逆序树形结构的通信方案通过系数(1-γλ)来更新每个工作器中的
Figure BDA00040122241900001111
(请参见算法1中的第10行)。
基于这些关键步骤,本公开在算法1中对FDSKL算法进行了总结。需要注意,与DSG中使用的递减学习率不同,本公开的FDSKL使用可在并行计算环境中更容易实现的恒定学习速率。然而,恒定的学习率的收敛性分析比学习率递减的收敛性分析更困难。
Figure BDA00040122241900001112
Figure BDA0004012224190000121
Figure BDA0004012224190000122
在某些实施例中,输出
Figure BDA0004012224190000131
是算法1中第5行的
Figure BDA0004012224190000132
理论分析:
在某些实施例中,本公开证明了FDSKL以O(1/t)的速率收敛到最优解,如定理1所示。
假设1:假设以下条件成立:
1.存在目标问题的最优解,记为f*
2.导数L(u,y)相对于其第一参数有上限,即|L′(u,y)|<M。
3.就第一参数而言,损失函数L(u,y)及其第一阶导数是L-Lipschitz连续的。
4.核值有上限k,即K(x,x′)≤k。随机特征映射有上限φ,即|φw(x)φw(x′)|≤φ。
定理1:
在假设1下,以取值v∈(0,1]的
Figure BDA0004012224190000133
为算法1设置∈>0,
Figure BDA0004012224190000134
本公开将在
Figure BDA0004012224190000135
迭代后达到
Figure BDA0004012224190000136
其中
Figure BDA0004012224190000137
以及
Figure BDA0004012224190000138
在某些实施例中,本公开证明了在半诚实假设(如下假设2)下,FDSKL可以防止推理攻击(如下定义1):
定义1(推理攻击):对第l工作器的推理攻击是在不直接访问的情况下推断属于其他工作器的一个样本xi的某些特征组G。
假设2(半诚实安全性):所有工作器都将遵循协议或算法来进行正确的计算。但是,它们可能会保留中间计算结果的记录,这些记录可以以便以后用来推断其他工作的数据。
具体实施方式
在以下示例中更具体地描述本公开,这些示例仅旨在作为说明,因为其中的许多修改和变化对于本领域技术人员来说将是显而易见的。现在详细描述本公开的各种实施例。参考附图,贯穿视图,相同的数字指示相同的部件。除非上下文另有明确规定,否则本文的描述中和整个权利要求中使用的“一个”、“一”和“所述”的含义包括复数。此外,如在本公开的描述和权利要求书中所使用的,除非上下文另有明确规定,“在”的含义包括“在……中”和“在……上”。此外,为方便读者阅读,说明书中可能会使用标题或副标题,但不影响本公开的范围。此外,本说明书中使用的一些术语在下文中有更具体的定义。
本说明书中使用的术语在本领域中、在本公开的上下文中以及在使用每个术语的特定上下文中通常具有它们的普通含义。用于描述本公开的某些术语在下文或说明书的其他地方进行讨论,以向从业者提供关于本公开的描述的额外指导。可以理解,同样的事情可以用不止一种方式表达出来。因此,替代语言和同义词可用于此处讨论的任何一个或多个术语,并且对于此处是否详细阐述或讨论术语没有任何特殊意义。本公开提供了某些术语的同义词。一个或多个同义词的使用不排除使用其他同义词。本说明书中任何地方的示例的使用,包括本文讨论的任何术语的示例,仅是说明性的,绝不限制本公开或任何示例性术语的范围和含义。同样,本公开不限于在本说明书中给出的各种实施例。
如本文所述,术语“模块”可以指示属于或包括专用集成电路(ApplicationSpecific Integrated Circuit,ASIC);电子线路;组合逻辑电路;现场可编程门阵列(Field Programmable Gate Array,FPGA);执行代码的处理器(共享的、专用的或组);提供所描述功能的其他合适的硬件组件;或以上部分或全部的组合,例如在片上系统中。术语模块可以包括存储由处理器执行的代码的存储器(共享的、专用的或组)。
如本文所述,术语“代码”可以包括软件、固件和/或微代码,并且可以指程序、例程、函数、类和/或对象。上面使用的术语共享意味着可以使用单个(共享)处理器执行来自多个模块的部分或全部代码。此外,来自多个模块的部分或全部代码可以存储在单个(共享)存储器中。上面使用的术语组意味着可以使用一组处理器执行来自单个模块的部分或全部代码。此外,可以使用一组存储器来存储来自单个模块的一些或全部代码。
如本文所述,术语“接口”通常是指在组件之间的交互点处用于执行组件之间的数据通信的通信工具或装置。一般而言,接口可以在硬件和软件层面都适用,可以是单向或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、电缆、端子和其他I/O装置或组件。与接口通信的组件可以是例如计算机系统的多个组件或外围装置。
本公开涉及计算机系统。如附图中所示,计算机组件可以包括如实线框所示的物理硬件组件以及如虚线框所示的虚拟软件组件。本领域普通技术人员将理解,除非另有说明,否则这些计算机组件可以以软件、固件或硬件组件或其组合的形式来实现,但不限于这些形式。
本文所述的装置、系统和方法可以由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非临时有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁存储器和光存储器。
现在将在下文中参考附图更全面地描述本公开,其中示出了本公开的实施例。然而,本公开可以以许多不同的形式体现并且不应被解释为限于这里阐述的实施例;相反,提供这些实施例是为了使本公开彻底和完整,并将本公开的范围充分传达给本领域技术人员。
图3A示意性地描绘了根据本公开的某些实施例的联邦学习系统。如图3A所示,系统300包括通过网络330相互通信的协调器310和多个工作器350。在某些实施例中,图3A中所示的每个协调器310和工作器350都可以是提供联邦学习能力的服务器计算机、集群、云计算机、通用计算机、无头计算机或专用计算机。在某些实施例中,每个协调器310和工作器350都是服务器计算设备。在某些实施例中,每个工作器350包括用于联邦学习的模型和隐私数据并且协调器310包括使用树形结构从工作器350收集某些数据的机制。每个工作器350可以作为主动工作器发起联邦学习,主动工作器可以调用一个或多个其他工作器作为被动工作器。主动工作器和被动工作器可以一起训练联邦学习模型,但隐私数据在相应的工作器中受到保护,不与其他工作器共享。在某些实施例中,联邦学习模型是联邦双随机核学习(Federated Doubly Stochastic Kernel Learning,FDSKL),隐私数据在垂直分区的数据上。网络330可以是有线网络或无线网络,也可以有公共网络、专用网络等多种形式。网络330的示例可以包括但不限于局域网(Local Area Network,LAN)或包括因特网的广域网(Wide Area Network,WAN)。在某些实施例中,可以应用两个或更多个不同的网络330来连接协调器310和工作器350。
图3B示意性地描绘了根据本公开的某些实施例的工作器350。在某些实施例中,工作器350是服务器计算设备并用作主动工作器。然而,工作器350可以是工作器350-1至350-q中的任何一个,因为每个工作器都可以初始化FDSKL训练并作为主动工作器进行操作,并且每个工作器可以作为被动工作器进行操作并将信息提供给主动工作器。如图3B所示,工作器350可以包括但不限于处理器352、存储器354和存储设备356。在某些实施例中,工作器350可以包括其他硬件组件和软件组件(未示出)以执行其相应的任务。这些硬件和软件组件的示例可以包括但不限于其他所需的存储器、接口、总线、输入/输出(I/O)模块或设备、网络接口和外围设备。
处理器352可以是中央处理单元(Central Processing Unit,CPU),被配置为控制工作器350的操作。处理器352可以执行工作器350的操作系统(OS)或其他应用。在某些实施例中,工作器350可以具有多个CPU作为处理器,例如两个CPU、四个CPU、八个CPU或任何合适数量的CPU。
存储器354可以是易失性存储器,例如随机存取存储器(Random-Access Memory,RAM),用于在工作器350的操作期间存储数据和信息。在某些实施例中,存储器354可以是易失性存储器阵列。在某些实施例中,工作器350可以在多个存储器354上运行。在某些实施例中,工作器350还可以包括显卡以辅助处理器352和存储器354进行图像处理和显示。
储存装置356是非易失性数据储存介质,用于储存工作器350的OS(未示出)及其他应用。存储设备356的示例可以包括非易失性存储器,例如闪存、存储卡、USB驱动器、硬盘驱动器、软盘、光驱或任何其他类型的数据存储设备。在某些实施例中,工作器350可以具有多个存储设备356,存储设备356可以是相同的存储设备或不同类型的存储设备,工作器350的应用可以存储在工作器350中的一个或多个存储设备356中。
在该实施例中,处理器352、存储器354、存储设备356是工作器350(例如服务器计算设备)的组件。在其他实施例中,工作器350可以是分布式计算设备,处理器352、存储器354和存储设备356是来自预定区域中的多台计算机的共享资源。
存储设备356尤其包括FDSKL应用358和隐私数据372。FDSKL应用358包括监听器360、参数模块362、采样模块364、随机特征模块366、输出预测模块368、和模型系数模块370。在某些实施例中,存储设备356可以包括FDSKL应用358的操作所必需的其他应用或模块。应当注意,模块360~370均由计算机可执行代码或指令或数据表或数据库实现,它们共同构成一个应用。在某些实施例中,每个模块还可以包括子模块。备选地,一些模块可以组合为一个堆栈。在其他实施例中,某些模块可以实现为电路而不是可执行代码。在某些实施例中,一个模块或模块的组合也可以称为模型,该模型可以具有多个可以通过训练学习的参数,并且具有训练好的参数的模型可以用于预测。
监听器360被配置为,在接收到训练指令时,初始化FDSKL训练,并将通知发送给参数模块362。该指令可以接收自工作器设备350的管理员或用户。在这种情况下,工作器350用作主动工作器。在某些实施例中,当接收到来自主动工作器的请求时,监听器360还可以指示参数模块360,使得参数模块360和其他相关模块可以计算并向主动工作器提供信息。在这种情况下,工作器350用作被动工作器。被动工作器350提供的信息可以包括对应于样本的预测输出,以及随机方向和样本的调整的点积。需要注意,主动工作器和被动工作器中的FDSKL应用358的模块基本相同,主动工作器中应用的操作可以调用被动工作器中应用的某些功能。除非另有说明,以下模块是针对主动工作器进行描述的。
参数模块362被配置为,在接收到来自监听器360的应执行FDSKL训练的通知时,将FDSKL应用的参数提供给采样模块364。这些参数包括例如分布
Figure BDA0004012224190000181
正则化参数λ、和恒定的学习率γ。在某些实施例中,分布或度量
Figure BDA0004012224190000182
是高斯分布。在某些实施例中,正则化参数λ、恒定的学习率γ和度量
Figure BDA0004012224190000183
是预定义的。
采样模块364被配置为,当FDSKL应用的参数可用时,从隐私数据372中以索引i选取实例或样本xi
Figure BDA0004012224190000184
例如,工作器350中的隐私数据372或本地数据Dl可以包括客户的在线消费、贷款和还款信息。索引i用于识别客户,可以是客户的个人ID。采样模块364被配置为随机选取实例,因此索引i也称为随机种子。采样的实例可以包括客户的一组属性,每个属性可以对应客户的一条记录。客户的记录可以是客户每月的在线消费金额、客户贷款的数量和金额、客户的还款历史等。
采样模块364还被配置为,当索引i可用时,经由协调器310将索引i发送给其他相关工作器。其他相关工作器是系统300中可用或与主动工作器的模型训练相关的工作器,这些相关工作器被定义为被动工作器。
采样模块364还被配置为使用索引i从分布
Figure BDA0004012224190000185
中对随机方向wi进行采样,并将实例xi和随机方向wi发送给随机特征模块366和输出预测模块368。因为实例xi是从隐私数据372中随机选取的,所以实例xi对应的索引i也可以被视为一个随机值。因此,索引i用作从分布
Figure BDA0004012224190000186
中对随机方向wi进行采样的随机种子。
随机特征模块366被配置为,在接收到实例xi和随机方向wi时,计算随机方向
Figure BDA0004012224190000187
和实例xi的点积,将随机数b添加到点积以获取调整的点积,将调整的点积保存在本地,根据调整的点积计算随机特征,将调整的点积发送给输出预测模块368,并将随机特征发送给模型系数模块370。在某些实施例中,调整的点积是使用公式
Figure BDA0004012224190000188
获取的,其中b是0到2π范围内的随机数。在某些实施例中,随机特征
Figure BDA0004012224190000189
是使用等式
Figure BDA00040122241900001810
获取的。
输出预测模块368被配置为计算样本xi的预测输出值,指示其他相关工作器的输出预测模块368计算各自的预测输出值,通过将主动工作器的预测输出值和被动工作器的预计输出值相加来计算最终预测输出,并将该最终输出值发送给模型系数模块370。在某些实施例中,每个主动工作器和被动工作器都被配置为调用上述算法2来计算它们各自预测的输出值。在某些实施例中,各个预测输出值基于树形结构T0进行通信。在某些实施例中,树形结构通信T0具有与图2A或图2B所示的结构相同或相似的结构。
模型系数模块370被配置为,在接收到来自随机特征模块366的随机特征
Figure BDA0004012224190000191
和来自输出预测模块368的最终预测值f(xi)时,计算与实例xi对应的模型系数αi并将模型系数保存在本地,并更新所有先前的模型系数。在某些实施例中,模型系数模块370被配置为使用等式
Figure BDA0004012224190000192
计算模型系数。这里f(xi)是实例xi的最终预测输出,yi是实例xi的真实值,L′(f(xi),yi)是基于f(xi)和yi之差的损失函数。当计算并保存模型系数αi时,模型系数模块370还被配置为更新模型中的先前系数。例如,如果有j个先前模型系数,则使用等式αj=(1-γλ)αj来更新j个先前模型系数中的每一个模型系数。在某些实施例中,γ等于或大于0,λ大于0。
隐私数据372存储专门针对工作器350的数据。隐私数据372包括大量实例或样本,每个实例都可以被索引。存储在不同工作器中的隐私数据372是不同的,但它们可以以相同的方式被索引或链接,例如通过客户的标识。在一个示例中,第一工作器350-1可以是数字金融公司中的服务器计算设备,其隐私数据包括在线消费、贷款和还款信息。第二工作器350-2可以是电子商务公司中的服务器计算设备,其隐私数据包括在线购物信息。第三工作器350-3可以是银行中的服务器计算设备,其隐私数据包括客户信息,例如平均每月存款和账户余额。如果有人向数字金融公司提交贷款申请,数字金融公司可以综合利用这三个工作器所存储的信息来评估该金融贷款的信用风险。因此,为了进行评估,第一工作器350-1可以作为主动工作器启动程序,第二工作器350-2和第三工作器350-3可以作为被动工作器进行操作。这三个工作器不共享隐私数据。然而,由于数字金融公司、电子商务公司和银行的一些客户是相同的,因此可以对这些客户进行索引和链接,以便FDSKL模型或FDSKL应用358可以利用它们在这三个工作器中的隐私数据。在某些实施例中,三个工作器350-1、350-2和350-3中的每一个工作器都安装有FDSKL应用358,并且每个工作器都可以作为主动工作器初始化FDSKL训练。需要注意,对于每个工作器,隐私数据370可由该工作器自己的FDSKL应用358访问。
在某些实施例中,FDSKL应用358还可以包括用户界面。该用户界面被配置为在工作器350中提供使用界面或图形用户界面。在某些实施例中,用户能够配置或修改用于训练或使用FDSKL应用358的参数。
图4示意性地描绘了根据本公开的某些实施例的FDSKL训练流程。在某些实施例中,该训练流程由服务器计算设备执行,例如图3B中所示的工作器350,具体由FDSKL应用358执行。需要特别说明的是,除非本公开另有说明,否则FDSKL训练流程或方法的步骤可以以不同的顺序排列,因此不限于如图4所示的顺序。在某些实施例中,训练流程400对应于算法1。
如图4所示,在步骤402,主动工作器350的监听器360从管理员或用户处接收到需要FDSKL训练流程的通知,并且响应于接收到通知,通过将通知发送给参数模块362来初始化FDSKL训练流程。参数模块362相应地将FDSKL应用358的参数提供给采样模块364。这些参数包括例如分布
Figure BDA0004012224190000201
正则化参数λ和恒定的学习率γ。
在步骤404,采样模块362从隐私数据372中随机选取具有索引i的实例或样本xi,并将索引i发送给被动工作器。实例可以包括多个属性。在某些实施例中,随机种子i保存在每个主动工作器和被动工作器中以供后续使用。
在步骤406,采样模块362基于索引i从分布
Figure BDA0004012224190000202
中对随机方向wi进行采样,并将实例xi以及采样随机方向wi发送给随机特征模块366和输出预测模块368。
在步骤408,当实例xi和随机方向wi可用时,随机特征模块366计算随机方向
Figure BDA0004012224190000203
和实例xi的点积,添加随机数以获取调整的点积,并将调整的点积保存在本地。在某些实施例中,使用公式
Figure BDA0004012224190000204
获取调整的点积,其中b是0到2π范围内的随机数。
在步骤410,在获取
Figure BDA0004012224190000205
的值之后,随机特征模块366使用函数
Figure BDA0004012224190000206
计算随机特征
Figure BDA0004012224190000207
并将该随机特征发送给输出预测模块366和模型系数模块368。
在步骤412,当样本xi、权重值wi、度量
Figure BDA0004012224190000211
和模型系数αi可用时,每个工作器的输出预测模块368计算样本xi的预测值。这里样本xi和模型系数αi是专门针对每个工作器的,不同的工作器一般有不同的xi和模型系数αi。但分布
Figure BDA0004012224190000212
和索引i在不同工作器中是相同的,因此不同工作器具有相同的随机方向wi,该随机方向是基于索引i从分布
Figure BDA0004012224190000213
中采样的。在某些实施例中,在任何训练流程之前,工作器可以不具有任何模型系数αi。每次训练迭代后,都会在模型中创建并添加相应的模型系数α。在某些实施例中,主动工作器的输出预测模块368计算其对样本xi的预测值,并且还与被动工作器进行协调以计算它们对各自样本xi的各自预测值。在某些实施例中,主动工作器的输出预测模块368通过协调器310与被动工作器进行协调。
在步骤414,当各自的预测输出值在工作器中可用时,协调器310使用树形结构通信方案将来自被动工作器的预测值发送给主动工作器,输出预测模块366使用主动工作器的预测值和被动工作器的预测值来获取样本xi的最终预测值f(xi),并将该最终预测值发送给模型系数模块368。在某些实施例中,使用
Figure BDA0004012224190000214
进行计算。
在步骤416,在接收到来自随机特征模块366的随机特征
Figure BDA0004012224190000215
和来自输出预测模块368的最终预测值f(xi)时,模型系数模块370计算与实例xi对应的主动工作者的模型系数αi。在某些实施例中,对所有被动工作器执行类似的步骤,并且每个被动工作器具有新计算的模型系数。
在步骤418,在计算模型系数之后,主动工作器的模型系数模块368更新所有先前的模型系数。
在某些实施例中,被动工作器将类似地并行执行上述步骤。具体来说,被动工作器在通过协调器310从主动工作器接收到索引i之后,从被动工作器的本地隐私数据372中选取与索引i对应的实例xi,对与索引i对应的随机方向wi进行采样(或者备选地,接收来自主动工作器的随机方向wi),计算随机方向与实例之间的点积
Figure BDA0004012224190000216
通过在0到2π范围内添加一个随机值b来获取调整的点积
Figure BDA0004012224190000217
根据调整的点积计算随机特征
Figure BDA0004012224190000218
根据算法2计算被动工作器自己的预测输出,通过将所有主动工作器和被动工作器的预测输出相加来计算最终或总体预测输出f(xi),计算专门针对该工作器的模型系数αi并将模型系数αi保存在本地,并更新所有先前的模型系数。
需要注意,主动工作器和被动工作器共享相同的索引i和随机方向wi,但也有自己的实例xi。此外,对于不同的工作器,计算调整的点积的随机值b是不同的。此外,每个工作器都有与其自己的实例xi相对应的各自的预测输出,但工作器将使用相同的最终预测输出f(xi),即所有工作器的预测输出的总和。
在某些实施例中,在通过上述流程训练好模型之后,可以以类似的方式进行预测。预测和训练的区别包括,例如:在随机选取多个实例进行训练的同时,提供一个实例进行预测;在使用随机选取的实例迭代地进行训练的同时,使用提供的实例进行预测;在训练需要在步骤416和418中更新模型参数的同时,由于已完成对提供的实例的预测,因此可以在步骤414中停止预测。
图5示意性地描绘了根据本公开的某些实施例的使用FDSKL模型计算样本的预测值的过程。在某些实施例中,训练流程由服务器计算设备执行,例如图3B中所示的工作器350,具体由FDSKL应用358执行。需要特别说明的是,除非本公开另有说明,FDSKL训练流程或方法的步骤可以以不同的顺序排列,因此不限于如图5所示的顺序。在某些实施例中,该流程对应于图4中的步骤412,并且该流程由主动工作器530的输出预测模块368执行。在某些实施例中,主动工作器和被动工作器中的任何一个工作器的输出预测模块368都可以执行图5的流程。当在上述步骤414中计算来自所有工作器的预测值时,可以通过将来自所有工作器的预测值相加来计算最终预测值。在某些实施例中,流程500对应于算法2。
如图5所示,当分布
Figure BDA0004012224190000221
模型系数
Figure BDA0004012224190000222
主动工作器l、对应的迭代索引集合∧l和样本x可用时,计算预测值的流程可以迭代执行预定的次数。在某些实施例中,迭代次数由用户根据要分析的数据来定义。
在步骤502,第l主动工作器中的输出预测模块368将预测值fl(x)设置为0。
在步骤504,对于使用样本x的每次迭代计算,输出预测模块368从与随机种子i对应的分布
Figure BDA0004012224190000231
中选取随机方向wi。在某些实施例中,随机种子i例如在上述过程404中保存,并在步骤504中检索。
在步骤506,如果
Figure BDA0004012224190000232
是在本地保存的,则输出预测模块368获取
Figure BDA0004012224190000233
否则用算法3来指示
Figure BDA0004012224190000234
的计算。
在步骤508,输出预测模块368使用函数
Figure BDA0004012224190000235
基于
Figure BDA0004012224190000236
计算随机特征
Figure BDA0004012224190000237
在某些实施例中,每次迭代的随机方向和随机数是不同的。
在步骤510,输出预测模块368利用
Figure BDA0004012224190000238
计算本地工作器上的预测值。
在某些实施例中,在训练好模型后,图5中的步骤可用于预测。具体地,当提供具有索引i的新样本x时,可以从分布
Figure BDA0004012224190000239
中获取对应的随机方向wi。然后模型使用样本和随机方向计算调整的点积
Figure BDA00040122241900002310
使用调整的点积计算随机特征
Figure BDA00040122241900002311
并使用该随机特征计算与新样本x对应的预测fl(x)。
图6示意性地描绘了根据本公开的某些实施例使用FDSKL模型计算调整的点积的过程。在某些实施例中,训练流程由服务器计算设备执行,例如图3B中所示的工作器350,具体由FDSKL应用358执行。需要特别说明的是,除非本公开另有说明,否则FDSKL训练流程或方法的步骤可以以不同的顺序排列,因此不限于如6图所示的顺序。在某些实施例中,该流程对应于图6中的步骤408。如图4所示,该流程由主动工作器530的随机特征模块366执行。在某些实施例中,主动工作器和被动工作器的任何一个工作器的随机特征模块366都可以执行图6的流程。
如图6所示,当实例xi和对应的随机方向wi可用时,在步骤602,第l主动工作器(或任何工作器)中的随机特征模块366使用实例xi和随机方向wi计算点积
Figure BDA00040122241900002312
在步骤604,随机特征模块366使用种子σ(i)生成在[0,2π]的范围内的随机数b。在某些实施例中,随机种子σ(i)是例如由任何类型的随机数生成器在本地生成的。
在步骤606,随机特征模块366将随机数b添加到点积
Figure BDA00040122241900002313
以获取调整的点积
Figure BDA00040122241900002314
在步骤608,对工作器1至q中的每一个工作器重复步骤602~606。具体地,在由第l主动工作器执行步骤602~606的同时,主动工作器的随机特征模块366还要求被动工作器在本地重复步骤602、604和606,使得每个工作器都计算自己的调整的点积。假设总共有q个工作器。对于q个工作器中的任意一个工作器
Figure BDA0004012224190000241
随机种子用
Figure BDA0004012224190000242
表示,生成的[0-2π]范围内的随机数用
Figure BDA0004012224190000243
表示,点积用
Figure BDA0004012224190000244
表示,调整的点积用
Figure BDA0004012224190000245
Figure BDA0004012224190000246
表示。需要注意,q个工作器中的
Figure BDA0004012224190000247
是相同的,每个工作器的
Figure BDA0004012224190000248
都是使用相同的索引i从分布
Figure BDA0004012224190000249
中选取出的。然而,因为不同的工作器为同一个客户i存储不同的数据,所以q个工作器中的
Figure BDA00040122241900002410
是不同的,并且因为每个随机数都是在本地随机生成的,所以q个工作器中的随机数
Figure BDA00040122241900002411
是不同的。通过执行步骤602~608,q个工作器中的每一个工作器都具有该工作器自己所计算的调整的点积。
在步骤610,随机特征模块366对来自工作器1到q的调整的点积求和以获取求和的点积。在某些实施例中,使用等式
Figure BDA00040122241900002412
Figure BDA00040122241900002413
进行求和。因为是使用来自q个工作器的数据进行求和的,所以求和的点积ξ包括q个随机数
Figure BDA00040122241900002414
在某些实施例中,通过协调器310来协调求和。在某些实施例中,使用树形结构T1进行求和。
在步骤612,随机特征模块366随机选择不是第l主动工作器的工作器l’,并使用树形结构T2来计算除第l工作器之外的随机数b的总和。由于l’与l不同,因此第l’工作器是从所有被动工作器中随机选择的被动工作器。随机数b的总和用
Figure BDA00040122241900002415
表示,并使用等式
Figure BDA00040122241900002416
计算。由于总和不包括第l’被动工作器中的随机数b,因此总和
Figure BDA00040122241900002417
包括(q-1)个随机数b。
在步骤614,随机特征模块366通过从求和的点积中减少求和的随机数来生成随机特征。随机特征计算为
Figure BDA00040122241900002418
因为求和的点积ξ包括来自q个工作器的q个随机数b,并且
Figure BDA00040122241900002419
包括(q-1)个随机数b,所以
Figure BDA00040122241900002420
中的随机数分量对应于第l’个被动工作器中的随机数b。
通过图4~图6中描述的上述操作,可以使用第l主动工作器的本地数据和来自被动工作器的数据来训练第l主动工作器的FDSKL应用358。实例索引i由主动工作器随机选取,并且所有工作器的索引i是相同的;每个随机数b都是随机在本地生成的,不同工作器中的随机数互不相同。工作器共享的数据是索引i、调整的点积和预测输出。通过使用特定的训练步骤和随机数的应用,工作器之间的数据交换有限,实现了高安全性。
在某些方面,本公开涉及一种存储计算机可执行代码的非暂时性计算机可读介质。在某些实施例中,计算机可执行代码可以是存储在上述存储设备356中的软件。计算机可执行代码在被执行时可以执行上述方法之一。
在某些方面,本公开涉及一种使用训练好的FDSKL模型来预测实例结果的方法。在某些实施例中,本公开使用图4中描述的步骤来训练基于FDSKL模型的随机特征,使用图5中的步骤提供给定样本的训练好的FDSKL模型的预测值。在某些实施例中,本公开基于来自数字金融公司的客户的在线金融信息、来自电子商务公司的在线购物模式以及来自传统银行的银行信息来预测是否应该向客户发放贷款。预测可以由三个实体中的任何一个实体的服务器发起,但这三个实体并不需要共享它们真实的客户数据。
示例。已经使用根据本公开的某些实施例的模型进行了示例性实验。
实验设计:为了证明FDSKL在使用垂直分区数据的联邦核学习方面的优越性,我们与PP-SVMV(Yu、Vaidya和Jiang,2006)进行了比较。此外,为了验证FDSKL对垂直分区数据的预测准确性,我们与可以在没有联邦学习约束的情况下访问整个数据样本的oracle学习器进行了比较。对于oracle学习器,我们使用最先进的核分类求解器,包括LIBSVM(Chang和Lin,2011)和DSG(Dai等人,2014)。最后,我们提供使用线性模型的FD-SVRG(Wan等人,2007),来相对地验证FDSKL的准确性。用于比较的算法在图7A的表1中列出。
实施细节:我们的实验是在具有256GB RAM的24核双插槽Intel Xeon CPU E5-2650 v4机器上进行的。我们在python中实现了我们的FDSKL,其中并行计算是通过MPI4py(Dalcin等人,2011)处理的。LIBSVM的代码由Chang和Lin(2011)提供。我们使用了Dai等人(2014)为DSG提供的实施方案。我们修改了DSG的实施方案,使其使用恒定的学习率。我们的实验使用以下二元分类数据集,如下所述。
数据集:图7B中的表2显示了实验中使用的基准数据集。表2中显示的八个真实的二元分类数据集来自LIBSVM网站。我们按照4:1将数据集拆分,分别用于训练和测试。需要注意,在epsilon、realsim和w8a数据集的实验中,PP-SVMV总是耗尽内存,这意味着当使用上述指定的计算资源时,该方法仅在实例数低于45,000左右时才有效。
结果和讨论:在图8A~图8H、图9A~图9D和图10A~图10D中显示结果。我们在图8A~图8H中分别为数据集gisette、phishing、a9a、ijcnn1、cod-rna、w8a、real-sim和epsilon提供了四种最先进的核方法的测试误差与训练时间图。显然,与其他最先进的核方法相比,我们的算法总是达到最快的收敛速度。在图10A~图10D中,我们分别为数据集phishing、a9a、cod-rna和w8a展示了FDSKL和PP-SVMV的训练时间与不同训练大小的关系。再次,图10B、图10C和图10D中PP-SVMV的缺失结果是因为内存不足。显然,我们的方法比PP-SMV具有更好的可扩展性。这种可扩展性优势的原因是综合性的,主要是因为FDSKL采用了随机特征方法,这种方法高效且易于并行化。此外,我们还可以证明PP-SVMV中使用的通信结构不是最优的,这意味着发送和接收分区核矩阵所花费的时间更多。
如上一节所述,FDSKL使用树形结构通信方案来分配和聚合计算。为了验证这种系统设计,我们还比较了三种常用的通信结构(基于环形的、基于树形和基于星形的通信结构)的效率。比较任务的目标是计算四个数据集的训练集的核矩阵(线性核)。具体地,每个节点都维护训练集的特征子集,并被要求只使用该特征子集来计算核矩阵。然后使用这三种通信结构中的一个通信结构对每个节点上计算的本地核矩阵求和。我们的实验比较了获取最终核矩阵的效率(经过的通信时间),数据集gisette、phishing、a9a、ijcnn1和ijcnn1的结果在如图9A~图9D所示。从图9A~图9D中我们可以说随着节点的增加,我们的(基于树形)通信结构具有最低的通信成本。这解释了使用基于环形的通信结构的PP-SVMV效率低的原因,如图10A~图10D所示。
图11是三种最先进的核方法、线性方法(FD-SVRG)和我们的FDSKL的箱线图测试误差。所有结果均在10次不同的训练测试拆分试验中取平均值。根据该结果,我们的FDSKL始终具有最低的测试误差和方差。并且线性方法通常比其他核方法的结果更差。
结论:垂直分区数据的隐私保护联邦学习目前在机器学习中是迫切的。在本公开的某些实施例和示例中,我们提出了一种用于垂直分区数据的联邦双随机核学习(即FDSKL)算法,其突破了现有隐私保护联邦学习算法中使用的隐式线性可分性的限制。我们证明了FDSKL具有次线性收敛速度,并且可以在半诚实假设下保证数据安全。据我们所知,FDSKL是首个高效且可扩展的隐私保护联邦核方法。大量的实验结果表明,FDSKL比现有最先进的核方法能更有效地处理高维数据,同时保留了相似的泛化性能。
本公开的某些实施例尤其具有以下有益优点:(1)FDSKL算法可以通过核方法高效、可扩展且安全地训练垂直分区的数据。(2)FDSKL是一种学习率恒定的分布式双随机梯度算法,其比现有的基于递减学习率的双随机梯度算法快得多,也比现有的隐私保护联邦核学习算法的方法快得多。(3)树形结构通信方案用于分布和聚合计算,其比星形结构通信和环形结构通信效率更高,这使得FDSKL比现有的联邦学习算法效率更高。(4)现有的垂直分区数据的联邦学习算法采用加密技术来保证算法的安全性,耗时费力。然而,本公开的方法使用随机扰动来保持算法的安全性,这比加密技术更便宜,并且使得FDSKL比现有的联邦学习算法更有效。(5)现有的垂直分区数据的联邦学习算法大多局限于线性可分模型。本公开的FDSKL是首个突破隐式线性可分限制的垂直分区数据的高效且可扩展的联邦学习算法。
本公开的示例性实施例的前述描述仅出于说明和描述的目的而呈现并且不旨在穷举或将本公开限制为所公开的精确形式。根据上述教导,许多修改和变化是可能的。
选择和描述实施例是为了解释本公开的原理及其实际应用,从而使本领域的其他技术人员能够利用本公开和各种实施例以及适合于预期的特定用途的各种修改。在不脱离本公开的精神和范围的情况下,替代实施例对于本公开所属领域的技术人员将变得显而易见。因此,本公开的范围由所附权利要求而不是前述描述和其中描述的示例性实施例限定。

Claims (20)

1.一种使用机器学习模型进行预测的系统,包括:
主动计算设备和与所述主动计算设备通信的至少一个被动计算设备,其中所述主动计算设备和所述被动计算设备中的每个计算设备包括本地数据,所述主动计算设备包括处理器和存储计算机可执行代码的存储设备,所述计算机可执行代码在处理器处执行时被配置为:
获取所述机器学习模型的参数;
从所述主动计算设备的本地数据中检索实例;
对所述实例的随机方向进行采样;
计算所述随机方向与所述实例的点积,基于所述点积计算随机特征;
计算所述主动计算设备中所述实例的预测值,指示所述至少一个被动计算设备计算所述至少一个被动计算设备中所述实例的预测值,汇总来自所述主动计算设备和所述至少一个被动计算设备的预测值以获取所述实例的最终预测值,其中所述至少一个被动计算设备中所述实例的预测值是基于所述至少一个被动计算设备的本地数据获取的;
使用所述实例的最终预测值与所述实例的目标值之间的差和所述随机特征来确定模型系数;
使用所述模型系数来更新所述机器学习模型;以及
使用所述机器学习模型来预测新实例的值。
2.根据权利要求1所述的系统,其中,所述机器学习模型的参数包括恒定的学习率。
3.根据权利要求1所述的系统,其中,所述实例由索引表征,所述计算机可执行代码被配置为将所述索引提供给所述至少一个被动客户端计算机,所述主动客户端计算机和所述至少一个被动客户端计算机中的每个客户端计算机被配置为基于所述索引对所述随机方向进行采样。
4.根据权利要求3所述的系统,其中,所述随机方向是从高斯分布中采样的。
5.根据权利要求1所述的系统,其中,所述随机特征是使用等式
Figure FDA0004012224180000021
计算的,
Figure FDA0004012224180000022
是所述点积,b是随机值。
6.根据权利要求5所述的系统,其中,
Figure FDA0004012224180000023
Figure FDA0004012224180000024
计算,q是所述主动计算设备和所述至少一个被动计算设备的数量,
Figure FDA0004012224180000025
是q个计算设备中的第
Figure FDA0004012224180000026
个,
Figure FDA0004012224180000027
是第
Figure FDA0004012224180000028
个计算设备中随机方向和实例的点积,
Figure FDA0004012224180000029
是在第
Figure FDA00040122241800000210
个计算设备中生成的随机数,l′是所述主动计算设备。
7.根据权利要求1所述的系统,其中,使用多次迭代计算所述主动计算设备中所述实例的预测值,所述预测值在所述迭代中使用等式
Figure FDA00040122241800000211
更新,fl(x)是所述实例的预测值,αi是所述实例的模型系数,
Figure FDA00040122241800000212
是所述随机特征。
8.根据权利要求1所述的系统,其中,所述迭代等于或大于2。
9.根据权利要求1所述的系统,其中,所述计算机可执行代码被配置为通过使用等式αj=(1-γλ)αj替换每个先前模型系数来更新所述机器学习模型,其中αj是所述先前模型系数中的任何一个,γ是所述机器学习模型的学习率,λ是所述机器学习模型的正则化参数。
10.根据权利要求1所述的系统,其中,所述主动计算设备和所述至少一个被动计算设备之间的通信是通过与所述主动计算设备和所述至少一个被动计算设备通信的协调器计算设备使用树形结构来执行的。
11.一种使用机器学习模型进行预测的方法,包括:
由主动计算设备获取所述机器学习模型的参数;
由所述主动计算设备从所述主动计算设备的本地数据中检索实例;
由所述主动计算设备对所述实例的随机方向进行采样;
由所述主动计算设备计算所述随机方向与所述实例的点积,基于所述点积计算随机特征;
由所述主动计算设备计算所述实例的预测值,指示至少一个被动计算设备计算所述至少一个被动计算设备中所述实例的预测值,汇总来自所述主动计算设备和所述至少一个被动计算设备的预测值以获取所述实例的最终预测值,其中所述至少一个被动计算设备中所述实例的预测值是基于所述至少一个被动计算设备的本地数据获取的;
由所述主动计算设备使用所述实例的最终预测值与所述实例的目标值之间的差和所述随机特征来确定模型系数;
由所述主动计算设备使用所述模型系数来更新所述机器学习模型;以及
由所述主动计算设备使用所述机器学习模型来预测新实例的值。
12.根据权利要求11所述的方法,其中,所述机器学习模型的参数包括恒定的学习率。
13.根据权利要求11所述的方法,其中,所述实例由索引表征,所述计算机可执行代码被配置为将所述索引提供给所述至少一个被动客户端计算机,所述主动客户端计算机和所述至少一个被动客户端计算机中的每个客户端计算机被配置为基于所述索引对所述随机方向进行采样。
14.根据权利要求13所述的方法,其中,所述随机方向是从高斯分布中采样的。
15.根据权利要求11所述的方法,其中,所述随机特征是使用等式
Figure FDA0004012224180000031
计算的,
Figure FDA0004012224180000032
是所述点积,b是随机值。
16.根据权利要求11所述的方法,其中,
Figure FDA0004012224180000033
Figure FDA0004012224180000034
计算,q是所述主动计算设备和所述至少一个被动计算设备的数量,
Figure FDA0004012224180000035
是q个计算设备中的第
Figure FDA0004012224180000036
个,
Figure FDA0004012224180000037
是第
Figure FDA0004012224180000038
个计算设备中随机方向和实例的点积,
Figure FDA0004012224180000039
是在第
Figure FDA00040122241800000310
个计算设备中生成的随机数,l′是所述主动计算设备。
17.根据权利要求11所述的方法,其中,使用多次迭代计算所述主动计算设备中所述实例的预测值,所述预测值在所述迭代中使用等式
Figure FDA00040122241800000311
更新,fl(x)是所述实例的预测值,αi是所述实例的模型系数,
Figure FDA00040122241800000312
是所述随机特征。
18.根据权利要求11所述的方法,其中,所述计算机可执行代码被配置为通过使用等式αj=(1-γλ)αj替换每个先前模型系数来更新所述机器学习模型,其中αj是所述先前模型系数中的任何一个,γ是所述机器学习模型的学习率,λ是所述机器学习模型的正则化参数。
19.根据权利要求11所述的方法,其中,所述主动计算设备和所述至少一个被动计算设备之间的通信是通过与所述主动计算设备和所述至少一个被动计算设备通信的协调器计算设备使用树形结构来执行的。
20.一种存储计算机可执行代码的非暂时性计算机可读介质,其中,所述计算机可执行代码在主动计算设备的处理器处执行时被配置为:
获取机器学习模型的参数;
从所述主动计算设备的本地数据中检索实例;
对所述实例的随机方向进行采样;
计算所述随机方向与所述实例的点积,基于所述点积计算随机特征;
计算所述主动计算设备中的所述实例的预测值,指示至少一个被动计算设备计算所述至少一个被动计算设备中所述实例的预测值,汇总来自所述主动计算设备和所述至少一个被动计算设备的预测值以获取所述实例的最终预测值,其中所述至少一个被动计算设备中所述实例的预测值是基于所述至少一个被动计算设备的本地数据获取的;
使用所述实例的最终预测值与所述实例的目标值之间的差和所述随机特征来确定模型系数;
使用所述模型系数来更新所述机器学习模型;以及
使用所述机器学习模型来预测新实例的值。
CN202180044749.4A 2020-06-24 2021-06-24 垂直分区数据的联邦双随机核学习 Pending CN115943397A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/910,197 2020-06-24
US16/910,197 US11636400B2 (en) 2020-06-24 2020-06-24 Federated doubly stochastic kernel learning on vertical partitioned data
PCT/CN2021/102142 WO2021259366A1 (en) 2020-06-24 2021-06-24 Federated doubly stochastic kernel learning on vertical partitioned data

Publications (1)

Publication Number Publication Date
CN115943397A true CN115943397A (zh) 2023-04-07

Family

ID=79166875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180044749.4A Pending CN115943397A (zh) 2020-06-24 2021-06-24 垂直分区数据的联邦双随机核学习

Country Status (3)

Country Link
US (1) US11636400B2 (zh)
CN (1) CN115943397A (zh)
WO (1) WO2021259366A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790039B2 (en) * 2020-10-29 2023-10-17 EMC IP Holding Company LLC Compression switching for federated learning
CN114362948B (zh) * 2022-03-17 2022-07-12 蓝象智联(杭州)科技有限公司 一种联邦衍生特征逻辑回归建模方法
CN114611712B (zh) * 2022-05-10 2022-08-26 富算科技(上海)有限公司 基于异构联邦学习的预测方法、模型生成方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967218B2 (en) 2011-10-26 2018-05-08 Oath Inc. Online active learning in user-generated content streams
US11157814B2 (en) 2016-11-15 2021-10-26 Google Llc Efficient convolutional neural networks and techniques to reduce associated computational costs
CN110490738A (zh) 2019-08-06 2019-11-22 深圳前海微众银行股份有限公司 一种混合联邦学习方法及架构
CN111046433B (zh) * 2019-12-13 2021-03-05 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法
US20210365841A1 (en) * 2020-05-22 2021-11-25 Kiarash SHALOUDEGI Methods and apparatuses for federated learning

Also Published As

Publication number Publication date
US20220004932A1 (en) 2022-01-06
US11636400B2 (en) 2023-04-25
WO2021259366A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
EP3741082B1 (en) Proof chaining and decomposition
WO2021047535A1 (en) Method, apparatus and system for secure vertical federated learning
CN115943397A (zh) 垂直分区数据的联邦双随机核学习
WO2020192289A1 (zh) 确定关系网络图中图节点向量的方法及装置
EP3627759A1 (en) Method and apparatus for encrypting data, method and apparatus for training machine learning model, and electronic device
US11487969B2 (en) Apparatuses, computer program products, and computer-implemented methods for privacy-preserving federated learning
US20190340533A1 (en) Systems and methods for preparing data for use by machine learning algorithms
US10956584B1 (en) Secure data processing
CN112799708B (zh) 联合更新业务模型的方法及系统
CA3186528A1 (en) Machine-learning techniques for factor-level monotonic neural networks
CN113221153B (zh) 图神经网络训练方法、装置、计算设备及存储介质
Hidayat et al. Forecast analysis of research chance on AES algorithm to encrypt during data transmission on cloud computing
Rahmadika et al. Reliable collaborative learning with commensurate incentive schemes
Akter et al. Edge intelligence-based privacy protection framework for iot-based smart healthcare systems
US12015691B2 (en) Security as a service for machine learning
WO2023115019A1 (en) Explainable machine learning based on wavelet analysis
WO2021074773A1 (en) Learning pattern dictionary from noisy numerical data in distributed networks
CN114422105A (zh) 联合建模方法、装置、电子设备及存储介质
CN116633571A (zh) 基于同态加密以及无监督特征选择的隐私信息保护方法以及装置
CN114298321A (zh) 联合建模方法、装置、电子设备及存储介质
CN117726431A (zh) 信用信息更新方法、装置、设备、存储介质和程序产品
US20240121074A1 (en) Graph Based Embedding Under Fully Homomorphic Encryption
CN117408798A (zh) 违规资源转移识别方法、装置、计算机设备和存储介质
CN116883155A (zh) 应用于汽车供应链的银行授信额度判断方法、装置和设备
Wang et al. Research on Blockchain Based Data Sharing of Teaching Resources in Higher Vocational Mobile Education

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240206

Address after: Room 221, 2nd Floor, Building C, No. 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Applicant after: Jingdong Technology Holding Co.,Ltd.

Country or region after: China

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Technology Holding Co.,Ltd.

Country or region before: China

Applicant before: JD financial USA

Country or region before: U.S.A.