CN111931947B - 一种用于分布式模型训练的训练样本重组方法及系统 - Google Patents

一种用于分布式模型训练的训练样本重组方法及系统 Download PDF

Info

Publication number
CN111931947B
CN111931947B CN202011082377.8A CN202011082377A CN111931947B CN 111931947 B CN111931947 B CN 111931947B CN 202011082377 A CN202011082377 A CN 202011082377A CN 111931947 B CN111931947 B CN 111931947B
Authority
CN
China
Prior art keywords
training
model
training sample
server
sample set
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
CN202011082377.8A
Other languages
English (en)
Other versions
CN111931947A (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 CN202011082377.8A priority Critical patent/CN111931947B/zh
Publication of CN111931947A publication Critical patent/CN111931947A/zh
Application granted granted Critical
Publication of CN111931947B publication Critical patent/CN111931947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书一个或多个实施例涉及一种用于分布式模型训练的训练样本重组方法及系统,所述方法由参与方中的服务器实现;所述方法包括:获取融合训练样本集;所述融合训练样本集包括来自一个或多个训练成员的训练样本;获取第一模型,并将所述第一模型发送给各训练成员;对各训练成员进行一轮或多轮训练样本重组,其中每轮重组包括:获取当前轮的传输比例系数;基于所述传输比例系数为各训练成员选择部分训练样本并下发;获取各训练成员上传的当前轮对应的模型性能参数;所述当前轮对应的模型性能参数为训练成员基于自身持有的训练样本以及服务器下发的训练样本进行训练得到的模型的模型性能参数;确定进行下一轮重组,或者停止重组。

Description

一种用于分布式模型训练的训练样本重组方法及系统
技术领域
本说明书一个或多个实施例涉及多方协同模型训练,特别涉及一种用于分布式模型训练的训练样本重组方法和系统。
背景技术
在数据分析、数据挖掘、经济预测等领域,分布式模型训练可以在保证多方数据安全的情况下,协同训练机器学习模型供多方共同使用的场景。但是,在分布式模型训练中,期望多方持有的数据集均是相同分布、数据特征之间相互独立的。对于各方数据集非独立同分布状态(Non-IID)时,由于各方持有数据分布的不均匀性,采用分布式学习进行模型训练会使得模型训练过程产生偏差,进而影响训练得到模型的整体性能。
因此,有必要提出一种用于分布式模型训练的训练样本重组方法以降低各方数据分布不均匀的问题。
发明内容
本说明书一个方面提供一种用于分布式模型训练的训练样本重组方法,所述方法由参与方中的服务器实现,其中,所述参与方包括多个训练成员以及服务器;所述方法包括:获取融合训练样本集;所述融合训练样本集包括来自一个或多个训练成员的训练样本;获取第一模型,并将所述第一模型发送给各训练成员;对各训练成员进行一轮或多轮训练样本重组,其中每轮重组包括:获取当前轮的传输比例系数;基于所述传输比例系数为各训练成员从所述融合训练样本集中选择部分训练样本并下发;获取各训练成员上传的当前轮对应的模型性能参数;所述当前轮对应的模型性能参数为训练成员基于自身持有的训练样本以及服务器下发的训练样本进行模型训练得到的模型的模型性能参数;确定进行下一轮重组,或者停止重组。
本说明书另一个方面提供一种基于分布式模型训练的训练样本重组系统,所述系统由参与方中的服务器实现,其中,所述参与方包括多个训练成员以及服务器;所述系统包括:融合训练样本集获取模块:用于获取融合训练样本集;所述融合训练样本集包括来自一个或多个训练成员的训练样本;第一初始模型获取模块:用于获取第一模型,并将所述第一模型发送给各训练成员;第一训练样本重组模块:用于对各训练成员进行一轮或多轮训练样本重组,其进一步包括以下单元以完成任一轮训练样本重组:传输比例系数获取单元:用于获取当前轮的传输比例系数;训练样本集下发单元:用于基于所述传输比例系数为各训练成员从所述融合训练样本集中选择部分训练样本并下发;模型性能参数获取单元:用于获取各训练成员上传的当前轮对应的模型性能参数;所述当前轮对应的模型性能参数为训练成员基于自身持有的训练样本以及服务器下发的训练样本进行模型训练得到的模型的模型性能参数;确定单元,用于确定进行下一轮重组,或者停止重组。
本说明书另一个方面提供一种基于分布式模型训练的训练样本重组装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现所述基于分布式模型训练的训练样本重组的操作。
本说明书另一个方面提供一种基于分布式模型训练的训练样本重组方法,所述方法由参与方中的任一训练成员实现,其中,所述参与方包括多个训练成员以及服务器;所述方法包括:从自身持有的训练样本集中选择部分训练样本,并上传给服务器;获取第一模型;进行一轮或多轮训练样本重组,其中每轮重组包括:获取服务器下发的训练样本,所述下发的训练样本为融合训练样本集的一部分;所述融合训练样本集包括一个或多个训练成员上传至服务器的训练样本;将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集;基于重组训练样本集以及所述第一模型进行模型训练,获得当前轮对应的训练后的模型;确定所述训练后的模型的模型性能参数,将其作为当前轮对应的模型性能参数并上传给服务器。
本说明书另一个方面提供一种基于分布式模型训练的训练样本重组系统,所述系统由参与方中的任一训练成员实现,其中,所述参与方包括多个训练成员以及服务器;所述系统包括:训练样本上传模块:用于从自身持有的训练样本集中选择部分训练样本,并上传给服务器;第二初始模型获取模块:用于获取第一模型;第二训练样本重组模块:用于进行一轮或多轮训练样本重组,其进一步包括以下单元以完成任一轮训练样本重组:训练样本获取单元:用于获取服务器下发的训练样本,所述下发的训练样本为融合训练样本集的一部分;所述融合训练样本集包括一个或多个训练成员上传给服务器的训练样本;重组训练样本集获取单元:用于将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集;更新模型获取单元:用于基于重组训练样本集以及所述第一模型进行模型训练,获得当前轮对应的训练后的模型;模型性能参数确定单元:用于确定所述训练后的模型的模型性能参数,将其作为当前轮对应的模型性能参数并上传给服务器。
本说明书另一个方面提供一种基于分布式模型训练的训练样本重组装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现所述基于分布式模型训练的训练样本重组的操作。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1为根据本说明书的一些实施例所示的用于分布式模型训练的训练样本重组系统的示例性应用场景图;
图2是根据本说明书一些实施例所示的用于分布式模型训练的训练样本重组方法的示例性流程图;
图3是根据本说明书又一些实施例所示的用于分布式模型训练的训练样本重组方法的示例性流程图;
图4是根据本说明书的一些实施例所示的用于分布式模型训练的训练样本重组方法的交互示意图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在经济、文化、教育、医疗、公共管理等各行各业充斥的大量信息数据,对其进行例如数据分析、数据挖掘、以及趋势预测等的数据处理分析在越来越多场景中得到广泛应用。其中,通过数据合作的方式可以使多个数据拥有方获得更好的数据处理结果。例如,可以通过分布式模型训练综合多个数据拥有方的数据来获得性能更好的模型参数。
在一些实施例中,基于分布式模型训练可以应用于在保证各方数据安全的情况下,各方协同训练机器学习模型供多方使用的场景。在这个场景中,多个数据方拥有自己的数据,他们想共同使用彼此的数据来统一建模(例如,分类模型、线性回归模型、逻辑回归模型等),但并不想各自的数据(尤其是隐私数据)被泄露。例如,互联网储蓄机构A拥有一批用户数据,银行B拥有另一批用户数据,基于A和B的用户数据确定的训练样本集可以训练得到性能更好的机器学习模型。A和B都愿意通过彼此的用户数据共同参与模型训练,但因为一些原因A和B不愿意自己的用户数据信息遭到泄露,或者至少不愿意让对方知道自己的用户数据信息。一种典型的分布式模型训练可以是基于联邦学习的模型训练。
在一些实施例中,分布式模型训练可以是基于独立同分布(IID,identically andindependently distributed)的训练数据进行模型训练的。独立同分布(IID)是指多方所持有的训练数据均服从一个相同的分布规律。然而,随着分布式模型训练的发展,多方持有的训练数据可能具有不同的特征分布,因此在越来越多的分布式学习的应用场景中,需要基于非独立同分布(Non-IID)的训练数据进行模型训练。
在一些实施例中,在分布式模型训练中常常采用非独立同分布的训练数据。在该场景的实施例中,各数据方的训练数据可能存在不同的数据分布(如特征分布、标签分布、图数据分布等分布不同),在服务器方基于各数据方的训练数据(如梯度信息)对模型参数进行更新时,由于数据分布不同,梯度下降的方向不同,从而会降低整体模型的收敛速度,影响目标函数最优值的获取。因此,在采用分布式模型训练基于非独立同分布的训练数据进行模型训练的场景时,往往需要采用一定优化方法对模型的训练数据进行处理。
在本说明书的一些实施例中,在正式训练目标模型之前,可以采用训练样本重组的方法处理各数据方(或训练成员)的训练数据,以使各训练成员的训练样本尽可能接近独立同分布的状态,或者减少各训练成员的训练样本间的不均匀性。具体地,服务器可以获取所有训练成员处理后的训练样本并聚合得到融合训练样本集,进一步地,服务器可以按传输比例系数将融合训练样本集中的训练样本下发至各训练成员,与各训练成员的本地数据集(或训练样本)进行重组,从而可以降低各训练成员的训练样本间分布不均匀性。在一些实施例中,服务器还可以获取第一模型,指定各训练成员在第一模型基础上基于重组训练样本集进行模型训练,得到各训练成员的模型性能参数,基于各训练成员的模型性能参数确定优化的训练样本重组方案。在一些实施例中,第一模型可以是参数随机初始化的初始模型。在一些实施例中,服务器可以基于融合训练样本集对初始模型进行训练,得到经过预训练的第一模型,进而加快多轮重组中模型的训练效率。各训练成员协同服务器完成训练样本重组后,各参与方可以正式进行目标模型的分布式训练,如基于联邦学习的模型训练。目标模型可以是基于具体需要确定的机器学习模型,包括但不限于,人脸识别模型、对象推荐模型、收益预测模型等等,相应的,本说明书各实施例涉及的训练样本可以包括但不限于图像数据、文本数据、视频数据和音频数据等一种或多种的组合。
图1为根据本说明书的一些实施例所示的用于分布式模型训练的训练样本重组系统的示例性应用场景图。
需要注意的是,图1仅作为示例性的说明,图1中训练成员的数量可以为两方,在其他实施例中,还可以包括第三方训练成员、第四方训练成员以至第N方训练成员等。
在一些实施例中,基于分布式模型训练进行训练样本重组的系统100包括第一方110、第二方120、第三方130以及网络140。其中,第一方110可以理解为第一方训练成员,包括处理设备110-1,存储设备110-2;第二方120可以理解为第二方训练成员,包括处理设备120-1,存储设备120-2;第三方130包括处理设备130-1,存储设备130-2。在一些实施例中,第三方130可以是训练成员,包含训练的样本和数据。在另一些实施例中,第三方130也可以是公共服务器,不包含训练的样本和数据,仅进行计算和数据存储,主要基于各训练成员提供的训练样本进行模型参数更新和数据存储。
第一方110、第二方120均可以是带有数据获取、存储和/或发送功能的设备。在一些实施例中,第一方110、第二方120可以包括但不限于移动设备、平板电脑、笔记本电脑、台式电脑等或其任意组合。在一些实施例中,第一方110和第二方120可以接收来自第三方130的相关数据。例如,第一方110可以接收来自第三方的下发的训练样本。
第一方和第二方的处理设备110-1和120-1可以进行数据和/或指令处理。处理设备110-1和120-1可以对数据进行计算,也可以执行相关算法和/或指令。例如,第一方110的处理设备110-1可以接收来自第三方130的下发的训练样本,并用自身所存储的训练样本生成重组训练样本集。
第一方和第二方的存储设备110-2和120-2可以存储对应处理设备110-1和120-1执行使用的数据和/或指令,处理设备110-1和120-1可以通过执行或使用所述数据和/或指令以实现本说明书中的示例性方法。存储设备110-2和120-2可以分别用于存储当前次迭代对应的重组训练样本集;也可以存储指示第一方和第二方执行操作的相关指令。在一些实施例中,存储设备110-2和存储设备120-2也可以是一个存储设备,其中,第一方和第二方只能从该存储设备中获取自己存储的数据。在一些实施例中,存储设备可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。
第三方130可以是带有数据获取、存储和/或发送功能的设备,例如,云端服务器,终端处理设备等。在一些实施例中,第三方130可以接收来自第一方110和第二方120的相关数据。例如,第三方130可以接收来自第一方110的上传的部分训练样本。
第三方的存储设备130-2可以存储处理设备130-1执行使用的数据和/或指令,处理设备130-1可以通过执行或使用所述数据和/或指令以实现本说明书中的示例性方法。存储设备130-2可以用于存储训练样本总数;也可以存储指示第一方和第二方执行操作的相关指令。在一些实施例中,存储设备可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。
网络140可以促进信息和/或数据的交换。在一些实施例中,模型训练的系统100(例如,第一方110(处理设备110-1和存储设备110-2)、第二方120(处理设备120-1和存储设备120-2)和第三方(处理设备130-1和存储设备130-2))的一个或以上部件可以经由网络140向所述系统100中的其他有数据传输需求的部件发送信息和/或数据。例如,第一方110的处理设备110-1可以通过网络140从第三方130的存储设备110-2中获取下发的训练样本。在一些实施例中,网络140可以为任意形式的有线或无线网络,或其任意组合。
在一些实施例中,在以服务器作为执行主体的系统中,所述系统可以包括融合训练样本集获取模块和第一初始模型获取模块。第一初始模型获取模块可以进一步包括第一训练样本重组单元、传输比例系数获取单元、训练样本下发单元、模型性能参数获取单元以及确认单元。
第一初始模型获取单元,用于获取第一模型,并将所述第一模型发送给各训练成员。
第一训练样本重组单元,用于对各训练成员进行一轮或多轮训练样本重组。
在一些实施例中,传输比例系数获取单元,用于获取当前轮的传输比例系数。
在一些实施例中,训练样本下发单元,用于基于所述传输比例系数为各训练成员从所述融合训练样本集中选择部分训练样本并下发。
在一些实施例中,模型性能参数获取单元,用于获取各训练成员上传的当前轮对应的模型性能参数。所述当前轮对应的模型性能参数为训练成员基于自身持有的训练样本以及服务器下发的训练样本进行模型训练得到的模型的模型性能参数。
在一些实施例中,确定单元,用于确定进行下一轮重组,或者停止重组。在一些实施例中,确定单元还用于通知各训练成员最终的重组结果对应的重组轮次。
在一些实施例中,在以任一训练成员作为执行主体的系统中,所述系统可以包括:训练样本上传模块、第二初始模型获取模块以及第二训练样本重组模块。其中,第二训练样本重组模块进一步包括训练样本获取单元、重组训练样本集获取单元、更新模型获取单元以及模型性能参数确定单元。
训练样本上传模块:用于从自身持有的训练样本集中选择部分训练样本,并上传给服务器;第二初始模型获取模块:用于获取第一模型;第二训练样本重组模块:用于进行多轮训练样本重组,其进一步包括以下单元以完成任一轮训练样本重组:训练样本获取单元:用于获取服务器下发的训练样本,所述下发的训练样本为融合训练样本集的一部分;所述融合训练样本集包括来自一个或多个训练成员上传给服务器的训练样本;重组训练样本集获取单元:用于将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集;更新模型获取单元:用于基于重组训练样本集以及所述第一模型进行模型训练,获得当前轮对应的训练后的模型;模型性能参数确定单元:用于确定所述训练后的模型的模型性能参数,将其作为当前轮对应的模型性能参数并上传给服务器。
在一些实施例中,训练样本上传模块还用于从自身持有的训练样本集中选择部分训练样本;去除训练样本中的敏感信息;将去除敏感信息后的训练样本上传给服务器。
在一些实施例中,更新模型获取单元还用于利用重组训练样本集对所述第一模型进行训练,获得当前轮对应的训练后的模型。
在一些实施例中,更新模型获取单元还用于利用所述重组训练样本集对所述第一模型进行训练,获得当前轮对应的训练后的模型,或者,利用所述重组训练样本集中相对前一轮的重组训练样本集新增的训练样本迭代训练上一轮对应的训练后的模型,获得当前轮对应的训练后的模型。
在一些实施例中,所述系统还包括最终重组训练样本集确定模块,用于接收服务器指定的最终的重组结果对应的重组轮次,将该重组轮次对应的重组训练样本集确定为最终的重组训练样本集。
应当理解,本说明书一个或多个实施中的所述系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于处理设备及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。
图2是根据本说明书一些实施例所示的用于分布式模型训练的训练样本重组方法的示例性流程图。在一些实施例中,流程200可以由服务器(如第三方130的处理设备)执行。
对于分布式模型训练,包括多个参与方。参与方包括至少一个服务器和k个训练成员,训练成员是指参与分布式模型训练的数据持有者。
步骤210,获取融合训练样本集。在一些实施例中,步骤210由融合训练样本集获取模块完成。
融合训练样本集是指融合训练样本数据的集合。在一些实施例中,融合训练样本集包括来自一个或多个训练成员的训练样本。服务器可以从各训练成员处获取训练样本。在一些实施例中,服务器可以接收训练成员1…i…k的训练样本子集
Figure 202831DEST_PATH_IMAGE001
,并基于此构成融合训练样本集A。各训练样本子集可以是各训练成员从自身训练样本集中抽取的一部分训练样本组成的集合。在一些实施例中,为保证数据隐私性,各训练成员不会直接将训练样本发送给服务器。在该场景的实施例中,各训练成员会基于脱敏处理将数据进行处理。有关训练成员将训练样本进行脱敏处理可参见图3的相关描述,此处再赘述。
在一些实施例中,服务器获得的训练样本子集可以是密态的。例如,各训练成员可以基于秘密分享或者是密钥加密的方法将训练样本子集转化为密态。关于训练样本子集的加密传输的更多内容可以参见图3的相关说明。
步骤220,获取第一模型,并将所述第一模型发送给各训练成员。在一些实施例中,步骤220由第一初始模型获取模块完成。
在一些实施例中,服务器可以基于具体的应用场景选择合适的模型类型。在一些实施例在,服务器可以将模型参数为随机初始化的初始模型作为第一模型参数。在一些实施例中,服务器可以利用融合训练样本集A对初始模型进行训练,得到所述第一模型
Figure 57655DEST_PATH_IMAGE002
。在一些实施例中,服务器可以将融合训练样本集A中的样本顺序进行打乱,利用打乱样本顺序后的融合训练样本集A对初始模型进行训练,得到所述第一模型
Figure 24343DEST_PATH_IMAGE002
在一些实施例中,服务器可以将第一模型
Figure 419552DEST_PATH_IMAGE002
发送给各训练成员。
步骤230,对各训练成员进行一轮或多轮训练样本重组以确定优化的训练样本重组方案。在一些实施例中,步骤230可以由第一训练样本重组模块完成。其中,每次重组可以进一步包括以下步骤:
步骤231,获取当前轮的传输比例系数。在一些实施例中,步骤231由传输比例系数获取单元完成。
传输比例系数
Figure 171607DEST_PATH_IMAGE003
决定了在每次迭代中,服务器向训练成员传输的训练样本的数量。不妨假设训练成员1…i…k在各轮中的传输比例系数分别是
Figure 682485DEST_PATH_IMAGE004
,j取1、2、…J,其中第一下标表示训练成员,第二下标表示重组轮次。在一些实施例中,各传输比例系数
Figure 949519DEST_PATH_IMAGE004
,j取1、2、…J,可以相同,即训练成员1…i…k在每次样本重组中获得的训练样本的数量一致的。
在一些实施例中,各训练成员在每轮样本重组中获得的训练样本的数量是不一致的。例如,传输比例系数
Figure 86102DEST_PATH_IMAGE004
,j取1、2、…J,各不相同。又例如,各训练成员在同一轮重组中的传输比例相同,在不同轮重组中的传输比例不同。即,同一轮重组对应各训练成员的传输比例系数
Figure 754981DEST_PATH_IMAGE005
相同,不同轮重组对应的传输比例系数(以训练成员i为例)
Figure 935295DEST_PATH_IMAGE006
不同。
在一些实施例中,传输比例系数获取单元可以通过搜索算法确定传输比例系数
Figure 627308DEST_PATH_IMAGE007
。搜索算法是指在一个数值区间内,如数值范围(0,1)中,有限的穷举多个数值,从而求出最优解的一种方法。搜索算法可以包括但不限于枚举算法、深度优先搜索、广度优先搜索、A*算法、回溯算法、蒙特卡洛树搜索、散列函数等算法及其任意组合。
以枚举算法为例,传输比例系数获取单元可以对传输比例系数
Figure 364320DEST_PATH_IMAGE008
按赋值规则进行赋值。赋值规则为首先对传输比例系数
Figure 576120DEST_PATH_IMAGE008
预设一个初始值,以预设值在该初始值基础上进行多次累加或递减,可获得多个数值,从而将其作为多轮重组对应的传输比例系数。例如,可以假设对应于训练成员i初始传输比例系数为0.5,预设值为0.01,那么第j轮重组对应的传输比例系数可以表示为:
Figure 5965DEST_PATH_IMAGE009
不难理解,传输比例
Figure 185273DEST_PATH_IMAGE008
还可以按照其他方式设置以实现传输比例
Figure 647347DEST_PATH_IMAGE008
随着迭代次数进行更新,本说明书对此不做限制。
步骤232,基于所述传输比例系数为各训练成员从所述融合训练样本集中选择部分训练样本并下发。在一些实施例中,步骤232由训练样本集下发模块完成。
在一些实施例中,服务器可以基于传输比例系数
Figure 228501DEST_PATH_IMAGE008
,从融合训练样本集A中选择部分训练样本集下发至各训练成员。具体地,当传输比例系数
Figure 563668DEST_PATH_IMAGE008
为0.1,A中共有100个样本时,则将10个样本下发给各训练成员。在一些实施例中,服务器下发给各个训练成员的训练样本集可以是融合训练样本集A的相同部分。例如,将相同的10个样本发送给各个训练成员1…i…k。在一些实施例中,服务器下发给各个训练成员的训练样本集也可以是融合训练样本集A中随机抽取的部分。
在一些实施例中,服务器可以基于不同的传输比例系数
Figure 998583DEST_PATH_IMAGE008
,从融合训练样本集A中选择部分训练样本集下发至各训练成员。例如,对应于训练成员1的传输比例系数为0.1;对应于训练成员2的传输比例系数为0.2。则服务器下发给训练成员1和训练成员2的样本数分别为10个和20个。
步骤233,获取各训练成员上传的当前轮对应的模型性能参数。在一些实施例中,步骤233由模型性能参数获取单元完成。
模型性能参数F是指用于评估模型性能优劣的数据。模型性能参数可以包括以下中的一种或多种的组合:错误率、精度、查准率、查全率、AUC、ROC等。在一些实施例中,当前轮对应的模型的模型性能参数为各个训练成员基于自身持有的训练样本、服务器下发的训练样本以及所述第一模型进行模型训练得到的模型的模型性能参数。有关各个训练成员获取当前轮对应的模型性能参数的相关描述可参见图4中的相应描述,此处不再赘述。
在一些实施例中,模型性能参数获取模块可以接收训练成员1…i…k在当前轮(以第j轮重组为例)上传的模型性能参数
Figure 77398DEST_PATH_IMAGE010
步骤234,确定进行下一轮重组,或者停止重组。在一些实施例中,步骤234由确定单元完成。
在一些实施例中,确定单元可以获取当前重组轮数m,判断重组轮数m是否小于设定阈值,若是,则确定进行下一轮重组,若否,则确定不再进行下一轮重组。其中,设定阈值可以是一个预先设定好的正整数,用以表征重组轮数的上限(如设定阈值可以是3、5、10等任意取值)。
当重组轮数m不小于设定阈值时,可以确定终止重组,并通知各训练成员将当前轮重组执行后,各训练成员处得到的重组训练样本集作为最终的重组训练样本集。在一些替代性实施例中,确定单元在确定终止重组后,还可以计算来自各训练成员的当前轮对应的模型性能参数的平均值,得到当前轮对应的平均性能;同时获取此前m-1轮重组所计算的平均性能;从各轮中平均性能中选出最优的,通知各训练成员将该最优平均性能对应的重组轮次完成后得到的重组训练样本集作为最终的重组训练样本集。
在一些实施例中,平均性能
Figure 513058DEST_PATH_IMAGE011
可以是多个参数的综合表征。例如,平均性能
Figure 284705DEST_PATH_IMAGE012
可以是错误率、精度、查准率、查全率、AUC、ROC中任意两种或两种以上的参数的综合计算结果。所述综合计算结果可以是以任意算式或者函数进行运算,包括但不限于求和、求平均、加权平均、方差等方式。采用多个参数共同表征平均性能
Figure 422294DEST_PATH_IMAGE013
可以选出综合性能最高的模型,而非选出某个参数最优的模型。
在又一些替代性实施例中,确定单元还可以基于各训练成员的当前轮对应的模型性能参数确定预设条件是否被满足,若被满足,则确定停止重组,并将当前轮各训练成员的训练样本重组结果确定为最终的重组结果。所述预设条件可以包括特定训练成员的模型性能参数或者各训练成员的平均性能满足预设的性能指标阈值条件。
仅作为示例,确定单元可以基于接收到的训练成员1…i…k的在当前轮(以第j轮重组为例)上传的模型性能
Figure 304800DEST_PATH_IMAGE014
,确定各模型性能中的最小值是否不小于预设的性能指标阈值,若不小于则确定停止重组。
又或者,确定单元可以基于接收到的训练成员1…i…k的在当前轮(以第j轮重组为例)上传的模型性能
Figure 594967DEST_PATH_IMAGE015
,计算当前轮对应的平均性能
Figure 225930DEST_PATH_IMAGE016
例如,在本说明书的约定中,
Figure 663865DEST_PATH_IMAGE017
;
此时,确定模块对第j轮对应的平均性能
Figure 22165DEST_PATH_IMAGE018
进行判定,确定其是否满足预设条件。若第j轮对应的所述平均性能
Figure 494735DEST_PATH_IMAGE018
满足预设条件,则确定停止重组,并将当前轮各训练成员的训练样本重组结果确定为最终的重组结果。所述预设条件可以包括平均性能是否满足预设的性能指标阈值。例如,预设条件可以设置为模型精度高于90%,当反映各训练成员模型精度的平均性能
Figure 795135DEST_PATH_IMAGE018
未达到90%时,则确定需要进行下一轮重组,否则确定无需进行下一轮重组,并通知各训练成员将当前轮重组执行后,各训练成员处得到的重组训练样本集作为最终的重组训练样本集。
若确定需要进行下一次重组,服务器可直接更改各训练成员对应的传输比例系数
Figure 720366DEST_PATH_IMAGE008
,即重新执行步骤231~步骤234以进行下一次重组。
需要说明的是,以上各个步骤中涉及的各训练成员上传给服务器的训练样本、服务器下发给训练成员的训练样本以及各训练成员上传给服务器的当前轮对应的模型性能参数均可以以密文形式传输。例如,服务器可以利用各训练成员的公钥对下发给各训练成员的训练样本分别加密,训练成员收到服务器下发的加密的训练样本后,利用自身的私钥解密。又例如,各训练成员可以利用服务器的公钥对当前轮对应的模型性能参数进行加密,服务器收到个训练成员传输的加密后的模型性能参数后,利用自身的私钥对各模型性能参数解密。这样既不影响计算结果,又能够有效地保护各参与方的数据不被泄露,从而有效地保护了各参与方的数据隐私。有关密文计算的具体描述可参照图3的相应描述,在此不再赘述。
图3是根据本说明书又一些实施例所示的用于分布式模型训练的训练样本重组方法的示例性流程图。在一些实施例中,流程300可以由任意一个训练成员(如第一方110或第二方120)执行。
对于分布式模型训练的样本数据,训练成员i的训练样本为
Figure 882357DEST_PATH_IMAGE019
,其中,i={1,2,3…k},重组训练样本集
Figure 632269DEST_PATH_IMAGE020
,样本数据的标签为
Figure 916620DEST_PATH_IMAGE021
;训练成员i的模型为
Figure 266830DEST_PATH_IMAGE022
步骤310,训练成员从自身持有的训练样本集中选择部分训练样本,并上传给服务器。在一些实施例中,步骤310由训练样本上传模块完成。
以训练成员i为例,训练成员i可以代表训练成员1…i…k中的任意一个。在一些实施例中,训练成员i可以从自身持有的训练样本集
Figure 294829DEST_PATH_IMAGE023
中提取子数据集
Figure 663362DEST_PATH_IMAGE024
,对子数据集
Figure 853035DEST_PATH_IMAGE025
进行数据脱敏处理。训练成员自身持有的训练样本集可以指训练成员在完成自身业务过程中得到或生成的数据,这些数据可以用于模型训练。数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形。例如,删除敏感信息,将敏感信息拆分后乱序重组等。在一些实施例中,采用数据脱敏后的数据可以实现敏感隐私数据的可靠保护。在一些实施例中,敏感信息可以是指个人隐私信息。例如,敏感信息可以包括但不限于证件号、手机号、银行卡号等一种或多种的组合。
在一些实施例中,训练成员i通过加密的方式将子数据集
Figure 690541DEST_PATH_IMAGE024
发送给服务器。例如,用密钥加密的方法对子数据集
Figure 945067DEST_PATH_IMAGE025
进行加密。又例如,采用秘密分享的方法对子数据集
Figure 246735DEST_PATH_IMAGE024
进行加密。
以基于秘密分享为例,各训练成员可以将自身的数据集(可以表示为矩阵形式)进行拆分,得到多个,如k个,矩阵分片。仅作为示例,训练成员i拆分其子数据集
Figure 544993DEST_PATH_IMAGE026
得到的k个同维的矩阵分片,各矩阵分片对应元素的求和结果等于子数据集
Figure 932112DEST_PATH_IMAGE026
中的对应元素。训练成员i将其自身的k-1个矩阵分片发送给其他k-1个训练成员,同时获得来自其他k-1个训练成员的矩阵分片,再基于自身的子数据集
Figure 488864DEST_PATH_IMAGE027
的保留矩阵分片与来自其他k-1个训练成员的矩阵分片按照事先约定好的顺序进行拼接得到密文形式的拼接矩阵分片,如按照训练成员序号将不同训练成员的矩阵分片从上到下拼接,或从左到右拼接。最后训练成员i将拼接矩阵分片传输给服务器。服务器从k各训练成员处获得密文形式的拼接矩阵分片后,对各拼接矩阵分片按位求和,便可得到融合训练样本集。
步骤320,训练成员获取第一模型。在一些实施例中,步骤320由第二初始模型获取模块完成。
在一些实施例中,训练成员i可以获取服务器下发的第一模型
Figure 317142DEST_PATH_IMAGE028
,并基于第一模型
Figure 114197DEST_PATH_IMAGE028
在后续的重组轮次中进行模型训练,得到各重组轮次对应的模型性能参数。关于第一模型
Figure 405589DEST_PATH_IMAGE028
的更多细节可以参见图2及其相关描述,此处不再赘述。
步骤330,训练成员进行多轮训练样本重组以获得优化后的重组训练样本集。在一些实施例中,步骤330由第二训练样本重组模块完成。其中,每次重组可以进一步包括以下步骤:
步骤331,训练成员获取服务器下发的训练样本,所述下发的训练样本融合训练样本集的一部分。在一些实施例中,步骤331由训练样本获取单元完成。
在一些实施例中,训练成员i可以通过训练样本获取模块获取服务器下发融合训练样本集中的部分训练样本。所述下发的训练样本的数量可以由当前轮确定的传输比例系数
Figure 579082DEST_PATH_IMAGE029
确定。关于融合训练样本集
Figure 527446DEST_PATH_IMAGE030
以及传输比例系数
Figure 495402DEST_PATH_IMAGE029
更多细节可以参见图2及其相关描述,此处不再赘述。
步骤332,训练成员将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集。在一些实施例中,步骤332由重组训练样本获取单元完成。
当前轮的重组训练样本集
Figure 778485DEST_PATH_IMAGE031
可以是训练成员自身持有的训练样本与当前轮下发的训练样本的并集。具体地,以训练成员i为例,训练成员i可以将自身持有的训练样本集
Figure 427772DEST_PATH_IMAGE023
与从服务器获取的融合训练样本集的部分训练样本进行融合,获取两者的并集,得到重组训练样本集
Figure 292960DEST_PATH_IMAGE031
在一些替代性实施例中,当前轮的重组训练样本集
Figure 120232DEST_PATH_IMAGE031
还可以是训练成员自身持有的训练样本、当前轮新增的训练样本以及当前轮重组以前服务器下发的所有训练样本的并集。
仅作为示例,在本说明书约定的表示中,第m轮重组训练成员i的重组训练样本集
Figure 703661DEST_PATH_IMAGE031
可以表示为,
Figure 891059DEST_PATH_IMAGE032
;
其中,
Figure 876333DEST_PATH_IMAGE033
表示在第j轮重组中服务器下发给训练成员i的训练样本的集合。
通过上述设置,各训练成员将自身持有的训练样本集与从服务器获取的融合样本数据集中的部分训练样本进行重组,可以减少各训练成员的训练样本间的分布不均匀性,从而能够降低各训练成员由于训练样本数据特征分布不均匀给模型带来的性能损失。
步骤333,训练成员基于重组训练样本集进行模型训练,获得当前轮对应的训练后的模型。在一些实施例中,步骤333由更新模型获取单元完成。
在一些实施例中,训练成员i可以利用重组训练样本集
Figure 373042DEST_PATH_IMAGE034
训练待训练模型
Figure 443766DEST_PATH_IMAGE035
,得到当前轮重组(以第m轮重组为例)对应的模型
Figure 434856DEST_PATH_IMAGE036
。其中,
Figure 274636DEST_PATH_IMAGE037
中上标表示重组轮次,下标表示训练成员,待训练模型
Figure 443712DEST_PATH_IMAGE035
可以是第一模型
Figure 736153DEST_PATH_IMAGE038
,也可以是前一次重组轮次中训练得到的模型,如
Figure 530933DEST_PATH_IMAGE039
在一些实施例中,对于训练样本交集
Figure 412171DEST_PATH_IMAGE034
中的训练样本,训练成员i可以基于待训练模型
Figure 63732DEST_PATH_IMAGE035
对训练样本中的特征数据进行处理,进行前向传播,得到预测标签
Figure 46731DEST_PATH_IMAGE040
之后,根据计算得到的预测标签
Figure 441941DEST_PATH_IMAGE040
,以及该训练样本中的标签
Figure 679149DEST_PATH_IMAGE041
之间的误差,计算得到损失函数
Figure 767191DEST_PATH_IMAGE042
,进而利用反向传播算法得到梯度信息
Figure 971907DEST_PATH_IMAGE043
(可以矩阵形式表示)。其中,反向传播是指误差通过输出层,向隐层、输入层逐层反传,依次确定各层的模型参数的修正值(或梯度)。最后,基于梯度信息
Figure 170807DEST_PATH_IMAGE043
更新待训练模型
Figure 761058DEST_PATH_IMAGE035
的模型参数,得到当前轮重组对应的模型
Figure 20001DEST_PATH_IMAGE037
在一些实施例中,当待训练模型
Figure 712013DEST_PATH_IMAGE044
为前一次重组轮次中训练得到的模型
Figure 131581DEST_PATH_IMAGE045
时,还可以直接利用当前轮重组中的重组训练样本集
Figure 654966DEST_PATH_IMAGE047
中相对前一轮的重组训练样本集新增的训练样本迭代训练待训练模型
Figure 22494DEST_PATH_IMAGE048
,即模型
Figure 998540DEST_PATH_IMAGE049
,获得当前轮对应的训练后的模型
Figure 726193DEST_PATH_IMAGE051
采用相对前一轮的新增训练样本迭代训练上一轮对应的训练后的模型
Figure 369664DEST_PATH_IMAGE045
能够提高的模型训练效率。
步骤334,训练成员确定所述训练后的模型的模型性能参数,将其作为当前轮对应的模型性能参数并上传给服务器。在一些实施例中,步骤334由模型性能参数确定单元完成。
训练成员i可以确定当前轮(即第m轮)对应的训练后的模型
Figure 642514DEST_PATH_IMAGE052
的模型性能参数
Figure 371435DEST_PATH_IMAGE053
,并将该模型性能参数
Figure 138665DEST_PATH_IMAGE053
,上传至服务器。模型性能参数
Figure 636643DEST_PATH_IMAGE053
可以是模型准确度、模型灵敏度、模型AUC、模型召回率中任意一种或多种的组合。在一些实施例中,训练成员可以从自身持有的训练样本集
Figure 80394DEST_PATH_IMAGE054
或重组训练样本集
Figure 296611DEST_PATH_IMAGE055
中抽取验证集,对当前轮训练好的模型
Figure 366067DEST_PATH_IMAGE052
进行验证或性能测试,从而得到模型性能参数。在一些实施例中,各训练成员还接收服务器指定的最终的重组结果对应的重组轮次,将该重组轮次对应的重组训练样本集确定为最终的重组训练样本集。最终的重组训练样本集将被训练成员保存,以用于目标模型训练。可以理解,各训练成员的重组训练样本集在一定程度上满足独立同分布的性质,基于此进行分布式模型训练,有助于提高目标模型的性能。
图4是根据本说明书的一些实施例所示的用于分布式模型训练的训练样本重组方法400的交互示意图。
如图4所示,在一个具体的实施例中,服务器与各训练成员通过数据交互实现了如上所述的用于分布式模型训练的训练样本重组方法。如图4中,整个流程分为初始化步骤以及多轮重组步骤。
首先,服务器获取融合训练样本集;所述融合训练样本集包括来自一个或多个训练成员的训练样本。服务器基于融合训练样本集进行训练,获取第一模型。各训练成员获取第一模型,自此完成了整个流程的初始化环节。
而后,进入整个流程的多轮重组步骤:
步骤1、服务器获取当前轮的传输比例系数。当前轮的传输比例系数可以是每轮重组都进行更新的,确定方法可以基于搜索算法进行穷举。
步骤2、服务器基于所述传输比例系数为各训练成员从所述融合训练样本集中选择部分训练样本并下发。
步骤3、各训练成员将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集。
步骤4、各训练成员基于重组训练样本集进行模型训练,获得当前轮对应的训练后的模型。
步骤5、各训练成员确定所述训练后的模型的模型性能参数,将其作为当前轮对应的模型性能参数并上传给服务器。
步骤6、服务器确定是否进行下一轮重组。除此,服务器还计算来自各训练成员的当前轮对应的模型性能参数的平均值,得到当前轮对应的平均性能;并至少基于当前轮对应的平均性能确定最终的重组结果对应的重组轮次。在一些实施例中,服务器还将通知各训练成员,将哪一个重组轮次对应的重组训练样本集作为最终的重组结果。此后,训练成员将基于最终确定的重组训练样本集进行目标模型训练。
有关以上步骤的详细说明可参见图2、图3的相关说明,在此不再赘述。
本说明书实施例可能带来的有益效果包括但不限于:服务器获取各训练成员的训练样本进行融合,并将融合后的部分训练样本下发至各训练成员,可以降低各训练成员数据分布不均匀性。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (20)

1.一种用于分布式模型训练的训练样本重组方法,所述方法由参与方中的服务器实现,其中,所述参与方包括多个训练成员以及服务器;所述方法包括:
获取融合训练样本集;所述融合训练样本集包括来自一个或多个训练成员的训练样本;
获取第一模型,并将所述第一模型发送给各训练成员;
对各训练成员进行一轮或多轮训练样本重组,其中每轮重组包括:
获取当前轮的传输比例系数;
基于所述传输比例系数为各训练成员从所述融合训练样本集中选择部分训练样本并下发;
获取各训练成员上传的当前轮对应的模型性能参数;所述当前轮对应的模型性能参数为训练成员基于自身持有的训练样本以及服务器下发的训练样本进行模型训练得到的模型的模型性能参数;
确定进行下一轮重组,或者停止重组。
2.根据权利要求1所述的方法,所述获取第一模型,包括:
利用所述融合训练样本集对初始模型进行训练,得到所述第一模型。
3.根据权利要求1所述的方法,所述获取当前轮的传输比例系数,包括:
通过搜索算法获取所述传输比例系数。
4.根据权利要求1所述的方法,在每轮重组过程中,所述当前轮对应的模型性能参数为训练成员利用自身持有的训练样本以及当前轮服务器下发的训练样本训练所述第一模型得到的模型的模型性能参数。
5.根据权利要求1所述的方法,所述确定进行下一轮重组,或者停止重组,包括:
若重组轮数小于设定阈值,则确定进行下一轮重组;否则,停止重组。
6.根据权利要求5所述的方法,当确定停止重组后,还包括:
计算来自各训练成员的当前轮对应的模型性能参数的平均值,得到当前轮对应的平均性能;
获取此前多轮重组所计算的平均性能;
将最优平均性能对应的重组轮次中各训练成员的训练样本重组结果确定为最终的重组结果。
7.根据权利要求1所述的方法,所述确定进行下一轮重组,或者停止重组,包括:
基于各训练成员的当前轮对应的模型性能参数确定预设条件是否被满足;若被满足,则停止重组并将当前轮中各训练成员的训练样本重组结果确定为最终的重组结果;否则,确定进行下一轮重组。
8.根据权利要求6或7所述的方法,所述方法还包括:
通知各训练成员最终的重组结果对应的重组轮次。
9.根据权利要求1所述的方法,各训练成员上传给服务器的训练样本、服务器下发给训练成员的训练样本以及各训练成员上传给服务器的当前轮对应的模型性能参数均以密文形式传输。
10.一种基于分布式模型训练的训练样本重组系统,所述系统由参与方中的服务器实现,其中,所述参与方包括多个训练成员以及服务器;所述系统包括:
融合训练样本集获取模块:用于获取融合训练样本集;所述融合训练样本集包括来自一个或多个训练成员的训练样本;
第一初始模型获取模块:用于获取第一模型,并将所述第一模型发送给各训练成员;
第一训练样本重组模块:用于对各训练成员进行一轮或多轮训练样本重组,其进一步包括以下单元以完成任一轮训练样本重组:
传输比例系数获取单元:用于获取当前轮的传输比例系数;
训练样本下发单元:用于基于所述传输比例系数为各训练成员从所述融合训练样本集中选择部分训练样本并下发;
模型性能参数获取单元:用于获取各训练成员上传的当前轮对应的模型性能参数;所述当前轮对应的模型性能参数为训练成员基于自身持有的训练样本以及服务器下发的训练样本进行模型训练得到的模型的模型性能参数;
确定单元,用于确定进行下一轮重组,或者停止重组。
11.一种用于分布式模型训练的训练样本重组的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如权利要求1至9中任一项所述用于分布式模型训练的训练样本重组的操作。
12.一种基于分布式模型训练的训练样本重组方法,所述方法由参与方中的任一训练成员实现,其中,所述参与方包括多个训练成员以及服务器;所述方法包括:
从自身持有的训练样本集中选择部分训练样本,并上传给服务器;
获取第一模型;
进行一轮或多轮训练样本重组,其中每轮重组包括:
获取服务器下发的训练样本,所述下发的训练样本为融合训练样本集的一部分;所述融合训练样本集包括一个或多个训练成员上传至服务器的训练样本;
将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集;
基于重组训练样本集,获得当前轮对应的训练后的模型;
确定所述训练后的模型的模型性能参数,将其作为当前轮对应的模型性能参数并上传给服务器。
13.根据权利要求12所述的方法,所述从自身持有的训练样本集中选择部分训练样本,并上传给服务器,包括:
从自身持有的训练样本集中选择部分训练样本;
去除训练样本中的敏感信息;
将去除敏感信息后的训练样本上传给服务器。
14.根据权利要求12所述的方法,在每轮重组过程中,所述将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集,包括:
将自身持有的训练样本与服务器当前轮下发的训练样本进行重组,获得重组训练样本集;
所述基于重组训练样本集,获得当前轮对应的训练后的模型,包括:
利用重组训练样本集对所述第一模型进行训练,获得当前轮对应的训练后的模型。
15.根据权利要求12所述的方法,在每轮重组过程中,所述将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集,包括:
将自身持有的训练样本与服务器各轮下发的训练样本进行重组,获得重组训练样本集。
16.根据权利要求12或15所述的方法,所述基于重组训练样本集以及所述第一模型进行模型训练,获得当前轮对应的训练后的模型,包括:
利用所述重组训练样本集对所述第一模型进行训练,获得当前轮对应的训练后的模型,或者,利用所述重组训练样本集中相对前一轮的重组训练样本集新增的训练样本迭代训练上一轮对应的训练后的模型,获得当前轮对应的训练后的模型。
17.根据权利要求12所述的方法,还包括接收服务器指定的最终的重组结果对应的重组轮次,将该重组轮次对应的重组训练样本集确定为最终的重组训练样本集。
18.根据权利要求12所述的方法,训练成员上传给服务器的训练样本、服务器下发给训练成员的训练样本以及训练成员上传给服务器的当前轮对应的模型性能参数均以密文形式传输。
19.一种基于分布式模型训练的训练样本重组系统,所述系统由参与方中的任一训练成员实现,其中,所述参与方包括多个训练成员以及服务器;所述系统包括:
训练样本上传模块:用于从自身持有的训练样本集中选择部分训练样本,并上传给服务器;
第二初始模型获取模块:用于获取第一模型;
第二训练样本重组模块:用于进行一轮或多轮训练样本重组,其进一步包括以下单元以完成任一轮训练样本重组:
训练样本获取单元:用于获取服务器下发的训练样本,所述下发的训练样本为融合训练样本集的一部分;所述融合训练样本集包括一个或多个训练成员上传给服务器的训练样本;
重组训练样本集获取单元:用于将自身持有的训练样本与服务器下发的训练样本进行重组,获得重组训练样本集;
更新模型获取单元:用于基于重组训练样本集以及所述第一模型进行模型训练,获得当前轮对应的训练后的模型;
模型性能参数确定单元:用于确定所述训练后的模型的模型性能参数,将其作为当前轮对应的模型性能参数并上传给服务器。
20.一种基于分布式模型训练的训练样本重组装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如权利要求12至18中任一项所述基于分布式模型训练的训练样本重组的操作。
CN202011082377.8A 2020-10-12 2020-10-12 一种用于分布式模型训练的训练样本重组方法及系统 Active CN111931947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011082377.8A CN111931947B (zh) 2020-10-12 2020-10-12 一种用于分布式模型训练的训练样本重组方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011082377.8A CN111931947B (zh) 2020-10-12 2020-10-12 一种用于分布式模型训练的训练样本重组方法及系统

Publications (2)

Publication Number Publication Date
CN111931947A CN111931947A (zh) 2020-11-13
CN111931947B true CN111931947B (zh) 2021-02-05

Family

ID=73334395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011082377.8A Active CN111931947B (zh) 2020-10-12 2020-10-12 一种用于分布式模型训练的训练样本重组方法及系统

Country Status (1)

Country Link
CN (1) CN111931947B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112990476B (zh) * 2021-02-08 2022-04-12 支付宝(杭州)信息技术有限公司 一种基于联邦学习进行模型参数更新的方法、系统及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573720B (zh) * 2014-12-31 2018-01-12 北京工业大学 一种无线传感器网络中核分类器的分布式训练方法
CN107229518B (zh) * 2016-03-26 2020-06-30 阿里巴巴集团控股有限公司 一种分布式集群训练方法和装置
CN110955915B (zh) * 2019-12-14 2022-03-25 支付宝(杭州)信息技术有限公司 一种隐私数据的处理方法及装置

Also Published As

Publication number Publication date
CN111931947A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111931950B (zh) 一种基于联邦学习进行模型参数更新的方法及系统
Naidu et al. A Robust medical data sharing application with a collaborative hypothesis and Elastic net regression model
CN110189192B (zh) 一种信息推荐模型的生成方法及装置
CN110245510B (zh) 用于预测信息的方法和装置
CN110990871B (zh) 基于人工智能的机器学习模型训练方法、预测方法及装置
CN110929886B (zh) 模型训练、预测方法及其系统
US20230078061A1 (en) Model training method and apparatus for federated learning, device, and storage medium
US11270028B1 (en) Obtaining jointly trained model based on privacy protection
US20220230071A1 (en) Method and device for constructing decision tree
CN111784001B (zh) 一种模型训练方法、设备及计算机可读存储介质
US20170359321A1 (en) Secure Data Exchange
WO2020238677A1 (zh) 数据处理方法、装置和计算机可读存储介质
CN112766514B (zh) 一种联合训练机器学习模型的方法、系统及装置
CN111931876B (zh) 一种用于分布式模型训练的目标数据方筛选方法及系统
CN105009505A (zh) 基于矩阵因子分解和岭回归的隐私保护推荐的方法和系统
CN112347500B (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN112529101B (zh) 分类模型的训练方法、装置、电子设备及存储介质
CN110969264A (zh) 模型训练方法、分布式预测方法及其系统
CN112990476B (zh) 一种基于联邦学习进行模型参数更新的方法、系统及装置
CN111931947B (zh) 一种用于分布式模型训练的训练样本重组方法及系统
CN114372871A (zh) 信用评分值的确定方法及其装置、电子设备及存储介质
CN114168988A (zh) 一种联邦学习模型聚合方法及电子装置
CN113761350A (zh) 一种数据推荐方法、相关装置和数据推荐系统
CN113032838B (zh) 基于隐私计算的标签预测模型生成方法、预测方法、模型生成装置、系统及介质
US11308142B2 (en) Automatic resume processing system

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