CN113011459A - 模型训练方法、装置和计算设备 - Google Patents

模型训练方法、装置和计算设备 Download PDF

Info

Publication number
CN113011459A
CN113011459A CN202110189061.7A CN202110189061A CN113011459A CN 113011459 A CN113011459 A CN 113011459A CN 202110189061 A CN202110189061 A CN 202110189061A CN 113011459 A CN113011459 A CN 113011459A
Authority
CN
China
Prior art keywords
random number
number set
party
random
model
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
CN202110189061.7A
Other languages
English (en)
Other versions
CN113011459B (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.)
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai 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 Alipay Hangzhou Information Technology Co Ltd, Ant Blockchain Technology Shanghai Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110189061.7A priority Critical patent/CN113011459B/zh
Publication of CN113011459A publication Critical patent/CN113011459A/zh
Application granted granted Critical
Publication of CN113011459B publication Critical patent/CN113011459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本说明书实施例公开了一种模型训练方法、装置和计算设备。所述方法包括:第一方根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子;随机数服务器根据特定随机种子生成第一随机数集和第二随机数集;根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;向第二方发送第三随机数集和第四随机数集;第二方接收第三随机数集和第四随机数集,以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型。所述实施例可以减少传输的数据量。

Description

模型训练方法、装置和计算设备
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种模型训练方法、装置和计算设备。
背景技术
多方安全计算是一种密码学技术,参与计算的多方可以通过执行一个多方安全计算算法,基于各自持有的输入数据来共同进行安全计算,得到出一个计算结果,而不向其它各方泄露持有的输入数据。
多方安全计算在业务实际中获得了广泛应用。例如,在联合建模的场景中,用于训练数学模型的数据分散存在于不同的数据方。利用多方安全计算技术,多个数据方可以在不泄漏自身所持有数据的前提下,对数学模型进行联合训练,从而实现隐私保护。
在执行多方安全计算的过程中,参与计算的各数据方需要使用到大量的随机数。在相关技术中,通常由可信任的随机数服务器生成大量的随机数,并向参与计算的各方分发生成的随机数。由于随机数服务器需要发送的随机数的数量较多,使得随机数服务器需要传输的数据量较大,从而占用了大量的网络带宽。
发明内容
本说明书实施例提供一种模型训练方法、装置和计算设备,以减少随机数服务器需要传输的数据量,从而减少网络带宽的占用。本说明书实施例的技术方案如下。
本说明书实施例的第一方面,提供了一种模型训练方法,所述方法包括:
第一方根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子;
随机数服务器根据特定随机种子生成第一随机数集和第二随机数集;根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;向第二方发送第三随机数集和第四随机数集;其中,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件;
第二方接收第三随机数集和第四随机数集,以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型。
本说明书实施例的第二方面,提供了一种模型训练方法,应用于第一方,包括:
根据特定随机种子生成第一随机数集和第二随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第三随机数集和第四随机数集由随机数服务器生成并发送给第二方,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
本说明书实施例的第三方面,提供了一种模型训练方法,应用于第二方,包括:
接收随机数服务器发来的第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,第一随机数集和第二随机数集由第一方根据特定随机种子生成,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
本说明书实施例的第四方面,提供了一种模型训练方法,应用于随机数服务器,包括:
根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子;
根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;其中,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件;
向第二方发送第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,位于第一方的第一随机数集和第二随机数集由第一方根据特定随机种子生成。
本说明书实施例的第五方面,提供了一种模型训练装置,设置于第一方,包括:
生成单元,用于根据特定随机种子生成第一随机数集和第二随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第三随机数集和第四随机数集由随机数服务器生成并发送给第二方,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
本说明书实施例的第六方面,提供了一种模型训练装置,设置于第二方,包括:
接收单元,用于接收随机数服务器发来的第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,第一随机数集和第二随机数集由第一方根据特定随机种子生成,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
本说明书实施例的第七方面,提供了一种模型训练装置,设置于随机数服务器,包括:
第一生成单元,用于根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子;
第二生成单元,用于根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;其中,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件;
发送单元,用于向第二方发送第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,位于第一方的第一随机数集和第二随机数集由第一方根据特定随机种子生成。
本说明书实施例的第八方面,提供了一种计算设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如第二方面、第三方面、或者第四方面所述方法的指令。
本说明书实施例提供的技术方案,在需要联合训练模型的时候,随机数服务器可以仅传输第三随机数集和第四随机数集,以使第一方和第二方之间可以联合训练模型。因此,本说明书实施例可以减少随机数服务器与第一方之间的数据传输量,减少了网络带宽的占用。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中秘密分享过程的示意图;
图2为本说明书实施例中模型训练方法的流程示意图;
图3为本说明书实施例中采用梯度下降法联合训练模型的示意图;
图4为本说明书实施例中采用牛顿法联合训练模型的示意图;
图5为本说明书实施例中模型训练方法的流程示意图;
图6为本说明书实施例中模型训练方法的流程示意图;
图7为本说明书实施例中模型训练方法的流程示意图;
图8为本说明书实施例中模型训练装置的结构示意图;
图9为本说明书实施例中模型训练装置的结构示意图;
图10为本说明书实施例中模型训练装置的结构示意图;
图11为本说明书实施例中电子设备的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
多方安全计算(Secure Muti-Party Computation,MPC)是一种保护数据隐私安全的算法。多方安全计算能让多个数据方在不泄漏自身数据的前提下进行协作计算。
秘密分享(Secret Sharing,SS)是一种保护数据隐私安全的算法。多个数据方可以在不泄漏自身数据的前提下,使用秘密分享算法进行协作计算,共享秘密信息。各个数据方可以分别获得秘密信息的一个分片。请参阅图1。例如,假设存在数据方P1、数据方P2和可信任的第三方(TTP,Trusted Third Party)。数据方P1持有业务数据x1,数据方P2持有业务数据x2。采用秘密分享算法,数据方P1和数据方P2可以进行协作计算,共享秘密信息y。数据方P1可以获得秘密信息y的分片y1,数据方P2可以获得秘密信息y的分片y2。y=y1+y2=x1x2。具体地,可信任的第三方可以生成随机数U、随机数Z1、随机数V、随机数Z2;可以向数据方P1下发随机数U和随机数Z1;可以向数据方P2下发随机数V和随机数Z2。随机数U、随机数Z1、随机数V和随机数Z2满足关系式Z1+Z2=UV。数据方P1可以接收随机数U和随机数Z1;可以计算E=x1-U;可以向数据方P2发送随机数E。数据方P2可以接收随机数V和随机数Z2;可以计算F=x2-V;可以向数据方P1发送随机数F。这样,数据方P1可以接收随机数F;可以计算秘密信息y的分片y1=UF+Z1。数据方P2可以接收随机数E;可以计算秘密信息y的分片y2=Ex2+Z2
激励函数(Activation Function),又称为激活函数,可以用于构建数学模型。激励函数定义了在给定输入下的输出。激励函数为非线性函数。通过激励函数可以在数学模型中加入非线性因素,提高数学模型的表达能力。所述激励函数可以包括Sigmoid函数、Tanh函数和ReLU函数等。损失函数(Loss Function)可以用于衡量数学模型的预测值与真实值之间不一致的程度。损失函数的值越小,表示数学模型的鲁棒性越好。所述损失函数包括但不限于对数损失函数(Logarithmic Loss Function)、平方损失函数(Square Loss)等。其中,所述数学模型可以包括逻辑回归模型和神经网络模型等。
随机种子可以为一种用于生成随机数的随机数。在实际应用中,基于所述随机种子,利用随机数生成算法可以生成一个或多个随机数。所述随机数生成算法可以包括平方取中法(Midsquare Method)、线性同余法(Linear Congruential Method)等等。
在相关技术中,训练样本分散位于第一方和第二方。具体地,所述第一方可以持有训练样本的标签数据,所述第二方可以持有训练样本的特征数据。所述第一方可以根据标签数据,所述第二方可以根据特征数据,联合训练数学模型。在联合训练数学模型的过程中,需要使用到随机数。通常地,可以由随机数服务器生成第一随机数集、第二随机数集、第三随机数集和第四随机数集。所述随机数服务器可以向所述第一方发送第一随机数集和第二随机数集;可以向所述第二方发送第三随机数集和第四随机数集。所述第一方可以接收第一随机数集和第二随机数集。所述第二方可以接收第三随机数集和第四随机数集。这样所述第一方可以根据标签数据、第一随机数集、第二随机数集,所述第二方可以根据特征数据、第三随机数集、第四随机数集,联合训练数学模型。但是,由于随机数服务器需要向所述第一方发送第一随机数集和第二随机数集、以及需要向所述第二方发送第三随机数集和第四随机数集,使得随机数服务器需要传输的数据量较大,占用了大量的网络带宽。尤其地,在第一方和/或第二方的的网络质量较差的情况下,有可能会影响到模型训练的效率。
为此,本说明书实施例提供一种系统。利用所述系统可以训练数学模型。
所述系统可以包括第一方、第二方和随机数服务器。所述第一方、所述第二方、所述随机数服务器可以为单个服务器、由多个服务器构成的服务器集群、或者部署在云端的服务器。
所述第一方和所述第二方可以为联合建模的双方。训练样本可以分散位于所述第一方和所述第二方。所述第一方可以持有训练样本的标签数据,所述第二方可以持有训练样本的特征数据。例如,所述第一方可以为征信机构,所述征信机构可以持有训练样本的标签数据,所述标签数据可以为“信用良好”、“信用一般”、或者“信用差”等。所述第二方可以为大数据公司,所述大数据公司可以持有训练样本的特征数据,所述特征数据可以包括借贷金额、缴纳社保的基数、是否已婚等。在实际应用中,训练样本的数量可以为多个。所述第一方可以持有训练样本的标签数据和训练样本的标识,所述第二方可以持有训练样本的特征数据和训练样本的标识。通过训练样本的标识,所述第一方可以选取一个或多个训练样本的特征数据,所述第二方可以选取同样训练样本的标签数据,联合训练数学模型。训练样本的标识用于标识训练数据。例如,训练样本的标识可以为手机号或者身份证号等。当然,根据需要,所述第一方也可持有训练样本的特征数据,所述第二方也可持有训练样本的标签数据。
所述随机数服务器用于向第一方和/或第二方提供联合建模过程中所需的随机数。
请参阅图2,基于所述系统的模型训练方法可以包括以下步骤。
步骤S11:第一方根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子。
步骤S13:随机数服务器根据特定随机种子生成第一随机数集和第二随机数集;根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集。
步骤S15:随机数服务器向第二方发送第三随机数集和第四随机数集。
步骤S17:第二方接收第三随机数集和第四随机数集,以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型。
在一些实施例中,所述第一方和所述随机数服务器可以预先获得所述特定随机种子。所述特定随机种子为第一方与随机数服务器之间协商的随机种子。
所述特定随机种子可以由所述第一方生成。具体地,所述第一方可以生成随机种子作为特定随机数种子;可以向所述随机数服务器发送随机种子。所述随机数服务器可以接收随机种子作为特定随机种子。或者,所述特定随机种子也可以由所述随机数服务器生成。具体地,所述随机数服务器可以生成随机种子作为特定随机数种子;可以向所述第一方发送随机种子。所述第一方可以接收随机种子作为特定随机种子。
在一些实施例中,所述第一随机数集和所述第二随机数集可以分别包括一个或多个随机数。所述第一方可以利用随机数生成算法,根据特定随机种子生成一个或多个随机数作为所述第一随机数集中的随机数、以及生成一个或多个随机数作为所述第二随机数集中的随机数。例如,所述第一方可以利用随机数生成算法,根据特定随机种子先生成N个随机数作为所述第一随机数集中的随机数,再生成N个随机数作为所述第二随机数集中的随机数。
在一些实施例中,基于相同的随机种子,由不同的实施主体执行相同的随机数生成算法,可以获得相同的随机数。因此所述随机数服务器根据特定随机种子也可以生成第一随机数集和第二随机数集。所述随机数服务器根据特定随机种子生成第一随机数集和第二随机数集的过程,与第一方根据特定随机种子生成第一随机数集和第二随机数集的过程,可以参照解释。
在一些实施例中,所述第三随机数集和所述第四随机数集可以分别包括一个或多个随机数。所述第一随机数集、所述第二随机数集、所述第三随机数集和所述第四随机数集中的随机数可以满足预设条件。例如,所述预设条件可以包括:Z1i+Z2i=UiVi。其中,Vi表示第一随机数集中的第i个随机数,Z1i表示第二随机数集中的第i个随机数,Ui表示第三随机数集中的第i个随机数,Z2i表示第四随机数集中的第i个随机数,i为大于0的自然数。所述第一随机数集、所述第二随机数集、所述第三随机数集和所述第四随机数集中随机数的数量可以相同。
在一些实施例中,所述随机数服务器可以生成第三随机数集;可以基于所述第一随机数集、所述第二随机数集、所述第三随机数集和所述预设条件,计算所述第四随机数集中的随机数。例如,所述随机数服务器可以根据第一随机数集中的随机数Vi、第二随机数集中的随机数Z1i、第三随机数集中的随机数Ui,通过公式Z2i=UiVi-Z1i,计算所述第四随机数集中的随机数Z2i。当然,所述随机数服务器还可以生成第四随机数集;可以基于所述第一随机数集、所述第二随机数集、所述第四随机数集和所述预设条件,计算所述第三随机数集中的随机数。
通过步骤S11-步骤S17,所述第一方可以获得第一随机数集和第二随机数集,所述第二方可以获得第三随机数集和第四随机数集。这样所述第一方可以根据第一随机数集和第二随机数集,所述第二方可以根据第三随机数集和第四随机数集,联合训练模型。
在一些使用场景中,第一方和随机数服务器可以预先获得特定随机种子。在需要联合训练模型的时候,第一方可以根据特定随机种子生成第一随机数集和第二随机数集。随机数服务器可以根据特定随机种子生成第一随机数集和第二随机数集;可以根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;可以向第二方发送第三随机数集和第四随机数集。第二方可以接收第三随机数集和第四随机数集。这样所述第一方可以根据第一随机数集和第二随机数集,所述第二方可以根据第三随机数集和第四随机数集,联合训练模型。使得在需要联合训练模型的时候,随机数服务器与第一方之间可以不必传输数据,减少了随机数服务器与第一方之间的数据传输量,提高了模型训练效率。
请参阅图3。以下介绍本说明书实施例中第一方和第二方联合训练模型的一个场景示例。
在本场景示例中,所述第一方可以持有训练样本的标签数据和模型参数的第一分片,所述第二方可以持有训练样本的特征数据和模型参数的第二分片。所述第一方可以根据标签数据、模型参数的第一分片、第一随机数集和第二随机数集,所述第二方可以根据特征数据、模型参数的第二分片、第三随机数集和第四随机数集,基于秘密分享算法,采用梯度下降法(Gradient Descent)联合训练模型。所述模型可以包括逻辑回归模型和神经网络模型等。
值得说明的是,尽管在本场景示例中,以所述第一方持有训练样本的标签数据、以及所述第二方持有训练样本的特征数据为例,描述了所述第一方和所述第二方联合训练模型的过程。但在实际应用中并不限于此。例如,在实际应用中,所述第一方还可以持有训练样本的特征数据,所述第二方还可以持有训练样本的标签数据。
具体地,所述联合训练模型可以包括多轮迭代过程,每一轮迭代过程可以包括以下步骤。
步骤S21:第一方根据第一随机数集、第二随机数集和模型参数的第一分片,第二方根据第三随机数集、第四随机数集、特征数据和模型参数的第二分片,秘密分享乘积。第一方获得所述乘积的第一分片,第二方获得所述乘积的第二分片。
模型参数的第一分片和模型参数的第二分片的和等于模型参数。例如,所述模型参数可以表示为W。所述第一方可以持有<W>0,所述第二方可以持有<W>1。<W>0+<W>1=W。
若本轮迭代过程为首轮迭代过程,则所述模型参数可以为数学模型的初始模型参数。所述初始模型参数可以为经验值或随机值等。在实际应用中,所述随机数服务器或者其它可信任的计算设备可以对数学模型的初始模型参数进行拆分,得到初始模型参数的第一分片和第二分片;可以向所述第一方发送初始模型参数的第一分片;可以向所述第二方发送初始模型参数的第二分片。所述第一方可以接收初始模型参数的第一分片。所述第二方可以接收初始模型参数的第二分片。若本轮迭代过程为非首轮迭代过程,则通过上一轮的迭代过程,所述第一方可以获得模型参数的第一分片,所述第二方可以获得模型参数的第二分片。
所述乘积可以包括特征数据和模型参数之间的乘积。例如,所述特征数据可以表示为X,所述模型参数可以表示为W,所述乘积可以表示为WX=X·W。所述乘积的第一分片和所述乘积的第二分片的和等于所述乘积。例如,所述乘积的第一分片可以表示为<WX>0,所述乘积的第二分片可以表示为<WX>1,<WX>0+<WX>1=WX。
所述第一方和所述第二方秘密分享所述乘积的过程可以如下。
一方面,所述第一方可以根据第一随机数集、模型参数的第一分片,确定在分享乘积时的第一中间结果;可以向所述第二方发送第一中间结果。所述第二方可以接收第一中间结果;可以根据第一中间结果、第三随机数集、第四随机数集,确定所述乘积的第二分片。另一方面,所述第二方可以根据第三随机数集、特征数据,确定在分享乘积时的第二中间结果;可以向所述第一方发送第二中间结果。所述第一方可以接收第二中间结果;可以根据第二中间结果、第二随机数集、模型参数的第一分片,确定所述乘积的第一分片。例如,一方面,所述第一方可以根据第一随机数集中的随机数V1、模型参数的第一分片<W>0,计算第一中间结果F1=<W>0-V1;可以向所述第二方发送第一中间结果F1。所述第二方可以接收第一中间结果F1;可以根据第一中间结果F1、第三随机数集中的随机数U1、第四随机数集中的随机数Z21,计算<[X<W>0]>1=U1F1+Z21;进而可以计算X<W>1+<[X<W>0]>1作为所述乘积WX的第二分片<WX>1。另一方面,所述第二方可以根据第三随机数集中的随机数U1、特征数据X,计算第二中间结果E1=X-U1;可以向所述第一方发送第二中间结果E1。所述第一方可以接收第二中间结果E1;可以根据第二中间结果E1、第二随机数集中的随机数Z11、模型参数的第一分片<W>0,计算<[X<W>0]>0=E1<W>0+Z11作为所述乘积WX的第一分片<WX>0。其中,Z11+Z21=U1V1
步骤S23:第一方根据第一随机数集、第二随机数集和所述乘积的第一分片,第二方根据第三随机数集、第四随机数集和所述乘积的第二分片,秘密分享激励函数的取值。第一方获得激励函数取值的第一分片,第二方获得激励函数取值的第二分片。
激励函数取值的第一分片和激励函数取值的第二分片的和等于激励函数的取值。
考虑到在求取激励函数的取值时,通常会涉及到非线性运算(例如对数运算、指数运算、三角函数运算等),使得直接采用秘密分享的方式确定激励函数的取值是比较困难的。为此,可以利用多项式拟合激励函数,通过采用秘密分享的方式确定多项式的取值,作为激励函数的取值。具体地,第一方可以根据第一随机数集、第二随机数集和所述乘积的第一分片,第二方可以根据第三随机数集、第四随机数集和所述乘积的第二分片,秘密分享多项式的取值。第一方可以获得多项式取值的第一分片,作为激励函数取值的第一分片。第二方可以获得多项式取值的第二分片,作为激励函数取值的第二分片。
所述第一方和所述第二方秘密分享激励函数取值的过程如下。
一方面,所述第一方可以根据第一随机数集、所述乘积的第一分片,确定在分享多项式取值时的第三中间结果;可以向所述第二方发送第三中间结果。所述第二方可以接收第三中间结果;可以根据第三中间结果、第三随机数集、第四随机数集,确定多项式取值的第二分片作为激励函数取值的第二分片。另一方面,所述第二方可以根据第三随机数集、所述乘积的第二分片,确定在分享多项式取值时的第四中间结果;可以向所述第一方发送第四中间结果。所述第一方可以接收第四中间结果;可以根据第四中间结果、第二随机数集、所述乘积的第一分片,确定多项式取值的第一分片作为激励函数取值的第一分片。
例如,所述激励函数可以为Sigmoid函数,所述多项式可以表示为
a=a0+a1(WX)+a2(WX)3
=a0+a1(<WX>1+<WX>0)+a2(<WX>1 3+3<WX>1 2·<WX>0+3<WX>1·<WX>0 2+<WX>0 3)。
那么,一方面,所述第一方可以根据第一随机数集中的随机数V2、第一随机数集中的随机数V3、所述乘积的第一分片<WX>0,计算第三中间结果F2=<W>0-V2以及F3=<W>0 2-V3;可以向所述第二方发送第三中间结果F2和F3。所述第二方可以接收第三中间结果F2和F3;可以根据第三中间结果F2、第三随机数集中的随机数U2、第四随机数集中的随机数Z22,计算
<[3a2<WX>1 2·<WX>0]>1=U2F2+Z22;可以根据第三中间结果F3、第三随机数集中的随机数U3、第四随机数集中的随机数Z23,计算<[3a2<WX>1·<WX>0 2]>1=U3F3+Z23;进而可以计算a0+a1<WX>1+<[3a2<WX>1 2·<WX>0]>1+<[3a2<WX>1·<WX>0 2]>1+a2<WX>1 3作为多项式取值a的第二分片<a>1。另一方面,所述第二方可以根据第三随机数集中的随机数U2、第三随机数集中的随机数U3、所述乘积的第二分片<WX>1,计算第四中间结果E2=3a2<WX>1 2-U2以及E3=3a2<WX>1-U3;可以向所述第一方发送第四中间结果E2和E3。所述第一方可以接收第四中间结果E2和E3;可以根据第四中间结果E2、第二随机数集中的随机数Z12、所述乘积的第一分片<WX>0,计算<[3a2<WX>1 2·<WX>0]>0=E2<WX>0+Z12;可以根据第四中间结果E3、第二随机数集中的随机数Z13、所述乘积的第一分片<WX>0,计算
<[3a2<WX>1·<WX>0 2]>0=E3<WX>0 2+Z13;进而可以计算
a1<WX>0+<[3a2<WX>1 2·<WX>0]>0+<[3a2<WX>1·<WX>0 2]>0+a2<WX>0 3作为多项式取值a的第一分片<a>0。其中,<a>0+<a>1=a。Z12+Z22=U2V2。Z13+Z23=U3V3
步骤S25:第一方根据第一随机数集、第二随机数集、标签数据和激励函数取值的第一分片,第二方根据第三随机数集、第四随机数集、特征数据和激励函数取值的第二分片,秘密分享损失函数的梯度。第一方获得损失函数梯度的第一分片,第二方获得损失函数梯度的第二分片。
损失函数梯度的第一分片和损失函数梯度的第二分片的和等于损失函数的梯度。
所述第一方和所述第二方秘密分享损失函数梯度的过程如下。
一方面,所述第一方可以根据第一随机数集、激励函数取值的第一分片、标签数据,确定在分享损失函数梯度时的第五中间结果;可以向所述第二方发送第五中间结果。所述第二方可以接收第五中间结果;可以根据第五中间结果、第三随机数集、第四随机数集,确定损失函数梯度的第二分片。另一方面,所述第二方可以根据第三随机数集、激励函数取值的第二分片、特征数据,确定在分享损失函数梯度时的第六中间结果;可以向所述第一方发送第六中间结果。所述第一方可以接收第六中间结果;可以根据第六中间结果、第二随机数集、激励函数取值的第一分片、标签数据,确定损失函数梯度的第一分片。
例如,一方面,所述第一方可以根据第一随机数集中的随机数V4、第一随机数集中的随机数V5、激励函数取值的第一分片<a>0、标签数据y,计算第五中间结果F4=<a>0-V4以及F5=y-V5;可以向所述第二方发送第五中间结果F4和F5。所述第二方可以接收第五中间结果F4和F5;可以根据第五中间结果F4、第三随机数集中的随机数U4、第四随机数集中的随机数Z24,计算<[XT<a>0]>1=U4F4+Z24;可以根据第五中间结果F5、第三随机数集中的随机数U5、第四随机数集中的随机数Z25,计算<[XTy]>1=U5F5+Z25;进而可以计算
<[XT<a>0]>1+XT<a>1+<[XTy]>1作为损失函数梯度dW=XT(a-y)的第二分片<dW>1。另一方面,所述第二方可以根据第三随机数集中的随机数U4、第三随机数集中的随机数U5、特征数据X,计算第六中间结果E4=XT-U4以及E5=XT-U5;可以向所述第一方发送第六中间结果E4和E5。所述第一方可以接收第六中间结果E4和E5;可以根据第六中间结果E4、第二随机数集中的随机数Z14、激励函数取值的第一分片<a>0,计算<[XT<a>0]>0=E4<a>0+Z14;可以根据第六中间结果E5、第二随机数集中的随机数Z15、标签数据y,计算<[XTy]>0=E5y+Z15;进而可以计算
<[XT<a>0]>0+<[XTy]>0作为损失函数梯度dW=XT(a-y)的第一分片<dW>0。其中,
<dW>0+<dW>1=dW。Z14+Z24=U4V4。Z15+Z25=U5V5
步骤S27:第一方根据模型参数的第一分片、损失函数梯度的第一分片和预设步长,确定新的模型参数的第一分片。
步骤S29:第二方根据模型参数的第二分片、损失函数梯度的第二分片和预设步长,确定新的模型参数的第二分片。
所述预设步长可以用于控制梯度下降法的迭代速度。所述预设步长可以为任意适当正实数。例如,当预设步长过大时,迭代速度会过快,导致有可能无法获得最优模型参数。当预设步长过小时,导致迭代速度会过慢,导致花费的时间较长。所述预设步长具体可以为经验值;或者,也可以采用机器学习的方式得到。当然,所述预设步长还可以采用其它方式得到。所述第一方和所述第二方均可以持有所述预设步长。
所述第一方可以将损失函数梯度的第一分片和预设步长相乘;可以将模型参数的第一分片与损失函数梯度的第一分片和预设步长之间的乘积相减,得到新的模型参数的第一分片。所述第二方可以将损失函数梯度的第二分片和预设步长相乘;可以将模型参数的第二分片与损失函数梯度的第二分片和预设步长之间的乘积相减,得到新的模型参数的第二分片。新的模型参数的第一分片和新的模型参数的第二分片的和等于新的模型参数。
例如,所述第一方可以计算<W’>0=<W>0-L<dW>0作为新的模型参数的第一分片。所述第二方可以计算<W’>1=<W>1-L<dW>1作为新的模型参数的第一分片。L为预设步长。
<W>0+<W>1=W。<W’>0+<W’>1=W’。
请参阅图4,以下介绍本说明书实施例第一方和第二方联合训练模型的另一个场景示例。
在本场景示例中,所述第一方可以持有训练样本的标签数据和模型参数的第一分片,所述第二方可以持有训练样本的特征数据和模型参数的第二分片。所述第一方可以根据标签数据、模型参数的第一分片、第一随机数集和第二随机数集,所述第二方可以根据特征数据、模型参数的第二分片、第三随机数集和第四随机数集,基于秘密分享算法,采用牛顿法联合训练模型。所述模型可以包括逻辑回归模型和神经网络模型等。
值得说明的是,尽管在本场景示例中,以所述第一方持有训练样本的标签数据、以及所述第二方持有训练样本的特征数据为例,描述了所述第一方和所述第二方联合训练模型的过程。但在实际应用中并不限于此。例如,在实际应用中,所述第一方还可以持有训练样本的特征数据,所述第二方还可以持有训练样本的标签数据。
具体地,所述联合训练模型可以包括多轮迭代过程,每一轮迭代过程可以包括以下步骤。
步骤S301:第一方根据第一随机数集、第二随机数集和模型参数的第一分片,第二方根据第三随机数集、第四随机数集和模型参数的第二分片,秘密分享第一乘积,第一方获得所述第一乘积的第一分片,第二方获得所述第一乘积的第二分片。
所述第一乘积可以包括特征数据和模型参数之间的乘积。
步骤S303:第一方根据第一随机数集、第二随机数集和所述第一乘积的第一分片,第二方根据第三随机数集、第四随机数集和所述第一乘积的第二分片,秘密分享激励函数的取值,第一方获得激励函数取值的第一分片,第二方获得激励函数取值的第二分片。
步骤S305:第一方根据第一随机数集、第二随机数集、标签数据和激励函数取值的第一分片,第二方根据第三随机数集、第四随机数集、特征数据和激励函数取值的第二分片,秘密分享损失函数的梯度。第一方获得损失函数梯度的第一分片,第二方获得损失函数梯度的第二分片。
步骤S301可以与步骤S21对照解释。步骤S303可以与步骤S23对照解释。步骤S305可以与步骤S25对照解释。
步骤S307:第一方根据激励函数取值的第一分片,第二方根据特征数据和激励函数取值的第二分片,秘密分享海森矩阵。第一方获得海森矩阵的第一分片,第二方获得海森矩阵的第二分片。
海森矩阵(Hessian Matrix),又称为黑塞矩阵、海瑟矩阵或海塞矩阵等,是损失函数的二阶偏导数构成的方阵,用于表示损失函数的局部曲率。
海森矩阵的第一分片和海森矩阵的第二分片的和等于海森矩阵。
在实际应用中,所述第一方可以根据激励函数取值的第一分片,所述第二方可以根据激励函数取值的第二分片,秘密分享对角矩阵。所述第一方可以获得所述对角矩阵的第一分片,所述第二方可以获得所述对角矩阵的第二分片。对角矩阵的第一分片和对角矩阵的第二分片的和等于对角矩阵。所述第一方可以根据对角矩阵的第一分片,所述第二方可以根据特征数据和对角矩阵的第二分片,秘密分享海森矩阵。所述第一方可以获得所述海森矩阵的第一分片,所述第二方可以获得所述海森矩阵的第二分片。
例如,所述第一方可以根据激励函数取值的第一分片<a>0,所述第二方可以根据激励函数取值的第二分片<a>1,秘密分享对角矩阵RNN=diag(r)=diag(a(1-a))。所述第一方可以获得对角矩阵的第一分片RNN0,所述第二方可以获得对角矩阵的第二分片RNN1。下面介绍所述第一方和所述第二方秘密分享对角矩阵RNN的详细过程。
所述第一方可以根据<a>0,所述第二方可以根据<a>1,秘密分享<a>0·<a>1。所述第一方可以获得<[<a>0·<a>1]>0,所述第二方可以获得<[<a>0·<a>1]>1
<[<a>0·<a>1]>0+<[<a>0·<a>1]>1=<a>0·<a>1。其中,·表示按位相乘运算。例如,向量m=(m1,m2,m3),向量n=(n1,n2,n3)。那么,m·n=(m1n1,m2n2,m3n3)。
进而,所述第一方可以计算<r>0=<a>0-<[<a>0·<a>1]>0-<a>0·<a>0,所述第二方可以计算<r>1=<a>1-<[<a>0·<a>1]>0-<a>1·<a>1
Figure BDA0002944331890000132
<r>0、<r>1和r分别为向量。
进而,所述第一方可以根据<r>0生成对角矩阵RNN=diag(r)的第一分片RNN0=diag(<r>0),所述第二方可以根据<r>1生成对角矩阵RNN=diag(r)的第二分片RNN1=diag(<r>1)。RNN0+RNN1=RNN。对角矩阵RNN的第一分片RNN0和第二分片RNN1也均为一个对角矩阵。在实际应用中,所述第一方可以将<r>0中的数据元素作为RNN0主对角线上的数据元素,这样便实现了根据<r>0生成RNN0。所述第二方可以将<r>1中的数据元素作为RNN1主对角线上的数据元素,这样便实现了根据<r>1生成RNN1
所述第一方可以根据RNN0,所述第二方可以根据X和RNN1,秘密分享海森矩阵H。所述第一方可以获得海森矩阵的第一分片<H>0,所述第二方可以获得海森矩阵的第二分片<H>1。下面介绍所述第一方和所述第二方秘密分享海森矩阵H的详细过程。
所述第一方可以根据RNN0,所述第二方可以根据X,秘密分享XTRNN0。所述第一方可以获得<XTRNN00,所述第二方可以获得<XTRNN01
<XTRNN00+<XTRNN01=XTRNN0
进而,所述第一方可以根据<XTRNN00,所述第二方可以根据X,秘密分享<XTRNN00X。所述第一方可以获得<[<XTRNN00X]>0,所述第二方可以获得<[<XTRNN00X]>1。<[<XTRNN00X]>0+<[<XTRNN00X]>1=<XTRNN00X。
进而,所述第一方可以将<[<XTRNN00X]>0作为海森矩阵H的第一分片<H>0。所述第二方可以计算<[<XTRNN00X]>1+<XTRNN01X+XTRNN1X作为海森矩阵H的第二分片<H>1
Figure BDA0002944331890000131
步骤S309:第一方根据海森矩阵的第一分片,第二方根据海森矩阵的第二分片,秘密分享第一逆矩阵。第一方获得第一逆矩阵的第一分片,第二方获得第一逆矩阵的第二分片。第一逆矩阵为海森矩阵的逆矩阵。
鉴于海森矩阵为方阵,因而可以对海森矩阵进行求逆处理,可以将海森矩阵的逆矩阵作为所述第一逆矩阵。
所述随机数服务器可以生成随机数矩阵。另外,所述第一方和所述随机数服务器均持有特定随机种子,使得,所述第一方可以根据特定随机种子生成随机数矩阵的第一分片,所述随机数服务器可以根据特定随机种子生成随机数矩阵的第一分片。所述随机数服务器可以使用随机数矩阵中的随机数减去随机数矩阵的第一分片中的随机数,得到随机数矩阵的第二分片;可以向所述第二方发送随机数矩阵的第二分片。所述第二方可以接收随机数矩阵的第二分片。例如,所述随机数矩阵可以表示为R,所述随机数矩阵中的随机数可以表示为Ri,所述随机数矩阵的第一分片可以表示为<R>0,所述随机数矩阵的第一分片中的随机数可以表示为<Ri>0,所述随机数矩阵的第二分片可以表示为<R>1,所述随机数矩阵的第二分片中的随机数可以表示为<Ri>1。其中,<R>0+<R>1=R,<Ri>0+<Ri>1=Ri。这样通过特定随机种子,可以进一步减少第一方和第二方在利用牛顿法联合训练模型的时候的数据传输量。
所述第一方可以根据随机数矩阵的第一分片和海森矩阵的第一分片,所述第二方可以根据随机数矩阵的第二分片和海森矩阵的第二分片,秘密分享第二乘积。所述第一方可以获得第二乘积的第一分片。所述第二方可以获得第二乘积的第二分片。第二乘积的第一分片和第二乘积的第二分片的和等于第二乘积。所述第二乘积可以包括海森矩阵和随机数矩阵的乘积。例如,所述第二乘积可以表示为HR,其中,H表示海森矩阵,R表示随机数矩阵。
在本场景示例的一些实施方式中,可以由第二方对所述第二乘积进行求逆处理。具体地,所述第一方可以向所述第二方发送第二乘积的第一分片。所述第二方可以接收第二乘积的第一分片;可以将第二乘积的第一分片与自身持有的第二乘积的第二分片相加,得到第二乘积。鉴于所述第二乘积为方阵,因而所述第二方可以对所述第二乘积进行求逆处理,得到所述第二乘积的逆矩阵作为第二逆矩阵;可以向所述第一方发送所述第二逆矩阵。所述第一方可以接收所述第二逆矩阵。或者,在本场景示例的另一些实施方式中,还可以由所述第一方对所述第二乘积进行求逆处理。具体地,所述第二方可以向所述第一方发送第二乘积的第二分片。所述第一方可以接收第二乘积的第二分片;可以将第二乘积的第二分片与自身持有的第二乘积的第一分片相加,得到第二乘积。鉴于所述第二乘积为方阵,因而所述第一方可以对所述第二乘积进行求逆处理,得到所述第二乘积的逆矩阵作为第二逆矩阵;可以向所述第二方发送所述第二逆矩阵。所述第二方可以接收所述第二逆矩阵。
所述第一方可以将随机数矩阵的第一分片与所述第二逆矩阵相乘,得到第一逆矩阵的第一分片。所述第二方可以将随机数矩阵的第二分片与所述第二逆矩阵相乘,得到第一逆矩阵的第二分片。第一逆矩阵的第一分片和第一逆矩阵的第二分片的和等于第一逆矩阵。
例如,随机数矩阵的第一分片可以表示为<R>0,随机数矩阵的第二分片可以表示为<R>1,<R>0+<R>1=R。所述第一方可以根据<R>0和<H>0,所述第二方可以根据<R>1和<H>1,秘密分享第二乘积HR。所述第一方可以获得第二乘积的第一分片<HR>0,所述第二方可以获得第二乘积第二分片<HR>1。下面介绍所述第一方和所述第二方秘密分享第二乘积HR的详细过程。
所述第一方可以根据<H>0,所述第二方可以根据<R>1,秘密分享<H>0<R>1。所述第一方可以获得<[<H>0<R>1]>0,所述第二方可以获得<[<H>0<R>1]>1
<[<H>0<R>1]>0+<[<H>0<R>1]>1=<H>0<R>1
另外,所述第一方还可以根据<R>0,所述第二方还可以根据<H>1,秘密分享<H>1<R>0。所述第一方可以获得<[<H>1<R>0]>0,所述第二方可以获得<[<H>1<R>0]>1。<[<H>1<R>0]>0+<[<H>1<R>0]>1=<H>1<R>0
进而,所述第一方可以计算<H>0<R>0+<[<H>0<R>1]>0+<[<H>1<R>0]>0作为第二乘积的第一分片<HR>0。所述第二方可以计算<H>1<R>1+<[<H>0<R>1]>1+<[<H>1<R>0]>1作为第二乘积的第二分片<HR>1
Figure BDA0002944331890000151
这里由所述第二方对第二乘积HR进行求逆处理。具体地,所述第一方可以向所述第二方发送第二乘积的第一分片<HR>0。所述第二方可以接收第二乘积的第一分片<HR>0;可以将第二乘积的第一分片<HR>0与自身持有的第二乘积的第二分片<HR>1相加,得到第二乘积HR;可以对第二乘积HR进行求逆处理,得到第二逆矩阵(HR)-1;可以向所述第一方发送第二逆矩阵(HR)-1。所述第一方可以接收第二逆矩阵(HR)-1
所述第一方可以将第二逆矩阵(HR)-1与随机数矩阵的第一分片<R>0相乘,得到第一逆矩阵H-1的第一分片<H-10。所述第二方可以将第二逆矩阵(HR)-1与随机数矩阵的第二分片<R>1相乘,得到第一逆矩阵H-1的第一分片<H-11
H-1=<H-10+<H-11=<R>0(HR)-1+<R>1(HR)-1=R×(HR)-1
步骤S311:第一方根据原始模型参数的第一分片、第一逆矩阵的第一分片和损失函数梯度的第一分片,第二方根据原始模型参数的第二分片、第一逆矩阵的第二分片和损失函数梯度的第二分片,秘密分享新的模型参数。第一方获得新的模型参数的第一分片,第二方获得新的模型参数的第二分片。
所述第一方可以根据第一逆矩阵的第一分片和损失函数梯度的第一分片,所述第二方可以根据第一逆矩阵的第二分片和损失函数梯度的第二分片,秘密分享第三乘积。所述第一方可以获得第三乘积的第一分片。所述第二方可以获得第三乘积的第二分片。第三乘积的第一分片和第三乘积的第二分片的和等于第三乘积。所述第三乘积可以包括第一逆矩阵和损失函数梯度之间的乘积。例如,所述第三乘积可以表示为H-1dW,其中,H-1表示第一逆矩阵,dW表示损失函数的梯度。进而,所述第一方可以将模型参数的第一分片与第三乘积的第一分片相减,得到新的模型参数的第一分片。所述第二方可以将模型参数的第二分片与第三乘积的第二分片相减,得到新的模型参数的第二分片。
例如,所述第一方可以根据<H-10和<dW>0,所述第二方可以根据<H-11和<dW>1,秘密分享第三乘积H-1×dW。所述第一方可以获得第三乘积的第一分片<H-1×dW>0,所述第二方可以获得第三乘积的第二分片<H-1×dW>1
下面介绍所述第一方和所述第二方秘密分享第三乘积H-1×dW的详细过程。
所述第一方可以根据<H-10,所述第二方可以根据<dW>1,秘密分享<H-10<dW>1。所述第一方可以获得<[<H-10<dW>1]>0,所述第二方可以获得<[<H-10<dW>1]>1。<[<H-10<dW>1]>0+<[<H-10<dW>1]>1=<H-10<dW>1
另外,所述第一方还可以根据<dW>0,所述第二方还可以根据<H-11,秘密分享<H-11<dW>0。所述第一方可以获得<[<H-11<dW>0]>0,所述第二方可以获得<[<H-11<dW>0]>1。<[<H-11<dW>0]>0+<[<H-11<dW>0]>1=<H-11<dW>0
进而,所述第一方可以计算<H-10<dW>0+<[<H-10<dW>1]>0+<[<H-11<dW>0]>0作为第三乘积的第一分片<H-1×dW>0。所述第二方可以计算<H-11<dW>1+<[<H-10<dW>1]>1+<[<H-11<dW>0]>1作为第三乘积的第二分片<H-1×dW>1
H-1×dW=<H-1×dW>0+<H-1×dW>1
=<H-10<dW>0+<[<H-10<dW>1]>0+<[<H-11<dW>0]>0+
<H-11<dW>1+<[<H-10<dW>1]>1+<[<H-11<dW>0]>1
=<H-10<dW>0+<H-10<dW>1+<H-11<dW>0+<H-11<dW>1
=(<H-10+<H-11)(<dW>0+<dW>1)
所述第一方可以计算<W'>0=<W>0-<H-1×dW>0,所述第二方可以计算<W'>1=<W>1-<H-1×dW>1,<W'>0表示新的模型参数的第一分片,<W'>1表示新的模型参数的第二分片,W'表示新的模型参数。
W'=<W'>0+<W'>1=<W>0-<H-1×dW>0+<W>1-<H-1×dW>1=W-H-1×dW。
本说明书实施例的模型训练方法,在需要联合训练模型的时候,随机数服务器可以仅传输第三随机数集和第四随机数集,以使第一方和第二方之间可以联合训练模型。因此,本说明书实施例可以减少随机数服务器与第一方之间的数据传输量,减少了网络带宽的占用。
基于同样的发明构思,本说明书还提供模型训练方法的另一个实施例。请参阅图5。所述模型训练方法可以应用于第一方,具体可以包括以下步骤。
步骤S41:根据特定随机种子生成第一随机数集和第二随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第三随机数集和第四随机数集由随机数服务器生成并发送给第二方,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
本说明书实施例的模型训练方法,在需要联合训练模型的时候,随机数服务器可以仅传输第三随机数集和第四随机数集,以使第一方和第二方之间可以联合训练模型。因此,本说明书实施例可以减少随机数服务器与第一方之间的数据传输量,减少了网络带宽的占用。
基于同样的发明构思,本说明书还提供模型训练方法的另一个实施例。请参阅图6。所述模型训练方法可以应用于第二方,具体可以包括以下步骤。
步骤S51:接收随机数服务器发来的第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,第一随机数集和第二随机数集由第一方根据特定随机种子生成,所述特定随机种子为第一方与随机数服务器之间协商的随机种子。
本说明书实施例的模型训练方法,在需要联合训练模型的时候,随机数服务器可以仅传输第三随机数集和第四随机数集,以使第一方和第二方之间可以联合训练模型。因此,本说明书实施例可以减少随机数服务器与第一方之间的数据传输量,减少了网络带宽的占用。
基于同样的发明构思,本说明书还提供模型训练方法的另一个实施例。请参阅图7。所述模型训练方法可以应用于随机数服务器,具体可以包括以下步骤。
步骤S61:根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子。
步骤S63:根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;其中,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
步骤S65:向第二方发送第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,位于第一方的第一随机数集和第二随机数集由第一方根据特定随机种子生成。
本说明书实施例的模型训练方法,在需要联合训练模型的时候,随机数服务器可以仅传输第三随机数集和第四随机数集,以使第一方和第二方之间可以联合训练模型。因此,本说明书实施例可以减少随机数服务器与第一方之间的数据传输量,减少了网络带宽的占用。
请参阅图8。本说明书还提供模型训练装置的一个实施例。所述模型训练装置可以应用于第一方,具体可以包括以下单元。
生成单元71,用于根据特定随机种子生成第一随机数集和第二随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第三随机数集和第四随机数集由随机数服务器生成并发送给第二方,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
请参阅图9。本说明书还提供模型训练装置的一个实施例。所述模型训练装置可以应用于第二方,具体可以包括以下单元。
接收单元81,用于接收随机数服务器发来的第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,第一随机数集和第二随机数集由第一方根据特定随机种子生成,所述特定随机种子为第一方与随机数服务器之间协商的随机种子。
请参阅图10。本说明书还提供模型训练装置的一个实施例。所述模型训练装置可以应用于随机数服务器,具体可以包括以下单元。
第一生成单元91,用于根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子;
第二生成单元93,用于根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;其中,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件;
发送单元95,用于向第二方发送第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,位于第一方的第一随机数集和第二随机数集由第一方根据特定随机种子生成。
请参阅图11。本说明书实施例还提供一种计算设备。
所述计算设备可以包括存储器和处理器。
在本实施例中,所述存储器包括但不限于动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)和静态随机存取存储器(Static Random Access Memory,SRAM)等。所述存储器可以用于存储计算机指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以用于执行所述计算机指令以实现图5、图6、或者图7所对应的实施例。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于单侧实施的方法实施例、装置实施例、和计算设备实施例而言,由于其基本相似于模型训练方法实施例,所以描述的比较简单,相关之处参见模型训练方法实施例的部分说明即可。
另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (20)

