CN112149171B - 联邦神经网络模型的训练方法、装置、设备及存储介质 - Google Patents

联邦神经网络模型的训练方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112149171B
CN112149171B CN202011167325.0A CN202011167325A CN112149171B CN 112149171 B CN112149171 B CN 112149171B CN 202011167325 A CN202011167325 A CN 202011167325A CN 112149171 B CN112149171 B CN 112149171B
Authority
CN
China
Prior art keywords
model
participant
neural network
output value
vector
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
CN202011167325.0A
Other languages
English (en)
Other versions
CN112149171A (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 CN202011167325.0A priority Critical patent/CN112149171B/zh
Publication of CN112149171A publication Critical patent/CN112149171A/zh
Application granted granted Critical
Publication of CN112149171B publication Critical patent/CN112149171B/zh
Priority to PCT/CN2021/124780 priority patent/WO2022089256A1/zh
Priority to US17/956,490 priority patent/US20230023520A1/en
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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供一种联邦神经网络模型的训练方法、装置、设备及存储介质,涉及人工智能技术领域和云技术领域。方法包括:将样本数据输入至联邦神经网络模型中,以通过第一下层模型对所述样本数据进行处理,得到下层模型输出值;将下层模型输出值、第一参与方生成的交互层模型参数、和基于RIAC加密方式对交互层模型参数进行加密后所得到的加密模型参数,分别输入至交互层,得到交互层的输出向量;将输出向量输入至所述上层模型中,得到联邦神经网络模型的输出值;将输出值输入至预设损失函数中,得到损失结果;根据损失结果对联邦神经网络模型进行反向传播处理。通过本申请实施例,能够极大的降低计算复杂度,减小计算量,降低耗时。

Description

联邦神经网络模型的训练方法、装置、设备及存储介质
技术领域
本申请实施例涉及互联网技术领域,涉及但不限于一种联邦神经网络模型的训练方法、装置、设备及存储介质。
背景技术
联邦学习(FL,Federated Learning)可以在不需要数据出域的情况下利用多方数据源训练深度学习模型(即人工神经网络模型ANN),以及提供模型预测(modelprediction)服务。联邦学习在保证用户隐私和数据安全的前提下,充分利用多方数据合作来提升深度学习模型的性能,例如,提升推荐模型的准确率,同时又能保证多方数据合作满足数据保护法律和法规的要求。特别是纵向联邦学习,可以通过联合多家数据源来扩展数据特征维度或者获得数据标签信息,以便训练更好的模型。实践已经证明,纵向联邦学习可以显著提升深度学习模型的性能。
相关技术中的两方纵向联邦神经网络训练技术方案里,通常使用基于Paillier的同态加密方案来保护参与方的数据隐私信息,或者类似Paillier算法的使用模幂和模逆运算的加密方案来保护参与方的数据隐私信息。
但是,基于Paillier算法同态加密方案的加密和解密过程都需要用到大量的模幂和模逆运算,其计算复杂度非常高,计算量过大,耗时过长,不适用于实际应用场景里纵向联邦神经网络模型训练和模型推理服务。
发明内容
本申请实施例提供一种联邦神经网络模型的训练方法、装置、设备及存储介质,涉及人工智能技术领域和云技术领域。由于在对联邦神经网络模型进行训练的过程中,是基于RIAC加密方式对交互层模型参数进行加密,如此,通过加密后所得到的加密模型参数进行模型训练时,能够极大的降低计算复杂度,减小计算量,降低耗时。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种联邦神经网络模型的训练方法,所述联邦神经网络模型至少包括第一参与方的第一下层模型、交互层和第二参与方的上层模型;所述方法包括:将样本数据输入至所述联邦神经网络模型中,以通过所述第一下层模型对所述样本数据进行处理,得到下层模型输出值;将所述下层模型输出值、所述第一参与方生成的交互层模型参数、和基于RIAC加密方式对所述交互层模型参数进行加密后所得到的加密模型参数,分别输入至所述交互层,以通过所述交互层,对所述下层模型输出值、所述交互层模型参数和所述加密模型参数,依次进行向量变换处理和激活处理,得到所述交互层的输出向量;将所述输出向量输入至所述上层模型中,以通过所述上层模型对所述输出向量进行前向计算,得到所述联邦神经网络模型的输出值;将所述输出值输入至预设损失函数中,得到损失结果;根据所述损失结果对所述联邦神经网络模型进行反向传播处理,以更新所述交互层模型参数,完成对所述联邦神经网络模型的训练。
本申请实施例提供一种联邦神经网络模型的训练装置,所述联邦神经网络模型至少包括第一参与方的第一下层模型、交互层和第二参与方的上层模型;所述装置包括:第一输入模块,用于将样本数据输入至所述联邦神经网络模型中,以通过所述第一下层模型对所述样本数据进行处理,得到下层模型输出值;第二输入模块,用于将所述下层模型输出值、所述第一参与方生成的交互层模型参数、和基于RIAC加密方式对所述交互层模型参数进行加密后所得到的加密模型参数,分别输入至所述交互层,以通过所述交互层,对所述下层模型输出值、所述交互层模型参数和所述加密模型参数,依次进行向量变换处理和激活处理,得到所述交互层的输出向量;第三输入模块,用于将所述输出向量输入至所述上层模型中,以通过所述上层模型对所述输出向量进行前向计算,得到所述联邦神经网络模型的输出值;第四输入模块,用于将所述输出值输入至预设损失函数中,得到损失结果;反向传播模块,用于根据所述损失结果对所述联邦神经网络模型进行反向传播处理,以更新所述交互层模型参数,完成对所述联邦神经网络模型的训练。
本申请实施例提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;其中,计算机设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器用于执行所述计算机指令,实现上述的联邦神经网络模型的训练方法。
本申请实施例提供一种联邦神经网络模型的训练设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的联邦神经网络模型的训练方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述的联邦神经网络模型的训练方法。
本申请实施例具有以下有益效果:在对联邦神经网络模型进行训练时,是将第一下层模型得到的下层模型输出值、第一参与方生成的交互层模型参数、和基于RIAC加密方式对交互层模型参数进行加密后所得到的加密模型参数,分别输入至交互层,以通过交互层,对下层模型输出值、交互层模型参数和加密模型参数,依次进行向量变换处理和激活处理,得到交互层的输出向量;并根据输出向量得到联邦神经网络模型的输出值;根据输出值得到损失结果;进而对联邦神经网络模型进行反向传播处理,以更新交互层模型参数。如此,由于是基于RIAC加密方式对交互层模型参数进行加密,因此,通过加密后所得到的加密模型参数进行模型训练时,能够极大的降低计算复杂度,减小计算量,降低耗时。
附图说明
图1是本申请实施例提供的联邦神经网络模型的训练系统的一个可选的架构示意图;
图2是本申请实施例提供的服务器的结构示意图;
图3是本申请实施例提供的联邦神经网络模型的训练方法的一个可选的流程示意图;
图4是本申请实施例提供的联邦神经网络模型的一种可选的结构示意图;
图5是本申请实施例提供的联邦神经网络模型的一种可选的结构示意图;
图6是本申请实施例提供的联邦神经网络模型的训练方法的一个可选的流程示意图;
图7是本申请实施例提供的联邦神经网络模型的训练方法的一个可选的流程示意图;
图8是本申请实施例提供的联邦神经网络模型的训练方法的一个可选的流程示意图;
图9是本申请实施例提供的联邦神经网络模型训练方法的框架图;
图10是本申请实施例提供的纵向联邦学习的加密样本对齐处理示意图;
图11是本申请实施例提供的两方纵向联邦神经网络模型训练和推理过程示意图;
图12是本申请实施例提出的基于RIAC的两方纵向联邦神经网络模型训练的前向计算流程图;
图13是本申请实施例提出的基于RIAC的两方纵向联邦神经网络模型训练的后向传播流程图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
本申请实施例提出的技术方案可以有效解决纵向联邦神经网络模型训练和模型推理过程中加密和解密计算量过高的问题。本申请实施例提出的技术方案中,通过基于随机迭代仿射密码(RIAC,Randomized Iterative Affine Cipher)的隐私保护协议来保护纵向联邦神经网络模型训练和模型推理过程中参与方的数据隐私信息。基于RIAC的加密方案,在加密和解密过程中不涉及任何模幂和模逆运算,只有线性运算,计算复杂度很低,适用于实际应用于大规模神经网络模型的训练和模型推理服务。进一步的,除了计算量更小,相对于Paillier算法,RIAC加密获得的密文也会更短,可以减少联邦学习里的通信开销。
本申请实施例提供的联邦神经网络模型至少包括第一参与方的第一下层模型、交互层和第二参与方的上层模型,本申请实施例提供的联邦神经网络模型的训练方法,首先,将样本数据输入至联邦神经网络模型中,以通过第一下层模型对所述样本数据进行处理,得到下层模型输出值;然后,将下层模型输出值、第一参与方生成的交互层模型参数、和基于RIAC加密方式对交互层模型参数进行加密后所得到的加密模型参数,分别输入至交互层,以通过交互层,对下层模型输出值、交互层模型参数和加密模型参数,依次进行向量变换处理和激活处理,得到交互层的输出向量;并将输出向量输入至上层模型中,以通过上层模型对输出向量进行前向计算,得到联邦神经网络模型的输出值;最后,将输出值输入至预设损失函数中,得到损失结果;根据损失结果对联邦神经网络模型进行反向传播处理,以更新交互层模型参数,完成对联邦神经网络模型的训练。如此,由于是基于RIAC加密方式对交互层模型参数进行加密,因此,通过加密后所得到的加密模型参数进行模型训练时,能够极大的降低计算复杂度,减小计算量,降低耗时。
下面说明本申请实施例的联邦神经网络模型的训练设备的示例性应用,在一种实现方式中,本申请实施例提供的联邦神经网络模型的训练设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人等任意的终端,在另一种实现方式中,本申请实施例提供的联邦神经网络模型的训练设备还可以实施为服务器。下面,将说明联邦神经网络模型的训练设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的联邦神经网络模型的训练系统10的一个可选的架构示意图。本申请实施例以两方纵向联邦神经网络模型为待训练的网络模型为例进行说明,为实现对联邦神经网络模型的训练,本申请实施例提供的联邦神经网络模型的训练系统10中包括第一终端100-1、第二终端100-2、网络200和服务器300,其中,第一终端100-1是第一参与方的终端,第二终端100-2是第二参与方的终端,第一参与方A(例如,某广告公司)与第二参与方B(例如,某社交网络平台)合作完成对联邦神经网络模型的训练,即联合训练一个或多个基于深度学习的个性化推荐模型。其中,第一参与方A拥有部分数据特征,例如,(X1,X2,…,X40),共40维数据特征;而第二参与方B拥有另一部分数据特征,例如,(X41,X42,…,X100),共60维数据特征。第一参与方A和第二参与方B联合起来,就拥有了更多的数据特征,例如,A和B数据特征加起来就有100维数据特征,所以显著扩展了训练数据的特征维度。对于有监督深度学习,第一参与方A和/或第二参与方B还拥有训练数据的标签信息Y。
在模型训练之前,第一参与方A通过第一终端100-1将第一部分样本数据通过网络200发送给服务器300,第二参与方B通过第二终端100-2将第二部分样本数据通过网络200发送给服务器300,服务器在获取到样本数据之后开始进行模型训练,服务器将样本数据输入至所述联邦神经网络模型中,以通过第一下层模型对样本数据进行处理,得到下层模型输出值;将下层模型输出值、第一参与方生成的交互层模型参数、和基于RIAC加密方式对交互层模型参数进行加密后所得到的加密模型参数,分别输入至交互层,以通过交互层,对下层模型输出值、交互层模型参数和加密模型参数,依次进行向量变换处理和激活处理,得到交互层的输出向量;将输出向量输入至上层模型中,以通过上层模型对输出向量进行前向计算,得到联邦神经网络模型的输出值;以及,将输出值输入至预设损失函数中,得到损失结果;根据损失结果对联邦神经网络模型进行反向传播处理,以更新交互层模型参数,完成对联邦神经网络模型的训练,得到训练后的联邦神经网络模型。
本申请实施例提供的联邦神经网络模型的训练方法还涉及人工智能技术领域,通过人工智能技术实现对联邦神经网络模型的训练,或者通过人工智能技术实现基于所训练的联邦神经网络模型进行信息推荐。本申请实施例中,至少可以通过人工智能技术中的机器学习和自然语言处理技术来实现。其中,机器学习(ML,Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。本申请实施例中,通过机器学习技术实现对网络结构搜索请求的响应,以自动搜索到目标网络结构,以及,实现对控制器和分值模型的训练和模型优化。自然语言处理(NLP,Nature Language processing)是计算机科学领域与人工智能领域中的一个重要方向,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
本申请实施例所提供的联邦神经网络模型的训练方法还可以基于云平台并通过云技术来实现,例如,上述服务器300可以是云端服务器。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
本申请实施例还可以通过云技术中的云存储技术来实现,例如,在对联邦神经网络模型进行训练时,可以将更新得到的交互层模型参数存储于云端存储器中,或者将训练好的联邦神经网络模型存储于云端存储器中。这样,在后续使用该联邦神经网络模型时,可以从云端存储器直接获取到模型来使用以进行数据处理,无需对联邦神经网络模型进行再次训练,提高了数据处理的效率。
这里需要说明的是,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
图2是本申请实施例提供的服务器300的结构示意图,图2所示的服务器300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务器300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可采用软件方式实现,图2示出了存储在存储器350中的一种联邦神经网络模型的训练装置354,该联邦神经网络模型的训练装置354可以是服务器300中的联邦神经网络模型的训练装置,其可以是程序和插件等形式的软件,包括以下软件模块:第一输入模块3541、第二输入模块3542、第三输入模块3543、第四输入模块3544和反向传播模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的联邦神经网络模型的训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,A pplication Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Program mable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面将结合本申请实施例提供的服务器300的示例性应用和实施,说明本申请实施例提供的联邦神经网络模型的训练方法。参见图3,图3是本申请实施例提供的联邦神经网络模型的训练方法的一个可选的流程示意图,图4是本申请实施例提供的联邦神经网络模型的一种可选的结构示意图,如图4所示,联邦神经网络模型40至少包括第一参与方的第一下层模型401、交互层402和第二参与方的上层模型403,样本数据输入至第一下层模型401,第二参与方还具有进行损失计算的标签信息。下面将结合图3示出的步骤和图4的结构对联邦神经网络模型的训练方法进行说明。
步骤S301,将样本数据输入至联邦神经网络模型中,以通过第一下层模型对样本数据进行处理,得到下层模型输出值。
这里,样本数据可以是任意类型的数据,例如,样本数据可以是图像、文本和视频等类型的数据。本申请实施例中,可以训练得到应用于任一领域的联邦神经网络模型,因此可以针对于要训练的联邦神经网络模型的类型选择样本数据的类型。样本数据可以来源于第一参与方和第二参与方,即将第一参与方与第二参与方的数据作为样本数据进行模型训练。
第一下层模型是第一参与方的网络模型,第一下层模型用于对样本数据进行处理,这里的处理可以是任意一种类型的处理。例如,当第一下层模型仅由一层输入层构成时,第一下层模型对样本数据的处理则是数据输入处理;当第一下层模型还包括特征提取层时,第一下层模型对样本数据的处理则可以是样本数据的特征提取处理。在经过第一下层模型对样本数据进行处理之后,第一下层模型输出下层模型输出值,下层模型输出值是交互层的输入数据。
步骤S302,将下层模型输出值、第一参与方生成的交互层模型参数、和基于RIAC加密方式对交互层模型参数进行加密后所得到的加密模型参数,分别输入至交互层,以通过交互层,对下层模型输出值、交互层模型参数和加密模型参数,依次进行向量变换处理和激活处理,得到交互层的输出向量。
这里,交互层是第一参与方与第二参与方的交互层,即在交互层中,第一参与方与第二参与方进行数据交互,实现上述向量变换处理和激活处理过程,进而得到输出向量。需要说明的是,在第一参与方与第二参与方的交互过程中,不仅存在特征向量之间的变换运算,还存在加密处理和解密处理,在这些加密处理过程中,可以均采用RIAC加密方式进行加密处理,也可以只是在对交互层模型参数进行加密时采用RIAC加密方式进行加密处理。RIAC加密方式的显著优势就是计算量小,因为只有线性变换和求模运算,不需要模幂和模逆运算,可以极大的减小加密过程中的运算量。
本申请实施例中,在第一下层模型处理得到下层模型输出值的同时,第一参与方还对交互层模型参数进行初始化,得到初始的交互层模型参数,同时,第一参与方还会生成RIAC密钥,并采用RIAC密钥对交互层模型参数进行加密,得到加密模型参数。之后,所得到的下层模型输出值、初始的交互层模型参数和加密模型参数作为输入数据分别输入至交互层,在交互层中,第一参与方与第二参与方进行数据交互。实现向量变换处理和激活处理,得到交互层的输出向量。
步骤S303,将输出向量输入至上层模型中,以通过上层模型对输出向量进行前向计算,得到联邦神经网络模型的输出值。
这里,上层模型可以具有任意的结构,上层模型的结构可以根据所训练的联邦神经网络模型的使用场景来确定,在得到交互层的输出向量之后,将输出向量作为上层模型的输入数据,输入至上层模型,上层模型对输出向量进行进一步的计算和向量变换处理,得到整个联邦神经网络模型的输出值。
步骤S304,将输出值输入至预设损失函数中,得到损失结果。
这里,通过预设损失函数计算输出值与预设的标签信息之间的相似度或距离,并根据该相似度或距离确定上述损失结果,其中,预设的标签信息是人工标定的真实值。
当输出值与标签信息之间的相似度较大或距离较小时,表明联邦神经网络模型的输出结果与真实值之间的差距较小,结果更加接近真实值,可以考虑停止对模型的进一步训练;当输出值与标签信息之间的相似度较小或距离较大时,表明联邦神经网络模型的输出结果与真实值之间的差距较大,需要进一步的训练,则可以基于一定的学习率,更新上述交互层的交互层模型参数,并返回步骤S301继续进行训练。
步骤S305,根据损失结果对联邦神经网络模型进行反向传播处理,以更新交互层模型参数,完成对联邦神经网络模型的训练。
这里,反向传播处理过程即根据损失结果的大小,对交互层模型参数进行一定程度的更新,得到新的模型参数,并对具有新的模型参数的联邦神经网络模型进行进一步的训练,直至满足训练停止条件,其中,训练停止条件包括但不限于:所训练的联邦神经网络模型已经收敛、训练次数达到所允许的最大迭代次数、训练时间达到最大的模型训练时间等。
本申请实施例提供的联邦神经网络模型的训练方法,在对联邦神经网络模型进行训练时,是将第一下层模型得到的下层模型输出值、第一参与方生成的交互层模型参数、和基于RIAC加密方式对交互层模型参数进行加密后所得到的加密模型参数,分别输入至交互层,以通过交互层,对下层模型输出值、交互层模型参数和加密模型参数,依次进行向量变换处理和激活处理,得到交互层的输出向量;并根据输出向量得到联邦神经网络模型的输出值;根据输出值得到损失结果;进而对联邦神经网络模型进行反向传播处理,以更新交互层模型参数。如此,由于是基于RIAC加密方式对交互层模型参数进行加密,因此,通过加密后所得到的加密模型参数进行模型训练时,能够极大的降低计算复杂度,减小计算量,降低耗时。
在一些实施例中,联邦神经网络模型还可以包括:第二参与方的第二下层模型,即第二参与方可以没有下层模型,也可以具有下层模型,并且,第二参与方也可以具有标签信息,也可以不具有标签信息,这里的标签信息是指在对联邦神经网络模型的输出值进行损失计算时所用到的标签信息。
图5是本申请实施例提供的联邦神经网络模型的一种可选的结构示意图,如图5所示,联邦神经网络模型50至少包括第一参与方的第一下层模型501、交互层502、第二参与方的第二下层模型503和第二参与方的上层模型504。由于第一参与方和第二参与方均具有下层模型,因此,均可以输入样本数据,所以样本数据包括第一参与方数据和第二参与方数据。
基于图5所提供的结构,图6是本申请实施例提供的联邦神经网络模型的训练方法的一个可选的流程示意图,如图6所示,方法包括以下步骤:
步骤S601,将第一参与方数据输入至第一下层模型中,以通过第一下层模型对第一参与方数据进行处理,得到第一下层模型输出值。
步骤S602,将第二参与方数据输入至第二下层模型中,以通过第二下层模型对第二参与方数据进行处理,得到第二下层模型输出值。
本申请实施例中,分别获取第一参与方数据和第二参与方数据,并将第一参与方数据输入至第一参与方的第一下层模型中进行处理,将第二参与方数据输入至第二参与方的第二下层模型中进行处理,以对应得到第一下层模型输出值和第二下层模型输出值,用于进行后续的交互层交互处理。
第一参与方数据和第二参与方数据可以是针对于相同用户或相同对象的数据,举例来说,第一参与方为银行,第二参与方为电商,则第一参与方数据可以是关于用户A的银行数据(例如存款、工资等数据),第二参与方数据可以是关于用户A的电商数据(例如购买商品、购物金额等数据)。本申请实施例中,综合不同参与方关于相同对象的不同类型的数据进行模型训练,能够对用户进行准确的分析和刻画,从而能够训练得到一个更加准确的联邦神经网络模型进行信息推荐,进而对用户进行准确的信息推荐。
步骤S603,将第一下层模型输出值、第二下层模型输出值、交互层模型参数和加密模型参数,分别输入至交互层,以通过交互层,对第一下层模型输出值、第二下层模型输出值、交互层模型参数和加密模型参数,依次进行向量变换处理和激活处理,得到交互层的输出向量。
这里,由于联邦神经网络模型中还包括第二下层模型,因此,交互层的输入数据不仅包括第一下层模型的第一下层模型输出值,还包括第二下层模型的第二下层模型输出值。
步骤S604,将输出向量输入至上层模型中,以通过上层模型对输出向量进行前向计算,得到联邦神经网络模型的输出值。
步骤S605,将输出值输入至预设损失函数中,得到损失结果。
步骤S606,根据损失结果对联邦神经网络模型进行反向传播处理,以更新交互层模型参数,完成对联邦神经网络模型的训练。
需要说明的是,步骤S604至步骤S606与上述步骤S303至步骤S305相同,本申请实施例不再赘述。
在一些实施例中,步骤S603中交互层对第一下层模型输出值、第二下层模型输出值、交互层模型参数和加密模型参数,依次进行向量变换处理和激活处理,得到交互层的输出向量的过程,涉及一系列的数据变换和加密处理过程,下面结合图7所示的联邦神经网络模型的训练方法的一个可选的流程示意图,对交互层确定输出向量的过程进行说明,其中,步骤S603包括以下步骤:
步骤S701,在交互层,由第二参与方生成第一噪声数据,并将第一噪声数据发送给第一参与方,或者,由第一参与方生成第一噪声数据。
这里,生成第一噪声数据的方式可以是生成一个随机数作为噪声数据,或者,形成以掩码来屏蔽部分数据。
步骤S702,由第一参与方基于RIAC加密方式对第一下层模型输出值和第一噪声数据分别进行加密处理,对应得到第一加密模型输出值和第一加密噪声数据,并将第一加密模型输出值和第一加密噪声数据发送给第二参与方。
步骤S703,由第二参与方对第一加密模型输出值、第二下层模型输出值、交互层模型参数和第一加密噪声数据,依次进行向量变换处理和激活处理,得到交互层的输出向量。
这里,交互层模型参数包括对应于第一参与方的第一模型参数和对应于第二参与方的第二模型参数。对应地,步骤S703可以通过以下步骤实现:
步骤S7031,由第二参与方生成第二噪声数据,并获取第一参与方在反向传播处理过程中的噪声之和。步骤S7032,根据第一模型参数、第一下层模型输出值、噪声之和、第二噪声数据和第一噪声数据,确定第一参与方的第一变换向量。这里,确定第一变换向量的过程,可以由以下步骤实现:
步骤S71,由第二参与方根据第一模型参数、对第一下层模型输出值进行加密后的第一加密模型参数、第二噪声数据和第一加密噪声数据,确定第一密文,并将第一密文发送给第一参与方。
步骤S72,由第一参与方解密第一密文,得到第一明文。
步骤S73,根据第一明文、第一下层模型输出值和噪声之和,确定第二明文,并将第二明文发送给第二参与方。
步骤S74,由第二参与方对第二明文进行误差消除,得到第一变换向量。
步骤S7033,将第二模型参数与第二下层模型输出值之间的乘积,确定为第二参与方的第二变换向量。
步骤S7034,对第一变换向量和第二变换向量进行向量合并,得到合并向量。这里的向量合并过程可以通过以下方式中的任意一种来实现:方式一:对第一变换向量和第二变换向量进行向量拼接,得到合并向量。方式二:对第一变换向量和第二变换向量进行加权平均合并,得到合并向量。
步骤S7035,对合并向量进行激活处理,得到交互层的输出向量。
本申请实施例中,激活处理所采用的激活函数可以是以下任意一种:relu函数、sigmoid函数、tanh函数、swish函数、mish函数和softmax函数等。
在一些实施例中,步骤S606中反向传播处理的过程,也涉及一系列的数据变换和加密处理过程,下面结合图8所示的联邦神经网络模型的训练方法的一个可选的流程示意图,对步骤S606中的反向传播处理过程进行说明,其中,步骤S606包括以下步骤:
步骤S801,由第一参与方生成第三噪声数据,且由第二参与方生成第四噪声数据。
这里,生成第三噪声数据的方式也可以是生成一个随机数作为噪声数据,或者,形成以掩码来屏蔽部分数据。
步骤S802,确定损失结果相对于第一变换向量的第一梯度值。
步骤S803,获取针对于联邦神经网络模型的预设的学习率。
学习率作为监督学习以及深度学习中重要的超参,其决定着目标函数能否收敛到局部最小值以及何时收敛到最小值。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。本申请实施例中,学习率是预先设置的值,当学习率设置的过小时,收敛过程将变得十分缓慢,而当学习率设置的过大时,梯度可能会在最小值附近来回震荡,甚至模型可能无法收敛。因此,需要设置合适的学习率,本申请实施例中,可以设置学习率为0.01。
步骤S804,根据第一模型参数、学习率、第一梯度值、第三噪声数据、第四噪声数据和第一噪声数据,确定针对于第一参与方的第一模型更新参数。
步骤S805,采用第一模型更新参数更新第一模型参数。
请继续参照图8,步骤S606中的反向传播处理过程还包括对第二模型参数的更新,包括以下步骤:
步骤S806,确定损失结果相对于第二变换向量的第二梯度值。
步骤S807,将第二梯度值与第二下层模型输出值之间的乘积,确定为针对于第二参与方的第二模型更新参数。
步骤S808,采用第二模型更新参数更新第二模型参数。
在一些实施例中,在将样本数据输入至联邦神经网络模型中之前,方法还可以包括以下步骤:步骤S10,对第一参与方数据和第二参与方数据进行加密样本对齐处理,得到第一参与方数据与第二参与方数据之间的对齐样本数据。
图9是本申请实施例提供的联邦神经网络模型训练方法的框架图,如图9所示,第一参与方(可以是企业A)具有第一参与方数据,第二参与方(可以是企业B)具有第二参与方数据,首先对数据进行加密样本对齐处理901,这里需要说明的是,第一参与方和第二参与方的隐私数据是不可以进行交换的。在进行加密样本对齐处理901之后,进行加密训练902,其中,模型A是第一参与方的网络模型,模型B是第二参与方的网络模型,在采用本申请上述任一实施例提供的训练方法进行模型训练之后,得到最终的联合模型903,即训练后的联邦神经网络模型。
本申请实施例的方法可以应用于纵向联邦神经网络模型的训练,其中,纵向联邦神经网络模型所对应的纵向联邦学习,在两个数据集的用户重叠较多而用户特征重叠较少的情况下,把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。这种方法叫做纵向联邦学习。例如,有两个不同的机构,一家是某地的银行,另一家是同一个地方的电商,它们的用户群体很有可能包含该地的大部分居民,因此用户的交集较大。但是,由于银行记录的都是用户的收支行为与信用评级,而电商则保有用户的浏览与购买历史,因此它们的用户特征交集较小。纵向联邦学习就是将这些不同特征在加密的状态下加以聚合,以增强模型能力。
图10是本申请实施例提供的纵向联邦学习的加密样本对齐处理示意图,如图10所示,来自于第一参与方A的第一参与方数据1001与来自于第二参与方B的第二参与方数据1002,在进行加密样本对齐处理之后,提取的是第一参与方数据1001与第二参与方数据1002之间的对齐样本数据1003,其中,对齐样本数据1003是第一参与方数据1001与第二参与方数据1002具有相同样本(例如可以是相同用户)的特征数据。本申请实施例中,第二参与方B还可以具有标签信息1004,因此,在对齐样本数据1003中,也包括部分标签信息。需要说明的是,本申请实施例只,在提取到对齐样本数据之后,是将对齐样本数据输入至联邦神经网络模型中进行模型训练。
在对联邦神经网络模型进行训练的过程中,由于涉及到多次的数据加密和解密过程,本申请实施例中,可以在每一次加密处理过程均采用RIAC加密方式来实现,或者,对至少一次加密处理过程采用RIAC加密方式来实现。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种联邦神经网络模型的训练方法,可以支持两方纵向联邦神经网络模型(即深度学习模型),可以用于联邦学习任务的模型训练和模型推理服务。特别的,常见的纵向联邦线性回归和逻辑回归模型是特殊的纵向联邦神经网络模型,即只有一层神经元的神经网络模型。
产品侧的功能表现可以包括作为联邦学习任务的模型训练和模型推理模块,降低计算复杂度和计算耗时,减少通信开销,提升联邦学习系统平台的可用性,进一步提高联邦学习模型的效果。主要的产品形态可以以联邦学习平台的形式在公有云或私有云对外提供联邦学习服务。
本申请实施例提出的技术方案可以应用于两方纵向联邦神经网络模型(即深度学习模型)的训练和模型推理服务。如图11所示,是本申请实施例提供的两方纵向联邦神经网络模型训练和推理过程示意图,有参与方A(即第一参与方)和参与B(即第二参与方)合作进行纵向联邦神经网络模型的训练和模型推理服务。其中,参与方A拥有第一数据特征X1和其下层神经网络模型111(bottom model);参与方B拥有第二数据特征X2、标签信息Y、其下层模型112(bottom model)和其上层模型113(top model)。进一步的,参与方B还拥有交互层114的模型参数WA和WB
两方加密样本对齐:假设参与方A和参与方B分别拥有训练特征数据集DA和DB。纵向联邦学习的两个参与方需要将他们拥有的训练数据进行对齐,筛选出他们拥有的训练数据的样本ID的交集部分,即求数据集合DA和DB里相同样本ID的交集,且不能泄露非交集的部分的样本ID信息。这一步是两方安全样本对齐,例如,可以基于Freedman协议的算法或者基于RSA的算法实现。
联邦模型训练:实践中通常使用随机梯度下降(SGD,Stochastic GradientDescent)法进行神经网络模型的训练。基于SGD的模型训练方法需要进行多次梯度下降迭代,每一次迭代可分为两个阶段:第一,前向计算模型输出和残差;第二,后向传播并计算模型的损失函数对模型参数的梯度,并使用所计算的梯度更新模型参数。上述迭代重复执行,直到满足停止条件(例如,模型收敛,或者达到所允许最大迭代次数,或者达到最大的模型训练时间)。
在前向计算过程中,如图12所示,是本申请实施例提出的基于RIAC的两方纵向联邦神经网络模型训练的前向计算流程图:
在步骤S121中,参与方A生成RIAC密钥(a,b,g,h,d,n),并将RIAC算法的模数n(modulus)发送给参与方B。需要注意的是:所有密文空间里的运算和涉及密文的运算都是模n的运算,以下不再重复说明。为了满足密文空间里的线性运算,这里要求b=0。算法的安全性来源于加密过程中使用的随机数。需要说明的是,在模型参数初始化过程中,需要由参与方A生成交互层模型参数WA的初始值,以及使用RIAC加密获得[WA]。参与方A需要将初始的交互层模型参数WA和[WA]发送给参与方B。需要说明的是,WA一般为包含多个元素的矩阵,在另一种可选的实现方式中,在对WA进行RIAC加密时,也可以选择为每个元素生成不同的随机数,以便加强RIAC的安全性,防止参与方B推导出RIAC密钥。
在步骤S122中,参与方A和参与方B分别计算其下层神经网络模型的输出,分别记作αA和αB
在步骤S123中,由参与方B生成噪声(即随机数)θB,并发送给参与方A。需要注意的是:θB不能是零。在获得噪声θB之后,参与方A使用RIAC将αA加密为[αA],将θB加密为[θB],并将[αA]和[θB]发送给参与方B。
需要说明的是,在另一种可选的实现方式中,也可以由参与方A生成噪声θB,这样就不需要参与方B向参与方A发送噪声θB了。如果是由参与方A生成噪声θB,参与方A可能作弊,例如,将θB置为零。所以,由参与方B生成噪声θB会更加安全。
在步骤S124中,参与方B计算[ZA]=WAA],ZB=WBαB,并生成噪声εB,将密文WAA]+εBB]发送给参与方A。需要注意的是:εB不能为零。
在接收到WAA]+εBB]之后,参与方A解密WAA]+εBB],获得明文WAαABθB
在步骤S125中,参与方A计算WAαAAεaccBθB,并将其发送给参与方B。其中,εacc为参与方A在后向传播过程中每次生成的噪声之和(参见后向传播过程)。
在接收到WAαAAεaccBθB之后,参与方B计算ZA=WAαAAεaccBθBBθB,得到消除误差后的
Figure BDA0002746196680000201
这里
Figure BDA0002746196680000202
在步骤S126中,参与方B将ZA和ZB以某种方式合并得到z,例如,将ZA和ZB进行向量拼接合并,或者将ZA和ZB进行加权平均合并,这里不作限制。然后,参与方B获得交互层的激活函数的输出g(z)。
本申请实施例中,激活函数可以是以下任意一种:relu函数、sigmoid函数、tanh函数、swish函数、mish函数和softmax函数等。
在步骤S127中,参与方B将g(z)继续通过其上层神经网络模型进行前向计算,进而获得整个纵向联邦神经网络模型的输出
Figure BDA0002746196680000203
完成模型的前向计算流程。
在后向传播中,如图13所示,是本申请实施例提出的基于RIAC的两方纵向联邦神经网络模型训练的后向传播流程图:
在步骤S131中,参与方B根据联邦模型输出
Figure BDA0002746196680000204
和标签信息Y计算损失函数(LossFunction);参与方B计算所述模型损失函数对参与方B的上层模型的模型参数的梯度,并更新其上层模型的模型参数。
参与方A使用RIAC将累积噪声εacc加密为[εacc];生成噪声εA,并将
Figure BDA0002746196680000211
加密为
Figure BDA0002746196680000212
其中,η是学习率,例如,η=0.01。需要注意的是:εA不能为零。
在步骤S132中,参与方B计算所述模型损失函数相对所述ZA的梯度δact_A;参与方B生成噪声
Figure BDA0002746196680000213
计算
Figure BDA0002746196680000214
并将密文
Figure BDA0002746196680000215
发送给参与方A。
在接收到
Figure BDA0002746196680000216
之后,参与方A解密
Figure BDA0002746196680000217
获得
Figure BDA0002746196680000218
参与方A进而计算
Figure BDA0002746196680000219
并将所述uA、[εacc]和
Figure BDA00027461966800002110
发送给参与方B;参与方A更新所述累积噪声,这里可以采用将εaccA赋值给εacc的方式来更新累积噪声。需要注意的是:
Figure BDA00027461966800002111
不能为零。
需要说明的是,在另一种可能的实现方式中,这一步里,参与方B可以重新生成新的噪声θB,并发送给参与方A(或者由参与方A生成新的噪声θB);再由参与方A使用RIAC加密获得[θB]并返回给参与方B。这种实现方式称为噪声刷新(noise refresh),即前向计算和后向传播流程里采用不同的噪声θB。注意:θB不能为零。
在步骤S133中,参与方B更新明文形式的交互层模型参数:
Figure BDA00027461966800002112
这里的“←”表示将右侧的值赋值给左侧的WA,获得
Figure BDA00027461966800002113
参与方B更新密文形式的交互层模型参数:
Figure BDA00027461966800002114
获得
Figure BDA00027461966800002115
需要说明的是,在模型参数初始化过程中,需要由参与方A生成交互层模型参数WA的初始值,以及使用RIAC加密获得[WA]。参与方A需要将初始的WA和[WA]发送给参与方B。
在步骤S134中,参与方B计算[δbottom_A]=δact_A([WA]+[εacc]),并将密文[δbottom_A]发送给参与方A。在收到[δbottom_A]之后,参与方A解密[δbottom_A]获得δbottom_A
在步骤S135中,参与方B计算模型损失函数对ZB的梯度δact_B;参与方B用δact_BαB更新交互层模型参数WB
在步骤S136中,参与方B计算δbottom_B=δact_BWB
在步骤S137中,参与方A使用δbottom_A继续后向传播和更新其下层模型的模型参数;参与方B使用δbottom_B继续后向传播和更新其下层模型的模型参数。
需要说明的是,所述交互层模型参数WA始终为真实参数减去累积误差εacc,即
Figure BDA0002746196680000221
但是前向计算总是能得到正确的模型输出,例如,
Figure BDA0002746196680000222
联邦模型推理服务:模型推理阶段是针对训练数据之外的数据进行模型推理(也称为模型预测),例如,进行模型性能测试时,或者模型推理服务应用时,都需要进行模型推理。模型推理只需要执行上述的前向计算阶段。所以,本申请实施例提出基于RIAC的隐私保护协议,如图12所示,同样适用于纵向联邦神经网络模型推理服务。
需要说明的是,为了减少计算量和获得更好的训练效果,通常每一次SGD迭代中只处理一个小批量(mini-batch)的训练数据,例如,每个小批量包括128个训练样本。这种情况下,需要参与方A和参与方B协调进行训练样本的分批和小批量的选择,以便所有所述两个参与方在每次迭代中选择的小批次中的训练样本是对齐的。
关于RIAC加密算法:RIAC是一种特殊形式的仿射密码(Affine Cipher)。仿射密码的加密过程是基于仿射变换(也称为线性变换)运算的。例如,输入明文m,输出密文c,c=(a*m+b)%n,或者c=(a*(m+b))%n,其中,加密密钥为(a,b,n)。这里,*表示乘法,%表示求模运算,n是模数(modulus)。为了保证加密算法的可行性(例如,保证解密密钥的存在,密文与明文的一一对应),这里要要求a和n是互质的,即要求a和n的最大公约数为1。仿射密码的解密密钥为(a-1,b,n),其中,a-1是a的模逆,即(a*a-1)%n=1。一般取n是非常大的素数。
仿射密码具有很好的同态特性,包括密文上的加法、明文与密文相乘(俗称标量乘法,要求b=0)。所述同态特性是指在密文空间的运算结果可以直接转换成明文空间的运算结果。例如,密文加法同态是指:dec(enc(m1)+enc(m2))=m1+m2;标量乘法同态是指:dec(m1*enc(m2))=m1*m2
迭代仿射密码(Iterative Affine Cipher)是指重复进行仿射加密(即重复进行仿射变换),例如,c1=(a1*m+b1)%n1,c2=(a2*c1+b2)%n2,c3=(a3*c2+b3)%n3,……。无论重复多少次,还是仿射变换(俗称线性变换),还是仿射密码,还满足加法同态和标量乘法同态特性(注意:标量乘法同态要求b=0)。
随机迭代仿射密码(RIAC,Randomized Iterative Affine Cipher),是在迭代仿射密码的基础上增加噪声,以增强仿射密码的安全性。
例如,对明文加噪声过程:产生随机数r,并计算m1=(r*g)%n,m2=(m+r*h)%n,这里要求:h=(d*g)%n,且(g,h)是加密密钥的一部分。接着对m1和m2分别进行迭代仿射加密。迭代仿射解密之后,去噪声过程为:(m2–d*m1)%n,所以d是解密密钥的一部分。
RIAC的显著优势就是计算量小,因为只有线性变换和求模运算,不需要模幂和模逆运算。另外,相对于Paillier算法,RIAC的密文会更短,因为是取模n运算,而不是像Paillier算法里那样要取模n2运算。
本申请实施例提供的方法,在纵向联邦神经网络模型训练过程中使用基于RIAC的隐私保护协议,可以显著减少加密和解密操作的计算量。这是因为RIAC加密和解密算法只有线性变换和求模运算,不需要模幂和模逆运算。本申请实施例提供的方法使用基于RIAC的隐私保护协议,相对于使用Paillier算法或者类似的算法,RIAC的密文会更短,可以减少联邦学习的通信量。这是因为RIAC加密是取模n运算,而不是像Paillier算法里那样需要模n2运算。
本申请实施例提出的技术方案支持任意形式的纵向联邦神经网络模型。特别的,常用的纵向联邦线性回归和逻辑回归模型是特殊的神经网络模型,即只有一层神经元的神经网络模型。
下面继续说明本申请实施例提供的联邦神经网络模型的训练装置354实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器350的联邦神经网络模型的训练装置354中的软件模块可以是服务器300中的联邦神经网络模型的训练装置,所述联邦神经网络模型至少包括第一参与方的第一下层模型、交互层和第二参与方的上层模型;所述装置包括:
第一输入模块3541,用于将样本数据输入至所述联邦神经网络模型中,以通过所述第一下层模型对所述样本数据进行处理,得到下层模型输出值;
第二输入模块3542,用于将所述下层模型输出值、所述第一参与方生成的交互层模型参数、和基于RIAC加密方式对所述交互层模型参数进行加密后所得到的加密模型参数,分别输入至所述交互层,以通过所述交互层,对所述下层模型输出值、所述交互层模型参数和所述加密模型参数,依次进行向量变换处理和激活处理,得到所述交互层的输出向量;第三输入模块3543,用于将所述输出向量输入至所述上层模型中,以通过所述上层模型对所述输出向量进行前向计算,得到所述联邦神经网络模型的输出值;第四输入模块3544,用于将所述输出值输入至预设损失函数中,得到损失结果;反向传播模块3545,用于根据所述损失结果对所述联邦神经网络模型进行反向传播处理,以更新所述交互层模型参数,完成对所述联邦神经网络模型的训练。
在一些实施例中,所述联邦神经网络模型还包括:所述第二参与方的第二下层模型;所述样本数据包括第一参与方数据和第二参与方数据;所述第一输入模块还用于:将所述第一参与方数据和所述第二参与方数据分别对应输入至所述第一下层模型和所述第二下层模型中,以通过所述第一下层模型对所述第一参与方数据进行处理,得到第一下层模型输出值,通过所述第二下层模型对所述第二参与方数据进行处理,得到第二下层模型输出值;对应地,所述第二输入模块还用于:将所述第一下层模型输出值、所述第二下层模型输出值、所述交互层模型参数和所述加密模型参数,分别输入至所述交互层,以通过所述交互层,对所述第一下层模型输出值、所述第二下层模型输出值、所述交互层模型参数和所述加密模型参数,依次进行所述向量变换处理和所述激活处理,得到所述交互层的输出向量。
在一些实施例中,所述第二输入模块还用于:在所述交互层,由所述第二参与方生成第一噪声数据,并将所述第一噪声数据发送给所述第一参与方,或者,由所述第一参与方生成所述第一噪声数据;由所述第一参与方基于所述RIAC加密方式对所述第一下层模型输出值和所述第一噪声数据分别进行加密处理,对应得到第一加密模型输出值和第一加密噪声数据,并将所述第一加密模型输出值和所述第一加密噪声数据发送给所述第二参与方;由所述第二参与方对所述第一加密模型输出值、所述第二下层模型输出值、所述交互层模型参数和所述第一加密噪声数据,依次进行所述向量变换处理和所述激活处理,得到所述交互层的输出向量。
在一些实施例中,所述交互层模型参数包括对应于所述第一参与方的第一模型参数和对应于所述第二参与方的第二模型参数;所述第二输入模块还用于:由所述第二参与方生成第二噪声数据,并获取所述第一参与方在所述反向传播处理过程中的噪声之和;根据所述第一模型参数、所述第一下层模型输出值、所述噪声之和、所述第二噪声数据和所述第一噪声数据,确定所述第一参与方的第一变换向量;将所述第二模型参数与所述第二下层模型输出值之间的乘积,确定为所述第二参与方的第二变换向量;对所述第一变换向量和所述第二变换向量进行向量合并,得到合并向量;对所述合并向量进行所述激活处理,得到所述交互层的输出向量。
在一些实施例中,所述第二输入模块还用于:由所述第二参与方根据所述第一模型参数、对所述第一下层模型输出值进行加密后的第一加密模型参数、所述第二噪声数据和所述第一加密噪声数据,确定第一密文,并将所述第一密文发送给第一参与方;由所述第一参与方解密所述第一密文,得到第一明文;根据所述第一明文、所述第一下层模型输出值和所述噪声之和,确定第二明文,并将所述第二明文发送给所述第二参与方;由所述第二参与方对所述第二明文进行误差消除,得到所述第一变换向量。
在一些实施例中,所述第二输入模块还用于:对所述第一变换向量和所述第二变换向量进行向量拼接,得到所述合并向量;或者,对所述第一变换向量和所述第二变换向量进行加权平均合并,得到所述合并向量。
在一些实施例中,所述反向传播模块还用于:由所述第一参与方生成第三噪声数据,且由所述第二参与方生成第四噪声数据;确定所述损失结果相对于所述第一变换向量的第一梯度值;获取针对于所述联邦神经网络模型的预设的学习率;根据所述第一模型参数、所述学习率、所述第一梯度值、所述第三噪声数据、所述第四噪声数据和所述第一噪声数据,确定针对于所述第一参与方的第一模型更新参数;采用所述第一模型更新参数更新所述第一模型参数。
在一些实施例中,所述反向传播模块还用于:确定所述损失结果相对于所述第二变换向量的第二梯度值;将所述第二梯度值与所述第二下层模型输出值之间的乘积,确定为针对于所述第二参与方的第二模型更新参数;采用所述第二模型更新参数更新所述第二模型参数。
在一些实施例中,所述装置还包括:加密样本对齐模块,用于对所述第一参与方数据和所述第二参与方数据进行加密样本对齐处理,得到所述第一参与方数据与所述第二参与方数据之间的对齐样本数据;对应地,所述第一输入模块,还用于将所述对齐样本数据输入至所述联邦神经网络模型中。
在一些实施例中,所述装置还包括:控制模块,用于在联邦神经网络模型的训练过程中,控制每一次加密处理过程均采用所述RIAC加密方式来实现。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,R ead Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (11)

