CN112990476B - 一种基于联邦学习进行模型参数更新的方法、系统及装置 - Google Patents

一种基于联邦学习进行模型参数更新的方法、系统及装置 Download PDF

Info

Publication number
CN112990476B
CN112990476B CN202110177803.4A CN202110177803A CN112990476B CN 112990476 B CN112990476 B CN 112990476B CN 202110177803 A CN202110177803 A CN 202110177803A CN 112990476 B CN112990476 B CN 112990476B
Authority
CN
China
Prior art keywords
model
models
training
offspring
trained
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
CN202110177803.4A
Other languages
English (en)
Other versions
CN112990476A (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 CN202110177803.4A priority Critical patent/CN112990476B/zh
Publication of CN112990476A publication Critical patent/CN112990476A/zh
Application granted granted Critical
Publication of CN112990476B publication Critical patent/CN112990476B/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是根据本说明书的一些实施例所示的基于杂交函数对多个聚合模型以及多个第一模型处理得到子代模型的示意图;
图5是根据本说明书另一些实施例所示基于联邦学习进行模型参数更新的系统框图;
图6是根据本说明书的另一些实施例所示的基于联邦学习进行模型参数更新的示例性流程图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
经济、文化、教育、医疗、公共管理等各行各业拥有大量信息数据,对其进行例如数据分析、数据挖掘、以及趋势预测等的数据处理分析在越来越多的场景中得到了广泛应用。其中,通过数据合作的方式可以使多个数据拥有方获得更好的数据处理结果。例如,可以通过联邦学习综合多个数据拥有方的数据来获得性能更好的模型参数。
在一些实施例中,联邦学习可以应用于在保证各方数据安全的情况下,各方协同训练机器学习模型供多方使用的场景。在这个场景中,多个数据方拥有自己的数据,他们想共同使用彼此的数据来统一建模(例如,分类模型、线性回归模型、逻辑回归模型等),但并不想各自的数据(尤其是隐私数据)被泄露。例如,互联网储蓄机构A拥有一批用户数据,银行B拥有另一批用户数据,基于A和B的用户数据确定的训练样本集可以训练得到性能更好的机器学习模型。A和B都愿意通过彼此的用户数据共同参与模型训练,但因为一些原因A和B不愿意自己的用户数据信息遭到泄露,或者至少不愿意让对方知道自己的用户数据信息。一种典型的联合学习可以是基于联邦学习的模型训练。
在一些实施例中,联邦学习可以是基于独立同分布(IID,identically andindependently distributed)的训练数据进行模型训练的。独立同分布(IID)是指多方所持有的训练数据均服从一个相同的分布规律。然而,多方持有的训练数据可能具有不同的特征分布,因此在越来越多的联邦学习的应用场景中,需要基于非独立同分布(Non-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的一个或以上部件可以经由网络140向所述系统100中的其他有数据传输需求的部件发送信息和/或数据。例如,第一方110的处理设备110-1可以通过网络140接收第三方130的处理设备130-1下发的聚合模型。在一些实施例中,网络140可以为任意形式的有线或无线网络,或其任意组合。
图2是根据本说明书一些实施例所示的一个基于联邦学习进行模型参数更新的系统框图。
在一些实施例中,系统200布置在参与方中的任一训练成员上,以实现模型参数的多轮迭代更新。其中,所述参与方包括多个训练成员以及服务器,所述系统可以包括待训练模型获取模块210,第一模型获取模块220,模型传输模块230,子代模型获取模块240,子代模型突变模块250,子代模型性能评估模块260,模型确认模块270。
待训练模型获取模块210,用于获取当前轮对应的待训练模型;
第一模型获取模块220,用于基于自身持有的训练样本对所述待训练模型进行训练,获得当前轮对应的第一模型;
模型传输模块230,用于将与所述第一模型相关的模型数据上传给服务器,并获取所述服务器当前轮下发的聚合模型;所述聚合模型基于与各训练成员的第一模型相关的模型数据确定;
子代模型获取模块240,用于将来自一轮或多轮迭代更新的一个或多个聚合模型与来自一轮或多轮迭代更新的一个或多个第一模型通过预设的杂交函数处理,获取多个子代模型;
子代模型突变模块250,用于基于突变比例以及预设的突变函数对多个子代模型进行处理,获取突变后的多个子代模型;
子代模型性能评估模块260,用于基于自身持有的训练样本对突变后的多个子代模型进行性能评估,并筛选出性能最优的子代模型;
模型确认模块270,用于基于所述性能最优的子代模型作为下一轮迭代的待训练模型或者基于此确定该训练成员的最终模型。
在一些实施例中,当当前轮迭代更新为首轮迭代更新时,所述待训练模型获取模块210还用于获取与其他参与方模型结构相同的初始模型作为所述待训练模型,其中,所述初始模型中的模型参数随机生成。
在一些实施例中,与所述第一模型相关的模型数据包括所述第一模型的模型参数。
在一些实施例中,所述预设的杂交函数为多个,此时,子代模型获取模块240还用于将当前轮对应的聚合模型与当前轮对应的第一模型分别通过多个预设的杂交函数进行处理,获取多个子代模型。
在一些实施例中,子代模型获取模块240还用于,基于所述杂交函数对作为母系模型的第一模型以及作为父系模型的聚合模型中至少部分位置相同的模型参数进行处理,得到子代模型对应位置的模型参数。在一些实施例中,子代模型的其余位置模型参数来自其父系模型或者母系模型。
在一些实施例中,子代模型突变模块250用于:对于所述多个子代模型中的每一个,基于所述突变比例选择该子代模型中的部分元素,并基于预设的突变函数对所述部分元素进行突变处理,以获取突变后的多个子代模型;或者,基于所述突变比例从所述多个子代模型中选择部分子代模型,基于预设的所述突变函数对所述部分子代模型中的每一个进行突变处理,得到一个或多个突变子代模型,将所述一个或多个突变子代模型以及所述多个子代模型中剩余的子代模型作为突变后的多个子代模型。
在一些实施例中,子代模型性能评估模块260通过以下模型性能指标中的一种或多种的组合对突变后的多个子代模型进行性能评估:模型准确度、模型灵敏度、模型AUC、模型召回率。
在一些实施例中,子代模型性能评估模块260还用于,从自身持有的训练样本中获取第一样本集与第二样本集;利用第一样本集中的训练样本对突变后的多个子代模型分别进行训练;利用第二样本集中的训练样本对训练后的多个子代模型分别进行性能测试,获得突变后的多个子代模型的模型性能指标。
在一些实施例中,模型确认模块270还用于,若迭代更新的轮数小于设定阈值或者性能最优的子代模型对应模型性能未达到设定性能阈值要求,则将所述性能最优的子代模型作为下一轮迭代的待训练模型以进行下一轮迭代更新,否则将所述性能最优的子代模型作为该训练成员的最终模型。
在一些实施例中,与所述第一模型相关的模型数据以密文形式传输给服务器。
应当理解,本说明书一个或多个实施中的所述系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于处理设备及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。
图3是根据本说明书的一些实施例所示的基于联邦学习进行模型参数更新的示例性流程图。
在一些实施例中,流程300可以由各训练成员(如第一方110的处理设备)执行。
在本说明书中,约定按以下方式表示:
对于联邦学习模型训练,包括多个参与方,参与方包括至少一个服务器和k个训练成员(如训练成员1、2、3、…、k),训练成员是指参与联邦学习模型训练的数据持有者,其中,训练成员i的训练样本(集合)为Xi,其中,i={1,2,3…k},对应的样本数据的标签为yi
训练开始时,训练成员i可以获取当前轮(如第m轮迭代)的待训练模型
Figure BDA0002941243600000121
训练成员i基于自身持有的训练样本Xi进行训练(如经过一个batch的训练样本训练,一个batch的训练样本可以包括多条训练样本,仅作为示例,100条),以得到当前轮(第m轮)训练成员i的第一模型
Figure BDA0002941243600000122
进而各训练成员将m轮迭代的第一模型
Figure BDA0002941243600000123
上传给服务器,服务器聚合后下发聚合矩阵Dm;训练成员i基于一轮或多轮的聚合矩阵D1、D2、…、Dm-1、Dm以及第一模型
Figure BDA0002941243600000124
Figure BDA0002941243600000125
通过预设好的杂交函数、突变函数,获得对应的多个子代模型
Figure BDA0002941243600000126
(其中,第一下角标表示训练成员,第二下角标表示子代模型序号),通过对获得的多个子代模型进行性能评估,筛选出性能最优的子代模型,以此作为下一轮迭代的待训练模型。如此经过多轮反复迭代,最终各参与方可以分别获得训练好的模型。
可以理解,在上述实施场景中,待训练模型
Figure BDA0002941243600000127
第一模型
Figure BDA0002941243600000128
聚合矩阵Dm、子代模型均为同维度的矩阵。例如,上述模型均为L行V列的矩阵,拥有L*V个模型参数(其中,L、V为任意大于0的正整数)。
下面,以训练成员i为例对流程300的具体实施过程进行示例性说明,可以理解,训练成员i可以是训练成员1、2、3、…、k中的任意一个。
步骤310,获取当前轮对应的待训练模型。在一些实施例中,步骤310由待训练模型获取模块210完成。
待训练模型获取模块210可以基于上一轮迭代中的子代模型获取本轮迭代对应的待训练模型(如训练成员i的第m轮迭代的待训练模型为
Figure BDA0002941243600000131
),并基于此待训练模型进行后续步骤的训练。
在一些实施例中,当当前轮为首轮迭代更新时(即第一轮迭代更新时),各训练成员可以基于与其他参与方约定或共识确定的模型结构,生成与其他参与方结构相同的待训练模型。各训练成员的待训练模型的初始化模型参数可以是不同的,如各训练成员可以在本地自行随机化生成待训练模型。在一些实施例中,各训练成员的待训练模型的初始化模型参数也可以是相同的,如由服务器或某训练成员生成待训练模型的初始化模型参数,并分发给其他各训练成员。各参与方拥有相同的初始化模型参数可以加速模型的收敛,提高训练效率。本说明书中的模型参数可以是在模型中待训练的参数等,如神经网络中的权重。
步骤320,基于自身持有的训练样本对所述待训练模型进行训练,获得当前轮对应的第一模型。在一些实施例中,步骤320由第一模型获取模块220完成。
在一些实施例中,训练成员i可以基于自身持有的训练样本数据集Xi对待训练模型
Figure BDA0002941243600000132
进行模型训练,以得到第一模型
Figure BDA0002941243600000133
其具体过程如下:
首先,假设当前次迭代的迭代次数为m,训练成员i可以获取本地样本数据集Xi中一定数据规模的样本数据ni。其中,ni是指训练成员每次迭代中用于进行模型训练的训练样本数量。在一些实施例中,ni可以为100,200,300等。不难理解,不同训练成员的ni所包含的训练样本数量可以相同,也可以不同;或者同一训练成员在不同迭代轮次中的训练样本数量可以相同,也可以不同。对于任一训练样本,训练成员i可以基于待训练模型
Figure BDA0002941243600000134
对训练样本中的特征数据进行前向传播,得到预测标签
Figure BDA0002941243600000135
之后,根据计算得到的预测标签
Figure BDA0002941243600000136
以及训练成员i的训练数据中的标签yi之间的误差,计算得到损失函数Li,进而利用反向传播算法得到梯度矩阵
Figure BDA0002941243600000141
其中,反向传播是指误差通过输出层,向隐层、输入层逐层反传,依次确定各层的模型参数的修正值(或梯度)。其中,梯度矩阵
Figure BDA0002941243600000142
包含训练得到的多个梯度元素,且梯度矩阵
Figure BDA0002941243600000143
的梯度元素与模型参数一一对应,每个梯度元素反映参数的修正方向(增加或减小)以及修正量。
进一步地,基于梯度矩阵
Figure BDA0002941243600000144
进行对当前轮的待训练模型的模型参数更新,即可得到训练后的第一模型
Figure BDA0002941243600000145
具体地,第一模型
Figure BDA0002941243600000146
进行模型更新可以表示为:
Figure BDA0002941243600000147
其中,γi表示训练成员i预先设置好的学习率,可以理解,不同训练成员的预设学习率γi可以相同,也可以不同。
以上为训练成员i基于自身持有的训练样本数据集Xi对待训练模型
Figure BDA0002941243600000148
进行一轮训练得到第一模型
Figure BDA0002941243600000149
的过程。
步骤330,将与所述第一模型相关的模型数据上传给服务器,并获取所述服务器当前轮下发的聚合模型。在一些实施例中,步骤330由模型传输模块230完成。
在一些实施例中,模型传输模块230可以将训练成员i对应的与所述第一模型相关的模型数据上传给服务器。在一些实施例中,与第一模型相关的模型数据可以是指第一模型
Figure BDA00029412436000001410
本身的模型参数。在一些替代性实施例中,与第一模型相关的模型数据还可以是指与第一模型
Figure BDA00029412436000001411
对应的梯度矩阵
Figure BDA00029412436000001412
对应的梯度元素。
在以下一个或多个实施例中,以模型传输模块230传输的是第一模型
Figure BDA00029412436000001413
对应的模型元素为例进行示例性说明。可以理解,由于梯度矩阵
Figure BDA00029412436000001414
的梯度元素与第一模型
Figure BDA00029412436000001415
对应的模型参数一一对应。在一些替代性实施例中,也可以传输梯度矩阵
Figure BDA00029412436000001416
的梯度元素并进行类似的计算。
在一些实施例中,模型传输模块230可以将训练成员i对应的第一模型
Figure BDA0002941243600000151
上传给服务器,服务器基于各个训练成员上传的第一模型进行聚合,并下发第m轮迭代对应的聚合模型Dm
在一些实施例中,模型传输模块230也可以将步骤320中获得的训练成员i对应的第一模型
Figure BDA0002941243600000152
中的一部分模型参数上传给服务器。例如,模型传输模块230可以基于预先设置好的提取比例βi提取第一模型
Figure BDA0002941243600000153
中的一部分模型参数。具体地,可以基于提取比例βi随机提取第一模型
Figure BDA0002941243600000154
中的一部分模型参数并进行上传(如随机提取m个模型参数,其中m=βi×M,M为第一模型
Figure BDA0002941243600000155
中的参数总数)。
在一些实施例中,模型传输模块230可以按第一模型
Figure BDA0002941243600000156
中各模型参数的绝对值大小进行排序,选择绝对值靠前的m个模型参数进行上传。
在一些实施例中,模型传输模块230所传输的第一模型
Figure BDA0002941243600000157
的模型参数是以密文的形式发送的。所述密文形式包括但不限于同态加密、秘密分享等多种形式。
进一步地,服务器对所有训练成员上传的密文形式的第一模型
Figure BDA0002941243600000158
进行解密,再得到聚合模型Dm。有关聚合模型Dm计算可参见图6的相应描述,此处不再赘述。
步骤340,将来自一轮或多轮迭代更新的一个或多个聚合模型与一轮或多轮迭代更新的一个或多个第一模型通过预设的杂交函数处理,获取多个子代模型。在一些实施例中,步骤340由子代模型获取模块240完成。
杂交函数可以设置为将两个模型矩阵按模型参数位置进行模型参数变换,其中,模型参数变换可以包括但不限于将模型参数按位交换、按位求和、按位求均值等方式。例如,杂交函数可以设置为将A模型的模型矩阵第t行的模型参数与B模型的模型矩阵第t行的模型参数按位进行交换。又例如,杂交函数可以设置为将A模型的模型矩阵第t行的模型参数与B模型的模型矩阵第t行的模型参数按位求均值。再例如,杂交函数可以设置为将A模型的模型矩阵第l列中部分模型参数(如第l列第1,2,5,7个模型参数)与B模型第l列的对应位置的模型参数(B模型的模型矩阵中第l列第1,2,5,7个模型参数)进行交换。
在一些实施例中,杂交函数还可以设置为将两个模型矩阵按预设好的模型参数位置进行模型参数变换。例如,杂交函数还可以设置为将A模型的模型矩阵第t行的模型参数与B模型的模型矩阵第t+3行的模型参数进行交换。再例如,杂交函数还可以设置为将A模型的模型矩阵第t行的部分模型参数与B模型的模型矩阵第t+3行的预设位置的模型参数进行交换,且预设的位置可以不同。(如将A模型的模型矩阵第t行第一个元素交换至B模型的模型矩阵第t+3行的第7个元素)。
在一些实施例中,子代模型获取模块240可以建立训练成员i的父系模型库与母系模型库,基于此得到子代模型。
以训练成员i进行示例性说明(训练成员i可以是训练成员1~k中的任意一个)。如图4所示,以训练成员i在(已完成的)不同轮迭代轮中获得的第一模型
Figure BDA0002941243600000161
作为母系模型库,以(已完成的)不同轮迭代中获得的聚合模型D1、D2、…、Dm-1、Dm作为父系模型库;通过杂交函数进行处理,得到对应的子代模型集
Figure BDA0002941243600000162
Figure BDA0002941243600000163
(其中,第一下角标表示训练成员,第二下角标表示子代模型序号)。具体地,可以按照预设的杂交函数一一处理各个父系模型与各个母系模型相同位置的模型参数,以得到子代模型的对应位置的模型参数;而杂交函数未处理的模型参数(即子代模型其余位置的模型参数)可以直接继承父系模型的参数或母系模型的模型参数。因此,对于第m轮迭代而言,从父系模型库和母系模型库分别择一模型进行杂交函数处理。则共有m*m种组合形式,而由于每种组合形式对应的子代模型的其余位置既可以继承父系模型的参数,也可以继承母系模型的模型参数,因此,最多可生成2*m*m个子代模型(即图4中n=2*m*m)。在一些实施例中,也可以分别从父系模型库、母系模型库选择不同数量的父系模型和母系模型,基于不同的杂交函数进行处理,得到多个子代模型。示例性地,例如基于预设的杂交函数对父系模型为Dm、母系模型为
Figure BDA0002941243600000171
的组合形式进行处理,可以获得子代模型
Figure BDA0002941243600000172
采用这种方式进行杂交处理,可以充分利用各轮迭代过程所得的父系模型和母系模型,进而在后续步骤中筛选出性能最佳的子代模型。
在一些实施例中,预设的杂交函数包括多个(如n个)。在该场景的实施例中,子代模型获取模块240可以提取不同的杂交函数,并将当前轮对应的聚合模型Dm与当前轮对应的第一模型
Figure BDA0002941243600000173
分别通过多个预设的杂交函数(如n个杂交函数)进行处理,获取多个子代模型
Figure BDA0002941243600000174
Figure BDA0002941243600000175
(其中,第二下角标表示子代模型序号,其总数与杂交函数数量相同)。
步骤350,基于突变比例以及预设的突变函数对多个子代模型进行处理,获取突变后的多个子代模型。在一些实施例中,步骤350由子代模型突变模块250完成。
子代模型突变模块250可以基于步骤340获得的多个子代模型通过预设的突变函数进一步地进行处理,以获取突变后的多个子代模型。突变函数指的是采用类似遗传基因突变的原理,对子代模型中的部分模型参数的参数值进行变化(如增加若干值、减小若干值等方式),以形成更加异性化的突变后的子代模型。
在一些实施例中,子代模型突变模块250可以获取预设的突变比例α,示例性地,如α=10%,20%,30%等。依据设置的突变比例α对于每一个子代模型中的参数提取突变比例对应的部分元素,并基于预设的突变函数对提取的这一部分元素进行突变处理,而未提取到的部分元素则保持不变,采用这种方式获取突变后的多个子代模型。例如,若m轮迭代总共获得了s个子代模型(每个子代模型均有L*V个模型参数),则对所有的s个子代模型均从其模型参数中随机选择突变比例α的元素(α*L*V个元素)使用设置好的突变函数进行处理,而对未选中的部分元素则不变,以此获取突变后的子代模型。
在一些实施例中,子代模型突变模块250可以基于突变比例α选择部分子代模型,对选择的这一部分子代模型进行突变处理,得到对应的突变后的子代模型,而将未选中的剩余的子代模型直接作为突变后的多个子代模型。可以理解,在该场景的实施例中,突变后的多个子代模型中仅有部分子代模型经过了突变函数的处理,另外未选中的部分子代模型未经过突变函数处理。例如,若m轮迭代总共获得s个子代模型,则对α*s个子代模型使用设置好的突变函数进行基因突变,以获取突变后的子代模型,而对于剩余的(1-α)*s个子代模型,则直接将其作为突变后的子代模型。
使用突变函数对单个子代模型进行基因突变时,可以将该子代模型的全部模型参数进行基因突变,也可以对其中的部分模型参数进行基因突变。具体地,可以设定提取比例系数η以从部分子代模型中提取部分模型参数进行基因突变。例如,可以设定提取比例系数η(示例性地,如η=10%,20%,30%等)。基于提取比例系数η从选定的部分子代模型(如m轮提取的α*s个子代模型)中进一步选取提取比例系数η对应的元素进行突变处理,以得到一个或多个突变子代模型。例如,对选定的部分子代模型(α*s个子代模型)中的任意一个(如
Figure BDA0002941243600000181
),提取η*L*V个模型参数进行突变,以得到突变后的子代模型。可以理解,对于同一子代模型(如
Figure BDA0002941243600000182
),可以采用同一提取比例系数η提取该子代模型(如
Figure BDA0002941243600000183
)中不同部分的元素,可以得到不同的突变后的子代模型。
步骤360,基于自身持有的训练样本对突变后的多个子代模型进行性能评估,并筛选出性能最优的子代模型。在一些实施例中,步骤360由子代模型性能评估模块260完成。
模型性能参数F是指用于评估模型性能优劣的数据。模型性能参数可以包括以下中的一种或多种的组合:错误率、精度、查准率、查全率、AUC、ROC等。
模型性能评估模块260可以基于自身持有的训练样本对突变后的多个子代模型进行性能评估,以筛选出性能最优的子代模型。具体地,训练成员i可以从自身持有的训练样本中获取第一样本集与第二样本集,利用第一样本集中的训练样本对突变后的多个子代模型分别进行训练,利用第二样本集中的训练样本对训练后的多个子代模型分别进行性能测试,获得突变后的多个子代模型的模型性能指标,进而基于获得的性能指标筛选出最优的子代模型。
在一些实施例中,用于筛选的性能指标可以是一个平均性能
Figure BDA0002941243600000191
平均性能
Figure BDA0002941243600000192
可以是多个性能指标F的综合表征。例如,平均性能
Figure BDA0002941243600000193
可以是错误率、精度、查准率、查全率、AUC、ROC中任意两种或两种以上的参数的综合计算结果。所述综合计算结果可以是以任意算式或者函数进行运算,包括但不限于求和、求平均、加权平均、方差等方式。采用多个参数共同表征平均性能
Figure BDA0002941243600000194
可以选出综合性能最高的模型,而非选出某个参数最优的模型。
步骤370,基于性能最优的子代模型作为下一轮迭代的待训练模型或者基于此确定该训练成员的最终模型。在一些实施例中,步骤370由模型确认模块270完成。
在一些实施例中,模型确认模块270可以获取当前迭代轮数m,判断m是否小于设定阈值,若是,则确定进行下一轮迭代更新,同时将当前轮的性能最优的子代模型作为下一轮迭代更新的待训练模型;若否,则确定不再进行下一轮迭代更新。其中,设定阈值可以是一个预先设定好的正整数,用以表征迭代轮数的上限(如设定阈值可以是5、10、100等任意取值)。当迭代轮数m不小于设定阈值时,可以确定终止迭代,并通知各训练成员将目前获得的性能最优的子代模型作为最终模型。
在一些实施例中,模型确认模块270还可以将当前轮(如m轮)所得的最优子代模型的模型性能与预设性能阈值进行比较,若当前轮(如m轮)所得的最优子代模型的模型性能满足预设性能阈值的要求,则停止下一轮迭代更新,并将当前轮(如m轮)所得的最优子代模型作为训练成员i的最终模型。
在一些实施例中,模型确认模块270还可以设置最优子代模型无更新最大次数(如5轮)。若连续若干轮训练成员所获得的性能最优的子代模型(如连续5轮训练)均无变化时,模型确认模块270可以基于当前获得的最优子代模型直接确定训练成员i的最终模型。
需要说明的是,以上各个步骤中涉及的各训练成员是以传输的是第一模型
Figure BDA0002941243600000201
对应的模型参数为例进行的示例性说明,可以理解,由于模型梯度矩阵为
Figure BDA0002941243600000202
是第一模型
Figure BDA0002941243600000203
对应的更新参数,其数据维度与第一模型
Figure BDA0002941243600000204
完全一致。在一些替代性实施例中,可以在步骤330中将模型梯度矩阵
Figure BDA0002941243600000205
上传给服务器,并获取服务器当前轮下发的聚合模型(即聚合梯度矩阵),此后的步骤与步骤340~步骤370相同。
图5是根据本说明书另一些实施例所示的基于联邦学习进行模型参数更新的系统框图。
在一些实施例中,系统500布置在参与方中的服务器上,用于对模型参数进行多轮迭代更新。其中,所述参与方包括多个训练成员以及服务器,所述系统可以包括模型数据获取模块510,聚合模型确定模块520,聚合模型发送模块530。
模型数据获取模块510,用于获取各训练成员上传的模型数据,所述模型数据与各训练成员的当前轮对应的第一模型相关;
聚合模型确定模块520,用于基于各训练成员上传的模型数据确定当前轮对应的聚合模型;
聚合模型发送模块530,用于将当前轮迭代对应的聚合模型发送给各训练成员。
在一些实施例中,模型数据获取模块510获取到的与所述第一模型相关的模型数据是以密文形式进行传输的。在该场景的实施例中,聚合模型确定模块520可以基于各训练成员上传的密文形式的数据进行解密,进而确定当前轮对应的聚合模型。
需要注意的是,以上对于处理设备及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。
图6是根据本说明书的另一些实施例所示的基于联邦学习进行模型参数更新的示例性流程图。流程600可以由服务器执行(如由系统500执行),其包括:
步骤610,获取各训练成员上传的模型数据,所述模型数据与各训练成员的当前轮对应的第一模型相关。在一些实施例中,步骤610可以由模型数据获取模块510执行。
模型数据获取模块510可以用获取各个训练成员上传的当前轮对应的第一模型相关的模型参数。
以m轮迭代为例,模型数据获取模块510可以获取训练成员1,2,…,k对应的与所述第一模型相关的模型数据上传给服务器。在一些实施例中,与第一模型相关的模型数据可以是指各个训练成员第一模型本身的模型参数
Figure BDA0002941243600000211
关于第一模型相关的模型参数的更多细节可以参见图3及其相关描述,此处不再赘述。
在一些替代性实施例中,与第一模型相关的模型数据还可以是指各个训练成员第一模型对应的梯度矩阵
Figure BDA0002941243600000221
的梯度元素。
步骤620,基于各训练成员上传的模型数据确定当前轮对应的聚合模型。在一些实施例中,步骤620可以由聚合模型确定模块520执行。
在一些实施例中,各训练成员上传的是第一模型本身的模型参数
Figure BDA0002941243600000222
的明文数据。此时,聚合模型确定模块520可以基于各训练成员上传的第一模型
Figure BDA0002941243600000223
中的各个模型参数的明文数据直接进行按位求平均,进而得到第m轮的聚合矩阵Dm
在一些实施例中,所获得的各训练成员传输的第一模型
Figure BDA0002941243600000224
的模型参数是以密文的形式发送的。所述密文形式包括但不限于同态加密、秘密分享等多种形式。
以秘密分享为例,在该场景的实施例中,各训练成员(如训练成员i)可以将自身获得的第一模型
Figure BDA0002941243600000225
进行拆分,得到多个(如k个)秘密分片,将k-1个秘密分片发送给其他k-1个训练成员,同时获得来自其他k-1个训练成员的秘密分片,再基于自身获得的第一模型
Figure BDA0002941243600000226
的保留秘密分片与来自其他k-1个训练成员的秘密分片进行融合(如按位累加)得到密文形式的融合结果,将融合结果传输给服务器。服务器对所有训练成员上传的密文形式的融合结果进行求和,再基于训练成员的数量得到各训练成员的第一模型的模型参数均值,进而得到明文数据下的聚合模型Dm
在一些实施例中,各参与成员(如训练成员i)还可以采用同态加密的方式对自身获得的第一模型
Figure BDA0002941243600000227
进行加密。具体地,由可信第三方或者是参与成员的一方生成一组秘钥对<pk,sk>,这一组秘钥对由所有参与成员持有,但不被服务器所知悉。各训练成员上传的第一模型均用这一组秘钥对进行加密(如使用其中的公钥进行同态加密),而后上传服务器,类似的,服务器从各训练成员接收其他同态加密的第一模型,而后密态求均值得到密文数据下的聚合模型[Dm];最后将密态的聚合模型[Dm]下发给各训练成员,各训练成员利用私钥对密态的聚合模型[Dm]解密,得到明文数据下的聚合模型Dm。应当理解,在本实施例中,服务器端始终只保存有各轮迭代更新获取的密态下的模型参数。
上述实施例是以训练成员上传的是第一模型
Figure BDA0002941243600000231
Figure BDA0002941243600000232
为例进行的示例性说明。可以理解,由于梯度矩阵
Figure BDA0002941243600000233
的梯度元素与第一模型
Figure BDA0002941243600000234
对应的模型参数是一一对应的。因此,当各个训练成员传输的是梯度矩阵
Figure BDA0002941243600000235
的梯度元素时,也可以进行采用上述类似的方式(如明文计算、加密计算等方式)得到对应的聚合梯度矩阵,再基于聚合梯度矩阵更新服务端模型的模型参数,得到聚合模型Dm
步骤630,将当前轮迭代对应的聚合模型发送给各训练成员。在一些实施例中,步骤630可以由聚合模型发送模块530执行。
本说明书实施例可能带来的有益效果包括但不限于:1)结合遗传算法对联邦学习的聚合过程进行优化和改进,利用遗传算法得到多个训练成员的子代模型,从而增加了训练成员本地模型的多样性;2)各个训练成员在每轮迭代中基于自身持有的样本筛选出性能最优的子代模型进行下一轮训练,降低了数据分布不均对模型训练的影响,使得各训练成员得到的最终模型能更好的适应该训练成员的预测场景。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (16)