1.一种模型训练方法,所述方法包括:
第一方根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子;
随机数服务器根据特定随机种子生成第一随机数集和第二随机数集;根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;向第二方发送第三随机数集和第四随机数集;其中,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件;
第二方接收第三随机数集和第四随机数集,以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型。
2.一种模型训练方法,应用于第一方,包括:
根据特定随机种子生成第一随机数集和第二随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第三随机数集和第四随机数集由随机数服务器生成并发送给第二方,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
3.如权利要求2所述的方法,所述特定随机种子根据如下方式获得:
生成随机种子作为特定随机种子;或者,
接收随机数服务器发来的随机种子作为特定随机种子。
4.如权利要求2所述的方法,所述预设条件包括:Z1i+Z2i=UiVi;其中,Vi表示第一随机数集中的第i个随机数,Z1i表示第二随机数集中的第i个随机数,Ui表示第三随机数集中的第i个随机数,Z2i表示第四随机数集中的第i个随机数,i为大于0的自然数。
5.如权利要求2所述的方法,第一方持有样本的标签数据和模型参数的第一分片,第二方持有样本的特征数据和模型参数的第二分片;所述联合训练模型,包括:
第一方根据标签数据、模型参数的第一分片、第一随机数集和第二随机数集,第二方根据特征数据、模型参数的第二分片、第三随机数集和第四随机数集,联合训练模型。
6.如权利要求2所述的方法,第一方持有样本的特征数据和模型参数的第一分片,第二方持有样本的标签数据和模型参数的第二分片;所述联合训练模型,包括:
第一方根据特征数据、模型参数的第一分片、第一随机数集和第二随机数集,第二方根据标签数据、模型参数的第二分片、第三随机数集和第四随机数集,联合训练模型。
7.如权利要求2、5或者6所述的方法,所述联合训练模型,包括:
采用梯度下降法或者牛顿法联合训练模型。
8.一种模型训练方法,应用于第二方,包括:
接收随机数服务器发来的第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,第一随机数集和第二随机数集由第一方根据特定随机种子生成,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
9.如权利要求8所述的方法,所述预设条件包括:Z1i+Z2i=UiVi;其中,Vi表示第一随机数集中的第i个随机数,Z1i表示第二随机数集中的第i个随机数,Ui表示第三随机数集中的第i个随机数,Z2i表示第四随机数集中的第i个随机数,i为大于0的自然数。
10.如权利要求8所述的方法,第一方持有样本的标签数据和模型参数的第一分片,第二方持有样本的特征数据和模型参数的第二分片;所述联合训练模型,包括:
第一方根据标签数据、模型参数的第一分片、第一随机数集和第二随机数集,第二方根据特征数据、模型参数的第二分片、第三随机数集和第四随机数集,联合训练模型。
11.如权利要求8所述的方法,第一方持有样本的特征数据和模型参数的第一分片,第二方持有样本的标签数据和模型参数的第二分片;所述联合训练模型,包括:
第一方根据特征数据、模型参数的第一分片、第一随机数集和第二随机数集,第二方根据标签数据、模型参数的第二分片、第三随机数集和第四随机数集,联合训练模型。
12.如权利要求8、10或者11所述的方法,所述联合训练模型,包括:
采用梯度下降法或者牛顿法联合训练模型。
13.一种模型训练方法,应用于随机数服务器,包括:
根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子;
根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;其中,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件;
向第二方发送第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,位于第一方的第一随机数集和第二随机数集由第一方根据特定随机种子生成。
14.如权利要求13所述的方法,所述特定随机种子根据如下方式获得:
生成随机种子作为特定随机种子;或者,
接收第一方发来的随机种子作为特定随机种子。
15.如权利要求13所述的方法,所述预设条件包括:Z1i+Z2i=UiVi;其中,Vi表示第一随机数集中的第i个随机数,Z1i表示第二随机数集中的第i个随机数,Ui表示第三随机数集中的第i个随机数,Z2i表示第四随机数集中的第i个随机数,i为大于0的自然数。
16.如权利要求13所述的方法,所述根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集,包括:
生成第三随机数集;根据第一随机数集、第二随机数集、第三随机数集和所述预设条件,计算第四随机数集中的随机数;或者,
生成第四随机数集;根据第一随机数集、第二随机数集、第四随机数集和所述预设条件,计算第三随机数集中的随机数。
17.一种模型训练装置,设置于第一方,包括:
生成单元,用于根据特定随机种子生成第一随机数集和第二随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第三随机数集和第四随机数集由随机数服务器生成并发送给第二方,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
18.一种模型训练装置,设置于第二方,包括:
接收单元,用于接收随机数服务器发来的第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,第一随机数集和第二随机数集由第一方根据特定随机种子生成,所述特定随机种子为第一方与随机数服务器之间协商的随机种子,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件。
19.一种模型训练装置,设置于随机数服务器,包括:
第一生成单元,用于根据特定随机种子生成第一随机数集和第二随机数集,所述特定随机种子为第一方与随机数服务器之间协商的随机种子;
第二生成单元,用于根据第一随机数集和第二随机数集生成第三随机数集和第四随机数集;其中,第一随机数集、第二随机数集、第三随机数集和第四随机数集中的随机数满足预设条件;
发送单元,用于向第二方发送第三随机数集和第四随机数集;以使第一方根据第一随机数集和第二随机数集,第二方根据第三随机数集和第四随机数集,联合训练模型;其中,位于第一方的第一随机数集和第二随机数集由第一方根据特定随机种子生成。
20.一种计算设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求2-16中任一项所述方法的指令。
CN202110189061.7A 2021-02-19 2021-02-19 模型训练方法、装置和计算设备 Active CN113011459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110189061.7A CN113011459B (zh) 2021-02-19 2021-02-19 模型训练方法、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110189061.7A CN113011459B (zh) 2021-02-19 2021-02-19 模型训练方法、装置和计算设备