1.一种联邦神经网络模型的训练方法,其特征在于,所述联邦神经网络模型至少包括第一参与方的第一下层模型、第二参与方的第二下层模型、交互层和所述第二参与方的上层模型;所述方法包括:
将所述第一参与方数据和所述第二参与方数据分别对应输入至所述第一下层模型和所述第二下层模型中,以通过所述第一下层模型对所述第一参与方数据进行处理,得到第一下层模型输出值,通过所述第二下层模型对所述第二参与方数据进行处理,得到第二下层模型输出值;
将所述第一下层模型输出值、所述第二下层模型输出值、所述第一参与方生成的交互层模型参数、和基于RIAC加密方式对所述交互层模型参数进行加密后所得到的加密模型参数,分别输入至所述交互层,在所述交互层,由所述第二参与方生成第一噪声数据,并将所述第一噪声数据发送给所述第一参与方;
由所述第一参与方基于所述RIAC加密方式对所述第一下层模型输出值和所述第一噪声数据分别进行加密处理,对应得到第一加密模型输出值和第一加密噪声数据,并将所述第一加密模型输出值和所述第一加密噪声数据发送给所述第二参与方;
由所述第二参与方对所述第一加密模型输出值、所述第二下层模型输出值、所述交互层模型参数和所述第一加密噪声数据,依次进行向量变换处理和激活处理,得到所述交互层的输出向量;
将所述输出向量输入至所述上层模型中,以通过所述上层模型对所述输出向量进行前向计算,得到所述联邦神经网络模型的输出值;
将所述输出值输入至预设损失函数中,得到损失结果;
根据所述损失结果对所述联邦神经网络模型进行反向传播处理,以更新所述交互层模型参数,完成对所述联邦神经网络模型的训练。
2.根据权利要求1所述的方法,其特征在于,所述交互层模型参数包括对应于所述第一参与方的第一模型参数和对应于所述第二参与方的第二模型参数;
所述由所述第二参与方对所述第一加密模型输出值、所述第二下层模型输出值、所述交互层模型参数和所述第一加密噪声数据,依次进行所述向量变换处理和所述激活处理,得到所述交互层的输出向量,包括:
由所述第二参与方生成第二噪声数据,并获取所述第一参与方在所述反向传播处理过程中的噪声之和;
根据所述第一模型参数、所述第一下层模型输出值、所述噪声之和、所述第二噪声数据和所述第一噪声数据,确定所述第一参与方的第一变换向量;
将所述第二模型参数与所述第二下层模型输出值之间的乘积,确定为所述第二参与方的第二变换向量;
对所述第一变换向量和所述第二变换向量进行向量合并,得到合并向量;
对所述合并向量进行所述激活处理,得到所述交互层的输出向量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一模型参数、所述第一下层模型输出值、所述噪声之和、所述第二噪声数据和所述第一噪声数据,确定所述第一参与方的第一变换向量,包括:
由所述第二参与方根据所述第一模型参数、对所述第一下层模型输出值进行加密后的第一加密模型参数、所述第二噪声数据和所述第一加密噪声数据,确定第一密文,并将所述第一密文发送给第一参与方;
由所述第一参与方解密所述第一密文,得到第一明文;
根据所述第一明文、所述第一下层模型输出值和所述噪声之和,确定第二明文,并将所述第二明文发送给所述第二参与方;
由所述第二参与方对所述第二明文进行误差消除,得到所述第一变换向量。
4.根据权利要求2所述的方法,其特征在于,所述对所述第一变换向量和所述第二变换向量进行向量合并,得到合并向量,包括:
对所述第一变换向量和所述第二变换向量进行向量拼接,得到所述合并向量;或者,
对所述第一变换向量和所述第二变换向量进行加权平均合并,得到所述合并向量。
5.根据权利要求2所述的方法,其特征在于,所述根据所述损失结果对所述联邦神经网络模型进行反向传播处理,以更新所述交互层模型参数,包括:
由所述第一参与方生成第三噪声数据,且由所述第二参与方生成第四噪声数据;
确定所述损失结果相对于所述第一变换向量的第一梯度值;
获取针对于所述联邦神经网络模型的预设的学习率;
根据所述第一模型参数、所述学习率、所述第一梯度值、所述第三噪声数据、所述第四噪声数据和所述第一噪声数据,确定针对于所述第一参与方的第一模型更新参数;
采用所述第一模型更新参数更新所述第一模型参数。
6.根据权利要求5所述的方法,其特征在于,所述根据所述损失结果对所述联邦神经网络模型进行反向传播处理,以更新所述交互层模型参数,还包括:
确定所述损失结果相对于所述第二变换向量的第二梯度值;
将所述第二梯度值与所述第二下层模型输出值之间的乘积,确定为针对于所述第二参与方的第二模型更新参数;
采用所述第二模型更新参数更新所述第二模型参数。
7.根据权利要求1所述的方法,其特征在于,在将样本数据输入至所述联邦神经网络模型中之前,所述方法还包括:
对所述第一参与方数据和所述第二参与方数据进行加密样本对齐处理,得到所述第一参与方数据与所述第二参与方数据之间的对齐样本数据;
对应地,将所述对齐样本数据输入至所述联邦神经网络模型中。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
在所述联邦神经网络模型的训练过程中,每一次加密处理过程均采用所述RIAC加密方式来实现。
9.一种联邦神经网络模型的训练装置,其特征在于,所述联邦神经网络模型至少包括第一参与方的第一下层模型、第二参与方的第二下层模型、交互层和所述第二参与方的上层模型;所述装置包括:
第一输入模块,用于将所述第一参与方数据和所述第二参与方数据分别对应输入至所述第一下层模型和所述第二下层模型中,以通过所述第一下层模型对所述第一参与方数据进行处理,得到第一下层模型输出值,通过所述第二下层模型对所述第二参与方数据进行处理,得到第二下层模型输出值;
第二输入模块,用于将所述第一下层模型输出值、所述第二下层模型输出值、所述第一参与方生成的交互层模型参数、和基于RIAC加密方式对所述交互层模型参数进行加密后所得到的加密模型参数,分别输入至所述交互层,在所述交互层,由所述第二参与方生成第一噪声数据,并将所述第一噪声数据发送给所述第一参与方;由所述第一参与方基于所述RIAC加密方式对所述第一下层模型输出值和所述第一噪声数据分别进行加密处理,对应得到第一加密模型输出值和第一加密噪声数据,并将所述第一加密模型输出值和所述第一加密噪声数据发送给所述第二参与方;由所述第二参与方对所述第一加密模型输出值、所述第二下层模型输出值、所述交互层模型参数和所述第一加密噪声数据,依次进行向量变换处理和激活处理,得到所述交互层的输出向量;
第三输入模块,用于将所述输出向量输入至所述上层模型中,以通过所述上层模型对所述输出向量进行前向计算,得到所述联邦神经网络模型的输出值;
第四输入模块,用于将所述输出值输入至预设损失函数中,得到损失结果;
反向传播模块,用于根据所述损失结果对所述联邦神经网络模型进行反向传播处理,以更新所述交互层模型参数,完成对所述联邦神经网络模型的训练。
10.一种联邦神经网络模型的训练设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至8任一项所述的联邦神经网络模型的训练方法。
11.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现权利要求1至8任一项所述的联邦神经网络模型的训练方法。
CN202011167325.0A 2020-10-27 2020-10-27 联邦神经网络模型的训练方法、装置、设备及存储介质 Active CN112149171B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011167325.0A CN112149171B (zh) 2020-10-27 2020-10-27 联邦神经网络模型的训练方法、装置、设备及存储介质
PCT/CN2021/124780 WO2022089256A1 (zh) 2020-10-27 2021-10-19 联邦神经网络模型的训练方法、装置、设备、计算机程序产品及计算机可读存储介质
US17/956,490 US20230023520A1 (en) 2020-10-27 2022-09-29 Training Method, Apparatus, and Device for Federated Neural Network Model, Computer Program Product, and Computer-Readable Storage Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011167325.0A CN112149171B (zh) 2020-10-27 2020-10-27 联邦神经网络模型的训练方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112149171A CN112149171A (zh) 2020-12-29
CN112149171B true CN112149171B (zh) 2021-07-09