1.一种基于联邦学习进行模型参数更新的方法,所述方法由参与方中的任一训练成员设备实现,其中,所述参与方包括多个训练成员设备以及服务器;所述方法包括对模型参数进行多轮迭代更新,其中一轮迭代更新包括:
获取当前轮对应的待训练模型;
基于自身持有的训练样本对所述待训练模型进行训练,获得当前轮对应的第一模型;
将与所述第一模型相关的模型数据上传给服务器,并获取所述服务器当前轮下发的聚合模型;所述聚合模型基于与各训练成员设备的第一模型相关的模型数据确定;
将来自一轮或多轮迭代更新的一个或多个聚合模型与来自一轮或多轮迭代更新的一个或多个第一模型通过预设的杂交函数处理,获取多个子代模型;其中,所述杂交函数用于将不同模型的模型参数按模型参数位置进行模型参数变换,所述模型参数变换至少包括将模型参数按位交换、按位求和按位求均值中的一种或多种;
基于突变比例以及预设的突变函数对多个子代模型进行处理,获取突变后的多个子代模型;
基于自身持有的训练样本对突变后的多个子代模型进行性能评估,并筛选出性能最优的子代模型;
基于所述性能最优的子代模型作为下一轮迭代的待训练模型或者基于此确定该训练成员设备的最终模型。
2.根据权利要求1所述的方法,当当前轮迭代更新为首轮迭代更新时,所述获取当前轮对应的待训练模型,包括:
获取与其他参与方模型结构相同的初始模型作为所述待训练模型,其中,所述初始模型中的模型参数随机生成。
3.根据权利要求1所述的方法,与所述第一模型相关的模型数据包括所述第一模型的模型参数。
4.根据权利要求1所述的方法,所述预设的杂交函数为多个,所述将来自一轮或多轮迭代更新的一个或多个聚合模型与来自一轮或多轮迭代更新的一个或多个第一模型通过预设的杂交函数处理,获取多个子代模型,包括:
将当前轮对应的聚合模型与当前轮对应的第一模型分别通过多个预设的杂交函数进行处理,获取多个子代模型。
5.根据权利要求1所述的方法,所述将来自一轮或多轮迭代更新的一个或多个聚合模型与来自一轮或多轮迭代更新的一个或多个第一模型通过预设的杂交函数处理,获取多个子模型,包括:
基于所述杂交函数对作为母系模型的第一模型以及作为父系模型的聚合模型中至少部分位置相同的模型参数进行处理,得到子代模型对应位置的模型参数。
6.根据权利要求5所述的方法,所述子代模型的其余位置模型参数来自其父系模型或者母系模型。
7.根据权利要求1所述的方法,所述基于突变比例以及预设的突变函数对多个子代模型进行处理,获取突变后的多个子代模型,包括:
对于所述多个子代模型中的每一个,基于所述突变比例选择该子代模型中的部分元素,并基于预设的突变函数对所述部分元素进行突变处理,以获取突变后的多个子代模型;
或者,
基于所述突变比例从所述多个子代模型中选择部分子代模型,基于预设的所述突变函数对所述部分子代模型中的每一个进行突变处理,得到一个或多个突变子代模型,将所述一个或多个突变子代模型以及所述多个子代模型中剩余的子代模型作为突变后的多个子代模型。
8.根据权利要求1所述的方法,通过以下模型性能指标中的一种或多种的组合对突变后的多个子代模型进行性能评估:模型准确度、模型灵敏度、模型AUC、模型召回率。
9.根据权利要求1所述的方法,所述基于自身持有的训练样本对突变后的多个子代模型进行性能评估,包括:
从自身持有的训练样本中获取第一样本集与第二样本集;
利用第一样本集中的训练样本对突变后的多个子代模型分别进行训练;
利用第二样本集中的训练样本对训练后的多个子代模型分别进行性能测试,获得突变后的多个子代模型的模型性能指标。
10.根据权利要求1所述的方法,所述基于所述性能最优的子代模型作为下一轮迭代的待训练模型或者基于此确定该训练成员设备的最终模型,包括:
若迭代更新的轮数小于设定阈值或者性能最优的子代模型对应模型性能未达到设定性能阈值要求,则将所述性能最优的子代模型作为下一轮迭代的待训练模型以进行下一轮迭代更新,否则将所述性能最优的子代模型作为该训练成员设备的最终模型。
11.根据权利要求1所述的方法,与所述第一模型相关的模型数据以密文形式传输给服务器。
12.一种基于联邦学习进行模型参数更新的系统,所述系统置于参与方中的任一训练成员设备处,其中,所述参与方包括多个训练成员设备以及服务器;所述系统用于对模型参数进行多轮迭代更新,所述系统包括:
待训练模型获取模块,用于获取当前轮对应的待训练模型;
第一模型获取模块,用于基于自身持有的训练样本对所述待训练模型进行训练,获得当前轮对应的第一模型;
模型传输模块,用于将与所述第一模型相关的模型数据上传给服务器,并获取所述服务器当前轮下发的聚合模型;所述聚合模型基于与各训练成员设备的第一模型相关的模型数据确定;
子代模型获取模块,用于将来自一轮或多轮迭代更新的一个或多个聚合模型与来自一轮或多轮迭代更新的一个或多个第一模型通过预设的杂交函数处理,获取多个子代模型;其中,所述杂交函数用于将不同模型的模型参数按模型参数位置进行模型参数变换,所述模型参数变换至少包括将模型参数按位交换、按位求和按位求均值中的一种或多种;
子代模型突变模块,用于基于突变比例以及预设的突变函数对多个子代模型进行处理,获取突变后的多个子代模型;
子代模型性能评估模块,用于基于自身持有的训练样本对突变后的多个子代模型进行性能评估,并筛选出性能最优的子代模型;
模型确认模块,用于基于所述性能最优的子代模型作为下一轮迭代的待训练模型或者基于此确定该训练成员设备的最终模型。
13.一种基于联邦学习进行模型参数更新的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如权利要求1至11中任一项所述基于联邦学习进行模型参数更新的方法。
14.一种基于联邦学习进行模型参数更新的方法,所述方法由参与方中的服务器实现,其中,所述参与方包括多个训练成员设备以及服务器;所述方法包括对模型参数进行多轮迭代更新,其中一轮迭代更新包括:
获取各训练成员设备上传的模型数据,所述模型数据与各训练成员设备的当前轮对应的第一模型相关;
基于各训练成员设备上传的模型数据确定当前轮对应的聚合模型;
将当前轮迭代对应的聚合模型发送给各训练成员设备。
15.一种基于联邦学习进行模型参数更新的系统,所述系统置于参与方中的服务器处,其中,所述参与方包括多个训练成员设备以及服务器;所述系统用于对模型参数进行多轮迭代更新,所述系统包括:
模型数据获取模块,用于获取各训练成员设备上传的模型数据,所述模型数据与各训练成员设备的当前轮对应的第一模型相关;
聚合模型确定模块,用于基于各训练成员设备上传的模型数据确定当前轮对应的聚合模型;
聚合模型发送模块,用于将当前轮迭代对应的聚合模型发送给各训练成员设备。
16.一种基于联邦学习进行模型参数更新的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如权利要求14所述基于联邦学习进行模型参数更新的方法。
CN202110177803.4A 2021-02-08 2021-02-08 一种基于联邦学习进行模型参数更新的方法、系统及装置 Active CN112990476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110177803.4A CN112990476B (zh) 2021-02-08 2021-02-08 一种基于联邦学习进行模型参数更新的方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110177803.4A CN112990476B (zh) 2021-02-08 2021-02-08 一种基于联邦学习进行模型参数更新的方法、系统及装置