Publications (2)

Publication Number Publication Date
CN113011459A true CN113011459A (zh) 2021-06-22
CN113011459B CN113011459B (zh) 2024-04-26

Family

ID=76403024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110189061.7A Active CN113011459B (zh) 2021-02-19 2021-02-19 模型训练方法、装置和计算设备

Country Status (1)

Country Link
CN (1) CN113011459B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414918A (zh) * 2007-10-17 2009-04-22 北京搜狐新媒体信息技术有限公司 一种随机数据在线生成方法、装置和系统
CN103493427A (zh) * 2011-04-22 2014-01-01 阿尔卡特朗讯公司 安全关联的发现
CN110912713A (zh) * 2019-12-20 2020-03-24 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
US20200169399A1 (en) * 2019-07-01 2020-05-28 Alibaba Group Holding Limited Data exchange method, apparatus, server, and electronic device
CN111737755A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN111967035A (zh) * 2020-10-23 2020-11-20 支付宝(杭州)信息技术有限公司 模型训练方法、装置和电子设备
CN112101531A (zh) * 2020-11-16 2020-12-18 支付宝(杭州)信息技术有限公司 基于隐私保护的神经网络模型训练方法、装置及系统
US20200401938A1 (en) * 2019-05-29 2020-12-24 The Board Of Trustees Of The Leland Stanford Junior University Machine learning based generation of ontology for structural and functional mapping
WO2021000574A1 (zh) * 2019-07-01 2021-01-07 创新先进技术有限公司 数据交互方法、装置、服务器和电子设备
CN112329072A (zh) * 2020-12-31 2021-02-05 支付宝(杭州)信息技术有限公司 一种基于安全多方计算的模型联合训练方法
US20210042640A1 (en) * 2019-08-09 2021-02-11 Advanced New Technologies Co., Ltd. Determining model parameters using secret sharing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414918A (zh) * 2007-10-17 2009-04-22 北京搜狐新媒体信息技术有限公司 一种随机数据在线生成方法、装置和系统
CN103493427A (zh) * 2011-04-22 2014-01-01 阿尔卡特朗讯公司 安全关联的发现
US20200401938A1 (en) * 2019-05-29 2020-12-24 The Board Of Trustees Of The Leland Stanford Junior University Machine learning based generation of ontology for structural and functional mapping
US20200169399A1 (en) * 2019-07-01 2020-05-28 Alibaba Group Holding Limited Data exchange method, apparatus, server, and electronic device
WO2021000574A1 (zh) * 2019-07-01 2021-01-07 创新先进技术有限公司 数据交互方法、装置、服务器和电子设备
US20210042640A1 (en) * 2019-08-09 2021-02-11 Advanced New Technologies Co., Ltd. Determining model parameters using secret sharing
CN110912713A (zh) * 2019-12-20 2020-03-24 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN111737755A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN111967035A (zh) * 2020-10-23 2020-11-20 支付宝(杭州)信息技术有限公司 模型训练方法、装置和电子设备
CN112101531A (zh) * 2020-11-16 2020-12-18 支付宝(杭州)信息技术有限公司 基于隐私保护的神经网络模型训练方法、装置及系统
CN112329072A (zh) * 2020-12-31 2021-02-05 支付宝(杭州)信息技术有限公司 一种基于安全多方计算的模型联合训练方法

