CN112347500A - 分布式系统的机器学习方法、装置、系统、设备及存储介质 - Google Patents

分布式系统的机器学习方法、装置、系统、设备及存储介质 Download PDF

Info

Publication number
CN112347500A
CN112347500A CN202110028432.3A CN202110028432A CN112347500A CN 112347500 A CN112347500 A CN 112347500A CN 202110028432 A CN202110028432 A CN 202110028432A CN 112347500 A CN112347500 A CN 112347500A
Authority
CN
China
Prior art keywords
slave device
local
slave
gradient
encrypted
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.)
Granted
Application number
CN202110028432.3A
Other languages
English (en)
Other versions
CN112347500B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110028432.3A priority Critical patent/CN112347500B/zh
Publication of CN112347500A publication Critical patent/CN112347500A/zh
Application granted granted Critical
Publication of CN112347500B publication Critical patent/CN112347500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/602Providing cryptographic facilities or services
    • 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)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (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

分布式系统的机器学习方法、装置、系统、设备及存储介质
技术领域
本申请涉及人工智能技术,尤其涉及一种分布式系统的机器学习方法、装置、系统、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
机器学习模型的规模越大越大,在单个机器上训练已经逐渐成为无法完成的任务。分布式学习系统通过整合多个机器的资源来协同完成机器学习任务。但是,相关技术提供的分布式机器学习技术在使用过程中,由于第三方的存在,无法保证内部各个设备之间隐私数据的安全。
发明内容
本申请实施例提供一种分布式系统的机器学习方法、装置、系统、电子设备及计算机可读存储介质,能够保证训练数据的安全性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种分布式系统的机器学习方法,应用于分布式学习系统,所述分布式学习系统包括主设备和多个从设备;所述方法包括:
所述主设备对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至所述从设备;
所述从设备基于所述加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;
所述主设备与所述从设备共同解密所述从设备对应的加密局部梯度,得到所述从设备对应的解密局部梯度;
所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数。
上述技术方案中,所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数,包括:
所述从设备基于所述从设备对应的解密局部梯度以及所述从设备对应的历史解密局部梯度,确定所述从设备对应的局部梯度变化量;
基于所述从设备对应的局部模型参数以及所述从设备对应的历史局部模型参数,确定所述从设备对应的局部模型参数变化量,基于所述从设备对应的局部梯度变化量以及所述从设备对应的局部模型参数变化量,确定所述从设备对应的局部梯度下降方向;
基于所述从设备对应的局部梯度下降方向更新所述从设备对应的局部模型参数。
上述技术方案中,所述基于所述从设备对应的局部梯度下降方向更新所述从设备对应的局部模型参数,包括:
基于所述从设备对应的局部梯度下降方向、所述从设备针对训练样本存储的特征数据以及所述主设备对应所述训练样本的加密海森二次型,确定所述从设备对应的加密海森矩阵;
将所述从设备对应的加密海森矩阵发送至所述主设备;
所述主设备基于所述从设备对应的加密海森矩阵以及所述从设备对应所述局部梯度下降方向的局部投影,得到所述机器学习模型在全局梯度下降方向的步长;
基于所述机器学习模型在梯度下降方向的步长以及所述从设备对应的局部梯度下降方向,更新所述从设备对应的局部模型参数。
上述技术方案中,所述确定所述从设备对应的加密海森矩阵之前,还包括:
所述主设备基于对应所述训练样本的全局对数几率,确定对应所述训练样本的海森二次型;
针对对应所述训练样本的海森二次型进行同态加密,将得到的对应所述训练样本的加密海森二次型发送至所述从设备。
上述技术方案中,所述主设备基于所述从设备对应的加密海森矩阵以及所述从设备对应所述局部梯度下降方向的局部投影,得到所述机器学习模型在全局梯度下降方向的步长,包括:
基于所述多个从设备级联传递的对应所述局部梯度下降方向的局部投影,确定对应全局梯度下降方向的全局投影;
对所述多个从设备分别对应的加密海森矩阵进行加和处理,得到第三加和结果;
将所述对应全局梯度下降方向的全局投影与所述第三加和结果的商,作为所述机器学习模型在全局梯度下降方向的步长。
本申请实施例提供一种分布式系统的机器学习装置,所述装置包括:
加密模块,用于对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至所述从设备,以使
所述从设备基于所述加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;
解密模块,用于与所述从设备共同解密所述从设备对应的加密局部梯度,得到所述从设备对应的解密局部梯度,以使
所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数。
本申请实施例提供一种分布式系统的机器学习装置,所述装置包括:
第一确定模块,用于从设备基于加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;
更新模块,用于所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数;
其中,所述从设备对应的解密局部梯度是主设备与所述从设备共同解密所述从设备对应的加密局部梯度得到的。
本申请实施例提供一种分布式系统,其特征在于,所述系统包括:主设备和多个从设备;其中,
所述主设备,用于对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至所述从设备;
所述从设备,用于基于所述加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;
所述主设备,还用于与所述从设备共同解密所述从设备对应的加密局部梯度,得到所述从设备对应的解密局部梯度;
所述从设备,还用于基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数。
本申请实施例提供一种用于机器学习的电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的分布式系统的机器学习方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的分布式系统的机器学习方法。
本申请实施例具有以下有益效果:
通过主设备对机器学习模型的全局梯度标量进行同态加密,并与从设备共同解密从设备对应的加密局部梯度,得到从设备对应的解密局部梯度,保护了主设备与从设备之间隐私数据,提高数据的安全性、节约设备资源。
附图说明
图1是本申请实施例提供的分布式学习系统的结构示意图;
图2是本申请实施例提供的用于机器学习的主设备的结构示意图;
图3是本申请实施例提供的用于机器学习的从设备的结构示意图;
图4-图7是本申请实施例提供的分布式系统的机器学习方法的流程示意图;
图8是本申请实施例提供的级联传递局部对数几率的流程示意图;
图9是本申请实施例提供的级联传递局部中间变量的流程示意图;
图10是相关技术提供的联邦学习架构示意图;
图11是相关技术提供的数据分布的示意图;
图12是本申请实施例提供的参与方的数据分布的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)联邦学习(Federated Learning):一种“隐私保护+分布式”的机器学习技术,解决的是当敏感数据存在于多个独立的机构、团体、个人手中时,在保护隐私的前提下,在虚拟“聚合”的数据之上共同训练一个全局模型的问题。联邦学习的概念被扩展成横向联邦、纵向联邦和联邦迁移。其中,横向联邦是多方数据集有大量的特征重叠,但样本互补;纵向联邦是多方数据集有大量的样本重叠,但特征互补,纵向联邦适用于来自于金融、社交、游戏、教育等多方特征服务于一个业务方标签的场景。
2)机器学习模型:一种由大量的、简单的处理单元广泛地互相连接而形成的复杂网络系统,反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。本申请实施例中的机器学习模型不局限任何结构、类型、应用场景。
3)模型参数:机器学习模型的参数,在分布式系统的机器学习过程中被不断更新,例如权重参数和偏置参数。
4)主设备:由终端、服务器或服务器集群实现,是分布式学习中的一种特殊的参与方,是一种管理者角色,负责结合其他参与方传输的数据进行分布式系统的机器学习,在分布式学习系统中,用于训练机器学习模型,并处于管理者角色的设备称为主设备。
5)训练参与方:由终端、服务器或服务器集群实现,是分布式学习中的参与方,是一种从属角色,负责传输数据以协助分布式系统的机器学习,为机器学习模型做出贡献的一方,在分布式学习系统中,用于协助训练机器学习模型,并处于从属角色的设备称为主设备。
6)安全多方计算(Secure Multiparty Computation):是密码学的分支,研究的问题是一种当隐私数据
Figure 777813DEST_PATH_IMAGE001
分布式地掌握在多方
Figure 288429DEST_PATH_IMAGE002
手中时,安全求值一个全局函数
Figure 537008DEST_PATH_IMAGE003
,安全多方计算是联邦机器学习的底层核心技术。
7)同态加密(Homomorphic Encryption):是安全多方计算领域的核心技术之一。同态性是某些密码系统所具备的一种性质,在密文空间中的密文操作(如加、乘等)可以映射到明文空间中。例如,用<x>表示明文
Figure 273495DEST_PATH_IMAGE004
Figure 822288DEST_PATH_IMAGE005
x的密文,在无填充(unpadded)状态下是乘法同态的,即满足
Figure 379171DEST_PATH_IMAGE006
。同态加密除了能实现基本的加密操作之外,还能实现密文间的多种计算功能,即先计算后解密可等价于先解密后计算。同态加密是指这样一种加密函数,对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的。
利用同态加密技术可以先对多个密文进行计算之后再解密,不必对每一个密文解密而花费高昂的计算代价;利用同态加密技术可以实现无密钥方对密文的计算,密文计算无须经过密钥方,既可以减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价;利用同态加密技术可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高信息的安全性。
8)安全求和协议:是安全多方计算的协议之一,解决的问题是当
Figure 505259DEST_PATH_IMAGE007
个参与方分别拥有秘密
Figure 173001DEST_PATH_IMAGE008
时,在不互相泄露秘密的前提下,获得
Figure 576300DEST_PATH_IMAGE009
的问题。一种协议是第1方产生随机数
Figure 913872DEST_PATH_IMAGE010
,并将
Figure 402622DEST_PATH_IMAGE011
发送给第2方,第2方将
Figure 733109DEST_PATH_IMAGE012
发送给第3方,以此类推,最终第
Figure 990915DEST_PATH_IMAGE007
方将
Figure 155180DEST_PATH_IMAGE013
返回给第1方,第1方将
Figure 741014DEST_PATH_IMAGE010
减掉即得最终结果
Figure 484979DEST_PATH_IMAGE009
9)逻辑回归(Logistic Regression):一种机器学习模型,样本集
Figure 862870DEST_PATH_IMAGE014
,则逻辑回归预测函数为
Figure 57091DEST_PATH_IMAGE015
,损失函数为
Figure 254855DEST_PATH_IMAGE017
其中正则化系数λ>0。
10)随机梯度下降(Stochastic Gradient Descent):一种一阶数值优化(Numerical Optimization)方法,用于训练逻辑回归模型。从逻辑回归、支持向量机(SVM,Support Vector Machines)等机器学习模型中抽象而来的可微的无约束优化目标为
Figure 68090DEST_PATH_IMAGE018
。随机梯度下降法利用转置函数
Figure 175854DEST_PATH_IMAGE019
,将集合
Figure 416343DEST_PATH_IMAGE020
随机打乱,那么每一步训练可以描述为
Figure 101402DEST_PATH_IMAGE021
本申请实施例提供了一种分布式系统的机器学习方法、装置、系统、电子设备及计算机可读存储介质,能够在无可信第三方的情况下,保证各个设备之间数据的安全性。
本申请实施例所提供的分布式系统的机器学习方法,由分布式学习系统实现。其中,分布式学习系统中的设备可以是终端,也可以是独立的物理服务器,还可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
以分布式学习系统是部署在云端的服务器集群为例,向用户开放人工智能云服务(AI as a Service,AIaaS),AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务,这种服务模式类似于一个AI主题商城,所有的用户都可以通过应用程序编程接口的方式来接入使用AIaaS平台提供的一种或者多种人工智能服务。
例如,其中的一种人工智能云服务可以为分布式系统的机器学习服务,即云端的服务器封装有本申请实施例提供的分布式系统的机器学习程序。用户通过终端(运行有客户端,例如信贷客户端等)调用云服务中的分布式系统的机器学习服务,以使部署在云端的服务器调用封装的分布式系统的机器学习程序,通过主训练服务器与从训练服务器共同解密从训练服务器对应的加密局部梯度,得到从训练服务器对应的解密局部梯度,从训练服务器基于从训练服务器对应的解密局部梯度更新从训练服务器对应的局部模型参数,从而实现机器学习模型的分布式训练。
作为一个应用实例,例如,对于信贷应用,信贷训练服务器基于信贷客户端的信贷数据,获取机器学习模型的全局梯度标量,并对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至从设备,例如社交媒体服务器、网络教育服务器等,从训练服务器(社交媒体服务器以及网络教育服务器)基于加密全局梯度标量、从训练服务器针对训练样本存储的特征数据以及从训练服务器对应的局部模型参数,确定从训练服务器对应的加密局部梯度。信贷服务器与从设备共同解密从训练服务器对应的加密局部梯度,得到从训练服务器对应的解密局部梯度,从训练服务器基于从训练服务器对应的解密局部梯度更新从训练服务器(社交媒体服务器以及网络教育服务器)对应的局部模型参数,从而在保证社交媒体服务器以及网络教育服务器的隐私数据的安全的前提下,结合社交特征、教育特征准确地训练机器学习模型,以实现分布式训练。
参见图1,图1是本申请实施例提供的分布式学习系统(分布式系统的机器学习系统)10的结构示意图,主训练服务器100、从训练服务器(示例性示出从训练服务器200-1和从训练服务器200-2)、终端(示例性示出从终端300-1、终端300-2和终端300-3)之间通过网络400连接,网络400可以是广域网或者局域网,又或者是二者的组合。
终端(运行有客户端,例如信贷客户端、社交媒体客户端、网络教育客户端等)用于获取训练样本的特征数据。例如,终端300-1运行有信贷客户端,在用户进行一些信贷处理,例如,登录处理、查询处理等,终端300-1自动生成对应的信贷特征,例如,用户登录频率、用户的征信查询次数等,并将信贷特征发送至信贷服务器,以供信贷服务器针对信贷特征进行机器学习模型的局部训练处理;终端300-2运行有社交媒体客户端,在用户进行一些社交处理,例如,登录处理、浏览处理等,终端300-2自动生成对应的社交特征,例如,用户登录频率、用户的浏览时长等,并将社交特征发送至社交服务器,以供社交服务器针对社交特征进行机器学习模型的局部训练处理;终端300-3运行有网络教育客户端,在用户进行一些处理,例如,资料填写、课程购买等,终端300-3自动生成对应的教育特征,例如,用户的学历、用户的课程等,并将教育特征发送至网络教育服务器,以供网络教育服务器针对教育特征进行机器学习模型的局部训练处理。
主训练服务器100用于对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至从训练服务器200-1以及从训练服务器200-2,与从训练服务器共同解密从训练服务器对应的加密局部梯度,得到从训练服务器对应的解密局部梯度,例如,信贷训练服务器基于训练样本的所有特征确定机器学习模型的全局梯度标量后,对机器学习模型的全局梯度标量进行加密,并将加密全局梯度标量发送至社交媒体服务器以及网络教育服务器,并协助社交媒体服务器以及网络教育服务器解密各自对应的加密局部梯度,得到社交媒体服务器对应的解密局部梯度以及网络教育服务器对应的解密局部梯度。
从训练服务器用于基于加密全局梯度标量、从训练服务器针对训练样本存储的特征数据以及从训练服务器对应的局部模型参数,确定从训练服务器对应的加密局部梯度,并基于从训练服务器对应的解密局部梯度更新从训练服务器对应的局部模型参数。例如,从训练服务器(例如,社交媒体服务器、网络教育服务器等)接收主训练服务器100发送的加密全局梯度标量,并基于加密全局梯度标量、从训练服务器针对训练样本存储的特征数据以及从训练服务器对应的局部模型参数,确定从训练服务器对应的加密局部梯度,通过主训练服务器100的协助解密,得到从训练服务器对应的解密局部梯度,并更新从训练服务器对应的局部模型参数。
需要说明的是,本申请实施例中的主设备、从设备可以采用软件方式(例如,应用程序、软件、软件模块、脚本或代码等形式)实现,并将其部署到主设备(即上述的各种形式的服务器)中,以实现分布式机器学习。下面说明本申请实施例提供的用于机器学习的主设备的结构,参见图2,图2是本申请实施例提供的用于机器学习的主设备500的结构示意图,以主设备500是服务器为例说明,图2所示的用于机器学习的主设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。主设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的分布式系统的机器学习装置可以采用软件方式实现,例如,可以是上文所述的服务器中分布式系统的机器学习服务。当然,不局限于此,本申请实施例提供的分布式系统的机器学习装置可以提供为各种软件实施例,包括应用程序、软件、软件模块、脚本或代码在内的各种形式。
图2示出了存储在存储器550中的分布式系统的机器学习装置555,其可以是程序和插件等形式的软件,并包括一系列的模块,包括加密模块5551、解密模块5552、第二确定模块5553、第一处理模块5554、第三确定模块5555以及第二处理模块5556;其中,加密模块5551、解密模块5552、第二确定模块5553、第一处理模块5554、第三确定模块5555以及第二处理模块5556用于实现本申请实施例提供的分布式系统的机器学习功能。
下面说明本申请实施例提供的用于机器学习的从设备(例如图1中的从训练服务器200-1和从训练服务器200-2)的结构,参见图3,图3是本申请实施例提供的用于机器学习的从设备600的结构示意图,以从设备600是服务器为例说明,图3所示的用于机器学习的从设备600包括:至少一个处理器610、存储器650、至少一个网络接口620和用户接口630。从设备600中的各个组件通过总线系统640耦合在一起。其中,从设备600与主设备500中的处理器、存储器、网络接口和用户接口的功能类似,从设备600中的操作系统651、网络通信模块652与主设备500中的操作系统551、网络通信模块552的功能类似,在此处将不再进行赘述。
图3示出了存储在存储器650中的分布式系统的机器学习装置655,其可以是程序和插件等形式的软件,并包括一系列的模块,包括第一确定模块6551、更新模块6552、映射模块6553、第三处理模块6554;其中,第一确定模块6551、更新模块6552、映射模块6553、第三处理模块6554用于实现本申请实施例提供的分布式系统的机器学习功能。
下面结合本申请实施例提供的分布式学习系统的示例性应用和实施,说明本申请实施例提供的分布式系统的机器学习方法。参见图4,图4是本申请实施例提供的分布式系统的机器学习方法的流程示意图,结合图4示出的步骤进行说明。
其中,分布式学习系统包括:主设备、多个从设备。在一些实施例中,还可以包括代理服务器。主设备以及从设备由终端、服务器或服务器集群实现。
需要说明的是,图4中仅示出了的从设备仅作为一种示例,并不是表示只有一个从设备,对于多个从设备中的其他从设备的处理,与图4中示出的从设备的处理是类似的。
在步骤101中,主设备对机器学习模型的全局梯度标量进行同态加密,得到加密全局梯度标量。
为了保证机器学习模型的全局梯度标量(全局梯度的标量)的安全性,主设备对机器学习模型的全局梯度标量进行同态加密,得到加密全局梯度标量(加密的全局梯度标量),例如,全局梯度的标量为
Figure 577383DEST_PATH_IMAGE022
,则加密全局梯度标量为
Figure 664287DEST_PATH_IMAGE023
,使得后续从设备可以基于加密全局梯度标量进行相应的计算,无需对加密全局梯度进行解密,从而减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价,提高信息的安全性。
在一些实施例中,主设备对机器学习模型的全局梯度标量进行同态加密之前,还包括:主设备基于多个从设备级联传递的对应训练样本的局部对数几率,确定对应训练样本的全局对数几率;主设备基于对应训练样本的全局对数几率以及主设备针对训练样本存储的标签数据,确定机器学习模型的全局梯度标量。
其中,在级联传递的过程中,每个从设备从上一级从设备(或者主设备)接收加和结果,并进行加和结果以及对应训练样本的局部对数几率的加和处理,并将从设备的加和结果传递至下一级从设备(或者主设备)。
例如,对应训练样本i的全局对数几率为
Figure 948114DEST_PATH_IMAGE024
,主设备针对训练样本i存储的标签数据
Figure 854890DEST_PATH_IMAGE025
,机器学习模型的当前模型参数为
Figure 9928DEST_PATH_IMAGE026
,则机器学习模型的全局梯度标量为
Figure 75972DEST_PATH_IMAGE027
,其中,
Figure 658264DEST_PATH_IMAGE028
表示sigmoid函数。
在一些实施例中,基于多个从设备级联传递的对应训练样本的局部对数几率,确定对应训练样本的全局对数几率,包括:主设备基于主设备针对训练样本存储的特征数据以及从设备对应的局部模型参数,确定主设备对应训练样本的局部对数几率;主设备对主设备对应训练样本的局部对数几率与第一随机数进行加和处理,并将得到的第一加和结果发送至从设备;从设备基于第一加和结果累加从设备对应训练样本的局部对数几率,得到对应局部对数几率的累加结果;主设备将对应局部对数几率的累加结果与第一随机数的差值,作为对应训练样本的全局对数几率。
例如,设备j针对训练样本i存储的特征数据为
Figure 927702DEST_PATH_IMAGE029
,设备j对应的局部模型参数为
Figure 886431DEST_PATH_IMAGE030
,其中,k表示迭代训练次数,则设备j对应训练样本i的局部对数几率为
Figure 541403DEST_PATH_IMAGE031
在一些实施例中,多个从设备是级联的;将得到的第一加和结果发送至从设备,包括:将得到的第一加和结果发送至级联的多个从设备中的第一个从设备,以使第一个从设备对第一加和结果与第一个从设备对应训练样本的局部对数几率进行加和处理,将得到的加和结果输出到后续级联的从设备,以在后续级联的从设备中继续进行加和处理和加和结果输出,直至输出到最后一个从设备;将最后一个从设备输出的加和结果作为对应局部对数几率的累加结果。
如图8所示,主设备A1对应训练样本的局部对数几率为l1,主设备A1产生第一随机数r,主设备A1将l1+r发送至从设备A2;从设备A2对应训练样本的局部对数几率为l2,则从设备A2将l1+l2+r发送至从设备A3,重复上述步骤,最后一个从设备Ap将l1+l2+,…,lp+r(对应局部对数几率的累加结果)发送至主设备A1,主设备A1在l1+l2+,…,lp+r的基础上减去第一随机数r,即可得到对应训练样本的全局对数几率l1+l2+,…,lp。
在步骤102中,主设备将加密全局梯度标量发送至从设备。
在步骤103中,从设备基于加密全局梯度标量、从设备针对训练样本存储的特征数据以及从设备对应的局部模型参数,确定从设备对应的加密局部梯度。
例如,由于加密全局梯度标量是通过同态加密的方式得到的,因此凑个设备基于加密全局梯度标量进行相应的计算,无需对加密全局梯度进行解密,即可确定从设备对应的加密局部梯度,从而减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价,提高信息的安全性。
在一些实施例中,从设备基于加密全局梯度标量、从设备针对训练样本存储的特征数据以及从设备对应的局部模型参数,确定从设备对应的加密局部梯度,包括:从设备将加密全局梯度标量与从设备针对训练样本存储的特征数据进行乘积处理,将得到的乘积结果与从设备对应的局部模型参数进行加和处理,将得到的加和结果作为从设备对应的加密局部梯度。
例如,加密全局梯度标量为
Figure 294595DEST_PATH_IMAGE023
,从设备j针对训练样本i存储的特征数据为
Figure 51330DEST_PATH_IMAGE029
,从设备对应的局部模型参数
Figure 548170DEST_PATH_IMAGE030
,其中,k表示迭代训练次数,则从设备对应的加密局部梯度为
Figure 323228DEST_PATH_IMAGE032
在步骤104中,主设备与从设备共同解密从设备对应的加密局部梯度,得到从设备对应的解密局部梯度。
为了实现分布式学习,使得从设备能够基于解密的局部梯度进行后续的模型参数更新,因此,可以通过主设备作为管理者协助从设备解密从设备对应的加密局部梯度,得到从设备对应的解密局部梯度(解密的局部梯度)。
参见图5,图5是本发明实施例提供的分布式系统的机器学习方法的一个可选的流程示意图,图5示出图4中的步骤104可以通过图5示出的步骤1041至步骤1045实现:在步骤1041中,从设备对从设备对应的加密局部梯度进行映射,得到从设备对应的映射加密局部梯度;在步骤1042中,从设备将从设备对应的映射加密局部梯度发送至主设备;在步骤1043中,主设备解密从设备对应的映射加密局部梯度,得到从设备对应的映射解密局部梯度;在步骤1044中,主设备将从设备对应的映射解密局部梯度发送至从设备;在步骤1045中,从设备基于从设备对应的映射解密局部梯度进行逆映射处理,得到从设备对应的解密局部梯度。
其中,从设备对从设备对应的加密局部梯度进行映射的方式,包括:从设备生成第二随机数,并对第二随机数进行同态加密,得到第一加密数据;从设备将第一加密数据与从设备对应的加密局部梯度进行加和处理,将得到的加和结果作为从设备对应的映射加密局部梯度;从设备基于从设备对应的映射解密局部梯度进行逆映射处理,得到从设备对应的解密局部梯度,包括:从设备确定从设备对应的映射解密局部梯度与第二随机数的差值,将差值作为从设备对应的解密局部梯度。
例如,从设备j生成第二随机数r,并对第二随机数进行同态加密,得到第一加密数据
Figure 716164DEST_PATH_IMAGE033
,从设备j对应的加密局部梯度为
Figure 960194DEST_PATH_IMAGE034
,其中,k表示迭代训练次数,则从设备对应的映射加密局部梯度为
Figure 995146DEST_PATH_IMAGE035
,主设备对
Figure 155869DEST_PATH_IMAGE035
进行解密得到映射解密局部梯度
Figure 985285DEST_PATH_IMAGE036
,主设备将
Figure 713682DEST_PATH_IMAGE036
发送至从设备j,从设备j在
Figure 552325DEST_PATH_IMAGE036
的基础上减去第二随机数r,得到从设备对应的解密局部梯度
Figure 36396DEST_PATH_IMAGE037
,从而实现在主设备与从设备在互不透露数据的情况下进行解码处理,得到解密局部梯度。
在步骤105中,从设备基于从设备对应的解密局部梯度更新从设备对应的局部模型参数。
在从设备基于同态加密技术得到从设备对应的解密局部梯度后,基于从设备对应的解密局部梯度更新从设备对应的局部模型参数,从而实现分布式学习,在无可信第三方的情况下,保证各个设备之间数据的安全性。
参见图6,图6是本发明实施例提供的分布式系统的机器学习方法的一个可选的流程示意图,图6示出图4中的步骤105可以通过图6示出的步骤1051至步骤1054实现:在步骤1051中,从设备基于从设备对应的解密局部梯度以及从设备对应的历史解密局部梯度,确定从设备对应的局部梯度变化量;在步骤1052中,从设备基于从设备对应的局部模型参数以及从设备对应的历史局部模型参数,确定从设备对应的局部模型参数变化量;在步骤1053中,从设备基于从设备对应的局部梯度变化量以及从设备对应的局部模型参数变化量,确定从设备对应的局部梯度下降方向;在步骤1054中,从设备基于从设备对应的局部梯度下降方向更新从设备对应的局部模型参数。
在一些实施例中,基于从设备对应的局部梯度变化量以及从设备对应的局部模型参数变化量,确定从设备对应的局部梯度下降方向,包括:从设备基于从设备对应的局部梯度变化量以及从设备对应的局部模型参数变化量,确定从设备对应的局部中间变量;通过在多个从设备之间级联传递的方式,将从设备对应的局部中间变量发送至主设备;主设备基于级联传递的方式发送的局部中间变量确定全局变量;从设备基于全局变量、从设备对应的解密局部梯度、从设备对应的局部梯度变化量以及从设备对应的局部模型参数变化量,确定从设备对应的局部梯度下降方向。
其中,局部中间变量为用于计算局部梯度下降方向的中间变量。例如,从设备j对应的局部梯度变化量为
Figure 302292DEST_PATH_IMAGE038
,从设备j对应的局部模型参数变化量为
Figure 255336DEST_PATH_IMAGE039
,其中k表示迭代训练次数,则局部中间变量为
Figure 163249DEST_PATH_IMAGE040
Figure 501826DEST_PATH_IMAGE041
Figure 938624DEST_PATH_IMAGE042
Figure 769177DEST_PATH_IMAGE043
,主设备基于级联传递的方式发送的局部中间变量确定全局变量,其全局变量为
Figure 824989DEST_PATH_IMAGE044
Figure 159018DEST_PATH_IMAGE045
Figure 891351DEST_PATH_IMAGE046
Figure 943620DEST_PATH_IMAGE047
Figure 537544DEST_PATH_IMAGE048
Figure 257238DEST_PATH_IMAGE049
Figure 160472DEST_PATH_IMAGE050
,P表示主设备与从设备的总数量,则从设备j基于全局变量、从设备j对应的解密局部梯度
Figure 700038DEST_PATH_IMAGE037
、从设备j对应的局部梯度变化量
Figure 487865DEST_PATH_IMAGE038
以及从设备j对应的局部模型参数变化量
Figure 692361DEST_PATH_IMAGE039
,确定从设备j对应的局部梯度下降方向为
Figure 641862DEST_PATH_IMAGE051
,从而在无可信第三方的情况下,保证各个设备之间数据的安全性。
承接上述示例,主设备基于级联传递的方式发送的局部中间变量确定全局变量,包括:主设备对主设备对应的局部中间变量与第三随机数进行加和处理,并将得到的第二加和结果发送至从设备;从设备基于第二加和结果累加从设备对应的局部中间变量,得到对应局部中间变量的累加结果;从设备将对应局部中间变量的累加结果发送至主设备;主设备将对应局部中间变量的累加结果与第三随机数的差值作为全局变量。
其中多个从设备是级联的;主设备将得到的第二加和结果发送至级联的多个从设备中的第一个从设备,以使第一个从设备对第二加和结果与第一个从设备对应的局部中间变量进行加和处理,将得到的加和结果输出到后续级联的从设备,以在后续级联的从设备中继续进行加和处理和加和结果输出,直至输出到最后一个从设备;将最后一个从设备输出的加和结果作为对应局部中间变量的累加结果。
如图9所示,以局部中间变量为
Figure 527779DEST_PATH_IMAGE052
为例,主设备对应的局部中间变量为t1,主设备A1产生第三随机数e,主设备A1将t1+e发送至从设备A2;从设备A2对应的局部中间变量为t2,则从设备A2将t1+t2+e发送至从设备A3,重复上述步骤,最后一个从设备Ap将t1+t2+,…,tp+e(对应局部中间变量的累加结果)发送至主设备A1,主设备A1在t1+t2+,…,tp+e的基础上减去第三随机数e,即可得到全局变量
Figure 119297DEST_PATH_IMAGE053
参见图7,图7是本发明实施例提供的分布式系统的机器学习方法的一个可选的流程示意图,图7示出图6中的步骤1054可以通过图7示出的步骤10541至步骤10545实现:在步骤10541中,从设备基于从设备对应的局部梯度下降方向、从设备针对训练样本存储的特征数据以及主设备对应训练样本的加密海森二次型,确定从设备对应的加密海森矩阵;在步骤10542中,从设备将从设备对应的加密海森矩阵发送至主设备;在步骤10543中,主设备基于从设备对应的加密海森矩阵以及从设备对应局部梯度下降方向的局部投影,得到机器学习模型在全局梯度下降方向的步长;在步骤10544中,从设备将机器学习模型在全局梯度下降方向的步长发送至从设备;在步骤10545中,从设备基于机器学习模型在梯度下降方向的步长以及从设备对应的局部梯度下降方向,更新从设备对应的局部模型参数。
其中,从设备对应的局部投影是通过从设备对应的局部梯度下降方向以及对应的解密局部梯度的乘积得到的。例如,从设备j对应的局部梯度下降方向为
Figure 157791DEST_PATH_IMAGE054
,从设备j针对训练样本i存储的特征数据为
Figure 278194DEST_PATH_IMAGE029
,主设备对应训练样本的加密海森二次型为
Figure 916986DEST_PATH_IMAGE055
,则从设备j对应的加密海森矩阵为
Figure 781037DEST_PATH_IMAGE056
,其中,n表示训练样本的数量。从设备j对应的加密海森矩阵为
Figure 674037DEST_PATH_IMAGE057
,从设备j对应局部梯度下降方向的局部投影
Figure 496500DEST_PATH_IMAGE058
,得到机器学习模型在全局梯度下降方向的步长为
Figure 232375DEST_PATH_IMAGE059
,其中,对
Figure 24750DEST_PATH_IMAGE058
执行安全求和,得到对应全局梯度下降方向的全局投影
Figure 162471DEST_PATH_IMAGE060
,从而基于
Figure 765621DEST_PATH_IMAGE061
更新从设备j对应的局部模型参数,其中,
Figure 988792DEST_PATH_IMAGE054
表示从设备对应的局部梯度下降方向。
在一些实施例中,确定从设备对应的加密海森矩阵之前,还包括:主设备基于对应训练样本的全局对数几率,确定对应训练样本的海森二次型;主设备针对对应训练样本的海森二次型进行同态加密,将得到的对应训练样本的加密海森二次型发送至从设备。
例如,对应训练样本的全局对数几率为
Figure 460225DEST_PATH_IMAGE062
,则对应训练样本的海森二次型为
Figure 577085DEST_PATH_IMAGE063
,对
Figure 741351DEST_PATH_IMAGE064
进行同态加密得到加密海森二次型
Figure 58675DEST_PATH_IMAGE055
,并将
Figure 68219DEST_PATH_IMAGE055
发送给从设备。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
以上文的分布式学习系统为联邦系统为例,联邦学习的系统架构包含多个数据拥有方
Figure 305165DEST_PATH_IMAGE065
Figure 374753DEST_PATH_IMAGE065
想联合训练一个机器学习模型,
Figure 572516DEST_PATH_IMAGE065
分别拥有各自用户的相关数据。此外,
Figure 995538DEST_PATH_IMAGE066
还拥有机器学习模型需要预测的标签数据。出于数据隐私保护和安全考虑,
Figure 962357DEST_PATH_IMAGE065
之间无法直接进行数据交换,可使用联邦学习系统建立机器学习模型。
如图10所示,以
Figure 61900DEST_PATH_IMAGE067
Figure 12538DEST_PATH_IMAGE068
为例,
Figure 239252DEST_PATH_IMAGE067
既有特征数据,又有标签数据,
Figure 326156DEST_PATH_IMAGE068
有特征数据。在训练过程中,第一步,中间方M向
Figure 737546DEST_PATH_IMAGE067
Figure 768956DEST_PATH_IMAGE068
发送公钥,用来加密需要传输的数据;第二步,
Figure 658415DEST_PATH_IMAGE067
Figure 740771DEST_PATH_IMAGE068
分别计算和自己相关的特征中间结果,并加密交互,用来求得各自梯度和损失;第三步、
Figure 57483DEST_PATH_IMAGE067
Figure 717135DEST_PATH_IMAGE068
分别计算各自加密后的梯度并发送给中间方M,同时
Figure 534918DEST_PATH_IMAGE067
计算加密后的损失发送给中间方M;第四步,中间方M解密梯度和损失后回传给
Figure 330836DEST_PATH_IMAGE067
Figure 956464DEST_PATH_IMAGE068
Figure 837833DEST_PATH_IMAGE067
Figure 193728DEST_PATH_IMAGE068
基于梯度和损失联合更新模型。
如图11所示,为了实现联邦学习,例如有
Figure 844152DEST_PATH_IMAGE065
共P个计算参与方(数据拥有方,设备),有n条训练样本,参与方
Figure 643612DEST_PATH_IMAGE067
包括
Figure 12276DEST_PATH_IMAGE069
维特征。其中,参与方
Figure 171862DEST_PATH_IMAGE067
还掌握训练样本对应的标签。以P=3为例,上述数据分布在图10中体现为:参与方
Figure 676793DEST_PATH_IMAGE067
包括
Figure 912733DEST_PATH_IMAGE070
维特征以及训练样本对应的标签,参与方
Figure 768694DEST_PATH_IMAGE068
包括
Figure 466391DEST_PATH_IMAGE071
维特征,参与方
Figure 356987DEST_PATH_IMAGE072
包括
Figure 622883DEST_PATH_IMAGE073
维特征。
相关技术在训练协议中有中间方M角色,起到解密同态密文的作用,以实现所有参与方在以上“虚拟聚合”的数据集之上联合训练机器学习模型,并且在训练过程中,每个参与方保护自己的特征和标签不被其他参与方所获知。
然而,相关技术存在以下问题:
1)安全性方面:由于中间方M的引入,存在极高安全隐患,例如由中间方与任意参与方的合谋导致隐私泄露问题;
2)模型效果方面:由于计算所使用的梯度是真实梯度的泰勒近似,每一轮迭代存在误差,误差积累导致最终模型效果很差;
3)计算效率方面:基于随机梯度下降法,由于其本质上是一个串行的训练过程,即每次只基于一条样本信息做模型更新,所以无法做到并行计算,在大规模数据集上计算效率较低;
4)调参难度方面:在联邦学习中,每个参与方掌握的数据集是对外隐蔽的,即便是特征含义、稀疏程度等基本信息。在这种情况下,学习率、早停条件等参数设置将极大的影响随机梯度下降效果。为了得到较好的模型效果,算法工程师需要成百上千次尝试,费时费力;
5)算法鲁棒性:随机梯度下降效果易受稀疏特征影响,需要采用填充、剔除等方法做稀疏预处理。
为了解决上述问题,本申请实施例利用安全多方计算中的同态加密技术,将训练方法改造成隐私保护形式,并集成在联邦逻辑回归协议中,解决了无可信第三方存在的前提下,特征、标签作为隐私、分布式地在多个计算参与方时的联合逻辑回归模型训练难题,从而去除中间方角色,仅通过参与方间的直接通信,实现无损的联邦逻辑回归训练。该方案具备以下优势:1)安全性方面:去除中间方,参与方直接通信,降低合谋风险;2)模型效果方面:进行无损联邦改造,模型效果与逻辑回归效果无差别;3)计算效率方面:采用批处理,并行化程度高,在大数据集上有更好的性能表现;4)调参难度方面:不强依赖于调参,在联邦学习隐私数据集无法对外公开的前提下,应用性更强;5)算法鲁棒性:在稀疏特征之上训练效果更好。
本申请实施例联邦逻辑回归隶属于联邦学习技术范畴,其具体应用的场景举例如下:以上文的数据拥有方
Figure 575927DEST_PATH_IMAGE065
为3个为例,对应三家公司(参与方A、参与方B、参与方C),其中,参与方A是社交媒体公司(对应社交媒体设备),拥有众多人群的大量社交,如表1所示;参与方B是网络教育公司(对应网络教育设备),拥有众多人群的教育相关特征,如表2所示:
表1
Figure 218261DEST_PATH_IMAGE075
表2
Figure 822417DEST_PATH_IMAGE077
参与方C是信贷公司(对应信贷设备),拥有一小部分人群的信贷记录,以及少量相关特征,每条违约记录对参与方C来说都意味着巨大的损失,如表3所示:
表3
Figure 524794DEST_PATH_IMAGE079
综上,三个参与方的数据如图12所示,其中,信贷C掌握训练样本对应的标签(用户信贷记录)以及信贷特征,网络教育B包括教育特征,社交媒体A包括社交特征。信贷C想借助自身的违约标签,社交媒体A、网络教育B的广泛特征联合训练模型,用模型对众多人群做违约预测,根据预测结果,判定新用户是否违约,并做后续决策,以降低坏账率。
在介绍本申请实施例的方案之前,首先介绍几个有关逻辑回归训练的代数推导,如公式(1)-(3)所示:
Figure 962204DEST_PATH_IMAGE080
(1)
Figure 142650DEST_PATH_IMAGE081
(2)
Figure 742258DEST_PATH_IMAGE082
(3)
其中,g表示梯度,H表示海森矩阵,
Figure 474591DEST_PATH_IMAGE083
表示海森二次型,sigmoid函数
Figure 526861DEST_PATH_IMAGE084
下面具体说明本申请实施例的方案,其中,参与方A1可表示为信贷C,参与方
Figure 120784DEST_PATH_IMAGE085
表示为社交媒体A、网络教育B等,机器学习模型的训练过程如下步骤所示:
步骤1、参与方
Figure 840479DEST_PATH_IMAGE086
实例化一个同态密码系统,并将公钥发送给其他参与方
Figure 478133DEST_PATH_IMAGE085
步骤2、每个参与方
Figure 283278DEST_PATH_IMAGE087
初始化模型参数
Figure 680893DEST_PATH_IMAGE088
。注意:在此后的迭代中,每个参与方
Figure 989514DEST_PATH_IMAGE087
只维护和更新自己的模型参数
Figure 63650DEST_PATH_IMAGE089
,其中
Figure 824932DEST_PATH_IMAGE090
是迭代步数。
步骤3、在
Figure 26237DEST_PATH_IMAGE091
时(初始模型更新,包含步骤3-12),每个参与方
Figure 454945DEST_PATH_IMAGE092
计算每个训练样本
Figure 575348DEST_PATH_IMAGE093
的预测对数几率(局部对数几率)
Figure 214139DEST_PATH_IMAGE094
,其中,
Figure 343769DEST_PATH_IMAGE095
表示参与方
Figure 233840DEST_PATH_IMAGE092
掌握的第i条样本的
Figure 790724DEST_PATH_IMAGE096
维度特征,
Figure 385653DEST_PATH_IMAGE089
表示参与方
Figure 787816DEST_PATH_IMAGE092
对应的模型参数。利用安全求和协议,参与方
Figure 800902DEST_PATH_IMAGE086
对每一条样本
Figure 528687DEST_PATH_IMAGE093
求得每个训练样本
Figure 610912DEST_PATH_IMAGE093
的总预测对数几率(全局对数几率),如公式(4)所示:
Figure 347924DEST_PATH_IMAGE097
(4)
并进一步求得梯度
Figure 215517DEST_PATH_IMAGE098
中的标量(全局梯度标量),如公式(5)所示:
Figure 848624DEST_PATH_IMAGE099
(5)
其中,
Figure 683724DEST_PATH_IMAGE100
表示训练样本的标签,
Figure 693269DEST_PATH_IMAGE101
表示sigmoid函数。
这时,参与方
Figure 415368DEST_PATH_IMAGE086
Figure 484955DEST_PATH_IMAGE102
做同态加密得加密全局梯度标量
Figure 682719DEST_PATH_IMAGE103
,并将
Figure 620588DEST_PATH_IMAGE103
发送给其他参与方
Figure 852986DEST_PATH_IMAGE085
步骤4、在密文空间中,其他每个参与方
Figure 434752DEST_PATH_IMAGE104
计算加密局部梯度
Figure 119812DEST_PATH_IMAGE105
,如公式(6)所示:
Figure 595792DEST_PATH_IMAGE106
(6)
步骤5、
Figure 682697DEST_PATH_IMAGE086
协助其他
Figure 703874DEST_PATH_IMAGE092
解密它们的加密局部梯度,具体做法是:每个
Figure 610650DEST_PATH_IMAGE104
生成随机数
Figure 890321DEST_PATH_IMAGE107
,同态加密后得到
Figure 566153DEST_PATH_IMAGE108
,加到加密局部梯度
Figure 23811DEST_PATH_IMAGE109
上以得到
Figure 417883DEST_PATH_IMAGE110
,并发送至
Figure 376612DEST_PATH_IMAGE086
,由
Figure 297163DEST_PATH_IMAGE086
解密并返回明文
Figure 50356DEST_PATH_IMAGE111
,最后
Figure 541511DEST_PATH_IMAGE092
减掉
Figure 38351DEST_PATH_IMAGE107
即获得解密局部梯度明文
Figure 813409DEST_PATH_IMAGE112
其中,每个
Figure 3082DEST_PATH_IMAGE092
可以产生一个随机数a,对局部梯度施加扰动后变成
Figure 244183DEST_PATH_IMAGE113
步骤6、每个参与方
Figure 279135DEST_PATH_IMAGE092
Figure 908700DEST_PATH_IMAGE114
,其中
Figure 3695DEST_PATH_IMAGE091
步骤7、参与方
Figure 469442DEST_PATH_IMAGE086
Figure 42506DEST_PATH_IMAGE083
中的标量
Figure 792156DEST_PATH_IMAGE115
做同态加密得
Figure 58052DEST_PATH_IMAGE116
,发送给其他参与方
Figure 479938DEST_PATH_IMAGE085
步骤8、在密文空间中,其他参与方
Figure 715747DEST_PATH_IMAGE104
计算并发送给参与方
Figure 70636DEST_PATH_IMAGE086
以下内容(海森矩阵),如公式(7)所示:
Figure 773013DEST_PATH_IMAGE117
(7)
步骤9、参与方
Figure 337986DEST_PATH_IMAGE086
解密得解密海森矩阵
Figure 643066DEST_PATH_IMAGE118
步骤10、所有参与方对
Figure 242674DEST_PATH_IMAGE119
执行安全求和协议得当前梯度下降方向在梯度方向的投影
Figure 722810DEST_PATH_IMAGE120
步骤11、参与方
Figure 509500DEST_PATH_IMAGE086
计算并公布给其他参与方
Figure 618270DEST_PATH_IMAGE085
以下内容(在梯度下降方向的步长),如公式(8)所示:
Figure 72385DEST_PATH_IMAGE121
(8)
其中,参与方
Figure 726352DEST_PATH_IMAGE086
也可以对做同态加密后发送给其他参与方,具体可以依据步骤3-5中对
Figure 859393DEST_PATH_IMAGE102
Figure 381641DEST_PATH_IMAGE112
的处理。
步骤12、每个参与方
Figure 300050DEST_PATH_IMAGE092
更新模型参数,如公式(9)所示:
Figure 108606DEST_PATH_IMAGE122
(9)
步骤13、对于
Figure 135468DEST_PATH_IMAGE123
,重复以下步骤:
a)所有参与方
Figure 71194DEST_PATH_IMAGE092
重复步骤3-5步以获得
Figure 499901DEST_PATH_IMAGE112
b)所有参与方
Figure 479358DEST_PATH_IMAGE092
计算梯度变化量
Figure 727937DEST_PATH_IMAGE124
、模型参数变化量
Figure 769203DEST_PATH_IMAGE125
,如公式(10)-(11)所示:
Figure 911472DEST_PATH_IMAGE126
(10)
Figure 812563DEST_PATH_IMAGE127
(11)
c)所有参与方执行安全求和协议,计算四个全局变量,如公式(12)-(15)所示:
Figure 407492DEST_PATH_IMAGE128
(12)
Figure 75234DEST_PATH_IMAGE129
(13)
Figure 88320DEST_PATH_IMAGE130
(14)
Figure 550526DEST_PATH_IMAGE131
(15)
d)根据以上结果,所有参与方计算三个全局变量,如公式(16)-(18)所示:
Figure 898331DEST_PATH_IMAGE132
(16)
Figure 104184DEST_PATH_IMAGE133
(17)
Figure 971777DEST_PATH_IMAGE134
(18)
e)每个参与方
Figure 870463DEST_PATH_IMAGE092
计算下降方向
Figure 439984DEST_PATH_IMAGE135
,如公式(19)所示:
Figure 449529DEST_PATH_IMAGE136
(19)
f)下降方向已定,根据步骤7-12,每个参与方
Figure 168698DEST_PATH_IMAGE092
更新模型参数。
因此,本申请实施例利用安全多方计算中的同态加密技术,将训练方法改造成隐私保护形式,具有以下有益效果:1)安全性方面:去除中间方,参与方直接通信,降低合谋风险;2)模型效果方面:模型效果方面:进行无损联邦改造,模型效果与逻辑回归效果无差别;3)计算效率方面:采用批处理,并行化程度高,在大数据集上有更好的性能表现;4)调参难度方面:不强依赖于调参,在联邦学习隐私数据集无法对外公开的前提下,应用性更强;5)算法鲁棒性:在稀疏特征之上训练效果更好。
为了验证模型效果的提升,在
Figure 238286DEST_PATH_IMAGE137
两方的两个数据集上做测试,其中,
Figure 295103DEST_PATH_IMAGE086
拥有一列标签和10列特征,
Figure DEST_PATH_IMAGE138
拥有20列特征。两个数据集有579行样本,其结果对比如表4所示:
表4
Figure DEST_PATH_IMAGE140
综上,本申请实施例利用安全多方计算中的同态加密技术,将训练方法改造成隐私保护形式,并集成在联邦逻辑回归协议中,解决了无可信第三方存在的前提下,特征、标签作为隐私、分布式地在多个计算参与方时的联合逻辑回归模型训练难题,从而去除中间方角色,仅通过参与方间的直接通信,实现无损的联邦逻辑回归训练。
至此已经结合本申请实施例提供的分布式学习系统的示例性应用和实施,说明本申请实施例提供的分布式系统的机器学习方法。本申请实施例还提供分布式系统的机器学习装置,实际应用中,分布式系统的机器学习装置(机器学习模型的主训练装置、机器学习模型的从训练装置)中的各功能模块可以由电子设备(如服务器或服务器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)、存储器协同实现。图2示出了存储在存储器550中的分布式系统的机器学习装置555,图3示出了存储在存储器650中的分布式系统的机器学习装置655,其可以是程序和插件等形式的软件,例如,软件C/C++、Java等编程语言设计的软件模块、C/C++、Java等编程语言设计的应用软件或大型软件系统中的专用软件模块、应用程序接口、插件、云服务等实现方式,下面对不同的实现方式举例说明。
示例一、分布式系统的机器学习装置是移动端应用程序及模块
本申请实施例中的分布式系统的机器学习装置可提供为使用软件C/C++、Java等编程语言设计的软件模块,嵌入到基于Android或iOS等系统的各种移动端应用中(以可执行指令存储在移动端的存储介质中,由移动端的处理器执行),从而直接使用移动端自身的计算资源完成相关的信息推荐任务,并且定期或不定期地通过各种网络通信方式将处理结果传送给远程的服务器,或者在移动端本地保存。
示例二、分布式系统的机器学习装置是服务器应用程序及平台
本申请实施例中的分布式系统的机器学习装置555可提供为使用C/C++、Java等编程语言设计的应用软件或大型软件系统中的专用软件模块,运行于服务器端(以可执行指令的方式在服务器端的存储介质中存储,并由服务器端的处理器运行),服务器使用自身的计算资源完成相关的信息推荐任务。
本申请实施例还可以提供为在多台服务器构成的分布式、并行计算平台上,搭载定制的、易于交互的网络(Web)界面或其他各用户界面(UI,User Interface),形成供个人、群体或单位使用的信息推荐平台(用于推荐列表)等。
示例三、分布式系统的机器学习装置是服务器端应用程序接口(API,ApplicationProgram Interface)及插件
本申请实施例中的分布式系统的机器学习装置555可提供为服务器端的API或插件,以供用户调用,以执行本申请实施例的分布式系统的机器学习方法,并嵌入到各类应用程序中。
示例四、分布式系统的机器学习装置是移动设备客户端API及插件
本申请实施例中的分布式系统的机器学习装置555可提供为移动设备端的API或插件,以供用户调用,以执行本申请实施例的分布式系统的机器学习方法。
示例五、分布式系统的机器学习装置是云端开放服务
本申请实施例中的分布式系统的机器学习装置555可提供为向用户开发的信息推荐云服务,供个人、群体或单位训练机器学习模型。
其中,分布式系统的机器学习装置555(主装置)包括一系列的模块,包括加密模块5551、解密模块5552、第二确定模块5553、第一处理模块5554、第三确定模块5555以及第二处理模块5556。下面继续说明本申请实施例提供的分布式系统的机器学习装置555中各个模块配合实现分布式系统的机器学习方案。
加密模块5551,用于对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至所述从设备,以使所述从设备基于所述加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;解密模块5552,用于与所述从设备共同解密所述从设备对应的加密局部梯度,得到所述从设备对应的解密局部梯度,以使所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数。
在一些实施例中,所述分布式系统的机器学习装置555还包括:第二确定模块5553,用于基于所述多个从设备级联传递的对应所述训练样本的局部对数几率,确定对应所述训练样本的全局对数几率;基于对应所述训练样本的全局对数几率以及所述主设备针对所述训练样本存储的标签数据,确定所述机器学习模型的全局梯度标量。
在一些实施例中,所述第二确定模块5553还用于基于所述主设备针对所述训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述主设备对应所述训练样本的局部对数几率;对所述主设备对应所述训练样本的局部对数几率与第一随机数进行加和处理,并将得到的第一加和结果发送至所述从设备,以使所述从设备基于所述第一加和结果累加所述从设备对应所述训练样本的局部对数几率,得到对应所述局部对数几率的累加结果;将对应所述局部对数几率的累加结果与所述第一随机数的差值,作为对应所述训练样本的全局对数几率。
在一些实施例中,所述多个从设备是级联的;第二确定模块5553还用于将得到的第一加和结果发送至所述级联的多个从设备中的第一个从设备,以使所述第一个从设备对所述第一加和结果与所述第一个从设备对应所述训练样本的局部对数几率进行加和处理,将得到的加和结果输出到后续级联的从设备,以在所述后续级联的从设备中继续进行加和处理和加和结果输出,直至输出到最后一个从设备;将所述最后一个从设备输出的加和结果作为对应所述局部对数几率的累加结果。
在一些实施例中,所述解密模块5552还用于所述主设备接收所述从设备对应的映射加密局部梯度,其中,所述从设备对应的映射加密局部梯度为所述从设备对所述从设备对应的加密局部梯度进行映射得到的;解密所述从设备对应的映射加密局部梯度,将解密得到的所述从设备对应的映射解密局部梯度发送至所述从设备,以使所述从设备基于所述从设备对应的映射解密局部梯度进行逆映射处理,得到所述从设备对应的解密局部梯度。
在一些实施例中,所述分布式系统的机器学习装置555还包括:第一处理模块5554,用于所述主设备对所述主设备对应的局部中间变量与第三随机数进行加和处理,并将得到的第二加和结果发送至所述从设备,以使所述从设备基于所述第二加和结果累加所述从设备对应的局部中间变量,得到对应所述局部中间变量的累加结果;将对应所述局部中间变量的累加结果与第三随机数的差值作为全局变量。
在一些实施例中,分布式系统的机器学习装置555还包括:第三确定模块5555,用于所述主设备基于对应所述训练样本的全局对数几率,确定对应所述训练样本的海森二次型;针对对应所述训练样本的海森二次型进行同态加密,将得到的对应所述训练样本的加密海森二次型发送至所述从设备。
在一些实施例中,所述分布式系统的机器学习装置555还包括:第二处理模块5556,用于基于所述多个从设备级联传递的对应所述局部梯度下降方向的局部投影,确定对应全局梯度下降方向的全局投影;对所述多个从设备分别对应的加密海森矩阵进行加和处理,得到第三加和结果;将所述对应全局梯度下降方向的全局投影与所述第三加和结果的商,作为所述机器学习模型在全局梯度下降方向的步长。
其中,分布式系统的机器学习装置655(从装置)包括一系列的模块,包括第一确定模块6551、更新模块6552、映射模块6553、第三处理模块6554。下面继续说明本申请实施例提供的分布式系统的机器学习装置555中各个模块配合实现分布式系统的机器学习方案。
第一确定模块6551,用于从设备基于加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;更新模块6552,用于所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数;其中,所述从设备对应的解密局部梯度是主设备与所述从设备共同解密所述从设备对应的加密局部梯度得到的。
在一些实施例中,所述第一确定模块6551还用于所述从设备将所述加密全局梯度标量与所述从设备针对训练样本存储的特征数据进行乘积处理,将得到的乘积结果与所述从设备对应的局部模型参数进行加和处理,将得到的加和结果作为所述从设备对应的加密局部梯度。
在一些实施例中,所述分布式系统的机器学习装置655还包括:映射模块6553,用于所述从设备生成第二随机数,并对所述第二随机数进行同态加密,得到第一加密数据;将所述第一加密数据与所述从设备对应的加密局部梯度进行加和处理,将得到的加和结果作为所述从设备对应的映射加密局部梯度;第三处理模块6554,用于所述从设备确定所述从设备对应的映射解密局部梯度与所述第二随机数的差值,将所述差值作为所述从设备对应的解密局部梯度。
在一些实施例中,所述更新模块6552还用于所述从设备基于所述从设备对应的解密局部梯度以及所述从设备对应的历史解密局部梯度,确定所述从设备对应的局部梯度变化量;基于所述从设备对应的局部模型参数以及所述从设备对应的历史局部模型参数,确定所述从设备对应的局部模型参数变化量,基于所述从设备对应的局部梯度变化量以及所述从设备对应的局部模型参数变化量,确定所述从设备对应的局部梯度下降方向;基于所述从设备对应的局部梯度下降方向更新所述从设备对应的局部模型参数。
在一些实施例中,所述更新模块6552还用于基于所述从设备对应的局部梯度变化量以及所述从设备对应的局部模型参数变化量,确定所述从设备对应的局部中间变量;通过在所述多个从设备之间级联传递的方式,将所述从设备对应的局部中间变量发送至所述主设备,以使所述主设备基于所述级联传递的方式发送的局部中间变量确定全局变量;基于所述全局变量、所述从设备对应的解密局部梯度、所述从设备对应的局部梯度变化量以及所述从设备对应的局部模型参数变化量,确定所述从设备对应的局部梯度下降方向。
在一些实施例中,所述更新模块6552还用于基于所述从设备对应的局部梯度下降方向、所述从设备针对训练样本存储的特征数据以及所述主设备对应所述训练样本的加密海森二次型,确定所述从设备对应的加密海森矩阵;将所述从设备对应的加密海森矩阵发送至所述主设备,以使所述主设备基于所述从设备对应的加密海森矩阵以及所述从设备对应所述局部梯度下降方向的局部投影,得到所述机器学习模型在全局梯度下降方向的步长;基于所述机器学习模型在梯度下降方向的步长以及所述从设备对应的局部梯度下降方向,更新所述从设备对应的局部模型参数。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的分布式系统的机器学习方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的基于人工智能的信息推荐方法,例如,如图4-7示出的分布式系统的机器学习方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