Family

ID=73955035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011167325.0A Active CN112149171B (zh) 2020-10-27 2020-10-27 联邦神经网络模型的训练方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20230023520A1 (zh)
CN (1) CN112149171B (zh)
WO (1) WO2022089256A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149171B (zh) * 2020-10-27 2021-07-09 腾讯科技(深圳)有限公司 联邦神经网络模型的训练方法、装置、设备及存储介质
CN112949760B (zh) * 2021-03-30 2024-05-10 平安科技(深圳)有限公司 基于联邦学习的模型精度控制方法、装置及存储介质
CN113222211B (zh) * 2021-03-31 2023-12-12 中国科学技术大学先进技术研究院 一种多区域柴油车污染物排放因子预测方法及系统
CN113269232B (zh) * 2021-04-25 2023-12-08 北京沃东天骏信息技术有限公司 模型训练方法、向量化召回方法、相关设备及存储介质
CN112906044B (zh) * 2021-05-10 2021-07-30 腾讯科技(深圳)有限公司 多方安全计算方法、装置、设备及存储介质
CN113505882B (zh) * 2021-05-14 2023-11-28 深圳市腾讯计算机系统有限公司 基于联邦神经网络模型的数据处理方法、相关设备及介质
CN113378198B (zh) * 2021-06-24 2022-04-15 深圳市洞见智慧科技有限公司 一种保护用户标识的模型的联邦训练系统、方法及装置
CN113434896B (zh) * 2021-08-27 2021-11-02 豪符密码检测技术(成都)有限责任公司 一种矿产资源、地理空间领域数据加密保护和使用的方法
CN113792338A (zh) * 2021-09-09 2021-12-14 浙江数秦科技有限公司 一种基于神经网络模型的安全多方计算方法
CN114239820A (zh) * 2021-11-15 2022-03-25 北京百度网讯科技有限公司 纵向联邦学习模型的训练方法、装置和计算机设备
CN114091617B (zh) * 2021-11-29 2024-06-21 深圳前海微众银行股份有限公司 联邦学习建模优化方法、电子设备、存储介质及程序产品
CN114186256B (zh) * 2021-12-10 2023-09-19 北京百度网讯科技有限公司 神经网络模型的训练方法、装置、设备和存储介质
CN113962391B (zh) * 2021-12-22 2022-03-01 鹏城实验室 神经网络架构搜索方法、装置、设备及存储介质
CN114638998A (zh) * 2022-03-07 2022-06-17 支付宝(杭州)信息技术有限公司 模型更新方法、装置、系统及设备
CN114611128B (zh) * 2022-03-15 2023-06-06 抖音视界有限公司 一种纵向联邦学习方法、装置、系统、设备及存储介质
CN114841373B (zh) * 2022-05-24 2024-05-10 中国电信股份有限公司 应用于混合联邦场景的参数处理方法、装置、系统及产品
CN114881248B (zh) * 2022-06-30 2022-09-27 华控清交信息科技(北京)有限公司 两方横向联邦学习方法和用于两方横向联邦学习的装置
CN115622800A (zh) * 2022-11-30 2023-01-17 山东区块链研究院 基于中国剩余表示的联邦学习同态加密系统及方法
CN115952550B (zh) * 2023-03-14 2023-06-06 深圳市洞见智慧科技有限公司 基于分离学习的纵向图联邦信息推荐方法及相关装置
CN116226540B (zh) * 2023-05-09 2023-09-26 浙江大学 一种基于用户兴趣域的端到端联邦个性化推荐方法和系统
CN116304644B (zh) * 2023-05-18 2024-06-11 腾讯科技(深圳)有限公司 一种基于联邦学习的数据处理方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608810B1 (en) * 2015-02-05 2017-03-28 Ionic Security Inc. Systems and methods for encryption and provision of information security using platform services
CN110443375A (zh) * 2019-08-16 2019-11-12 深圳前海微众银行股份有限公司 一种联邦学习方法及装置
CN110490128A (zh) * 2019-08-16 2019-11-22 南京邮电大学 一种基于加密神经网络的手写识别方法
CN110633805A (zh) * 2019-09-26 2019-12-31 深圳前海微众银行股份有限公司 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN111242290A (zh) * 2020-01-20 2020-06-05 福州大学 一种轻量级隐私保护生成对抗网络系统
CN111553470A (zh) * 2020-07-10 2020-08-18 成都数联铭品科技有限公司 适用于联邦学习的信息交互系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165725B (zh) * 2018-08-10 2022-03-29 深圳前海微众银行股份有限公司 基于迁移学习的神经网络联邦建模方法、设备及存储介质
US11244060B2 (en) * 2018-10-30 2022-02-08 Bank Of America Corporation Federated smart user identification with embedded computing system entitlements
CN111210003B (zh) * 2019-12-30 2021-03-19 深圳前海微众银行股份有限公司 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN111737922A (zh) * 2020-06-24 2020-10-02 深圳前海微众银行股份有限公司 基于循环神经网络的数据处理方法、装置、设备及介质
CN112149171B (zh) * 2020-10-27 2021-07-09 腾讯科技(深圳)有限公司 联邦神经网络模型的训练方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608810B1 (en) * 2015-02-05 2017-03-28 Ionic Security Inc. Systems and methods for encryption and provision of information security using platform services
CN110443375A (zh) * 2019-08-16 2019-11-12 深圳前海微众银行股份有限公司 一种联邦学习方法及装置
CN110490128A (zh) * 2019-08-16 2019-11-22 南京邮电大学 一种基于加密神经网络的手写识别方法
CN110633805A (zh) * 2019-09-26 2019-12-31 深圳前海微众银行股份有限公司 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN111242290A (zh) * 2020-01-20 2020-06-05 福州大学 一种轻量级隐私保护生成对抗网络系统
CN111553470A (zh) * 2020-07-10 2020-08-18 成都数联铭品科技有限公司 适用于联邦学习的信息交互系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Towards Fair and Privacy-Preserving Federated Deep Models;Lingjuan Lyu 等;《IEEE Transactions on Parallel and Distributed Systems》;20200521;第31卷(第11期);全文 *
机器学习的隐私保护研究综述;刘俊旭 等;《计算机研究与发展》;20200605;第57卷(第2期);全文 *