Also Published As

Publication number Publication date
CN113011459B (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
CN110569227B (zh) 模型参数确定方法、装置和电子设备
CN110555315B (zh) 基于秘密分享算法的模型参数更新方法、装置和电子设备
CN110555525B (zh) 模型参数确定方法、装置和电子设备
CN110569228B (zh) 模型参数确定方法、装置和电子设备
CN111967035B (zh) 模型训练方法、装置和电子设备
CN110580410A (zh) 模型参数确定方法、装置和电子设备
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN110580409A (zh) 模型参数确定方法、装置和电子设备
CN110472439A (zh) 模型参数确定方法、装置和电子设备
CN110457936B (zh) 数据交互方法、装置和电子设备
CN113221183B (zh) 实现隐私保护的多方协同更新模型的方法、装置及系统
CN110460435B (zh) 数据交互方法、装置、服务器和电子设备
CN114186256B (zh) 神经网络模型的训练方法、装置、设备和存储介质
CN113111569A (zh) 乱序处理方法、模型训练方法、装置和计算设备
CN113722755A (zh) 实现隐私保护的数据处理系统、方法、装置和设备
CN112580085A (zh) 一种模型训练方法及装置
CN112507323A (zh) 基于单向网络的模型训练方法、装置和计算设备
CN112511361B (zh) 模型训练方法、装置和计算设备
CN113011459A (zh) 模型训练方法、装置和计算设备
CN113255928B (zh) 模型的训练方法、装置和服务器
CN115085897A (zh) 用于保护隐私的数据处理方法、装置和计算机设备
CN111460514B (zh) 数据匹配方法、装置和电子设备
CN113111254B (zh) 推荐模型的训练方法、拟合方法、装置和电子设备
CN115994369A (zh) 数据处理方法和数据处理装置
CN116011595A (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