Publications (2)

Publication Number Publication Date
CN112990476A CN112990476A (zh) 2021-06-18
CN112990476B true CN112990476B (zh) 2022-04-12

Family

ID=76392661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110177803.4A Active CN112990476B (zh) 2021-02-08 2021-02-08 一种基于联邦学习进行模型参数更新的方法、系统及装置

Country Status (1)

Country Link
CN (1) CN112990476B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398059A (zh) * 2022-01-11 2022-04-26 平安普惠企业管理有限公司 参数的更新方法、装置、设备以及存储介质
CN115186937B (zh) * 2022-09-09 2022-11-22 闪捷信息科技有限公司 基于多方数据协同的预测模型训练、数据预测方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931947A (zh) * 2020-10-12 2020-11-13 支付宝(杭州)信息技术有限公司 一种用于分布式模型训练的训练样本重组方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11823067B2 (en) * 2017-06-27 2023-11-21 Hcl Technologies Limited System and method for tuning and deploying an analytical model over a target eco-system
CN110266771B (zh) * 2019-05-30 2022-11-22 王静逸 分布式智能节点及分布式群体智能统部署方法
CN111382875A (zh) * 2020-03-06 2020-07-07 深圳前海微众银行股份有限公司 联邦模型参数确定方法、装置、设备及存储介质
CN111428881B (zh) * 2020-03-20 2021-12-07 深圳前海微众银行股份有限公司 识别模型的训练方法、装置、设备及可读存储介质
CN111931950B (zh) * 2020-09-28 2021-01-26 支付宝(杭州)信息技术有限公司 一种基于联邦学习进行模型参数更新的方法及系统
CN112288100B (zh) * 2020-12-29 2021-08-03 支付宝(杭州)信息技术有限公司 一种基于联邦学习进行模型参数更新的方法、系统及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931947A (zh) * 2020-10-12 2020-11-13 支付宝(杭州)信息技术有限公司 一种用于分布式模型训练的训练样本重组方法及系统