Also Published As

Publication number Publication date
CN112149171A (zh) 2020-12-29
US20230023520A1 (en) 2023-01-26
WO2022089256A1 (zh) 2022-05-05

Similar Documents

Publication Publication Date Title
CN112149171B (zh) 联邦神经网络模型的训练方法、装置、设备及存储介质
CN112733967B (zh) 联邦学习的模型训练方法、装置、设备及存储介质
CN110998579B (zh) 隐私保护的分布式多方安全模型训练框架
US9825758B2 (en) Secure computer evaluation of k-nearest neighbor models
CN111210003B (zh) 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN110633806A (zh) 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN111784001B (zh) 一种模型训练方法、设备及计算机可读存储介质
CN113505882B (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
Watson et al. Piranha: A {GPU} platform for secure computation
CN112347500B (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN114239863B (zh) 机器学习模型的训练方法及其预测方法、装置、电子设备
CN112016698A (zh) 因子分解机模型构建方法、设备及可读存储介质
CN114547658A (zh) 数据处理方法、装置、设备及计算机可读存储介质
Deng et al. Non-interactive and privacy-preserving neural network learning using functional encryption
CN115186876A (zh) 保护数据隐私的两方联合训练业务预测模型的方法及装置
CN115130568A (zh) 支持多参与方的纵向联邦Softmax回归方法及系统
Bittner et al. Private speech characterization with secure multiparty computation
CN113887740A (zh) 联合更新模型的方法、装置及系统
Ma et al. A Survey on Secure Outsourced Deep Learning
JP7371188B2 (ja) ディープラーニングモデルのチューニング方法およびシステム
CN113781082B (zh) 区域画像的修正方法、装置、电子设备和可读存储介质
CN114723012B (zh) 基于分布式训练系统的计算方法和装置
Mutyala et al. Frontiers of AI beyond 2030: Novel Perspectives
Doshi Privacy preserving machine learning

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

Ref country code: HK

Ref legal event code: DE

Ref document number: 40036275

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant