CN112733967B - 联邦学习的模型训练方法、装置、设备及存储介质 - Google Patents

联邦学习的模型训练方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112733967B
CN112733967B CN202110337283.9A CN202110337283A CN112733967B CN 112733967 B CN112733967 B CN 112733967B CN 202110337283 A CN202110337283 A CN 202110337283A CN 112733967 B CN112733967 B CN 112733967B
Authority
CN
China
Prior art keywords
ith
operator
model
scalar
order gradient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110337283.9A
Other languages
English (en)
Other versions
CN112733967A (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 CN202110337283.9A priority Critical patent/CN112733967B/zh
Publication of CN112733967A publication Critical patent/CN112733967A/zh
Application granted granted Critical
Publication of CN112733967B publication Critical patent/CN112733967B/zh
Priority to PCT/CN2022/082492 priority patent/WO2022206510A1/zh
Priority to US17/989,042 priority patent/US20230078061A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/32Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence merging methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Medical Informatics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例公开了一种联邦学习的模型训练方法、装置、设备及存储介质,属于机器学习技术领域。该方法包括:基于第i子模型的第i模型参数以及第i一阶梯度生成第i标量算子;基于第i标量算子向下一节点设备发送第i融合算子;基于获取到的二阶梯度标量、第i模型参数以及第i一阶梯度,确定第i子模型的第i二阶梯度下降方向;基于第i二阶梯度下降方向更新第i子模型。本申请实施例中,节点设备之间通过传递融合算子,联合计算子模型的二阶梯度下降方向,完成模型迭代训练,不需要依赖第三方节点就能够利用二阶梯度下降法训练机器学习模型,能够避免单点集中安全风险的问题,增强了联邦学习的安全性,且方便实际应用落地。

Description

联邦学习的模型训练方法、装置、设备及存储介质
技术领域
本申请实施例涉及机器学习技术领域,特别涉及一种联邦学习的模型训练方法、装置、设备及存储介质。
背景技术
联邦机器学习是一种机器学习框架,可以在保证数据不出域的情况下联合多个参与方的数据源训练机器学习模型,从而在满足隐私保护和数据安全的基础上,利用多方数据源提升模型性能。
相关技术中,联邦学习的模型训练阶段需要可信的第三方作为中心协调节点,将初始模型发送给各个参与方,并收集各个参与方利用本地数据训练得到的模型,从而协调各方模型进行聚合,再将聚合模型发送至各个参与方进行迭代训练。
然而,依赖第三方进行模型训练的方式,使第三方能够获取到所有其它参与方的模型参数,仍然存在泄露隐私数据的问题,模型训练的安全性较低,并且寻找可信第三方的难度较高,导致方案很难落地应用。
发明内容
本申请实施例提供了一种联邦学习的模型训练方法、装置、设备及存储介质,可以增强联邦学习的安全性,方便实际应用落地。所述技术方案如下。
一方面,本申请提供了一种联邦学习的模型训练方法,所述方法应用于联邦学习系统中的第i节点设备,所述联邦学习系统包含n个节点设备,n为大于或等于2的整数,i为小于等于n的正整数,所述方法包括如下步骤。
基于第i子模型的第i模型参数以及第i一阶梯度生成第i标量算子,所述第i标量算子用于确定二阶梯度标量,所述二阶梯度标量用于确定模型迭代训练过程中的二阶梯度下降方向。
基于所述第i标量算子向下一节点设备发送第i融合算子,所述第i融合算子由第一标量算子至所述第i标量算子融合得到。
基于获取到的所述二阶梯度标量、所述第i模型参数以及所述第i一阶梯度,确定所述第i子模型的第i二阶梯度下降方向,所述二阶梯度标量由第一节点设备基于第n融合算子确定得到。
基于所述第i二阶梯度下降方向更新所述第i子模型。
另一方面,本申请提供了一种联邦学习的模型训练装置,所述装置包括如下结构。
第一生成模块,用于基于第i子模型的第i模型参数以及第i一阶梯度生成第i标量算子,所述第i标量算子用于确定二阶梯度标量,所述二阶梯度标量用于确定模型迭代训练过程中的二阶梯度下降方向。
第一发送模块,用于基于所述第i标量算子向下一节点设备发送第i融合算子,所述第i融合算子由第一标量算子至所述第i标量算子融合得到。
第一确定模块,用于基于获取到的所述二阶梯度标量、所述第i模型参数以及所述第i一阶梯度,确定所述第i子模型的第i二阶梯度下降方向,所述二阶梯度标量由第一节点设备基于第n融合算子确定得到。
训练模块,用于基于所述第i二阶梯度下降方向更新所述第i子模型。
另一方面,本申请提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的联邦学习的模型训练方法。
另一方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如上述方面所述的联邦学习的模型训练方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备实现上述方面的各种可选实现方式中提供的联邦学习的模型训练方法。
本申请实施例提供的技术方案至少包括以下有益效果。
本申请实施例中,联邦学习系统中的n个节点设备之间通过传递融合算子,联合计算各个子模型的二阶梯度下降方向,完成模型迭代训练,不需要依赖第三方节点就能够利用二阶梯度下降法训练机器学习模型,相比于相关技术中利用可信第三方进行模型训练的方法,能够避免单点保管私钥造成单点集中安全风险较大的问题,增强了联邦学习的安全性,且方便实际应用落地。
附图说明
图1是本申请一个示例性实施例提供的联邦学习系统的实施环境示意图;
图2是本申请一个示例性实施例提供的联邦学习的模型训练方法的流程图;
图3是本申请另一个示例性实施例提供的联邦学习的模型训练方法的流程图;
图4是本申请一个示例性实施例提供的二阶梯度标量计算过程的示意图;
图5是本申请另一个示例性实施例提供的联邦学习的模型训练方法的流程图;
图6是本申请一个示例性实施例提供的学习率计算过程的示意图;
图7是本申请一个示例性实施例提供的联邦学习的模型训练装置的结构框图;
图8是本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先,对本申请实施例中涉及的名词进行介绍。
1)人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
2)机器学习(Machine Learning,ML):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
3)联邦学习:在保证数据不出域的情况下,联合多个参与方的数据源来训练机器学习模型,以及提供模型推理服务。联邦学习在保护用户隐私和数据安全的同时,又可以充分利用多个参与方的数据源来提升机器学习模型的性能。联邦学习使得跨部门、跨公司、甚至跨行业的数据合作成为可能,同时又能满足数据保护法律和法规的要求。联邦学习可以分为三类:横向联邦学习(Horizontal Federated Learning),纵向联邦学习(VerticalFederated Learning),联邦迁移学习(Federated Transfer Learning)。
4)纵向联邦学习:是用于参与者的训练样本标识(Identity Document,ID)的重叠较多,而数据特征的重叠较少的情况下的联邦学习。例如,同一地区的银行和电商分别拥有同一客户A的不同特征数据,比如银行拥有客户A的金融数据,电商拥有客户A的购物数据。“纵向”二字来源于数据的“纵向划分(Vertical Partitioning)”。如图1所示,联合多个参与者中具有交集的用户样本的不同特征数据进行联邦学习,即各个参与者的训练样本是纵向划分的。
相关技术中,联邦学习的模型训练阶段需要可信的第三方作为中心协调节点,在可信第三方的帮助下计算二阶梯度下降方向以及学习率,进而在可信第三方的帮助下,多方联合使用二阶梯度下降法训练机器学习模型。然而,在实际应用场景中,通常很难找到可信的可以用于保管私钥的第三方,导致相关技术的方案不适用于实际落地应用,并且,由一个中心节点保管私钥,也会造成单点集中安全风险,降低模型训练安全性的问题。
为了解决上述技术问题,本申请提供了一种联邦学习的模型训练方法,不需要依赖可信第三方,就可以实现多个参与方联合计算二阶梯度下降方向、模型迭代更新的学习率并训练机器学习模型,不存在单点集中安全风险。并且基于秘密分享的方式实现安全计算,能够避免引入显著的计算开销以及密文膨胀问题。
图1示出了本申请一个实施例提供的纵向联邦学习系统的框图。该纵向联邦学习系统包括n个节点设备(也称为参与方),即节点设备P1、节点设备P2…节点设备Pn。任意一个节点设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。且任意两个节点设备拥有不同的数据源,例如不同公司的数据源,或同一公司不同部门的数据源。不同节点设备负责对联邦学习模型的不同组成部分(即子模型)进行迭代训练。
不同节点设备之间通过无线网络或有线网络相连。
n个节点设备中存在至少一个节点设备具有训练数据对应的样本标签,在每一轮迭代训练过程中,由一个具有样本标签的节点设备主导,联合其它n-1个节点设备计算各个子模型的一阶梯度,进而利用当前的模型参数以及一阶梯度,通过传递融合算子的方式使第一节点设备得到融合有n个标量算子的第n融合算子,从而利用第n融合算子计算二阶梯度标量,并将二阶梯度标量发送至其它n-1个节点设备,使各个节点设备基于接收到的二阶梯度标量进行模型训练,直至模型收敛。
在一种可能的实施方式中,上述联邦学习系统中的多个节点设备可以组成为一区块链,而节点设备即为区块链上的节点,模型训练过程中所涉及的数据可保存于区块链上。
图2示出了本申请一个示例性实施例提供的联邦学习的模型训练方法的流程图。本实施例以该方法用于方法应用于联邦学习系统中的第i节点设备为例进行说明,联邦学习系统包含n个节点设备,n为大于2的整数,i为小于等于n的正整数,该方法包括如下步骤。
步骤201,基于第i子模型的第i模型参数以及第i一阶梯度生成第i标量算子,第i标量算子用于确定二阶梯度标量,二阶梯度标量用于确定模型迭代训练过程中的二阶梯度下降方向。
联邦学习系统中,不同的节点设备负责对机器学习模型的不同组成部分(即子模型)进行迭代训练。本申请实施例的联邦学习系统采用二阶梯度下降法对机器学习模型进行训练,因此,节点设备首先利用模型输出结果生成第i一阶梯度,再基于第i子模型的第i模型参数以及第i一阶梯度,生成用于确定第i二阶梯度下降方向的第i标量算子。
示意性的,联邦学习系统由节点设备A、节点设备B和节点设备C组成,分别负责第一子模型、第二子模型和第三子模型的迭代训练。当前一轮迭代训练过程中,三者联合计算得到模型参数
Figure DEST_PATH_IMAGE001
,以及一阶梯度
Figure DEST_PATH_IMAGE002
,并且,各个节点设备只能够获取到本地子模型的模型参数和一阶梯度,并不能获取到其它节点设备中子模型的模型参数和一阶梯度。节点设备基于第i子模型的第i模型参数以及第i一阶梯度确定二阶梯度下降方向,由于二阶梯度下降方向
Figure DEST_PATH_IMAGE003
,其中,
Figure DEST_PATH_IMAGE004
是三个子模型所组成的完整机器学习模型的一阶梯度,
Figure DEST_PATH_IMAGE005
Figure DEST_PATH_IMAGE006
为完整机器学习模型的模型参数差分向量,
Figure DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE008
为完整机器学习模型的模型参数,
Figure DEST_PATH_IMAGE009
Figure DEST_PATH_IMAGE010
为完整机器学习模型的一阶梯度差分,
Figure DEST_PATH_IMAGE011
Figure DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE013
为标量,且
Figure DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE015
,而
Figure DEST_PATH_IMAGE016
,其中,
Figure DEST_PATH_IMAGE017
表示
Figure DEST_PATH_IMAGE018
的转置。因此,计算二阶梯度下降方向的过程实际上就是计算标量算子
Figure DEST_PATH_IMAGE019
Figure DEST_PATH_IMAGE020
Figure DEST_PATH_IMAGE021
以及
Figure DEST_PATH_IMAGE022
的过程。
步骤202,基于第i标量算子向下一节点设备发送第i融合算子,第i融合算子由第一标量算子至第i标量算子融合得到。
第i节点设备计算得到第i标量算子后,对第i标量算子进行融合处理,得到第i融合算子,并将第i融合算子传递至下一节点设备,从而使下一节点设备无法得知第i标量算子的具体数值,以实现各节点设备在无法获取其它节点设备具体模型参数的情况下联合计算得到二阶梯度下降方向。
可选的,联邦学习系统中的任一节点设备均可作为二阶梯度计算的起始点(即第一节点设备),在模型迭代训练过程中,始终由同一节点设备作为起始点进行二阶梯度下降方向的联合计算,或者,联邦学习系统中的各个节点设备轮流作为起始点进行二阶梯度下降方向的联合计算,本申请实施例对此不作限定。
步骤203,基于获取到的二阶梯度标量、第i模型参数以及第i一阶梯度,确定第i子模型的第i二阶梯度下降方向,二阶梯度标量由第一节点设备基于第n融合算子确定得到。
联邦学习系统中第一节点设备作为起始点开始传递融合算子,直至第n节点设备,第n节点设备将第n融合算子传递至第一节点设备,完成数据传递闭环,由第一节点设备基于第n融合算子确定得到二阶梯度标量,由于第n融合算子由第一标量算子至第n标量算子逐步融合得到,因此第一节点设备即使获得第n融合算子,也无法得知第二标量算子至第n标量算子的具体数值。
第i二阶梯度下降方向
Figure DEST_PATH_IMAGE023
,因此第i节点设备基于获取到的二阶梯度标量
Figure 326855DEST_PATH_IMAGE012
Figure 712837DEST_PATH_IMAGE013
,以及第i一阶梯度
Figure DEST_PATH_IMAGE024
、第i模型参数
Figure DEST_PATH_IMAGE025
确定所述第i二阶梯度下降方向
Figure DEST_PATH_IMAGE026
步骤204,基于第i二阶梯度下降方向更新第i子模型。
在一种可能的实施方式中,第i节点设备基于生成的第i二阶梯度下降方向,更新第i子模型的模型参数,以完成当前一轮模型迭代训练,并在所有节点设备均完成一次模型训练后,对更新后的模型进行下一次迭代训练,直至训练完成。
可选的,当满足训练结束条件时,停止模型训练,训练结束条件包括所有子模型的模型参数收敛、所有子模型的模型损失函数收敛、训练次数达到次数阈值,以及训练时长达到时长阈值中的至少一种。
可选的,当模型迭代训练的学习率(即步长)为1时,根据
Figure DEST_PATH_IMAGE027
进行模型参数的更新;或者,联邦学习系统还可以基于当前模型确定合适的学习率,则根据
Figure DEST_PATH_IMAGE028
进行模型参数的更新,其中
Figure DEST_PATH_IMAGE029
为学习率,
Figure DEST_PATH_IMAGE030
为第t+1次迭代更新后第i子模型的模型参数,
Figure DEST_PATH_IMAGE031
为第t次迭代更新后第i子模型的模型参数。综上所述,本申请实施例中,联邦学习系统中的n个节点设备之间通过传递融合算子,联合计算各个子模型的二阶梯度下降方向,完成模型迭代训练,不需要依赖第三方节点就能够利用二阶梯度下降法训练机器学习模型,相比于相关技术中利用可信第三方进行模型训练的方法,能够避免单点保管私钥造成单点集中安全风险较大的问题,增强了联邦学习的安全性,且方便实际应用落地。
在一种可能的实施方式中,联邦学习系统中的n个节点设备通过传递标量算子,联合计算二阶梯度标量,在传递过程中,为了避免下一节点设备能够获取第一节点设备至上一节点设备的标量算子,进而获得模型参数等数据,各个节点设备对第i标量算子进行融合处理,得到第i融合算子,并利用第i融合算子进行联合计算。图3示出了本申请另一个示例性实施例提供的联邦学习的模型训练方法的流程图。本实施例以该方法用于图1所示联邦学习系统中的节点设备为例进行说明,该方法包括如下步骤。
步骤301,基于第i子模型的第i模型参数以及第i一阶梯度生成第i标量算子,第i标量算子用于确定二阶梯度标量,二阶梯度标量用于确定模型迭代训练过程中的二阶梯度下降方向。
步骤301的具体实施方式可以参考上述步骤201,本申请实施例在此不再赘述。
步骤302,若第i节点设备不是第n节点设备,则基于第i标量算子向第i+1节点设备发送第i融合算子。
联邦学习系统中包含n个节点设备,对于第一节点设备至第n-1节点设备,在计算出第i标量算子后,将第i融合算子传递至第i+1节点设备。
示意性的,如图4所示,联邦学习系统由第一节点设备、第二节点设备和第三节点设备组成,其中,第一节点设备基于第一标量算子,向第二节点设备发送第一融合算子,第二节点设备基于第二标量算子和第一融合算子,向第三节点设备发送第二融合算子,第三节点设备基于第三标量算子和第二融合算子,向第一节点设备发送第三融合算子。
对于基于第i标量算子得到第i融合算子的过程,在一种可能的实施方式中,当节点设备为第一节点设备时,步骤302包括如下步骤。
步骤302a,生成随机数。
由于第一节点设备是联合计算二阶梯度下降方向过程的起始点,因此发送至第二节点设备的数据仅与第一标量算子相关,为了避免第二节点设备获取到第一标量算子的具体数值,第一节点设备生成随机数,用于生成第一融合算子。
在一种可能的实施方式中,为了便于计算,该随机数为整数。可选的,每次迭代训练过程中,第一节点设备使用相同的随机数,或者,第一节点设备在每次迭代训练过程中均随机生成随机数。
步骤302b,基于随机数以及第一标量算子,生成第一融合算子,随机整数对于其它节点设备保密。
第一节点设备基于随机数以及第一标量算子,生成第一融合算子,并且,该随机数不出域,即联邦学习系统中仅第一节点设备能够获取该随机数的数值。
对于基于随机数以及第一标量算子生成第一融合算子的过程,在一种可能的实施方式中,步骤302b包括如下步骤。
步骤一,对第一标量算子进行取整运算。
由上述申请实施例可知,二阶梯度计算过程中需要计算出的标量算子包括
Figure 538579DEST_PATH_IMAGE019
Figure DEST_PATH_IMAGE032
Figure 871472DEST_PATH_IMAGE021
以及
Figure 154685DEST_PATH_IMAGE022
,本申请实施例以
Figure DEST_PATH_IMAGE033
为例对计算标量算子的过程进行说明,其它标量算子的计算过程与
Figure DEST_PATH_IMAGE034
的计算过程相同,本申请实施例在此不再赘述。
首先,第一节点设备对第一标量算子进行取整运算,将浮点数
Figure DEST_PATH_IMAGE035
转换为整数
Figure DEST_PATH_IMAGE036
Figure DEST_PATH_IMAGE037
,其中,INT(x)表示对x取整。Q为数值较大的整数,其数值决定了对浮点数精度的保留程度,Q越大,浮点数精度保留程度越高。需要说明的是取整和取模运算是可选的,如果不考虑取整运算,则
Figure DEST_PATH_IMAGE038
步骤二,基于取整运算后的第一标量算子与随机数,确定第一待融合算子。
第一节点设备基于随机数
Figure DEST_PATH_IMAGE039
以及取整运算后的第一标量算子
Figure DEST_PATH_IMAGE040
,确定第一待融合算子
Figure DEST_PATH_IMAGE041
步骤三,对第一待融合算子进行取模运算,得到第一融合算子。
第一节点设备对第一待融合算子进行取模运算,将取模运算得到的余数作为第一融合算子发送至第二节点设备,从而使第二节点设备在经过多次迭代训练后也无法确定第一标量算子的变化范围,从而进一步提高模型训练过程的安全性和保密性。
第一节点设备对第一待融合算子
Figure 947454DEST_PATH_IMAGE041
进行取整运算,得到第一融合算子
Figure DEST_PATH_IMAGE042
,即
Figure DEST_PATH_IMAGE043
,其中,N是数值较大的素数,一般要求N大于
Figure DEST_PATH_IMAGE044
。需要说明的是取整和取模运算是可选的,如果不考虑取整运算以及取模运算,则
Figure DEST_PATH_IMAGE045
步骤302c,向第二节点设备发送第一融合算子。
第一节点设备生成第一融合算子后,向第二节点设备发送第一融合算子,使第二节点设备基于第一融合算子,生成第二融合算子,以此类推,直至得到第n融合算子。
对于基于第i标量算子得到第i融合算子的过程,在一种可能的实施方式中,当节点设备不是第一节点设备且不是第n节点设备时,步骤302之前,还包括如下步骤。
接收第i-1节点设备发送的第i-1融合算子。
联邦学习系统中各个节点设备在计算得到本地的融合算子后,将其传递至下一节点设备,以使下一节点设备继续计算新的融合算子,因此,第i节点设备在计算第i融合算子之前,首先接收第i-1节点设备发送的第i-1融合算子。
步骤302包括如下步骤。
步骤302d,对第i标量算子进行取整运算。
与第一融合算子的计算过程类似,第i节点设备首先将浮点数
Figure DEST_PATH_IMAGE046
转换为整数
Figure DEST_PATH_IMAGE047
Figure DEST_PATH_IMAGE048
,其中,各个节点设备计算过程中所使用的Q相同。需要说明的是取整和取模运算是可选的,如果不考虑取整运算,则
Figure DEST_PATH_IMAGE049
步骤302e,基于取整运算后的第i标量算子与第i-1融合算子,确定第i待融合算子。
第i节点设备基于第i-1融合算子
Figure DEST_PATH_IMAGE050
以及第i标量算子
Figure 463755DEST_PATH_IMAGE047
,确定第i待融合算子
Figure DEST_PATH_IMAGE051
步骤302f,对第i待融合算子进行取模运算,得到第i融合算子。
第i节点设备对第i-1融合算子与第i标量算子之和(即第i待融合算子)进行取模运算,得到第i融合算子
Figure DEST_PATH_IMAGE052
Figure DEST_PATH_IMAGE053
,其中,各个节点设备进行取模运算时所使用的N相等。
当N为一足够大的素数,例如大于
Figure DEST_PATH_IMAGE054
时,
Figure 987622DEST_PATH_IMAGE039
无论取何整数值,
Figure DEST_PATH_IMAGE055
均成立。需要说明的是取整和取模运算是可选的,如果不考虑取整运算以及取模运算,则
Figure DEST_PATH_IMAGE056
步骤302g,向第i+1节点设备发送第i融合算子。
第i节点设备生成第i融合算子后,向第i+1节点设备发送第i融合算子,使第i+1节点设备基于第i融合算子,生成第i+1融合算子,以此类推,直至得到第n融合算子。
步骤303,若第i节点设备为第n节点设备,则基于第i标量算子向第一节点设备发送第n融合算子。
当融合算子传递至第n节点设备时,第n节点设备基于第n标量算子以及第n-1融合算子,计算得到第n融合算子,由于计算二阶梯度下降方向所需的标量需要n个节点设备所计算得到的标量算子之和,例如对于三个节点设备所组成的联邦计算系统,
Figure DEST_PATH_IMAGE057
Figure DEST_PATH_IMAGE058
Figure DEST_PATH_IMAGE059
Figure DEST_PATH_IMAGE060
,而第n融合算子中还融合有第一节点设备所生成的随机数,因此,第n节点设备需要将第n融合算子发送至第一节点设备,由第一节点设备最终计算得到二阶梯度标量。
针对第n节点设备计算得到第n融合算子的过程,在步骤303之前,还包括如下步骤。
接收第n-1节点设备发送的第n-1融合算子。
第n节点设备在接收到第n-1节点设备所发送的第n-1融合算子后,开始计算第n融合算子。
步骤303还包括如下步骤。
步骤四,对第n标量算子进行取整运算。
第n节点设备对第n标量算子进行取整运算,将浮点数
Figure DEST_PATH_IMAGE061
转换为整数
Figure DEST_PATH_IMAGE062
Figure DEST_PATH_IMAGE063
,其中Q为数值较大的整数,且与前n-1个节点设备所使用的Q相等。
步骤五,基于取整运算后的第n标量算子与第n-1融合算子,确定第n待融合算子。
第n节点设备基于第n-1融合算子
Figure DEST_PATH_IMAGE064
以及取整运算后的第一标量算子
Figure 374610DEST_PATH_IMAGE062
,确定第n待融合算子
Figure DEST_PATH_IMAGE065
步骤六,对第n待融合算子进行取模运算,得到第n融合算子。
第n节点设备对第n待融合算子
Figure 102394DEST_PATH_IMAGE065
进行取整运算,得到第n融合算子
Figure DEST_PATH_IMAGE066
步骤七,向第一节点设备发送第n融合算子。
第n节点设备生成第n融合算子后,向第一节点设备发送第n融合算子,使第一节点设备基于第n融合算子得到计算二阶梯度所需的二阶梯度标量。
在一种可能的实施方式中,当节点设备是第一节点设备时,步骤304之前,还包括如下步骤。
步骤八,接收第n节点设备发送的第n融合算子。
当接收到第n节点设备所发送的第n融合算子后,第一节点设备基于第n融合算子进行前述运算的反向运算,对第一标量算子以及第n标量算子进行还原。
步骤九,基于随机数以及第n融合算子,还原第一标量算子至第n标量算子的累加结果。
由于第n融合算子为
Figure DEST_PATH_IMAGE067
,且N为大于
Figure DEST_PATH_IMAGE068
的素数,因此若要计算
Figure DEST_PATH_IMAGE069
,只需根据
Figure DEST_PATH_IMAGE070
即可。
在这一过程中,由于第一节点设备只能够得到
Figure DEST_PATH_IMAGE071
这一累加结果,因此并不能知道
Figure DEST_PATH_IMAGE072
Figure DEST_PATH_IMAGE073
的具体数值,从而保证模型训练的安全性。
步骤十,基于累加结果确定二阶梯度标量。
第一节点设备通过上述方式计算得到四种标量算子(即
Figure 108921DEST_PATH_IMAGE019
Figure 298463DEST_PATH_IMAGE020
Figure 290689DEST_PATH_IMAGE021
以及
Figure 189375DEST_PATH_IMAGE022
)的累加结果,利用该累加结果确定二阶梯度标量
Figure DEST_PATH_IMAGE074
Figure DEST_PATH_IMAGE075
,并将计算得到的二阶梯度标量发送至第二节点设备指第n节点设备,使各个节点设备基于接收到的二阶梯度标量,计算对应子模型的二阶梯度下降方向。
步骤304,基于获取到的二阶梯度标量、第i模型参数以及第i一阶梯度,确定第i子模型的第i二阶梯度下降方向,二阶梯度标量由第一节点设备基于第n融合算子确定得到。
步骤305,基于第i二阶梯度下降方向更新第i子模型。
步骤304至步骤305的具体实施方式可以参考上述步骤203至步骤204,本申请实施例在此不再赘述。
本申请实施例中,当节点设备为第一节点设备时,通过生成随机数,并利用随机数与第一标量算子进行取整运算和取模运算,生成第一融合算子,使第二节点设备无法获得第一标量算子的具体数值,当节点设备不是第一节点设备时,对接收到的第i-1融合算子与第i标量算子进行融合处理,得到第i融合算子,并发送至下一节点设备,从而使得联邦学习系统中各个节点设备均无法得知其它节点设备的标量算子的具体数值,进一步提高了模型迭代训练的安全性和保密性,从而在不依赖第三方节点的情况下完成模型训练。
需要说明的是,当只有两个参与方时(即n=2),例如,只有参与方A和B,两个参与方可以通过利用差分隐私机制来保护其各自本地的模型参数和一阶梯度信息。差分隐私机制是通过添加随机噪声来保护隐私数据。例如,参与方A和B协作计算二阶梯度标量算子
Figure DEST_PATH_IMAGE076
可以通过以下方式来完成。
参与方A计算
Figure DEST_PATH_IMAGE077
,并将其发送给参与方B。其中,
Figure DEST_PATH_IMAGE078
是参与方A生成的随机噪声(即随机数)。然后参与方B可以计算获得近似的二阶梯度标量算子
Figure DEST_PATH_IMAGE079
相应的,参与方B计算
Figure DEST_PATH_IMAGE080
,并将其发送给参与方A。其中,
Figure DEST_PATH_IMAGE081
是参与方B生成的随机噪声(即随机数)。然后参与方A可以计算获得近似的二阶梯度标量算子
Figure DEST_PATH_IMAGE082
通过控制随机噪声
Figure 945848DEST_PATH_IMAGE078
Figure 689813DEST_PATH_IMAGE081
的大小以及统计分布情况,可以控制所添加随机噪声对计算精度的影响,可以根据业务场景在安全和准确性之间取得平衡。
当只有两个参与方时(即n=2),对于其他二阶梯度标量算子的计算,如
Figure DEST_PATH_IMAGE083
Figure DEST_PATH_IMAGE084
Figure DEST_PATH_IMAGE085
,可以采用类似的方法计算。在获得了二阶梯度标量算子之后,参与方A和B即可各自计算二阶梯度标量,进而计算二阶梯度下降方向和步长(即学习率),然后更新模型参数。
在n=2的情况下,通过利用差分隐私机制,使两个节点设备分别获取到对方发送的添加有随机噪声的标量算子,并基于接收到的添加有随机噪声的标量算子,以及本地模型对应的标量算子,计算得到各自的二阶梯度下降方向,能够在确保计算得到的二阶梯度方向误差较小的基础上保证对方无法获取本地的一阶梯度信息以及模型参数,满足联邦学习对于数据安全性的要求。
上述各个实施例示出了各个节点设备基于一阶梯度联合计算二阶梯度下降方向的过程,由于不同节点设备所拥有的样本数据不同,因此在进行模型迭代训练之前,联邦学习系统中的节点设备首先需要协作进行样本对齐,筛选出对各个节点设备均有意义的样本数据。图5示出了本申请另一个示例性实施例提供的联邦学习的模型训练方法的流程图。本实施例以该方法用于图1所示联邦学习系统中的节点设备为例进行说明,该方法包括如下步骤。
步骤501,利用弗雷德曼(Freedman)或盲签名(Blind RSA)协议或者其他协议,联合其它节点设备基于第一样本数据集至第n样本数据集中样本数据的样本标识进行样本对齐,得到第i训练集,第i训练集中样本数据的样本标识为第一样本数据集至第n样本数据集中样本数据对应的样本标识的交集。
在一种可能的实施方式中,联邦学习系统中的各个节点拥有不同的样本数据,例如,联邦学习的参与方包括银行A、商户B以及在线支付平台C,银行A拥有的样本数据包括银行A对应的用户的资产情况,商户B拥有的样本数据包括商户B对应的用户的商品购买数据,在线支付平台C拥有的样本数据为在线支付平台C的用户的交易记录,当银行A、商户B以及在线支付平台C共同进行联邦计算时,需要筛选出银行A、商户B以及在线支付平台C的共同用户群体,该共同用户群体在上述三个参与方中所对应的样本数据才对机器学习模型的模型训练有意义。因此,在进行模型训练之前,各个节点设备需要联合其它节点设备,进行样本对齐,分别得到各自的训练集。
可选的,每一轮迭代训练时,各节点设备将训练集对应的全部样本数据输入本地子模型;或者,当训练集的数据量较大时,为了减少计算量以及获得更好的训练效果,每一次迭代训练中各节点设备只处理一个小批量的训练数据,例如每一批量的训练数据包括128个样本数据,此时需要各个参与方协调进行训练集的分批以及小批量的选择,从而保证每一轮迭代训练时所有参与方的训练样本对其。
步骤502,将第i训练集中的样本数据输入第i子模型,得到第i模型输出数据。
结合上述示例,银行A对应的第一训练集包括共同用户群体的资产情况,商户B对应的第二训练集为共同用户群体的商品购买数据,在线支付平台C对应的第三训练集包括共同用户群体的交易记录,三者的节点设备分别将对应的训练集输入本地子模型,得到模型输出数据。
步骤503,联合其它节点设备,基于第i模型输出数据得到第i一阶梯度。
各个节点设备通过协作,安全计算第i一阶梯度,各自得到明文形式的第i模型参数和第i一阶梯度。
步骤504,基于第t-1轮迭代训练后的第i模型参数以及第t轮迭代训练后的第i模型参数,生成第i子模型的第i模型参数差分,并基于第t-1轮迭代训练后的第i一阶梯度以及第t轮迭代训练后的第i一阶梯度,生成第i子模型的第i一阶梯度差分。
由于二阶梯度下降方向
Figure DEST_PATH_IMAGE086
,并且其中的二阶梯度标量
Figure 478425DEST_PATH_IMAGE013
Figure 531701DEST_PATH_IMAGE012
也是基于
Figure DEST_PATH_IMAGE087
Figure 198305DEST_PATH_IMAGE004
Figure 745961DEST_PATH_IMAGE006
计算得到的,且以三个节点设备为例,
Figure DEST_PATH_IMAGE088
Figure DEST_PATH_IMAGE089
,因此,各节点设备首先基于第t-1轮迭代训练后的第i模型参数
Figure DEST_PATH_IMAGE090
以及第t轮迭代训练后的第i模型参数
Figure 102993DEST_PATH_IMAGE031
,生成第i模型参数差分
Figure DEST_PATH_IMAGE091
,并基于第t-1轮迭代训练后的第i一阶梯度以及第t轮迭代训练后的第i一阶梯度,生成第i子模型的第i一阶梯度差分
Figure DEST_PATH_IMAGE092
步骤505,基于第t轮迭代训练后的第i一阶梯度、第i一阶梯度差分以及第i模型参数差分,生成第i标量算子。
第i节点设备基于第i模型参数差分
Figure 327170DEST_PATH_IMAGE091
、第i一阶梯度
Figure DEST_PATH_IMAGE093
以及第i一阶梯度差分
Figure 949913DEST_PATH_IMAGE092
,分别计算第i标量算子
Figure DEST_PATH_IMAGE094
步骤506,基于第i标量算子向下一节点设备发送第i融合算子,第i融合算子由第一标量算子至第i标量算子融合得到。
步骤507,基于获取到的二阶梯度标量、第i模型参数以及第i一阶梯度,确定第i子模型的第i二阶梯度下降方向,二阶梯度标量由第一节点设备基于第n融合算子确定得到。
步骤506至步骤507的具体实施方式可以参考上述步骤202至步骤203,本申请实施例在此不再赘述。
步骤508,基于第i子模型的第i一阶梯度以及第i二阶梯度下降方向生成第i学习率算子,第i学习率算子用于确定基于第i二阶梯度下降方向进行模型更新时的学习率。
学习率(Learning rate)作为监督学习以及深度学习中重要的超参,其决定着目标函数能否收敛到局部最小值以及何时收敛到最小值。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。上述申请实施例以1为学习率,即第i二阶梯度下降方向
Figure DEST_PATH_IMAGE095
为例说明模型迭代训练的过程,在一种可能的实施方式中,为了进一步提高模型迭代训练的效率,本申请实施例采用动态调整学习率的方式进行模型训练。
学习率(即步长)的计算公式(Hestenes-Stiefel公式)如下。
Figure DEST_PATH_IMAGE096
其中,
Figure 756719DEST_PATH_IMAGE029
为学习率,
Figure DEST_PATH_IMAGE097
为完整机器学习模型的二阶梯度下降方向的转置,
Figure DEST_PATH_IMAGE098
为完整机器学习模型的一阶梯度的转置,
Figure 499416DEST_PATH_IMAGE010
为完整机器学习模型的一阶梯度差分,因此,在保证各个节点设备无法获取其它节点设备中第i子模型的一阶梯度、二阶梯度下降方向的前提下,本申请实施例采取与计算二阶梯度标量相同的方式,通过传递融合算子,联合计算学习率。其中,第i学习率算子包括
Figure DEST_PATH_IMAGE099
以及
Figure DEST_PATH_IMAGE100
步骤509,基于第i学习率算子向下一节点设备发送第i融合学习率算子,第i融合学习率算子由第一学习率算子至第i学习率算子融合得到。
针对基于第i学习率算子生成第i融合学习率算子的过程,在一种可能的实施方式中,当第i为节点设备为第一节点设备时,步骤509包括如下步骤。
步骤509a,生成随机数。
由于第一节点设备是联合计算学习率的起始点,因此发送至第二节点设备的数据仅与第一学习率算子相关,为了避免第二节点设备获取到第一学习率算子的具体数值,第一节点设备生成随机数
Figure DEST_PATH_IMAGE101
,用于生成第一融合学习率算子。
在一种可能的实施方式中,为了便于计算,该随机数为整数。
步骤509b,对第一学习率算子进行取整运算。
本申请实施例以
Figure DEST_PATH_IMAGE102
为例对计算标量算子的过程进行说明,其它标量算子的计算过程与
Figure DEST_PATH_IMAGE103
的计算过程相同,本申请实施例在此不再赘述。首先,第一节点设备对第一学习率算子进行取整运算,将浮点数
Figure DEST_PATH_IMAGE104
转换为整数
Figure 504281DEST_PATH_IMAGE036
Figure 207795DEST_PATH_IMAGE037
。Q为数值较大的整数,其数值决定了对浮点数精度的保留程度,Q越大,浮点数精度保留程度越高。
步骤509c,基于取整运算后的第一学习率算子与随机数,确定第一待融合学习率算子。
第一节点设备基于随机数
Figure 346521DEST_PATH_IMAGE039
以及取整运算后的第一学习率算子
Figure 22353DEST_PATH_IMAGE040
,确定第一待融合学习率算子
Figure 604644DEST_PATH_IMAGE041
步骤509d,对第一待融合学习率算子进行取模运算,得到第一融合学习率算子。
第一节点设备对第一待融合学习率算子进行取模运算,将取模运算得到的余数作为第一融合学习率算子发送至第二节点设备,从而使第二节点设备在经过多次迭代训练后也无法确定第一学习率算子的变化范围,从而进一步提高模型训练过程的安全性和保密性。
第一节点设备对第一待融合学习率算子
Figure 998716DEST_PATH_IMAGE041
进行取整运算,得到第一融合学习率算子
Figure DEST_PATH_IMAGE105
,即
Figure DEST_PATH_IMAGE106
,其中,N是数值较大的素数,一般要求N大于
Figure DEST_PATH_IMAGE107
步骤509e,向第二节点设备发送第一融合学习率算子。
当第i节点设备不是第一节点设备且不是第n节点设备时,步骤509之前还包括如下步骤。
接收第i-1节点设备发送的第i-1融合学习率算子。
步骤509包括如下步骤。
步骤509f,对第i学习率算子进行取整运算。
步骤509g,基于取整运算后的第i学习率算子与第i-1融合学习率算子,确定第i待融合学习率算子。
步骤509h,对第i待融合学习率算子进行取模运算,得到第i融合学习率算子。
步骤509i,向第i+1节点设备发送第i融合学习率算子。
当第i节点设备是第n节点设备时,步骤509之前还包括如下步骤。
接收第n-1节点设备发送的第n-1融合学习率算子。
步骤509还包括如下步骤。
步骤509j,对第n学习率算子进行取整运算。
步骤509k,基于取整运算后的第n学习率算子与第n-1融合学习率算子,确定第n待融合学习率算子。
步骤509l,对第n待融合学习率算子进行取模运算,得到第n融合学习率算子。
步骤509m,向第一节点设备发送第n融合学习率算子。
步骤510,基于第i二阶梯度以及获取到的学习率,更新第i子模型的第i模型参数。
如图6所示,其示出了学习率的计算过程,第一节点设备基于第一学习率算子与随机数,生成第一融合学习率算子并发送至第二节点设备,第二节点设备基于第一融合学习率算子与第二学习率算子,生成第二融合学习率算子并发送至第三节点设备,第三节点设备基于第二融合学习率算子与第三学习率算子,生成第三融合学习率算子并发送至第一节点设备,从而第一节点设备基于第三融合学习率算子,还原得到第一学习率算子至第三学习率算子的累加结果,进而计算出学习率,并发送至第二节点设备和第三节点设备。
在一种可能的实施方式中,第n节点设备将第n融合学习率算子发送至第一节点设备,第一节点设备接收到第n融合学习率算子后,基于第n融合学习率算子以及随机数,还原得到第一学习率算子至第n学习率算子的累加结果,并基于累加结果计算学习率,从而将计算得到的学习率发送至第二节点设备至第n节点设备。各个节点设备在接收到学习率后,根据
Figure DEST_PATH_IMAGE108
更新第i子模型的第i模型参数。为保证算法收敛,也可以取学习率
Figure 344728DEST_PATH_IMAGE029
为很小的正数,例如,取
Figure DEST_PATH_IMAGE109
本申请实施例中,首先利用Freedman协议进行样本对齐,得到对各个子模型均有意义的训练集,提高训练集的质量以及模型训练效率;在计算得到二阶梯度下降方向的基础上,再次进行联合计算,生成是用于当前一轮迭代训练的学习率,从而基于第i二阶梯度下降方向以及学习率更新模型参数,能够进一步提高模型训练效率,加快模型训练进程。
联邦学习系统通过上述模型训练方法对各个子模型进行迭代训练,最终得到优化后的机器学习模型,该机器学习模型由n个子模型组成,可以用于模型性能测试或模型应用。模型应用阶段,第i节点设备将数据输入训练完成的第i子模型,并联合其它n-1个节点设备共同计算得到模型输出。例如,当应用于智能零售业务时,涉及的数据特征主要包括用户购买力,用户个人喜好和产品特征,在实际应用中,这三种数据特征可能分散在三个不同的部门或不同的企业中,比如,用户的购买力可以从银行储蓄中推断得到,而个人喜好可以从社交网络中进行分析,产品的特征则由电子商店来记录,此时可以联合银行、社交网络以及电子商店三个平台共同构建联邦学习模型并进行训练,得到优化后的机器学习模型,从而使得电子商店在不获取用户个人喜好信息以及银行储蓄信息的情况下,联合银行以及社交网络对应的节点设备,向用户推荐合适的商品(即银行方的节点设备将用户储蓄信息输入本地子模型,社交网络方的节点设备将用户个人喜好信息输入本地子模型,三方利用联邦学习协同计算,使电子商店方的节点设备输出商品推荐信息),可以充分保护数据隐私和数据安全,还可以为客户提供个性化和针对性的服务。
图7是本申请一个示例性实施例提供的联邦学习的模型训练装置的结构框图,该装置包括如下结构。
第一生成模块701,用于基于第i子模型的第i模型参数以及第i一阶梯度生成第i标量算子,所述第i标量算子用于确定二阶梯度标量,所述二阶梯度标量用于确定模型迭代训练过程中的二阶梯度下降方向。
第一发送模块702,用于基于所述第i标量算子向下一节点设备发送第i融合算子,所述第i融合算子由第一标量算子至所述第i标量算子融合得到。
第一确定模块703,用于基于获取到的所述二阶梯度标量、所述第i模型参数以及所述第i一阶梯度,确定所述第i子模型的第i二阶梯度下降方向,所述二阶梯度标量由第一节点设备基于第n融合算子确定得到。
训练模块704,用于基于所述第i二阶梯度下降方向更新所述第i子模型。
可选的,所述第一发送模块702,包括如下结构。
第一发送单元,用于若所述第i节点设备不是第n节点设备,则基于所述第i标量算子向第i+1节点设备发送所述第i融合算子。
第二发送单元,用于若所述第i节点设备为所述第n节点设备,则基于所述第i标量算子向所述第一节点设备发送所述第n融合算子。
可选的,所述节点设备为所述第一节点设备,所述第一发送单元,还用于执行如下步骤。
生成随机数。
基于所述随机数以及第一标量算子,生成第一融合算子,所述随机整数对于其它节点设备保密。
向第二节点设备发送所述第一融合算子。
可选的,所述第一发送单元,还用于执行如下步骤。
对所述第一标量算子进行取整运算。
基于取整运算后的所述第一标量算子与所述随机数,确定第一待融合算子。
对所述第一待融合算子进行取模运算,得到所述第一融合算子。
可选的,所述装置还包括如下结构。
第一接收模块,用于接收第n节点设备发送的第n融合算子。
还原模块,用于基于所述随机数以及所述第n融合算子,还原所述第一标量算子至第n标量算子的累加结果。
第二确定模块,用于基于所述累加结果确定所述二阶梯度标量。
可选的,所述节点设备不是所述第一节点设备,所述装置还包括如下结构。
第二接收模块,用于接收第i-1节点设备发送的第i-1融合算子。
所述第一发送单元,还用于执行如下步骤。
对所述第i标量算子进行取整运算。
基于取整运算后的所述第i标量算子与所述第i-1融合算子,确定第i待融合算子。
对所述第i待融合算子进行取模运算,得到所述第i融合算子。
向所述第i+1节点设备发送所述第i融合算子。
可选的,所述节点设备为所述第n节点设备,所述装置还包括如下结构。
第三接收模块,用于接收第n-1节点设备发送的第n-1融合算子。
所述第二发送单元,还用于执行如下步骤。
对所述第n标量算子进行取整运算。
基于取整运算后的所述第n标量算子与所述第n-1融合算子,确定第n待融合算子。
对所述第n待融合算子进行取模运算,得到所述第n融合算子。
向所述第一节点设备发送所述第n融合算子。
可选的,所述第一生成模块701,包括如下结构。
第一生成单元,用于基于第t-1轮迭代训练后的所述第i模型参数以及第t轮迭代训练后的所述第i模型参数,生成所述第i子模型的第i模型参数差分,并基于所述第t-1轮迭代训练后的所述第i一阶梯度以及所述第t轮迭代训练后的所述第i一阶梯度,生成所述第i子模型的第i一阶梯度差分。
第二生成单元,用于基于所述第t轮迭代训练后的所述第i一阶梯度、所述第i一阶梯度差分以及所述第i模型参数差分,生成所述第i标量算子。
可选的,所述装置还包括如下结构。
第二生成模块,用于基于第i子模型的第i一阶梯度以及第i二阶梯度生成第i学习率算子,所述第i学习率算子用于确定基于所述第i二阶梯度下降方向进行模型训练时的学习率。
第二发送模块,用于基于所述第i学习率算子向下一节点设备发送第i融合学习率算子,所述第i融合学习率算子由第一学习率算子至所述第i学习率算子融合得到。
所述训练模块704,包括如下结构。
更新单元,用于基于所述第i二阶梯度下降方向以及获取到的学习率,更新所述第i子模型的所述第i模型参数。
可选的,所述节点设备为所述第一节点设备,所述第二发送模块,包括如下结构。
第三生成单元,用于生成随机数。
第一运算单元,用于对第一学习率算子进行取整运算。
第一确定单元,用于基于取整运算后的所述第一学习率算子与所述随机数,确定第一待融合学习率算子。
第二运算单元,用于对所述第一待融合学习率算子进行取模运算,得到第一融合学习率算子。
第三发送单元,用于向第二节点设备发送所述第一融合学习率算子。
可选的,所述节点设备不是所述第一节点设备,所述装置还包括如下结构。
第四接收模块,用于接收第i-1节点设备发送的第i-1融合学习率算子。
所述第二发送模块,包括如下结构。
第三运算单元,用于对所述第i学习率算子进行取整运算。
第二确定单元,用于基于取整运算后的所述第i学习率算子与所述第i-1融合学习率算子,确定第i待融合学习率算子。
第四运算单元,用于对所述第i待融合学习率算子进行取模运算,得到所述第i融合学习率算子。
第四发送单元,用于向所述第i+1节点设备发送所述第i融合学习率算子。
可选的,所述装置还包括如下结构。
第三生成模块,用于利用Freedman协议或Blind RSA协议或者其他协议,联合其它节点设备基于第一样本数据集至第n样本数据集中样本数据的样本标识进行样本对齐,得到第i训练集,所述第i训练集中所述样本数据的样本标识为所述第一样本数据集至所述第n样本数据集中所述样本数据对应的所述样本标识的交集。
第四生成模块,用于将所述第i训练集中的所述样本数据输入所述第i子模型,得到第i模型输出数据。
第五生成模块,用于联合其它节点设备,基于所述第i模型输出数据得到所述第i一阶梯度。
综上所述,本申请实施例中,联邦学习系统中的n个节点设备之间通过传递融合算子,联合计算各个子模型的二阶梯度,完成模型迭代训练,不需要依赖第三方节点就能够利用二阶梯度下降法训练机器学习模型,相比于相关技术中利用可信第三方进行模型训练的方法,能够避免单点保管私钥造成单点集中安全风险较大的问题,增强了联邦学习的安全性,且方便实际应用落地。
请参考图8,其示出了本申请一个实施例提供的计算机设备的结构示意图。
所述计算机设备800包括中央处理单元(Central Processing Unit,CPU)801、包括随机存取存储器(Random Access Memory,RAM)802和只读存储器(Read Only Memory,ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述计算机设备800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出(Input/Output,I/O)控制器806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为计算机设备800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存或其他固态存储其技术,CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本申请的各种实施例,所述计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备800可以通过连接在所述系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述联邦学习的模型训练方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上各个实施例所述的联邦学习的模型训练方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的联邦学习的模型训练方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种联邦学习的模型训练方法,其特征在于,所述方法应用于联邦学习系统中的第i节点设备,所述联邦学习系统为包含n个节点设备的纵向联邦学习系统,不同节点设备负责对机器学习模型的不同组成部分进行迭代训练,n为大于或等于2的整数,i为小于等于n的正整数,所述方法包括:
基于第t-1轮迭代训练后第i子模型的第i模型参数以及第i一阶梯度,以及第t轮迭代训练后所述第i子模型的所述第i模型参数以及所述第i一阶梯度,生成第i标量算子,所述第i标量算子用于确定二阶梯度标量,所述二阶梯度标量用于确定模型迭代训练过程中的二阶梯度下降方向;
基于所述第i标量算子向下一节点设备发送第i融合算子,所述第i融合算子由第一标量算子至所述第i标量算子融合得到;
基于获取到的所述二阶梯度标量、所述第i模型参数以及所述第i一阶梯度,确定所述第i子模型的第i二阶梯度下降方向,所述二阶梯度标量由第一节点设备基于第n融合算子确定得到;
基于所述第i二阶梯度下降方向更新所述第i子模型,得到第t+1次迭代训练时所述第i子模型的模型参数。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第i标量算子向下一节点设备发送第i融合算子,包括:
若所述第i节点设备不是第n节点设备,则基于所述第i标量算子向第i+1节点设备发送所述第i融合算子;
若所述第i节点设备为所述第n节点设备,则基于所述第i标量算子向所述第一节点设备发送所述第n融合算子。
3.根据权利要求2所述的方法,其特征在于,所述节点设备为所述第一节点设备,所述基于所述第i标量算子向第i+1节点设备发送所述第i融合算子,包括:
生成随机数;
基于所述随机数以及第一标量算子,生成第一融合算子,所述随机整数对于其它节点设备保密;
向第二节点设备发送所述第一融合算子。
4.根据权利要求3所述的方法,其特征在于,所述基于所述随机数以及第一标量算子,生成第一融合算子,包括:
对所述第一标量算子进行取整运算;
基于取整运算后的所述第一标量算子与所述随机数,确定第一待融合算子;
对所述第一待融合算子进行取模运算,得到所述第一融合算子。
5.根据权利要求3所述的方法,其特征在于,所述基于获取到的所述二阶梯度标量、所述第i模型参数以及所述第i一阶梯度,确定所述第i子模型的第i二阶梯度下降方向之前,所述方法还包括:
接收第n节点设备发送的第n融合算子;
基于所述随机数以及所述第n融合算子,还原所述第一标量算子至第n标量算子的累加结果;
基于所述累加结果确定所述二阶梯度标量。
6.根据权利要求2所述的方法,其特征在于,所述节点设备不是所述第一节点设备,所述基于所述第i标量算子向第i+1节点设备发送所述第i融合算子之前,所述方法包括:
接收第i-1节点设备发送的第i-1融合算子;
所述基于所述第i标量算子向第i+1节点设备发送所述第i融合算子,包括:
对所述第i标量算子进行取整运算;
基于取整运算后的所述第i标量算子与所述第i-1融合算子,确定第i待融合算子;
对所述第i待融合算子进行取模运算,得到所述第i融合算子;
向所述第i+1节点设备发送所述第i融合算子。
7.根据权利要求2所述的方法,其特征在于,所述节点设备为所述第n节点设备,所述基于所述第i标量算子向所述第一节点设备发送所述第n融合算子之前,所述方法还包括:
接收第n-1节点设备发送的第n-1融合算子;
所述基于所述第i标量算子向所述第一节点设备发送所述第n融合算子,包括:
对所述第n标量算子进行取整运算;
基于取整运算后的所述第n标量算子与所述第n-1融合算子,确定第n待融合算子;
对所述第n待融合算子进行取模运算,得到所述第n融合算子;
向所述第一节点设备发送所述第n融合算子。
8.根据权利要求1至7任一所述的方法,其特征在于,所述基于第t-1轮迭代训练后第i子模型的第i模型参数以及第i一阶梯度,以及第t轮迭代训练后所述第i子模型的所述第i模型参数以及所述第i一阶梯度,生成第i标量算子,包括:
基于第t-1轮迭代训练后的所述第i模型参数以及第t轮迭代训练后的所述第i模型参数,生成所述第i子模型的第i模型参数差分,并基于所述第t-1轮迭代训练后的所述第i一阶梯度以及所述第t轮迭代训练后的所述第i一阶梯度,生成所述第i子模型的第i一阶梯度差分;
基于所述第t轮迭代训练后的所述第i一阶梯度、所述第i一阶梯度差分以及所述第i模型参数差分,生成所述第i标量算子。
9.根据权利要求1至7任一所述的方法,其特征在于,所述基于获取到的所述二阶梯度标量、所述第i模型参数以及所述第i一阶梯度,确定所述第i子模型的第i二阶梯度下降方向之后,所述方法还包括:
基于第i子模型的第i一阶梯度以及第i二阶梯度生成第i学习率算子,所述第i学习率算子用于确定基于所述第i二阶梯度下降方向进行模型训练时的学习率;
基于所述第i学习率算子向下一节点设备发送第i融合学习率算子,所述第i融合学习率算子由第一学习率算子至所述第i学习率算子融合得到;
所述基于所述第i二阶梯度下降方向更新所述第i子模型,包括:
基于所述第i二阶梯度下降方向以及获取到的学习率,更新所述第i子模型的所述第i模型参数。
10.根据权利要求9所述的方法,其特征在于,所述节点设备为所述第一节点设备,所述基于所述第i学习率算子向下一节点设备发送第i融合学习率算子,包括:
生成随机数;
对第一学习率算子进行取整运算;
基于取整运算后的所述第一学习率算子与所述随机数,确定第一待融合学习率算子;
对所述第一待融合学习率算子进行取模运算,得到第一融合学习率算子;
向第二节点设备发送所述第一融合学习率算子。
11.根据权利要求9所述的方法,其特征在于,所述节点设备不是所述第一节点设备,所述基于所述第i学习率算子向下一节点设备发送第i融合学习率算子之前,所述方法包括:
接收第i-1节点设备发送的第i-1融合学习率算子;
所述基于所述第i学习率算子向下一节点设备发送第i融合学习率算子,包括:
对所述第i学习率算子进行取整运算;
基于取整运算后的所述第i学习率算子与所述第i-1融合学习率算子,确定第i待融合学习率算子;
对所述第i待融合学习率算子进行取模运算,得到所述第i融合学习率算子;
向所述第i+1节点设备发送所述第i融合学习率算子。
12.根据权利要求1至7任一所述的方法,其特征在于,所述基于第t-1轮迭代训练后第i子模型的第i模型参数以及第i一阶梯度,以及第t轮迭代训练后所述第i子模型的所述第i模型参数以及所述第i一阶梯度,生成第i标量算子之前,所述方法还包括:
利用弗雷德曼Freedman协议或盲签名Blind RSA协议,联合其它节点设备基于第一样本数据集至第n样本数据集中样本数据的样本标识进行样本对齐,得到第i训练集,所述第i训练集中所述样本数据的样本标识为所述第一样本数据集至所述第n样本数据集中所述样本数据对应的所述样本标识的交集;
将所述第i训练集中的所述样本数据输入所述第i子模型,得到第i模型输出数据;
联合其它节点设备,基于所述第i模型输出数据得到所述第i一阶梯度。
13.一种联邦学习的模型训练装置,其特征在于,所述装置包括:
第一生成模块,用于基于第t-1轮迭代训练后第i子模型的第i模型参数以及第i一阶梯度,以及第t轮迭代训练后所述第i子模型的所述第i模型参数以及所述第i一阶梯度,生成第i标量算子,所述第i标量算子用于确定二阶梯度标量,所述二阶梯度标量用于确定模型迭代训练过程中的二阶梯度下降方向;
第一发送模块,用于基于所述第i标量算子向下一节点设备发送第i融合算子,所述第i融合算子由第一标量算子至所述第i标量算子融合得到;
第一确定模块,用于基于获取到的所述二阶梯度标量、所述第i模型参数以及所述第i一阶梯度,确定所述第i子模型的第i二阶梯度下降方向,所述二阶梯度标量由第一节点设备基于第n融合算子确定得到;
训练模块,用于基于所述第i二阶梯度下降方向更新所述第i子模型,得到第t+1次迭代训练时所述第i子模型的模型参数。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器;所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至12任一所述的联邦学习的模型训练方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至12任一所述的联邦学习的模型训练方法。
CN202110337283.9A 2021-03-30 2021-03-30 联邦学习的模型训练方法、装置、设备及存储介质 Active CN112733967B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110337283.9A CN112733967B (zh) 2021-03-30 2021-03-30 联邦学习的模型训练方法、装置、设备及存储介质
PCT/CN2022/082492 WO2022206510A1 (zh) 2021-03-30 2022-03-23 联邦学习的模型训练方法、装置、设备及存储介质
US17/989,042 US20230078061A1 (en) 2021-03-30 2022-11-17 Model training method and apparatus for federated learning, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110337283.9A CN112733967B (zh) 2021-03-30 2021-03-30 联邦学习的模型训练方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112733967A CN112733967A (zh) 2021-04-30
CN112733967B true CN112733967B (zh) 2021-06-29

Family

ID=75596011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110337283.9A Active CN112733967B (zh) 2021-03-30 2021-03-30 联邦学习的模型训练方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20230078061A1 (zh)
CN (1) CN112733967B (zh)
WO (1) WO2022206510A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733967B (zh) * 2021-03-30 2021-06-29 腾讯科技(深圳)有限公司 联邦学习的模型训练方法、装置、设备及存储介质
CN113407820B (zh) * 2021-05-29 2023-09-15 华为技术有限公司 利用模型进行数据处理的方法及相关系统、存储介质
CN113204443B (zh) * 2021-06-03 2024-04-16 京东科技控股股份有限公司 基于联邦学习框架的数据处理方法、设备、介质及产品
CN113268758B (zh) * 2021-06-17 2022-11-04 上海万向区块链股份公司 基于联邦学习的数据共享系统、方法、介质及设备
CN115730631A (zh) * 2021-08-30 2023-03-03 华为云计算技术有限公司 联邦学习的方法和装置
CN114169007B (zh) * 2021-12-10 2024-05-14 西安电子科技大学 基于动态神经网络的医疗隐私数据识别方法
CN114429223B (zh) * 2022-01-26 2023-11-07 上海富数科技有限公司 异构模型建立方法及装置
CN114611720B (zh) * 2022-03-14 2023-08-08 抖音视界有限公司 联邦学习模型训练方法、电子设备及存储介质
CN114548429B (zh) * 2022-04-27 2022-08-12 蓝象智联(杭州)科技有限公司 一种安全高效的横向联邦神经网络模型训练方法
CN114764601B (zh) * 2022-05-05 2024-01-30 北京瑞莱智慧科技有限公司 一种梯度数据融合方法、装置及存储介质
CN115049061B (zh) * 2022-07-13 2024-09-13 卡奥斯工业智能研究院(青岛)有限公司 基于区块链的人工智能推理系统
CN115292738B (zh) * 2022-10-08 2023-01-17 豪符密码检测技术(成都)有限责任公司 一种联邦学习模型和数据安全性及正确性的检测方法
CN115796305B (zh) * 2023-02-03 2023-07-07 富算科技(上海)有限公司 一种纵向联邦学习的树模型训练方法及装置
CN115994384B (zh) * 2023-03-20 2023-06-27 杭州海康威视数字技术股份有限公司 基于决策联邦的设备隐私保护方法、系统和装置
CN116402165B (zh) * 2023-06-07 2023-09-01 之江实验室 一种算子检测的方法、装置、存储介质以及电子设备
CN118509157B (zh) * 2024-07-17 2024-09-27 中国科学技术大学 一种抗后门攻击的隐私保护联邦学习方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165725A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于迁移学习的神经网络联邦建模方法、设备及存储介质
CN110276210A (zh) * 2019-06-12 2019-09-24 深圳前海微众银行股份有限公司 基于联邦学习的模型参数的确定方法及装置
CN110443067A (zh) * 2019-07-30 2019-11-12 卓尔智联(武汉)研究院有限公司 基于隐私保护的联邦建模装置、方法及可读存储介质
CN111062044A (zh) * 2019-12-09 2020-04-24 支付宝(杭州)信息技术有限公司 基于区块链的模型联合训练方法及装置
CN111091199A (zh) * 2019-12-20 2020-05-01 哈尔滨工业大学(深圳) 一种基于差分隐私的联邦学习方法、装置及存储介质
CN111212110A (zh) * 2019-12-13 2020-05-29 清华大学深圳国际研究生院 一种基于区块链的联邦学习系统及方法
CN111222628A (zh) * 2019-11-20 2020-06-02 深圳前海微众银行股份有限公司 循环神经网络训练优化方法、设备、系统及可读存储介质
CN111310932A (zh) * 2020-02-10 2020-06-19 深圳前海微众银行股份有限公司 横向联邦学习系统优化方法、装置、设备及可读存储介质
CN111539731A (zh) * 2020-06-19 2020-08-14 支付宝(杭州)信息技术有限公司 基于区块链的联邦学习方法及装置和电子设备
CN111553483A (zh) * 2020-04-30 2020-08-18 同盾控股有限公司 基于梯度压缩的联邦学习的方法、装置及系统
CN111553486A (zh) * 2020-05-14 2020-08-18 深圳前海微众银行股份有限公司 信息传递方法、装置、设备及计算机可读存储介质
CN112132292A (zh) * 2020-09-16 2020-12-25 建信金融科技有限责任公司 基于区块链的纵向联邦学习数据处理方法、装置及系统
CN112149174A (zh) * 2019-06-28 2020-12-29 北京百度网讯科技有限公司 模型训练方法、装置、设备和介质
CN112217706A (zh) * 2020-12-02 2021-01-12 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11526745B2 (en) * 2018-02-08 2022-12-13 Intel Corporation Methods and apparatus for federated training of a neural network using trusted edge devices
US11599774B2 (en) * 2019-03-29 2023-03-07 International Business Machines Corporation Training machine learning model
KR20190096872A (ko) * 2019-07-31 2019-08-20 엘지전자 주식회사 연합학습(Federated learning)을 통한 필기체 인식방법 및 이를 위한 장치
CN110851785B (zh) * 2019-11-14 2023-06-06 深圳前海微众银行股份有限公司 纵向联邦学习优化方法、装置、设备及存储介质
CN112039702B (zh) * 2020-08-31 2022-04-12 中诚信征信有限公司 基于联邦学习和相互学习的模型参数训练方法及装置
CN112733967B (zh) * 2021-03-30 2021-06-29 腾讯科技(深圳)有限公司 联邦学习的模型训练方法、装置、设备及存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165725A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于迁移学习的神经网络联邦建模方法、设备及存储介质
CN110276210A (zh) * 2019-06-12 2019-09-24 深圳前海微众银行股份有限公司 基于联邦学习的模型参数的确定方法及装置
CN112149174A (zh) * 2019-06-28 2020-12-29 北京百度网讯科技有限公司 模型训练方法、装置、设备和介质
CN110443067A (zh) * 2019-07-30 2019-11-12 卓尔智联(武汉)研究院有限公司 基于隐私保护的联邦建模装置、方法及可读存储介质
CN111222628A (zh) * 2019-11-20 2020-06-02 深圳前海微众银行股份有限公司 循环神经网络训练优化方法、设备、系统及可读存储介质
CN111062044A (zh) * 2019-12-09 2020-04-24 支付宝(杭州)信息技术有限公司 基于区块链的模型联合训练方法及装置
CN111212110A (zh) * 2019-12-13 2020-05-29 清华大学深圳国际研究生院 一种基于区块链的联邦学习系统及方法
CN111091199A (zh) * 2019-12-20 2020-05-01 哈尔滨工业大学(深圳) 一种基于差分隐私的联邦学习方法、装置及存储介质
CN111310932A (zh) * 2020-02-10 2020-06-19 深圳前海微众银行股份有限公司 横向联邦学习系统优化方法、装置、设备及可读存储介质
CN111553483A (zh) * 2020-04-30 2020-08-18 同盾控股有限公司 基于梯度压缩的联邦学习的方法、装置及系统
CN111553486A (zh) * 2020-05-14 2020-08-18 深圳前海微众银行股份有限公司 信息传递方法、装置、设备及计算机可读存储介质
CN111539731A (zh) * 2020-06-19 2020-08-14 支付宝(杭州)信息技术有限公司 基于区块链的联邦学习方法及装置和电子设备
CN112132292A (zh) * 2020-09-16 2020-12-25 建信金融科技有限责任公司 基于区块链的纵向联邦学习数据处理方法、装置及系统
CN112217706A (zh) * 2020-12-02 2021-01-12 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20230078061A1 (en) 2023-03-16
CN112733967A (zh) 2021-04-30
WO2022206510A1 (zh) 2022-10-06

Similar Documents

Publication Publication Date Title
CN112733967B (zh) 联邦学习的模型训练方法、装置、设备及存储介质
Cheng et al. Secureboost: A lossless federated learning framework
US20230023520A1 (en) Training Method, Apparatus, and Device for Federated Neural Network Model, Computer Program Product, and Computer-Readable Storage Medium
US20230039182A1 (en) Method, apparatus, computer device, storage medium, and program product for processing data
CN114401079B (zh) 多方联合信息价值计算方法、相关设备及存储介质
CN113505882B (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
CN112347500B (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN112001500B (zh) 基于纵向联邦学习系统的模型训练方法、设备及存储介质
CN110084377A (zh) 用于构建决策树的方法和装置
CN109767301A (zh) 推荐方法及系统、计算机装置、计算机可读存储介质
CN105009505A (zh) 基于矩阵因子分解和岭回归的隐私保护推荐的方法和系统
CN115102763A (zh) 基于可信联邦学习多域DDoS攻击检测方法与装置
CN112613618A (zh) 一种安全联邦学习逻辑回归算法
WO2023174036A1 (zh) 联邦学习模型训练方法、电子设备及存储介质
CN111563267A (zh) 用于联邦特征工程数据处理的方法和装置
CN112799708A (zh) 联合更新业务模型的方法及系统
CN112101577B (zh) 基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质
CN114186256A (zh) 神经网络模型的训练方法、装置、设备和存储介质
CN114492850A (zh) 基于联邦学习的模型训练方法、设备、介质及程序产品
CN114168988A (zh) 一种联邦学习模型聚合方法及电子装置
CN113297593A (zh) 基于隐私计算的贡献度计算方法及装置、设备、介质
CN117094773A (zh) 基于区块链隐私计算的在线迁移学习方法及系统
CN113887740B (zh) 联合更新模型的方法、装置及系统
CN116011594A (zh) 一种纵向联邦学习架构下的非抽样因子分解机服务方法
CN117033997A (zh) 数据切分方法、装置、电子设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40042939

Country of ref document: HK