CN114638376B - 一种复合样本场景中的多方联合模型训练方法及装置 - Google Patents

一种复合样本场景中的多方联合模型训练方法及装置 Download PDF

Info

Publication number
CN114638376B
CN114638376B CN202210302971.6A CN202210302971A CN114638376B CN 114638376 B CN114638376 B CN 114638376B CN 202210302971 A CN202210302971 A CN 202210302971A CN 114638376 B CN114638376 B CN 114638376B
Authority
CN
China
Prior art keywords
training
type
sample
devices
samples
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
CN202210302971.6A
Other languages
English (en)
Other versions
CN114638376A (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
Original Assignee
Alipay Hangzhou Information Technology 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 filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210302971.6A priority Critical patent/CN114638376B/zh
Publication of CN114638376A publication Critical patent/CN114638376A/zh
Application granted granted Critical
Publication of CN114638376B publication Critical patent/CN114638376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书实施例提供了一种复合样本场景中的多方联合模型训练方法及装置。若干个第一类设备拥有水平切分数据,若干个第二类设备拥有垂直切分数据。服务器针对任一个第一类设备,将该第一类设备和所有第二类设备中匹配的样本标识对应的样本作为一个训练单元中的样本,并确定该训练单元的样本信息,将其发送至所有第二类设备。第二类设备基于多个训练单元的样本信息,将自身的全部样本拆分成与多个训练单元分别对应的样本组。服务器从多个训练单元中确定待训练的训练单元,向该训练单元关联的设备发送训练通知。该训练单元关联的设备基于各自拥有的样本中分别属于该训练单元的样本组,对网络模型进行联合训练,训练过程保护了各方样本的隐私数据。

Description

一种复合样本场景中的多方联合模型训练方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种复合样本场景中的多方联合模型训练方法及装置。
背景技术
随着人工智能技术的发展,机器学习模型已逐渐应用于风险评估、语音识别、人脸识别和自然语言处理等领域。为实现更好的模型性能,就需要更多的训练数据。在医疗、金融等领域,不同的企业或机构拥有不同的数据样本,一旦将这些数据利用多方联合机器学习算法进行联合训练,将很大程度上提升模型精度和稳定性。
在联合训练中,多个参与方之间存在不同场景下的样本数据。例如,第三方支付公司与多家银行之间,可能拥有相同的用户群体,不同的属性特征,这属于样本的垂直切分场景;而多家银行之间,可能拥有不同的用户群体,相同的属性特征,这属于水平切分场景。然而,在实际应用场景中的样本场景往往更复杂。同时,在复杂场景下,进行多方联合模型训练的过程,需要多个参与方的设备通过相互间的数据传输完成。
因此,希望能有改进的方案,可以在复合样本场景下的多方联合训练中,能够比较高效地协调处理多个设备之间的数据传输。
发明内容
本说明书一个或多个实施例描述了一种复合样本场景中的多方联合模型训练方法及装置,以在复合样本场景下的多方联合训练中,能够比较高效地协调处理多个设备之间的数据传输。具体的技术方案如下。
第一方面,实施例提供了一种复合样本场景中的多方联合模型训练方法,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述方法包括:
所述服务器,获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备;
任意一个第二类设备,接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
所述服务器,在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元,向所述第一训练单元关联的设备发送训练通知;
所述第一训练单元关联的第一类设备和所述若干个第二类设备,接收所述服务器发送的训练通知,并基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
在一种实施方式中,所述服务器,采用以下方式确定该第一类设备和所述若干个第二类设备中匹配的样本标识:
确定该第一类设备中的样本标识与所述若干个第二类设备中的样本标识之间的共同交集;
将所述共同交集中的样本标识确定为匹配的样本标识。
在一种实施方式中,所述样本标识采用样本原始标识的哈希值表示;所述服务器,确定该训练单元的样本信息时,包括:
确定该训练单元中样本哈希值的排序;
将该训练单元中样本的哈希值及其排序,作为该训练单元的样本信息。
在一种实施方式中,所述服务器,在确定该训练单元的样本信息之后,还将该训练单元的样本信息发送至该第一类设备;
该第一类设备,还接收所述服务器发送的该训练单元的样本信息,基于该样本信息从自身拥有的部分样本中确定属于该训练单元中的样本;基于该训练单元中的样本,对所述网络模型进行联合训练。
在一种实施方式中,所述网络模型包括所述若干个第一类设备中分别拥有的模型,以及所述若干个第二类设备中分别拥有的模型;
所述第一类设备和所述若干个第二类设备,对所述网络模型进行联合训练的步骤,包括:
所述第一类设备,利用自身拥有的部分样本,确定自身拥有的模型的输出结果;
所述若干个第二类设备,分别利用各自拥有的样本中属于所述第一训练单元的样本组,确定各自拥有的模型的输出结果;
所述第一类设备和所述若干个第二类设备,基于各自模型的输出结果进行交互,确定多个输出结果的融合结果,利用所述融合结果对各自模型进行更新。
在一种实施方式中,所述网络模型还包括所述服务器拥有的模型;
所述基于各自模型的输出结果进行交互的步骤,包括:
所述服务器、所述第一类设备和所述若干个第二类设备,采用基于隐私保护的交互方式,使得所述服务器确定多个输出结果的融合结果;
所述服务器,利用所述融合结果确定自身拥有的模型的输出数据,基于所述输出数据进行模型更新。
在一种实施方式中,所述服务器,从多个训练单元中确定待训练的第一训练单元之后,还包括:
当检测到所述第一训练单元关联的设备,在所述训练通知对应的模型训练中已完成对所述网络模型的联合训练时,将多个训练单元中的下一个训练单元更新为所述第一训练单元,返回执行所述向所述第一训练单元关联的设备发送训练通知的步骤。
在一种实施方式中,在对所述网络模型进行训练之前,所述服务器还确定用于模型训练的超参数,并将所述超参数发送至所述若干个第一类设备和若干个第二类设备;其中,所述超参数包括:一个训练通知对应的模型训练过程包含的模型训练次数。
第二方面,实施例提供了一种复合样本场景中的多方联合模型训练方法,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述方法通过所述服务器执行,包括:
获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;
针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备,以使得任意一个第二类设备基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元;
向所述第一训练单元关联的设备发送训练通知,以使得所述第一训练单元关联的第一类设备和所述若干个第二类设备,基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
第三方面,实施例提供了一种复合样本场景中的多方联合模型训练方法,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述方法通过任意一个第二类设备执行,包括:
接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息;其中,与任意一个第一类设备对应的训练单元中的样本,是该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本;
基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
接收所述服务器发送的训练通知,所述训练通知是所述服务器从多个训练单元中确定待训练的第一训练单元之后发送的;
基于自身拥有的样本中属于所述第一训练单元的样本组,通过与所述第一训练单元关联的其他设备的交互,对所述网络模型进行联合训练。
第四方面,实施例提供了一种复合样本场景中的多方联合模型训练系统,所述系统包括服务器、若干个第一类设备和若干个第二类设备,网络模型通过所述系统中的设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;
所述服务器,用于获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备;
任意一个第二类设备,用于接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
所述服务器,用于在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元,向所述第一训练单元关联的设备发送训练通知;
所述第一训练单元关联的第一类设备和所述若干个第二类设备,用于接收所述服务器发送的训练通知,并基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
在一种实施方式中,所述网络模型包括所述若干个第一类设备中分别拥有的模型,以及所述若干个第二类设备中分别拥有的模型;
所述第一类设备和所述若干个第二类设备,对所述网络模型进行联合训练时,包括:
所述第一类设备,利用自身拥有的部分样本,确定自身拥有的模型的输出结果;
所述若干个第二类设备,分别利用各自拥有的样本中属于所述第一训练单元的样本组,确定各自拥有的模型的输出结果;
所述第一类设备和所述若干个第二类设备,基于各自模型的输出结果进行交互,确定多个输出结果的融合结果,利用所述融合结果对各自模型进行更新。
第五方面,实施例提供了一种复合样本场景中的多方联合模型训练装置,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述装置部署在所述服务器中,包括:
获取模块,配置为,获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;
匹配模块,配置为,针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备,以使得任意一个第二类设备基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
确定模块,配置为,在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元;
通知模块,配置为,向所述第一训练单元关联的设备发送训练通知,以使得所述第一训练单元关联的第一类设备和所述若干个第二类设备,基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
第六方面,实施例提供了一种复合样本场景中的多方联合模型训练装置,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述装置部署在任意一个第二类设备中,包括:
第一接收模块,配置为,接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息;其中,与任意一个第一类设备对应的训练单元中的样本,是该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本;
拆分模块,配置为,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
第二接收模块,配置为,接收所述服务器发送的训练通知,所述训练通知是所述服务器从多个训练单元中确定待训练的第一训练单元之后发送的;
训练模块,配置为,基于自身拥有的样本中属于所述第一训练单元的样本组,通过与所述第一训练单元关联的其他设备的交互,对所述网络模型进行联合训练。
第七方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第三方面中任一项所述的方法。
第八方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第三方面中任一项所述的方法。
本说明书实施例提供的方法及装置中,服务器基于设备中的样本标识,将第一类设备和第二类设备划分成对应的训练单元,并将该训练单元的样本信息发送至所有的第二类设备,使得第二类设备基于训练单元的样本信息,将自身的样本拆分成与多个训练单元对应的多个样本组。在对网络模型进行训练时,服务器向待训练的训练单元关联的设备发送训练通知,接收到训练通知的第一类设备和第二类设备,利用自身属于该训练单元的样本进行联合训练。在复合样本场景下,通过服务器与第一类设备和第二类设备之间的上述数据交互方式,实现了在多方联合训练中设备之间更加高效的数据传输。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为复合样本场景中的一种数据切分示意图;
图3为实施例提供的一种复合样本场景中的多方联合模型训练方法的流程示意图;
图4为本实施例中的一种训练单元划分示意图;
图5为在复合样本场景下利用拆分学习进行多方联合训练的一种示意图;
图6为实施例提供的一种复合样本场景中的多方联合模型训练系统的示意性框图;
图7为实施例提供的一种复合样本场景中的多方联合模型训练装置的示意性框图;
图8为实施例提供的另一种复合样本场景中的多方联合模型训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。其中,设备1~设备4是四个数据方设备,也是联合训练的参与方设备,其分别拥有各自的模型。其中,设备1和设备2中拥有的样本数据属于水平切分数据,设备3和设备4中拥有的样本数据属于垂直切分数据,它们共同构成了复合样本场景。通过服务器,可以根据样本将多个设备组成对应的训练单元。例如,设备1与设备3和设备4构成一个训练单元,设备2与设备3和设备4构成一个训练单元。每一个训练单元中的设备,利用各自拥有的、属于该训练单元的样本,共同进行网络模型的联合训练。不同的训练单元,可以按照设定的顺序依次进行训练,直至所有样本都参与联合训练。图1中的参与方设备的数量仅仅是一种举例,并不是对本说明书的限定。例如,样本水平切分场景中的设备可以是一个或多个,样本垂直切分场景中的设备也可以是一个或多个。以上的多方联合训练,也可以称为分布式联合训练。
下面对本说明书涉及的概念和场景进行详细说明。首先,在多方联合机器学习中,根据数据方中数据切分类型的不同可以分为两类:水平切分数据和垂直切分数据。在水平切分场景下,数据方拥有的数据特征空间相同,样本空间不同;在垂直切分场景下,数据方拥有的数据样本空间相同,特征空间不同。例如,在图1中,设备1拥有6千个用户的特征,设备2拥有另外4千个用户的特征,其特征均包含以下属性:用户注册时间、用户注册城市和用户最近一周的使用次数等等,设备1和设备2拥有的数据属于水平切分场景。设备3和设备4均拥有1万个相同用户的特征,设备3拥有的用户特征包括以下属性:购物时刻、购物种类和退换货次数等,设备4拥有的用户特征包括以下属性:借款时间、借款额度、借款期限和是否逾期等,设备3和设备4拥有的数据属于垂直切分场景。
在实际应用场景中,数据的切分类型往往更复杂,无法用单纯的垂直切分或者水平切分定义分布式数据的类型。例如,在某些联合运营场景下,银行、金融类公司、社交类公司、消费类公司进行联合建模,其中,银行之间为水平切分场景,金融类公司、社交类公司、消费类公司之间为垂直切分场景,这种数据切分类型属于复合样本场景。
图2为复合样本场景中的一种数据切分示意图。其中,假设存在n个水平切分的数据方Ai,每个数据方的数据集特征为Xi,标签为Yi;以及m个垂直切分的数据方Bj,每个数据方的数据集特征为Zj。其中,n和m为大于0的整数,i=1,2,…,n,j=1,2,…,m。数据集包含多个样本,标签为数据集中的样本标签。这种n方水平切分+m方垂直切分的复杂数据场景,可以称为复合样本场景。利用复合样本场景中的分布式数据进行多方联合训练,无疑能更好地增加样本的多样性和样本数量,这对于提高网络模型的精准度和稳定性、避免过拟合,都有重要意义。然而,在复合样本场景下的多方联合训练中,多个设备之间如何更加高效、协调地进行数据传输,提高设备之间的处理效率,是当前需要解决的技术问题。图2中显示出标签数据分布在数据方A1~An中,这仅仅是一种举例,标签数据也可以位于数据B1~Bm的任意一方中。
为了使得设备之间更高效、协调地进行数据传输,本说明书实施例提供了一种复合样本场景中的多方联合模型训练方法。其中,待训练的网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练。在该方法中,步骤S310,服务器获取若干个第一类设备和若干个第二类设备中的样本标识。步骤S320,服务器针对任意一个第一类设备,将该第一类设备和若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至若干个第二类设备。步骤S330,任意一个第二类设备,接收服务器发送的与若干个第一类设备分别对应的训练单元的样本信息,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组。步骤S340,服务器在需要对网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元,向所述第一训练单元关联的设备发送训练通知。步骤S350,第一训练单元关联的第一类设备和若干个第二类设备,接收服务器发送的训练通知,并基于第一类设备拥有的部分样本,以及若干个第二类设备中分别属于第一训练单元的样本组,对网络模型进行联合训练。
在上述实施例中,在复合样本场景下的多方联合训练中,通过服务器与第一类设备和第二类设备之间的上述数据交互方式,实现了设备之间更加高效的数据传输。
其中,上述网络模型可以是业务预测模型,用于对对象进行业务预测,其可以采用深度神经网络(Deep Neural Networks,DNN)、卷积神经网络(Convolutional NeuralNetworks,CNN)、循环神经网络(Recurrent Neural Network,RNN)或图神经网络(GraphNeural Networks,GNN)等实现。
本说明书中提及的参与多方联合训练的设备,包括第一类设备和第二类设备,是数据方的设备,该设备可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。不同的数据方对应于不同的服务平台(例如公司或机构)。不同的数据方利用其拥有的设备与其他数据方的设备进行数据传输,完成网络模型的联合训练。数据方中拥有的样本数据,可以是对象的业务数据。例如,对象可以但不限于是用户、商品、交易、事件中的一种。对象的业务数据可以包括对象特征数据,例如可以但不限于包括以下特征组中的至少一个:对象的基本属性特征、对象的历史行为特征、对象的关联关系特征、对象的交互特征、对象的身体指标。多个数据方的样本数据构成整个样本数据空间。样本数据是数据方的隐私数据,不能明文向外部发送,明文只能保存在本地。因此,本说明书实施例提供的模型训练方法,要考虑对数据方的隐私保护。下面结合图3对本说明书实施例进行详细说明。
图3为实施例提供的一种复合样本场景中的多方联合模型训练方法的流程示意图。其中,待训练的网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,若干个包括一个或多个。为了使得描述更简洁、清楚,在后续的说明中,以两个第一类设备A1和A2,以及两个第二类设备B1和B2联合训练网络模型为例进行说明。
其中,任意一个第一类设备拥有部分样本的第一部分属性特征,若干个第一类设备中拥有的样本数据属于水平切分数据。例如,设备A1拥有K1个样本,设备A2拥有K2个样本,K1+K2=N,N为全部样本的数量,并且设备A1和设备A2中样本数据的属性特征相同,均是第一部分属性特征。第一部分属性特征包括一个或多个属性以及对应的特征值。
任意一个第二类设备拥有全部样本的第二部分属性特征。例如,全部样本是上述的N个样本,第二部分属性特征包括一个或多个属性以及对应的特征值。一般来说,第二部分属性特征包含的属性与第一部分属性特征中包含的属性不同。多个第二类设备中样本数据之间可以包含不同的属性。例如,设备B1拥有N个样本的一部分属性的特征值,设备B2拥有N个样本的另一部分属性的特征值。上述若干个第二类设备中拥有的样本数据属于垂直切分数据。若干个第一类设备拥有的样本数据与若干个第二类设备拥有的数据构成复合样本数据,属于复合样本场景。
上述服务器可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。服务器在本方法实施例中实现的逻辑功能,可以由第三方设备实现,也可以由第一类设备或第二类设备中的任意设备来实现。本方法实施例包括以下步骤S310~S350。
步骤S310,服务器获取若干个第一类设备和若干个第二类设备中的样本标识。例如,服务器获取设备A1、A2、B1和B2中的样本标识。
步骤S320,服务器针对任意一个第一类设备,将该第一类设备和若干个第二类设备(也就是所有第二类设备)中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本。服务器确定该训练单元的样本信息,并将该训练单元的样本信息发送至若干个第二类设备。任意一个第二类设备,接收服务器发送的与若干个第一类设备分别对应的训练单元的样本信息。
其中,为了保护样本数据的隐私,各个设备可以将样本原始标识的哈希值发送至服务器,也就是说,上述样本标识是样本原始标识的哈希值。样本原始标识用于标识对应的样本数据,样本原始标识中包含隐私信息。对样本原始标识取哈希值,该哈希值也能够标识对应的样本数据,并且能够保护样本原始标识中的隐私信息不被泄露。
服务器针对任意一个第一类设备A1,可以将该第一类设备A1的样本标识和所有第二类设备中的样本标识进行匹配,得到匹配的样本标识,将匹配的样本标识对应的样本作为与该第一类设备A1对应的训练单元中的样本。其中,样本标识可以是哈希值。服务器针对每个第一类设备,均进行上述操作,确定每个第一类设备对应的训练单元及其中的样本。
例如,在确定该第一类设备A1和所有第二类设备中匹配的样本标识时,可以确定该第一类设备A1中的样本标识与所有第二类设备中的样本标识之间的共同交集,将该共同交集中的样本标识确定为匹配的样本标识。
图4为本实施例中的一种训练单元划分示意图。假设数据方A1中拥有样本1~样本K1的样本数据,数据方A2拥有样本K2~样本N的样本数据,数据方B1和B2分别拥有样本1~样本N的样本数据。其中,样本1~样本N分别是N条样本数据的样本标识。数据方A1、A2、B1和B2分别对应设备A1、A2、B1和B2。
将设备A1中的样本标识与设备B1和设备B2中样本标识进行匹配,得到匹配的样本标识(即样本1~样本K1),匹配的样本标识对应的样本就是训练单元1中的样本。
将设备A2中的样本标识与设备B1和设备B2中样本标识进行匹配,得到匹配的样本标识(即样本K2~样本N),匹配的样本标识对应的样本就是训练单元2中的样本。
每个设备(包括若干个第一类设备和若干个第二类设备)的样本标识可以分别作为一个集合,服务器可以利用隐私保护集合求交算法(Private Set Intersection,PSI),确定任意一个第一类设备A1中的样本标识与所有第二类设备中的样本标识之间的共同交集,从而得到匹配的样本标识。
服务器可以记录第一类设备、训练单元以及训练单元包含的样本标识之间的对应关系。一个第一类设备对应一个训练单元,当存在n个第一类设备时,可以得到n个训练单元。这样,服务器将每个第二类设备中的样本数据,按照第一类设备中的样本标识分成了多个样本组。
上述样本标识可以包括多种实施方式,其可以是样本原始标识的哈希值,也可以是将哈希值对应地采用简单的编号或者序号代替,这些都是可行的方式。
训练单元的样本信息,用于标识该训练单元中的样本,包含该训练单元中有哪些样本以及样本的顺序等信息。服务器在确定该训练单元的样本信息时,可以确定该训练单元中样本哈希值的排序,将该训练单元中样本的哈希值及其排序,作为该训练单元的样本信息。服务器可以采用任意方式确定训练单元中样本哈希值的排序。针对n个训练单元,服务器可以分别确定n个训练单元中样本的哈希值及其排序,分别作为n个训练单元的样本信息。
在一种实施方式中,服务器可以确定训练单元中样本的样本标识分别对应的编号,确定训练单元中样本编号的排序,将训练单元的编号及其排序作为该训练单元的样本信息。在本实施方式中,服务器还可以将哈希值与编号的对应关系发送至对应的设备,即该训练单元关联的第一类设备和所有第二类设备。
在一种实施方式中,服务器在确定该训练单元的样本信息之后,还可以将该训练单元的样本信息发送至对应的第一类设备。例如,服务器可以将图4中训练单元1的样本信息发送至设备A1、设备B1和设备B2。
第一类设备,接收服务器发送的训练单元的样本信息,基于该样本信息从自身拥有的部分样本中确定属于该训练单元中的样本。在这种实施方式中,当第一类设备中包含有一些样本,这些样本在第二类设备中不存在时,第一类设备可以基于训练单元的样本信息去除这些非公有的样本。当样本信息中包含样本的哈希值的排序时,第一类设备可以基于哈希值和排序,对自身拥有的部分样本进行排序,从而将第一类设备与所有第二类设备中属于该训练单元的样本进行对齐。
步骤S330,任意一个第二类设备,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组。当第一类设备有n个时,任意一个第二类设备B1可以接收到n个训练单元的样本信息。设备B1可以基于n个训练单元的样本信息,将自身拥有的全部N个样本拆分成n个样本组。
例如,在图4中,设备B1接收到2个训练单元的样本信息之后,可以基于样本信息,将N个样本拆分成两个样本组,一个是训练单元1的样本组,一个是训练单元2的样本组。
当样本信息中包含排序时,第二类设备还基于该排序对每个样本组中的样本进行排序,以实现与第一类设备中的样本对齐。
在一种实施方式中,第一类设备和第二类设备中的样本预先按照预设规则进行了排序。当第二类设备接收到服务器发送的样本信息时,直接基于样本信息中包含的样本的哈希值或者编号,对自身拥有的全部样本进行拆分即可。
步骤S340,服务器在需要对网络模型进行训练时,从多个训练单元Pi中确定待训练的第一训练单元P1,向第一训练单元P1关联的设备发送训练通知。第一训练单元P1关联的第一类设备和若干个第二类设备,接收服务器发送的训练通知。与第一训练单元P1关联的设备,包括与第一训练单元P1对应的第一类设备,以及所有的第二类设备。第一训练单元P1可以理解为当前正在执行的训练单元。
在对网络模型进行训练之前,服务器还可以实施对网络模型的搭建以及初始化,并与各个设备同步相关的超参数。服务器建立联合训练模型,即第一类设备和第二类设备中的每一个设备均拥有本地模型,也就是网络模型包括若干个第一类设备中分别拥有的模型M_Ai(i=1,2,…,n),以及若干个第二类设备中分别拥有的模型M_Bj(j=1,2,…,m)。服务器对所有的模型进行初始化,并将初始化的模型发送至对应的设备。
在所有的训练单元Pi(i=1,2,…,n)中,任意一个训练单元Pi包括一个第一类设备及其中的样本,以及所有第二类设备及其中属于该训练单元Pi的样本组。
对于所有的训练单元Pi来说,第一类设备拥有的模型M_Ai的网络结构相同,不同训练单元Pi中的模型M_Bj共用相同的模型参数和网络结构。
本实施例中,模型的搭建,与选择的多方联合训练的方式相关。多方联合训练可以采用联邦学习或者拆分学习的方式进行。在联邦学习方式中,第一类设备和第二类设备在服务器的协助下进行联合训练,服务器中不设置模型。在拆分学习方式中,第一类设备和第二类设备拥有整个网络模型的前几层,服务器拥有网络模型的剩余层模型,第一类设备、第二设备和服务器共同训练网络模型。
在对网络模型进行训练之前,服务器还可以确定用于模型训练的超参数,并将该超参数发送至若干个第一类设备和若干个第二类设备。其中,超参数可以包括一批样本的数量。一批样本对应于一次模型训练,对网络模型更新一次。
服务器可以在确定第二类设备完成对样本的拆分之后,再向第一训练单元P1关联的设备发送训练通知。例如,服务器可以在接收到若干个第二类设备反馈的样本已拆分完成的通知消息时发送训练通知。也就是说,本实施例对步骤S340和步骤S330的执行顺序并不进行限定,两者可先可后或同时。
在需要对网络模型进行训练时,服务器可以按照预设的训练顺序,从多个训练单元Pi中确定待训练的第一训练单元P1。在进行网络模型训练时,可以按照预设的训练顺序,先对一个训练单元中的样本全部训练完成之后,再对下一个训练单元中的样本进行训练;也可以先对一个训练单元中的部分样本训练完成之后,再对下一个训练单元中的部分样本进行训练。
在一种实施方式中,可以通过超参数来约定每次对训练单元中的多少样本进行训练。例如,超参数还可以包括:一个训练通知对应的模型训练过程包含的模型训练次数。在约定了一批样本的数量之后,一批样本就对应于一次模型训练,即对网络模型更新一次。因此,当约定一个训练通知对应的模型训练次数t之后,第一类设备和第二类设备能够确定在接收到训练通知之后,将t个批次的样本输入模型进行训练。
技术人员可以通过人工方式控制模型训练开始,技术人员可以触发开始训练的指令。服务器在接收到开始训练的指令时,从多个训练单元中确定待训练的第一训练单元P1。
步骤S350,第一训练单元P1关联的第一类设备(后续以设备A1为例)和所有第二类设备,在接收到训练通知之后,基于第一类设备A1拥有的部分样本,以及所有第二类设备中分别属于第一训练单元P1的样本组,对网络模型进行联合训练。
其中,该第一类设备A1可以基于自身拥有的样本中属于该训练单元的样本,对网络模型进行联合训练。
在接收到训练通知之后,第一类设备A1和所有第二类设备可以利用超参数的约定,从自身的属于第一训练单元P1的样本中读取一定数量的样本进行联合训练,完成本次训练通知对应的模型训练过程。
服务器在检测到第一训练单元P1关联的设备,在该训练通知对应的模型训练中已完成对网络模型的联合训练时,可以将多个训练单元Pi中的下一个训练单元更新为第一训练单元P1,返回执行向第一训练单元关联的设备发送训练通知的步骤。服务器可以循环发送训练通知。该训练通知中可以携带该训练通知的标识序号。服务器可以按照预设的训练顺序,从多个训练单元Pi中确定下一个训练单元。
因此,第一类设备和第二类设备可以接收到多个训练通知,在接收到训练通知时,各个设备可以基于训练通知携带的标识序号对训练通知进行区分。
下面采用一个例子说明与训练通知相关的循环执行过程。假设,超参数中约定,一个训练通知对应的模型训练次数t为2,一批样本的数量为10个。在图4所示的例子中,当前待训练的训练单元是训练单元1,那么服务器会将训练通知发送至设备A1、设备B1和设备B2。设备A1、设备B1和设备B2,分别从自身的、属于训练单元1的样本中读取一批样本(例如样本1~样本10),对网络模型进行一次联合训练;接着,再读取一批样本(样本11~样本20),对网络模型进行另一次联合训练。之后,设备A1、设备B1和设备B2可以向服务器发送用于标识本训练通知对应的训练过程训练完成的通知,服务器在接收到该通知之后,确定训练单元1关联的设备已完成对网络模型的联合训练。
接着,服务器将训练单元2确定为当前待训练的训练单元,向设备A2、设备B1和设备B2发送训练通知。设备A2、设备B1和设备B2,分别从自身的、属于训练单元2的样本中读取一批样本(例如样本5000~样本5010),对网络模型进行一次联合训练;接着,再读取一批样本(样本5011~样本5020),对网络模型进行另一次联合训练。服务器基于同样的方法确定本次训练完成。
之后,服务器确定训练单元1为当前待训练的训练单元,向设备A1、设备B1和设备B2发送训练通知。设备A1、设备B1和设备B2,分别从自身的、属于训练单元1的样本中读取一批样本(例如样本21~样本30),对网络模型进行一次联合训练;接着,再读取一批样本(样本31~样本40),对网络模型进行另一次联合训练。各个设备按照上述方法依次循环执行,直至训练结束。
服务器可以判断训练过程是否满足结束条件,当训练过程满足训练的结束条件时,结束训练。结束条件可以包括模型训练次数达到预设次数阈值,或者,预测损失小于预设损失阈值。
服务器检测第一训练单元P1关联的设备,在相关的训练通知对应的模型训练中是否已完成对网络模型的联合训练的步骤,在具体实施时可以包含多种实施方式,包括在接收到第一类设备或第二类设备反馈的用于标识训练通知对应的训练过程训练完成的通知时(上述例子中提到),或者在检测到服务器执行了指定操作时(下文会继续介绍),能确定第一训练单元P1关联的设备,在训练通知对应的模型训练中已完成对网络模型的联合训练。当本实施例的多方联合训练的过程采用联邦学习方式,或采用拆分学习方式时,上述检测的步骤也存在对应的不同实施方式。
下面以第一训练单元P1为例,说明在该第一训练单元P1中第一类设备和第二类设备在接收到训练通知之后进行联合训练的过程,即步骤S350中的联合训练过程包括以下步骤1~3。
步骤1,第一类设备A1,利用自身拥有的部分样本,确定自身拥有的模型的输出结果。第一类设备A1可以将自身拥有的属于第一训练单元P1的样本中的一批样本,输入自身拥有的模型中,得到模型的输出结果。一批样本中的若干个样本,一一输入模型中,得到对应的输出结果。
步骤2,若干个第二类设备,也就是所有第二类设备,分别利用各自拥有的样本中属于第一训练单元P1的样本组,确定各自拥有的模型的输出结果。任意一个第二类设备B1,将自身的属于第一训练单元P1的样本组中的一批样本,输入自身拥有的模型中,得到模型的输出结果。
步骤3,第一类设备A1和所有第二类设备,基于各自模型的输出结果进行交互,确定多个输出结果的融合结果,利用融合结果对各自模型进行更新。
在基于各自模型的输出结果进行交互时,可以采用基于隐私保护的交互方式进行,尽可能保护输出结果中的隐私数据不被泄露。
上述步骤3的具体执行过程可以包括多种实施方式。在联邦学习方式中,上述各个模型的输出结果可以是样本的梯度。第一类设备A1和所有第二类设备,可以采用差分隐私或秘密分享的方式与服务器进行交互,使得服务器得到对各个设备的梯度进行融合后的融合梯度。服务器将融合梯度分别发送至第一类设备A1和所有第二类设备。第一类设备A1和所有第二类设备,在接收到服务器发送的融合梯度之后,分别利用该融合梯度对各自的模型进行更新。
服务器可以在发送融合梯度之后,确定第一训练单元P1关联的设备已完成本训练通知对应的网络模型的联合训练。
在拆分学习方式中,网络模型被拆分成数据方的模型和服务器拥有的模型,数据方拥有网络模型的特征提取层中的前预设数量个计算层,服务器拥有剩余计算层。其中,第一类设备A1和若干个第二类设备分别确定的输出结果,是特征提取层的中间结果。
在实施步骤3时,服务器、第一类设备和若干个第二类设备,采用基于隐私保护的交互方式,使得服务器确定多个输出结果的融合结果。接着,服务器利用该融合结果确定自身拥有的模型的输出数据,基于该输出数据进行模型更新。
上述融合结果是对第一类设备和第二类设备提取特征时的中间结果的融合。服务器可以直接将该融合结果输入自身模型中,得到输出数据;也可以对该融合结果进行预设处理后输入自身模型。
服务器确定的输出数据可以是提取特征时的中间结果,也可以是标签预测值。当输出数据是提取特征时的中间结果时,服务器还可以将该中间结果发送至标签方设备,标签方设备可以是第一类设备或者第二类设备。标签方设备利用该中间结果,采用自身的模型确定标签预测值。当输出数据是标签预测值时,服务器可以直接将该标签预测值发送至标签方设备。
标签方设备可以利用标签预测值和样本标签值确定预测损失,基于预测损失确定用于更新模型的梯度,并将该梯度发送至服务器。服务器基于该梯度对自身模型进行更新。该梯度也可以发送至第一类设备和第二类设备,用于对这些设备中的模型进行更新。
服务器可以在对自身模型进行更新之后,确定第一训练单元P1关联的设备已完成本训练通知对应的网络模型的联合训练,从而可以将多个训练单元中的下一个训练单元更新为第一训练单元P1,执行后续循环流程。
下面结合图5再对本实施例进行说明。图5为在复合样本场景下利用拆分学习进行多方联合训练的一种示意图。其中,在训练单元Pi中,设备Ai读取数据集Data_Ai中一个batch(分批)的数据,batch大小为n_i,进行模型M_Ai的前向传播,得到M_Ai的输出层结果HL_Ai,也是隐层结果。其中,数据集Data_Ai属于训练单元Pi。
相对应的,所有设备Bj(j=1,2,…,m)选择与训练单元Pi对应的数据集Data_Bj中的n_i个数据,进行模型M_Bj的前向传播,得到M_Bj的输出层结果HL_Bj,也是隐层结果。
设备Ai和所有设备Bj(j=1,2,…,m)将隐层结果HL_Ai和HL_Bj(j=1,2,…,m)利用差分隐私或者秘密分享等方式进行加密,上传至服务器中。
服务器将收集到的隐层结果进行融合,作为模型M_S的输入进行前向传播,得到样本标签的预测值yipred。HL_Server是融合之后的隐层结果。服务器将yipred传输给拥有标签(label)的设备Ai,结合真实的标签Label_Ai计算损失函数,设备将损失函数相对于预测值的梯度传输给服务器。服务器可以利用链索规则得到模型梯度,进行模型的后向传播,依次更新服务器模型M_S,数据方设备的模型M_Ai和M_Bj(j=1,2,…,m)。
当设备采用差分隐私方式将隐层结果加密后上传至服务器时,服务器可以采用拼接(concate)、求和、均值(meanpooling)或者矩阵元素求最值(maxpooling)等方式对隐层结果进行融合。当设备采用秘密分享方式将隐层结果加密后上传至服务器时,服务器可以采用求和或者均值的方式对多个隐层结果进行融合。
拥有标签的设备也可以是设备Bm中的任意一个,并不限定是设备Ai。图5中上部分、左部分和右部分分别代表3个训练单元。左部分代表设备A1所在的训练单元,右部分代表设备A2所在的训练单元,上部分代表设备An所在的训练单元。
在本说明书的上述实施例中,每个第一类设备的模型分布在每个训练单元中,每个训练单元中包含所有第二类设备的模型。对各个训练单元中第一类设备的模型进行的训练,可以保持若干个第一类设备中模型之间的个性化。同时,每个训练单元中都包含所有第二类设备的模型,这部分模型作为中介,促成了不同训练单元中不同第一类设备的模型之间的融合,也融合了第一类设备中拥有的特征,因此使得联合训练后的模型效果更好。
本说明书中,第一类设备、第一部分属性特征、第一训练单元等词语中的“第一”,以及文中相应的“第二”,仅仅是为了区分和描述方便,而不具有任何限定意义。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图6为实施例提供的一种复合样本场景中的多方联合模型训练系统的示意性框图。该系统600包括服务器610、若干个第一类设备620和若干个第二类设备630,网络模型通过该系统600中的设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征。该系统实施例与图3所示方法实施例相对应。
服务器610,用于获取所述若干个第一类设备620和所述若干个第二类设备630中的样本标识;针对任意一个第一类设备620,将该第一类设备620和所述若干个第二类设备630中匹配的样本标识对应的样本,作为与该第一类设备620对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备630;
任意一个第二类设备630,用于接收所述服务器610发送的与所述若干个第一类设备620分别对应的训练单元的样本信息,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
所述服务器610,用于在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元,向所述第一训练单元关联的设备发送训练通知;
所述第一训练单元关联的第一类设备620和所述若干个第二类设备630,用于接收所述服务器610发送的训练通知,并基于所述第一类设备620拥有的部分样本,以及所述若干个第二类设备630中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
在一种实施方式中,所述服务器610,还用于采用以下操作确定该第一类设备620和所述若干个第二类设备630中匹配的样本标识:
确定该第一类设备620中的样本标识与所述若干个第二类设备630中的样本标识之间的共同交集;
将所述共同交集中的样本标识确定为匹配的样本标识。
在一种实施方式中,所述样本标识采用样本原始标识的哈希值表示;所述服务器610,确定该训练单元的样本信息时,包括:
确定该训练单元中样本哈希值的排序;
将该训练单元中样本的哈希值及其排序,作为该训练单元的样本信息。
在一种实施方式中,所述服务器610,还用于在确定该训练单元的样本信息之后,将该训练单元的样本信息发送至该第一类设备620;
该第一类设备620,还用于接收所述服务器610发送的该训练单元的样本信息,基于该样本信息从自身拥有的部分样本中确定属于该训练单元中的样本;基于该训练单元中的样本,对所述网络模型进行联合训练。
在一种实施方式中,所述网络模型包括所述若干个第一类设备620中分别拥有的模型,以及所述若干个第二类设备630中分别拥有的模型;
所述第一类设备620和所述若干个第二类设备630,对所述网络模型进行联合训练时,包括:
所述第一类设备620,利用自身拥有的部分样本,确定自身拥有的模型的输出结果;
所述若干个第二类设备630,分别利用各自拥有的样本中属于所述第一训练单元的样本组,确定各自拥有的模型的输出结果;
所述第一类设备620和所述若干个第二类设备630,基于各自模型的输出结果进行交互,确定多个输出结果的融合结果,利用所述融合结果对各自模型进行更新。
在一种实施方式中,所述网络模型还包括所述服务器610拥有的模型;
所述服务器610、所述第一类设备620和所述若干个第二类设备630,具有用于采用基于隐私保护的交互方式,使得所述服务器610确定多个输出结果的融合结果;
所述服务器610,具体用于利用所述融合结果确定自身拥有的模型的输出数据,基于所述输出数据进行模型更新。
在一种实施方式中,所述服务器610还用于:
在从多个训练单元中确定待训练的第一训练单元之后,当检测到所述第一训练单元关联的设备,在所述训练通知对应的模型训练中已完成对所述网络模型的联合训练时,将多个训练单元中的下一个训练单元更新为所述第一训练单元,返回执行所述向所述第一训练单元关联的设备发送训练通知。
在一种实施方式中,所述服务器610还用于:
在对所述网络模型进行训练之前,确定用于模型训练的超参数,并将所述超参数发送至所述若干个第一类设备620和若干个第二类设备630;其中,所述超参数包括:一个训练通知对应的模型训练过程包含的模型训练次数。
上述系统实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。系统实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
图7为实施例提供的一种复合样本场景中的多方联合模型训练装置的示意性框图。其中,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征。该装置实施例与图3所示方法实施例中服务器执行的方法部分相对应。该装置700部署在所述服务器中,包括:
获取模块710,配置为,获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;
匹配模块720,配置为,针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备,以使得任意一个第二类设备基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
确定模块730,配置为,在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元;
通知模块740,配置为,向所述第一训练单元关联的设备发送训练通知,以使得所述第一训练单元关联的第一类设备和所述若干个第二类设备,基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
在一种实施方式中,所述匹配模块720,还采用以下操作确定该第一类设备和所述若干个第二类设备中匹配的样本标识:
确定该第一类设备中的样本标识与所述若干个第二类设备中的样本标识之间的共同交集;
将所述共同交集中的样本标识确定为匹配的样本标识。
在一种实施方式中,所述样本标识采用样本原始标识的哈希值表示;所述匹配模块720,确定该训练单元的样本信息时,包括:
确定该训练单元中样本哈希值的排序;
将该训练单元中样本的哈希值及其排序,作为该训练单元的样本信息。
在一种实施方式中,所述装置还包括:
发送模块(图中未示出),配置为,在确定该训练单元的样本信息之后,将该训练单元的样本信息发送至该第一类设备,以使得该第一类设备基于该样本信息从自身拥有的部分样本中确定属于该训练单元中的样本,并基于该训练单元中的样本,对所述网络模型进行联合训练。
在一种实施方式中,所述网络模型包括所述若干个第一类设备中分别拥有的模型,以及所述若干个第二类设备中分别拥有的模型;所述网络模型还包括所述服务器拥有的模型;
所述装置还包括:
交互模块(图中未示出),配置为,在发送训练通知之后,与所述第一训练单元关联的设备采用基于隐私保护的交互方式,确定多个输出结果的融合结果,利用所述融合结果确定自身拥有的模型的输出数据,基于所述输出数据进行模型更新;其中,所述多个输出结果是所述第一训练单元关联的设备,分别利用属于所述第一训练单元的样本组和自身的模型确定的。
在一种实施方式中,所述装置还包括:
更新模块(图中未示出),配置为,从多个训练单元中确定待训练的第一训练单元之后,当检测到所述第一训练单元关联的设备,在所述训练通知对应的模型训练中已完成对所述网络模型的联合训练时,将多个训练单元中的下一个训练单元更新为所述第一训练单元,返回执行所述向所述第一训练单元关联的设备发送训练通知。
在一种实施方式中,所述装置还包括:
超参模块(图中未示出),配置为,在对所述网络模型进行训练之前,确定用于模型训练的超参数,并将所述超参数发送至所述若干个第一类设备和若干个第二类设备;其中,所述超参数包括:一个训练通知对应的模型训练过程包含的模型训练次数。
图8为实施例提供的另一种复合样本场景中的多方联合模型训练装置的示意性框图。其中,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征。该装置实施例与图3所示方法实施例中第二类设备执行的方法部分相对应。该装置800部署在任意一个第二类设备中,包括:
第一接收模块810,配置为,接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息;其中,与任意一个第一类设备对应的训练单元中的样本,是该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本;
拆分模块820,配置为,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
第二接收模块830,配置为,接收所述服务器发送的训练通知,所述训练通知是所述服务器从多个训练单元中确定待训练的第一训练单元之后发送的;
训练模块840,配置为,基于自身拥有的样本中属于所述第一训练单元的样本组,通过与所述第一训练单元关联的其他设备的交互,对所述网络模型进行联合训练。
在一种实施方式中,所述网络模型包括所述若干个第一类设备中分别拥有的模型,以及所述若干个第二类设备中分别拥有的模型;
所述训练模块840,对所述网络模型进行联合训练时,包括:
利用自身拥有的样本中属于所述第一训练单元的样本组,确定自身模型的输出结果;
基于所述输出结果,通过与所述第一训练单元关联的其他设备的交互,对所述网络模型进行联合训练。
在一种实施方式中,所述网络模型还包括所述服务器拥有的模型;
所述训练模块840,基于所述输出结果,通过与所述第一训练单元关联的其他设备的交互,对所述网络模型进行联合训练时,包括:
基于所述输出结果,通过与所述服务器、所述第一训练单元关联的其他设备之间进行的基于隐私保护的交互,使得所述服务器确定多个输出结果的融合结果,并利用所述融合结果确定自身模型的输出数据,基于所述输出数据进行模型更新。
在一种实施方式中,该装置800还包括:
第三接收模块(图中未示出),配置为,在接收所述服务器发送的训练通知之前,接收所述服务器发送的用于模型训练的超参数;所述超参数包括:一个训练通知对应的模型训练过程包含的模型训练次数。
上述各个装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图5任一项所述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图5任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (16)

1.一种复合样本场景中的多方联合模型训练方法,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述方法包括:
所述服务器,获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备;
任意一个第二类设备,接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
所述服务器,在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元,向所述第一训练单元关联的设备发送训练通知;
所述第一训练单元关联的第一类设备和所述若干个第二类设备,接收所述服务器发送的训练通知,并基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
2.根据权利要求1所述的方法,所述服务器,采用以下方式确定该第一类设备和所述若干个第二类设备中匹配的样本标识:
确定该第一类设备中的样本标识与所述若干个第二类设备中的样本标识之间的共同交集;
将所述共同交集中的样本标识确定为匹配的样本标识。
3.根据权利要求1所述的方法,所述样本标识采用样本原始标识的哈希值表示;所述服务器,确定该训练单元的样本信息时,包括:
确定该训练单元中样本哈希值的排序;
将该训练单元中样本的哈希值及其排序,作为该训练单元的样本信息。
4.根据权利要求1所述的方法,其中,所述服务器,在确定该训练单元的样本信息之后,还将该训练单元的样本信息发送至该第一类设备;
该第一类设备,还接收所述服务器发送的该训练单元的样本信息,基于该样本信息从自身拥有的部分样本中确定属于该训练单元中的样本;基于该训练单元中的样本,对所述网络模型进行联合训练。
5.根据权利要求1所述的方法,所述网络模型包括所述若干个第一类设备中分别拥有的模型,以及所述若干个第二类设备中分别拥有的模型;
所述第一类设备和所述若干个第二类设备,对所述网络模型进行联合训练的步骤,包括:
所述第一类设备,利用自身拥有的部分样本,确定自身拥有的模型的输出结果;
所述若干个第二类设备,分别利用各自拥有的样本中属于所述第一训练单元的样本组,确定各自拥有的模型的输出结果;
所述第一类设备和所述若干个第二类设备,基于各自模型的输出结果进行交互,确定多个输出结果的融合结果,利用所述融合结果对各自模型进行更新。
6.根据权利要求5所述的方法,所述网络模型还包括所述服务器拥有的模型;
所述基于各自模型的输出结果进行交互的步骤,包括:
所述服务器、所述第一类设备和所述若干个第二类设备,采用基于隐私保护的交互方式,使得所述服务器确定多个输出结果的融合结果;
所述服务器,利用所述融合结果确定自身拥有的模型的输出数据,基于所述输出数据进行模型更新。
7.根据权利要求1所述的方法,所述服务器,从多个训练单元中确定待训练的第一训练单元之后,还包括:
当检测到所述第一训练单元关联的设备,在所述训练通知对应的模型训练中已完成对所述网络模型的联合训练时,将多个训练单元中的下一个训练单元更新为所述第一训练单元,返回执行所述向所述第一训练单元关联的设备发送训练通知的步骤。
8.根据权利要求7所述的方法,在对所述网络模型进行训练之前,所述服务器还确定用于模型训练的超参数,并将所述超参数发送至所述若干个第一类设备和若干个第二类设备;其中,所述超参数包括:一个训练通知对应的模型训练过程包含的模型训练次数。
9.一种复合样本场景中的多方联合模型训练方法,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述方法通过所述服务器执行,包括:
获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;
针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备,以使得任意一个第二类设备基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元;
向所述第一训练单元关联的设备发送训练通知,以使得所述第一训练单元关联的第一类设备和所述若干个第二类设备,基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
10.一种复合样本场景中的多方联合模型训练方法,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述方法通过任意一个第二类设备执行,包括:
接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息;其中,与任意一个第一类设备对应的训练单元中的样本,是该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本;
基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
接收所述服务器发送的训练通知,所述训练通知是所述服务器从多个训练单元中确定待训练的第一训练单元之后发送的;
基于自身拥有的样本中属于所述第一训练单元的样本组,通过与所述第一训练单元关联的其他设备的交互,对所述网络模型进行联合训练。
11.一种复合样本场景中的多方联合模型训练系统,所述系统包括服务器、若干个第一类设备和若干个第二类设备,网络模型通过所述系统中的设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;
所述服务器,用于获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备;
任意一个第二类设备,用于接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
所述服务器,用于在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元,向所述第一训练单元关联的设备发送训练通知;
所述第一训练单元关联的第一类设备和所述若干个第二类设备,用于接收所述服务器发送的训练通知,并基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
12.根据权利要求11所述的系统,所述网络模型包括所述若干个第一类设备中分别拥有的模型,以及所述若干个第二类设备中分别拥有的模型;
所述第一类设备和所述若干个第二类设备,对所述网络模型进行联合训练时,包括:
所述第一类设备,利用自身拥有的部分样本,确定自身拥有的模型的输出结果;
所述若干个第二类设备,分别利用各自拥有的样本中属于所述第一训练单元的样本组,确定各自拥有的模型的输出结果;
所述第一类设备和所述若干个第二类设备,基于各自模型的输出结果进行交互,确定多个输出结果的融合结果,利用所述融合结果对各自模型进行更新。
13.一种复合样本场景中的多方联合模型训练装置,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述装置部署在所述服务器中,包括:
获取模块,配置为,获取所述若干个第一类设备和所述若干个第二类设备中的样本标识;
匹配模块,配置为,针对任意一个第一类设备,将该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本,作为与该第一类设备对应的训练单元中的样本;确定该训练单元的样本信息,并将其发送至所述若干个第二类设备,以使得任意一个第二类设备基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
确定模块,配置为,在需要对所述网络模型进行训练时,从多个训练单元中确定待训练的第一训练单元;
通知模块,配置为,向所述第一训练单元关联的设备发送训练通知,以使得所述第一训练单元关联的第一类设备和所述若干个第二类设备,基于所述第一类设备拥有的部分样本,以及所述若干个第二类设备中分别属于所述第一训练单元的样本组,对所述网络模型进行联合训练。
14.一种复合样本场景中的多方联合模型训练装置,网络模型通过服务器、若干个第一类设备和若干个第二类设备进行联合训练,任意一个第一类设备拥有部分样本的第一部分属性特征,任意一个第二类设备拥有全部样本的第二部分属性特征;所述装置部署在任意一个第二类设备中,包括:
第一接收模块,配置为,接收所述服务器发送的与所述若干个第一类设备分别对应的训练单元的样本信息;其中,与任意一个第一类设备对应的训练单元中的样本,是该第一类设备和所述若干个第二类设备中匹配的样本标识对应的样本;
拆分模块,配置为,基于多个样本信息,将自身拥有的全部样本拆分成与多个训练单元分别对应的样本组;
第二接收模块,配置为,接收所述服务器发送的训练通知,所述训练通知是所述服务器从多个训练单元中确定待训练的第一训练单元之后发送的;
训练模块,配置为,基于自身拥有的样本中属于所述第一训练单元的样本组,通过与所述第一训练单元关联的其他设备的交互,对所述网络模型进行联合训练。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项所述的方法。
16.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
CN202210302971.6A 2022-03-25 2022-03-25 一种复合样本场景中的多方联合模型训练方法及装置 Active CN114638376B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210302971.6A CN114638376B (zh) 2022-03-25 2022-03-25 一种复合样本场景中的多方联合模型训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210302971.6A CN114638376B (zh) 2022-03-25 2022-03-25 一种复合样本场景中的多方联合模型训练方法及装置

Publications (2)

Publication Number Publication Date
CN114638376A CN114638376A (zh) 2022-06-17
CN114638376B true CN114638376B (zh) 2024-06-04

Family

ID=81949444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210302971.6A Active CN114638376B (zh) 2022-03-25 2022-03-25 一种复合样本场景中的多方联合模型训练方法及装置

Country Status (1)

Country Link
CN (1) CN114638376B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062487A (zh) * 2019-11-28 2020-04-24 支付宝(杭州)信息技术有限公司 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN111737753A (zh) * 2020-07-24 2020-10-02 支付宝(杭州)信息技术有限公司 基于数据隐私保护的两方数据聚类方法、装置及系统
CN111931216A (zh) * 2020-09-16 2020-11-13 支付宝(杭州)信息技术有限公司 一种基于隐私保护的方式获取联合训练模型的方法及系统
CN112365001A (zh) * 2020-11-11 2021-02-12 中国工商银行股份有限公司 模型的生成方法、装置和服务器
WO2021114616A1 (zh) * 2020-05-14 2021-06-17 平安科技(深圳)有限公司 联邦学习模型训练方法及相关设备
CN113642034A (zh) * 2021-06-25 2021-11-12 合肥工业大学 基于横纵向联邦学习的医疗大数据安全共享方法和系统
CN114004363A (zh) * 2021-10-27 2022-02-01 支付宝(杭州)信息技术有限公司 联合更新模型的方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102634785B1 (ko) * 2019-03-26 2024-02-08 더 리전트 오브 더 유니버시티 오브 캘리포니아 보호된 데이터에 관한 분산형 개인정보 보호 컴퓨팅
US20210049473A1 (en) * 2019-08-14 2021-02-18 The Board Of Trustees Of The Leland Stanford Junior University Systems and Methods for Robust Federated Training of Neural Networks
US11429903B2 (en) * 2020-06-24 2022-08-30 Jingdong Digits Technology Holding Co., Ltd. Privacy-preserving asynchronous federated learning for vertical partitioned data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062487A (zh) * 2019-11-28 2020-04-24 支付宝(杭州)信息技术有限公司 基于数据隐私保护的机器学习模型特征筛选方法及装置
WO2021114616A1 (zh) * 2020-05-14 2021-06-17 平安科技(深圳)有限公司 联邦学习模型训练方法及相关设备
CN111737753A (zh) * 2020-07-24 2020-10-02 支付宝(杭州)信息技术有限公司 基于数据隐私保护的两方数据聚类方法、装置及系统
CN111931216A (zh) * 2020-09-16 2020-11-13 支付宝(杭州)信息技术有限公司 一种基于隐私保护的方式获取联合训练模型的方法及系统
CN112365001A (zh) * 2020-11-11 2021-02-12 中国工商银行股份有限公司 模型的生成方法、装置和服务器
CN113642034A (zh) * 2021-06-25 2021-11-12 合肥工业大学 基于横纵向联邦学习的医疗大数据安全共享方法和系统
CN114004363A (zh) * 2021-10-27 2022-02-01 支付宝(杭州)信息技术有限公司 联合更新模型的方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于联邦学习和卷积神经网络的入侵检测方法;王蓉;马春光;武朋;;信息网络安全;20200410(第04期);47-54 *

Also Published As

Publication number Publication date
CN114638376A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
CN110929886B (zh) 模型训练、预测方法及其系统
Naidu et al. A Robust medical data sharing application with a collaborative hypothesis and Elastic net regression model
CN111738361B (zh) 业务模型的联合训练方法及装置
CN111860829A (zh) 联邦学习模型的训练方法及装置
US11341411B2 (en) Method, apparatus, and system for training neural network model
AU2021218110A1 (en) Learning from distributed data
CN113610540B (zh) 一种河蟹防伪溯源方法及系统
CN112799708B (zh) 联合更新业务模型的方法及系统
CN111461215B (zh) 业务模型的多方联合训练方法、装置、系统及设备
CN114004363B (zh) 联合更新模型的方法、装置及系统
CN114861217A (zh) 一种多方联合训练中的数据同步方法及装置
CN109598289B (zh) 跨平台的数据处理方法、装置、设备及可读存储介质
CN114638376B (zh) 一种复合样本场景中的多方联合模型训练方法及装置
CN112861009A (zh) 基于人工智能的媒体账号推荐方法、装置及电子设备
CN112766455A (zh) 一种学习模型训练方法和系统
CN116975018A (zh) 一种数据处理方法、装置、计算机设备以及可读存储介质
CN115660814A (zh) 风险预测方法、装置、计算机可读存储介质及电子设备
CN113392164B (zh) 构建纵向联邦树的方法、主服务器、业务平台和系统
CN114493850A (zh) 基于人工智能的在线公证方法、系统及存储介质
CN110276403B (zh) 模型建立方法和装置
Sahoo et al. Perturbation-Based Fuzzified K-Mode Clustering Method for Privacy Preserving Recommender System
CN114925744B (zh) 联合训练的方法及装置
US20240127123A1 (en) Federated learning model training method and apparatus, and electronic device
CN113435516B (zh) 数据分类方法和装置
CN113886124B (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