1.一种分布式系统的机器学习方法,其特征在于,所述分布式系统包括主设备和多个从设备,所述方法包括:
所述主设备对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至所述从设备;
所述从设备基于所述加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;
所述主设备与所述从设备共同解密所述加密局部梯度,得到所述从设备对应的解密局部梯度;
所述从设备基于所述解密局部梯度更新所述从设备对应的局部模型参数。
2.根据权利要求1所述的方法,其特征在于,所述主设备对机器学习模型的全局梯度标量进行同态加密之前,还包括:
基于所述多个从设备级联传递的对应所述训练样本的局部对数几率,确定对应所述训练样本的全局对数几率;
基于对应所述训练样本的全局对数几率以及所述主设备针对所述训练样本存储的标签数据,确定所述机器学习模型的全局梯度标量。
3.根据权利要求2所述的方法,其特征在于,所述基于所述多个从设备级联传递的对应所述训练样本的局部对数几率,确定对应所述训练样本的全局对数几率,包括:
基于所述主设备针对所述训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述主设备对应所述训练样本的局部对数几率;
对所述主设备对应所述训练样本的局部对数几率与第一随机数进行加和处理,并将得到的第一加和结果发送至所述从设备;
所述从设备基于所述第一加和结果累加所述从设备对应所述训练样本的局部对数几率,得到对应所述局部对数几率的累加结果;
将对应所述局部对数几率的累加结果与所述第一随机数的差值,作为对应所述训练样本的全局对数几率。
4.根据权利要求3所述的方法,其特征在于,
所述多个从设备是级联的;
所述将得到的第一加和结果发送至所述从设备,包括:
将得到的第一加和结果发送至所述级联的多个从设备中的第一个从设备;
所述第一个从设备对所述第一加和结果与所述第一个从设备对应所述训练样本的局部对数几率进行加和处理,将得到的加和结果输出到后续级联的从设备,以在所述后续级联的从设备中继续进行加和处理和加和结果输出,直至输出到最后一个从设备;
将所述最后一个从设备输出的加和结果作为对应所述局部对数几率的累加结果。
5.根据权利要求1所述的方法,其特征在于,所述从设备基于所述加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度,包括:
所述从设备将所述加密全局梯度标量与所述从设备针对训练样本存储的特征数据进行乘积处理,将得到的乘积结果与所述从设备对应的局部模型参数进行加和处理,将得到的加和结果作为所述从设备对应的加密局部梯度。
6.根据权利要求1所述的方法,其特征在于,所述主设备与所述从设备共同解密所述从设备对应的加密局部梯度,得到所述从设备对应的解密局部梯度,包括:
所述主设备接收所述从设备对应的映射加密局部梯度,其中,所述从设备对应的映射加密局部梯度为所述从设备对所述从设备对应的加密局部梯度进行映射得到的;
解密所述从设备对应的映射加密局部梯度,将解密得到的所述从设备对应的映射解密局部梯度发送至所述从设备;
所述从设备基于所述从设备对应的映射解密局部梯度进行逆映射处理,得到所述从设备对应的解密局部梯度。
7.根据权利要求6所述的方法,其特征在于,
所述从设备对所述从设备对应的加密局部梯度进行映射的方式,包括:
所述从设备生成第二随机数,并对所述第二随机数进行同态加密,得到第一加密数据;
将所述第一加密数据与所述从设备对应的加密局部梯度进行加和处理,将得到的加和结果作为所述从设备对应的映射加密局部梯度;
所述从设备基于所述从设备对应的映射解密局部梯度进行逆映射处理,得到所述从设备对应的解密局部梯度,包括:
所述从设备确定所述从设备对应的映射解密局部梯度与所述第二随机数的差值,将所述差值作为所述从设备对应的解密局部梯度。
8.根据权利要求1所述的方法,其特征在于,所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数,包括:
所述从设备基于所述从设备对应的解密局部梯度以及所述从设备对应的历史解密局部梯度,确定所述从设备对应的局部梯度变化量;
基于所述从设备对应的局部模型参数以及所述从设备对应的历史局部模型参数,确定所述从设备对应的局部模型参数变化量,基于所述从设备对应的局部梯度变化量以及所述从设备对应的局部模型参数变化量,确定所述从设备对应的局部梯度下降方向;
基于所述从设备对应的局部梯度下降方向更新所述从设备对应的局部模型参数。
9.根据权利要求8所述的方法,其特征在于,所述基于所述从设备对应的局部梯度变化量以及所述从设备对应的局部模型参数变化量,确定所述从设备对应的局部梯度下降方向,包括:
基于所述从设备对应的局部梯度变化量以及所述从设备对应的局部模型参数变化量,确定所述从设备对应的局部中间变量;
通过在所述多个从设备之间级联传递的方式,将所述从设备对应的局部中间变量发送至所述主设备;
所述主设备基于所述级联传递的方式发送的局部中间变量确定全局变量;
基于所述全局变量、所述从设备对应的解密局部梯度、所述从设备对应的局部梯度变化量以及所述从设备对应的局部模型参数变化量,确定所述从设备对应的局部梯度下降方向。
10.根据权利要求9所述的方法,其特征在于,所述主设备基于所述级联传递的方式发送的局部中间变量确定全局变量,包括:
所述主设备对所述主设备对应的局部中间变量与第三随机数进行加和处理,并将得到的第二加和结果发送至所述从设备;
所述从设备基于所述第二加和结果累加所述从设备对应的局部中间变量,得到对应所述局部中间变量的累加结果;
将对应所述局部中间变量的累加结果与第三随机数的差值作为全局变量。
11.一种分布式系统的机器学习装置,其特征在于,所述装置包括:
加密模块,用于对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至所述从设备,以使
所述从设备基于所述加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;
解密模块,用于与所述从设备共同解密所述从设备对应的加密局部梯度,得到所述从设备对应的解密局部梯度,以使
所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数。
12.一种分布式系统的机器学习装置,其特征在于,所述装置包括:
第一确定模块,用于从设备基于加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;
更新模块,用于所述从设备基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数;
其中,所述从设备对应的解密局部梯度是主设备与所述从设备共同解密所述从设备对应的加密局部梯度得到的。
13.一种分布式系统,其特征在于,所述系统包括:主设备和多个从设备;其中,
所述主设备,用于对机器学习模型的全局梯度标量进行同态加密,将得到的加密全局梯度标量发送至所述从设备;
所述从设备,用于基于所述加密全局梯度标量、所述从设备针对训练样本存储的特征数据以及所述从设备对应的局部模型参数,确定所述从设备对应的加密局部梯度;
所述主设备,还用于与所述从设备共同解密所述从设备对应的加密局部梯度,得到所述从设备对应的解密局部梯度;
所述从设备,还用于基于所述从设备对应的解密局部梯度更新所述从设备对应的局部模型参数。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的分布式系统的机器学习方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时实现权利要求1至10任一项所述的分布式系统的机器学习方法。
CN202110028432.3A 2021-01-11 2021-01-11 分布式系统的机器学习方法、装置、系统、设备及存储介质 Active CN112347500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110028432.3A CN112347500B (zh) 2021-01-11 2021-01-11 分布式系统的机器学习方法、装置、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110028432.3A CN112347500B (zh) 2021-01-11 2021-01-11 分布式系统的机器学习方法、装置、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112347500A true CN112347500A (zh) 2021-02-09
CN112347500B CN112347500B (zh) 2021-04-09

Family

ID=74428111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110028432.3A Active CN112347500B (zh) 2021-01-11 2021-01-11 分布式系统的机器学习方法、装置、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112347500B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221153A (zh) * 2021-05-31 2021-08-06 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
CN113378198A (zh) * 2021-06-24 2021-09-10 深圳市洞见智慧科技有限公司 一种保护用户标识的模型的联邦训练系统、方法及装置
CN113536667A (zh) * 2021-06-22 2021-10-22 同盾科技有限公司 联邦模型训练方法、装置、可读存储介质及设备
CN113704779A (zh) * 2021-07-16 2021-11-26 杭州医康慧联科技股份有限公司 加密的分布式机器学习训练方法
TWI775467B (zh) * 2021-06-02 2022-08-21 宏碁智醫股份有限公司 機器學習模型檔案解密方法及用戶裝置
CN115310121A (zh) * 2022-07-12 2022-11-08 华中农业大学 车联网中基于MePC-F模型的实时强化联邦学习数据隐私安全方法
CN116405324A (zh) * 2023-06-06 2023-07-07 广州万协通信息技术有限公司 一种数据处理方法、装置、设备及存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150515A (zh) * 2012-12-29 2013-06-12 江苏大学 一种分布式环境下隐私保护的关联规则挖掘方法
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
CN109165515A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于联邦学习的模型参数获取方法、系统及可读存储介质
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
CN109886417A (zh) * 2019-03-01 2019-06-14 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质
CN111160573A (zh) * 2020-04-01 2020-05-15 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111428887A (zh) * 2020-03-19 2020-07-17 腾讯云计算(北京)有限责任公司 一种基于多个计算节点的模型训练控制方法、装置及系统
CN111429142A (zh) * 2020-06-10 2020-07-17 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN111475853A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 一种基于分布式数据的模型训练方法及系统
US20200265296A1 (en) * 2019-02-14 2020-08-20 Capital One Services, Llc Stochastic Gradient Boosting For Deep Neural Networks
US20200327451A1 (en) * 2019-04-12 2020-10-15 Samsung Electronics Co., Ltd. Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model
WO2020209693A1 (ko) * 2019-04-12 2020-10-15 삼성전자 주식회사 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법
CN111860864A (zh) * 2020-07-23 2020-10-30 深圳前海微众银行股份有限公司 纵向联邦建模优化方法、设备及可读存储介质
CN112149160A (zh) * 2020-08-28 2020-12-29 山东大学 基于同态伪随机数的联邦学习隐私保护方法及系统
CN112182595A (zh) * 2019-07-03 2021-01-05 北京百度网讯科技有限公司 基于联邦学习的模型训练方法及装置
CN112199709A (zh) * 2020-10-28 2021-01-08 支付宝(杭州)信息技术有限公司 基于多方的隐私数据联合训练模型的方法和装置

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150515A (zh) * 2012-12-29 2013-06-12 江苏大学 一种分布式环境下隐私保护的关联规则挖掘方法
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
CN109165515A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于联邦学习的模型参数获取方法、系统及可读存储介质
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
US20200265296A1 (en) * 2019-02-14 2020-08-20 Capital One Services, Llc Stochastic Gradient Boosting For Deep Neural Networks
CN109886417A (zh) * 2019-03-01 2019-06-14 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质
US20200327451A1 (en) * 2019-04-12 2020-10-15 Samsung Electronics Co., Ltd. Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model
WO2020209693A1 (ko) * 2019-04-12 2020-10-15 삼성전자 주식회사 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법
CN112182595A (zh) * 2019-07-03 2021-01-05 北京百度网讯科技有限公司 基于联邦学习的模型训练方法及装置
CN111428887A (zh) * 2020-03-19 2020-07-17 腾讯云计算(北京)有限责任公司 一种基于多个计算节点的模型训练控制方法、装置及系统
CN111160573A (zh) * 2020-04-01 2020-05-15 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111429142A (zh) * 2020-06-10 2020-07-17 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN111475853A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 一种基于分布式数据的模型训练方法及系统
CN111860864A (zh) * 2020-07-23 2020-10-30 深圳前海微众银行股份有限公司 纵向联邦建模优化方法、设备及可读存储介质
CN112149160A (zh) * 2020-08-28 2020-12-29 山东大学 基于同态伪随机数的联邦学习隐私保护方法及系统
CN112199709A (zh) * 2020-10-28 2021-01-08 支付宝(杭州)信息技术有限公司 基于多方的隐私数据联合训练模型的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHENGWEN YANG ETAL: "Parallel Distributed Logistic Regression for Vertical Federated Learning without Third-Party Coordinator", 《HTTPS://ARXIV.ORG/ABS/1911.09824V1》 *
张国荣 等: "基于博弈论的安全多方求和方法", 《计算机应用研究》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221153A (zh) * 2021-05-31 2021-08-06 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
TWI775467B (zh) * 2021-06-02 2022-08-21 宏碁智醫股份有限公司 機器學習模型檔案解密方法及用戶裝置
CN113536667A (zh) * 2021-06-22 2021-10-22 同盾科技有限公司 联邦模型训练方法、装置、可读存储介质及设备
CN113536667B (zh) * 2021-06-22 2024-03-01 同盾科技有限公司 联邦模型训练方法、装置、可读存储介质及设备
CN113378198A (zh) * 2021-06-24 2021-09-10 深圳市洞见智慧科技有限公司 一种保护用户标识的模型的联邦训练系统、方法及装置
CN113378198B (zh) * 2021-06-24 2022-04-15 深圳市洞见智慧科技有限公司 一种保护用户标识的模型的联邦训练系统、方法及装置
CN113704779A (zh) * 2021-07-16 2021-11-26 杭州医康慧联科技股份有限公司 加密的分布式机器学习训练方法
CN115310121A (zh) * 2022-07-12 2022-11-08 华中农业大学 车联网中基于MePC-F模型的实时强化联邦学习数据隐私安全方法
CN116405324A (zh) * 2023-06-06 2023-07-07 广州万协通信息技术有限公司 一种数据处理方法、装置、设备及存储介质
CN116405324B (zh) * 2023-06-06 2023-09-26 广州万协通信息技术有限公司 一种数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112347500B (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN112347500B (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN110189192B (zh) 一种信息推荐模型的生成方法及装置
CN113159327B (zh) 基于联邦学习系统的模型训练方法、装置、电子设备
CN110399742B (zh) 一种联邦迁移学习模型的训练、预测方法及装置
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
Li et al. Privacy-preserving machine learning with multiple data providers
US20230078061A1 (en) Model training method and apparatus for federated learning, device, and storage medium
CN112380578A (zh) 一种基于区块链和可信执行环境的边缘计算框架
CN113127916B (zh) 数据集合处理方法、数据处理方法、装置及存储介质
CN111784001B (zh) 一种模型训练方法、设备及计算机可读存储介质
CN113505882B (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN114696990B (zh) 基于全同态加密的多方计算方法、系统及相关设备
CN112347495A (zh) 一种基于区块链的可信隐私智能服务计算系统及方法
CN113836556B (zh) 面向联邦学习的去中心化函数加密隐私保护方法及系统
Zheng et al. Securely and efficiently outsourcing decision tree inference
Wei et al. Lightweight federated learning for large-scale IoT devices with privacy guarantee
CN113011598A (zh) 一种基于区块链的金融数据信息联邦迁移学习方法及装置
Li Combination of blockchain and AI for music intellectual property protection
CN113221153B (zh) 图神经网络训练方法、装置、计算设备及存储介质
CN116502732B (zh) 基于可信执行环境的联邦学习方法以及系统
CN112949866A (zh) 泊松回归模型的训练方法、装置、电子设备及存储介质
CN117094773A (zh) 基于区块链隐私计算的在线迁移学习方法及系统
Zhang et al. Efficient federated learning framework based on multi-key homomorphic encryption
Yang et al. Accountable and verifiable secure aggregation for federated learning in IoT networks

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40038795

Country of ref document: HK