Also Published As

Publication number Publication date
CN112990476A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN111931950B (zh) 一种基于联邦学习进行模型参数更新的方法及系统
CN112288100B (zh) 一种基于联邦学习进行模型参数更新的方法、系统及装置
Graham et al. BinSanity: unsupervised clustering of environmental microbial assemblies using coverage and affinity propagation
Sun et al. Surrogate-assisted evolutionary deep learning using an end-to-end random forest-based performance predictor
Wang et al. Automatic inference of demographic parameters using generative adversarial networks
Brown et al. Measurement of bacterial replication rates in microbial communities
CN112990476B (zh) 一种基于联邦学习进行模型参数更新的方法、系统及装置
CN113011587B (zh) 一种隐私保护的模型训练方法和系统
CN112396191B (zh) 一种基于联邦学习进行模型参数更新的方法、系统及装置
Criscuolo On the transformation of MinHash-based uncorrected distances into proper evolutionary distances for phylogenetic inference
Gnecco et al. Extremal random forests
CN113033823A (zh) 一种模型训练方法、系统及装置
Bien et al. Non-convex global minimization and false discovery rate control for the TREX
Monroe et al. TSPmap, a tool making use of traveling salesperson problem solvers in the efficient and accurate construction of high-density genetic linkage maps
CN113379039B (zh) 一种模型训练的方法、系统及装置
Bickel et al. Correcting false discovery rates for their bias toward false positives
Sarkar et al. Sparse estimation of mutual information landscapes quantifies information transmission through cellular biochemical reaction networks
Zych et al. reGenotyper: Detecting mislabeled samples in genetic data
Sun et al. TSLRF: two-stage algorithm based on least angle regression and random forest in genome-wide association studies
Gunady et al. scGAIN: single cell RNA-seq data imputation using generative adversarial networks
Bohm et al. Information fragmentation, encryption and information flow in complex biological networks
Agrebi et al. Metaheuristic algorithms for the two-machine flowshop scheduling problem with release dates and blocking constraint
Hansen et al. Normalizing flows for knockoff-free controlled feature selection
CN111931947B (zh) 一种用于分布式模型训练的训练样本重组方法及系统
Krah et al. The effect of natural selection on the propagation of protein expression noise to bacterial growth

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