CN111475853B - 一种基于分布式数据的模型训练方法及系统 - Google Patents
一种基于分布式数据的模型训练方法及系统 Download PDFInfo
- Publication number
- CN111475853B CN111475853B CN202010586338.5A CN202010586338A CN111475853B CN 111475853 B CN111475853 B CN 111475853B CN 202010586338 A CN202010586338 A CN 202010586338A CN 111475853 B CN111475853 B CN 111475853B
- Authority
- CN
- China
- Prior art keywords
- model
- cluster
- terminal
- desensitization
- cluster center
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本说明书公开了一种基于分布式数据的模型训练方法及系统。所述方法应用于包括至少3个终端的系统;终端被划分为至少3个终端集群,针对每个集群,将该集群中任一终端确定为集群中心;所述方法包括,通过以下步骤完成模型训练的每轮迭代:针对每个集群中心,确定本轮迭代的至少一个目标集群中心;其中,每轮迭代所确定的目标集群中心具有随机性;每个集群中心获得本集群当前的综合模型脱敏特征,并将该综合模型脱敏特征发送到目标集群中心;每个集群中心根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新。
Description
技术领域
本说明书实施例涉及机器学习领域,尤其涉及一种基于分布式数据的模型训练方法及系统。
背景技术
在大数据时代,往往需要收集海量的数据进行分析,从而获取到各种形式的分析结果。在模型训练的过程中,往往需要大量的数据作为样本,才能提高模型的训练效果,使得模型更好地发挥作用。例如,收集大量风控数据以便于更好地训练风控模型,提高风控模型的风险识别准确率。
但在收集数据的过程中,不可避免地会涉及到用户隐私的问题。当需要收集的数据涉及用户隐私时,往往会因为违规问题或用户未授权等情况,导致无法获取到涉及用户隐私的数据,从而难以收集到足够的数据进行分析。
在这种情况下,模型的训练效果往往较差,难以达到预期。
发明内容
为了在保护用户隐私数据的前提下,提高模型的训练效果,本说明书提供了一种基于分布式数据的模型训练方法及系统。技术方案如下:
一种基于分布式数据的模型训练方法,应用于包括至少3个终端的系统,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型;系统中的终端被划分为至少3个终端集群,针对每个集群,将该集群中任一终端确定为集群中心;所述方法包括,通过以下步骤完成模型训练的每轮迭代:
针对每个集群中心,确定本轮迭代的至少一个目标集群中心;其中,每轮迭代所确定的目标集群中心具有随机性;
每个集群中心获得本集群当前的综合模型脱敏特征,并将该综合模型脱敏特征发送到目标集群中心;所述综合模型脱敏特征,是对本集群中每个终端当前的模型进行脱敏处理后获得的;
每个集群中心根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新。
一种基于分布式数据的模型训练方法,应用于包括至少3个终端的系统,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型;所述方法包括,通过以下步骤完成模型训练的每轮迭代:
针对每个终端,确定本轮迭代的至少一个目标终端;其中,每轮迭代所确定的目标终端具有随机性;
每个终端获得当前的模型脱敏特征,并将该特征发送到目标终端;所述模型脱敏特征,是对终端当前的模型进行脱敏处理后获得的;
每个终端根据本地的当前模型脱敏特征、以及接收到的其他终端的模型脱敏特征,对本地模型进行更新。
一种基于分布式数据的模型训练系统,包括至少3个终端,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型;系统中的终端被划分为至少3个终端集群,针对每个集群,将该集群中任一终端确定为集群中心;
被确定为集群中心的每个终端,用于通过以下步骤完成模型训练的每轮迭代:
获得本集群当前的综合模型脱敏特征,并将该综合模型脱敏特征发送到本轮迭代中所确定的至少一个目标集群中心;所述综合模型脱敏特征,是对本集群中每个终端当前的模型进行脱敏处理后获得的;其中,每轮迭代所确定的目标集群中心具有随机性;
根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新。
一种基于分布式数据的模型训练系统,包括至少3个终端,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型;所述每个终端用于通过以下步骤完成模型训练的每轮迭代:
获得当前的模型脱敏特征,并将该特征发送到本轮迭代所确定的至少一个目标终端;所述模型脱敏特征,是对终端当前的模型进行脱敏处理后获得的;其中,每轮迭代所确定的目标终端具有随机性;
根据本地的当前模型脱敏特征、以及接收到的其他终端的模型脱敏特征,对本地模型进行更新。
通过上述技术方案,可以在模型训练的过程中,始终将终端上的数据保存在本地,无需发送出去。在保护了用户隐私的情况下,又进一步基于每轮迭代中确定目标集群中心或者确定目标终端的随机性提高了数据的安全性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种模型训练方法的原理示意图;
图2是本说明书实施例提供的一种基于分布式数据的模型训练方法的原理示意图;
图3是本说明书实施例提供的一种基于分布式数据的模型训练方法的流程示意图;
图4是本说明书实施例提供的另一种基于分布式数据的模型训练方法的流程示意图;
图5是本说明书实施例提供的一种基于分布式数据的模型训练系统的结构示意图;
图6是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
在大数据时代,往往需要收集海量的数据进行分析,从而获取到各种形式的分析结果。在模型训练的过程中,往往需要大量的数据作为样本进行有监督学习,才能提高模型的训练效果,使得模型更好地发挥作用。例如,收集大量风控数据样本以便于更好地训练风控模型,提高风控模型的风险识别准确率。
而数据通常以分布式的形式存储在不同的终端上,因此服务端可以从终端上收集数据,将收集到的数据作为样本进行有监督学习。
但在收集数据的过程中,有可能会涉及到用户隐私。当需要收集的数据涉及用户隐私时,往往会因为用户未授权等情况,导致无法获取到涉及用户隐私的数据,从而难以收集到足够的数据进行模型训练。在这种情况下,模型的训练效果往往较差,难以达到预期。
例如,在训练音乐推荐模型时,如果用户终端未开放存储信息授权,服务端在进行模型训练时无法收集到用户经常收听的音乐信息,也就难以收集到足够的数据进行分析,训练出的音乐推荐模型的推荐效果较差。
为了在保护用户隐私的前提下,提高模型的训练效果,一种可用的方案是,系统中每个终端在本地训练模型,服务端从系统中全部终端上收集模型的特征,以便于进行综合的模型训练。
模型的特征具体可以是模型目标函数的梯度、或者模型参数集等等。
由于这些模型特征并不涉及终端本地用于训练的数据样本,同时可以用于模型训练,因此,这些模型特征可以被视为对隐私数据(数据样本)的变形,以防止泄露隐私数据,即模型脱敏特征。
模型脱敏特征的获取方法,可以是对模型进行脱敏处理获取到的。例如:
当模型脱敏特征为模型目标函数的梯度时,终端根据本地数据样本确定当前本地模型的目标函数的梯度为终端当前的模型脱敏特征;当模型脱敏特征为模型参数集时,终端根据本地数据样本训练模型,将训练后得到的模型参数集作为终端当前的模型脱敏特征。
在综合的模型训练中,需要获取综合模型脱敏特征。综合模型脱敏特征具体可以是综合梯度或者综合模型参数集等等。综合模型脱敏特征的形式,可以是集合或单个特征。
综合模型脱敏特征的获取方法,可以是对系统中每个终端当前的模型进行脱敏处理。具体可以是根据系统中每个终端上的模型脱敏特征,基于预设的算法,确定出一个特征作为综合模型脱敏特征;或者直接将系统中每个终端上的模型脱敏特征添加到一个集合中,将该集合确定为综合模型脱敏特征。
例如,当综合模型脱敏特征为综合梯度时,综合梯度的获取方法可以是基于预设的算法,将系统中每个终端当前的梯度汇总后进行处理,得到一个梯度确定为综合梯度;也可以是直接将系统中每个终端当前的梯度添加到一个集合中,将该集合确定为综合梯度。
如图1所示,为本说明书提供的上述一种模型训练方法的原理示意图。当模型脱敏特征为模型目标函数的梯度时,系统中每个终端可以基于本地数据获取本地模型的目标函数的当前梯度θi,将当前梯度θi发送到服务端,其中i=1,2,3...M;服务端汇总各终端的梯度后,基于预设的算法确定出一个梯度作为综合梯度θ综,下发到系统中每个终端上,每个终端根据综合梯度更新本地模型,从而完成一次迭代训练。
由于整体训练过程中,终端本地用于训练的数据样本没有发送出去,而梯度属于模型脱敏特征,不涉及数据样本(隐私数据),从而保护了用户隐私。同时,也利用各终端本地的数据样本进行模型训练,因此提高了模型的训练效果。
但上述方法中,由于服务端可以连续获取系统中每个终端在每轮迭代中的模型脱敏特征,因此这种将服务端作为中心的中心化架构仍然存在一定的数据安全隐患。例如,服务端在模型已知的前提下,基于特定的算法,可以根据任一终端上模型参数集的连续变化情况或者模型目标函数的梯度的连续变化情况,反推出该终端上的数据样本的分布情况。
因此,为了进一步提高数据的安全性,本说明书实施例提供了一种基于分布式数据的模型训练方法。
该模型训练方法应用于包含至少2个终端的系统中,系统中每个终端都不会向服务端发送模型脱敏特征,从而利用去中心化的架构训练模型。其中,每个终端都存储有待训练的模型,且每个终端都存储有特征相同的数据样本,待训练的模型是根据相同特征的数据样本构建的。
作为一种示例,当模型脱敏特征为模型目标函数的梯度时,每轮迭代中,每个终端都向系统中其他全部终端发送梯度,每个终端可以接收到系统中其他全部终端发送的梯度。因此,系统中每个终端都可以根据系统中全部终端的梯度确定出一个梯度作为综合梯度,对本地的待训练模型进行更新。
在一种可选的实施方式中:每个终端可以在每轮迭代中,确定其他需要发送模型脱敏特征的终端,但在整体训练过程中,并不会连续发送模型脱敏特征到同一个终端。
这种实施方式可以避免任一终端连续获取每个终端在每轮迭代中的模型脱敏特征,进一步提高数据的安全性。
例如,由于特定的算法必须根据连续的模型脱敏特征的变化情况进行反推,因此,只要每个终端无法连续获取到其他任一终端的模型脱敏特征,则无法根据特定的算法成功反推。
基于这一点,每轮迭代中,每个终端在向其他终端发送模型脱敏特征时,需要基于预设的算法,确定至少一个终端,并向确定的终端发送模型脱敏特征,所确定的终端具有随机性,避免连续发送模型脱敏特征到同一个终端。
具体实现时,可以利用任一随机算法确定需要发送模型脱敏特征的终端编号,例如,基于时间的随机算法、基于哈希算法的随机算法。当然,每轮迭代中,每个终端可以向至少一个其他终端发送模型脱敏特征,本说明书实施例并不限定随机算法和发送模型脱敏特征的终端数量。只要在整体模型训练过程中,每个终端都没有连续发送模型脱敏特征到任一固定的终端即可。
作为一种示例,在包含5个终端(终端1-5)的系统中,终端1在确定至少一个终端,并向确定的终端发送模型脱敏特征时,可以针对终端2-5,分别基于预设的随机算法在0和1之间确定出一个数字,同时限定所确定出的4个数字之和大于等于1。
当确定的数字为1时,则可以向对应的终端发送模型脱敏特征。
由于针对终端2、5所确定的数字为1,因此,终端1确定向终端2、5发送模型脱敏特征。
需要注意的是,在确定终端时,如果系统中只包含2个终端,则对于任一终端,在训练过程中只能连续向另一终端发送模型脱敏特征,无法避免连续发送模型脱敏特征到同一个终端。如果要避免连续发送模型脱敏特征到同一个终端,系统中至少需要3个终端,才可能在训练过程中选择不同的终端发送模型脱敏特征,从而不会连续向同一个终端发送模型脱敏特征。
在另一种可选的实施方式中,为了减少需要传输的模型脱敏特征数量,可以将系统中的全部终端划分为至少3个终端集群。其中,集群的划分具有随机性。
在集群内部,每轮迭代中,每个集群基于本集群中全部终端确定出一个综合模型脱敏特征。
在集群之间,每轮迭代中,每个集群可以确定至少一个集群,并向所确定的集群发送综合模型脱敏特征,集群的确定具有随机性。每个集群根据接收到的综合模型脱敏特征和自身的综合模型脱敏特征,确定新的模型脱敏特征,基于所确定的新的模型脱敏特征,更新本集群中每个终端上的模型。
由于终端都被划分到集群中,且只传输集群内部在每轮迭代中确定的综合模型脱敏特征,因此与传输每个终端确定的模型脱敏特征相比,大大减少了需要传输的模型脱敏特征数量,提高了传输效率。
利用上述实施方式,可以在保护用户隐私的前提下,利用去中心化的架构实现模型训练,提高模型训练效果,也不存在中心化的架构的数据安全隐患。同时,还可以减少需要传输的模型脱敏特征,提高传输效率。
下面结合附图对本说明书提供的方法实施例进行详细的描述。
首先为了便于理解,对本说明书实施例提供的方法原理进行描述。
如图2所示,为本说明书实施例提供的一种基于分布式数据的模型训练方法的原理示意图,应用于包含9个终端(终端1-9)的系统,模型脱敏特征为模型目标函数的梯度。需要注意的是,此处的方法实施例仅仅是一种示例,不能限定本说明书公开的范围。
系统中每个终端首先确定被划分成的终端集群数目为3,进而每个终端可以基于随机算法,在1-3中确定一个整数,所确定的整数相同的终端被划分到一个终端集群中。因此,每个终端都被划分到一个终端集群中。
其中,3个集群中分别包含终端1-3、终端4-6和终端7-9。之后在整体训练过程中,可以保持终端集群的划分不变。
在迭代训练的过程中,集群内部需要在每轮迭代中随机确定一个终端为集群中心。针对任一集群,其中的每个终端可以在本集群中的全部终端的编号中,基于随机算法确定一个编号,并发送给本集群中其他每个终端。由于每个终端都会获取到本集群中全部终端所确定的终端编号,因此,每个终端可以共同确定其中出现频率最高的终端编号为集群中心。如果出现并列最高的情况,可以重新使用相同的方法确定。
在迭代训练的过程中,每个集群中心在每轮迭代中,还需要随机确定至少一个目标集群中心,向所确定的目标集群中心发送综合模型脱敏特征。对于一个集群中心,可以针对其他2个集群中心,基于随机算法在0和1之间确定一个数字,并限定所确定的数字之和大于等于1(小于1时重新确定)。当所确定的数字为1时,对应的集群中心可以被确定为目标集群中心。
基于上述算法,在第一次迭代中,终端3、5、8被随机确定为各集群的集群中心,各集群中心接收本集群中其他终端发送的梯度,汇总得到综合梯度。
各集群中心确定至少一个目标集群中心,其中,终端3确定终端5为目标集群中心,终端5确定终端8为目标集群中心,终端8确定终端3、5为目标集群中心。
各集群中心向目标集群中心发送当前的综合梯度。各集群中心根据自身的综合梯度,以及接收到的综合梯度,更新本集群中每个终端上的模型,从而完成第一次迭代。
在第二次迭代中,终端2、4、9被随机确定为各集群的集群中心,各集群中心接收本集群中其他终端发送的梯度,汇总得到综合梯度。
各集群中心确定至少一个目标集群中心,其中,终端2确定终端9为目标集群中心,终端4确定终端2、9为目标集群中心,终端9确定终端2为目标集群中心。
各集群中心向目标集群中心发送当前的综合梯度。各集群中心根据自身的综合梯度,以及接收到的综合梯度,更新本集群中每个终端上的模型,从而完成第二次迭代。
以此类推,直到满足迭代停止条件。
通过对上述方法原理的示例解释,可以明显看出,任一终端都不会连续获取到其他任一终端发送的模型脱敏特征,从而避免了中心化结构的数据安全隐患。并且,将需要传输的模型脱敏特征从9个减少为3个,提高了传输效率。
如图3所示,为本说明书实施例提供的一种基于分布式数据的模型训练方法的流程示意图,该方法实施例应用于包含至少3个终端的系统中。
系统中每个终端都存储有待训练的模型,且每个终端都存储有特征相同的数据样本,待训练的模型是根据相同特征的数据样本构建的。
基于上述分析,系统中的终端可以被随机划分为至少3个终端集群,针对每个集群,可以将该集群中任一终端随机确定为集群中心。
当然,终端集群内部的终端分布可以是在训练之前随机划分后保持不变,也可以是在执行每轮迭代时重新随机划分的,也可以是在每执行至少2轮迭代后重新随机划分的。同理,每个终端集群的集群中心可以是在训练之前随机确定后保持不变,也可以是在执行每轮迭代时重新随机确定的,也可以是在每执行至少2轮迭代后重新随机确定的。具体的随机划分终端集群、以及随机确定集群中心的方法示例可以参见上述方法原理的解释,此处不再赘述。当然,本实施例并不限定具体的随机划分方法或随机确定方法。
而模型训练方法中的每轮迭代具体可以包括以下步骤:
S101:针对每个集群中心,确定本轮迭代的至少一个目标集群中心。
其中,每轮迭代所确定的目标集群中心具有随机性。具体确定时,可以是基于随机算法确定的。本实施例并不限定具体的随机算法,只要在整体模型训练过程中,每个集群中心不会连续确定同一个集群中心作为目标集群中心即可。
S101中,可以是由服务端在每轮迭代中为每个集群中心确定的至少一个目标集群中心,也可以是由集群中心自身确定的至少一个目标集群中心。
例如,在包含4个集群中心(终端1、3、5、6)的系统中,如下表表1所示:
服务端在表1中,首先在对应于相同终端的表项内写入0,再针对其他表项基于随机算法,计算出0或1并填入;当任一行数字之和等于0时,重新计算该行数字,直到该行数字之和大于0。
得到的结果如表1所示,服务端可以将表1下发到每个集群中心。每个集群中心根据表1,可以确定所对应的目标集群中心。例如,终端1对应的目标集群中心为终端3、5、6;终端3对应的目标集群中心为终端5、6。
可以理解的是,上述利用表格确定集群中心的方式仅用于示例性说明,不应理解为对本说明书公开的技术方案的限定。
S102:每个集群中心获得本集群当前的综合模型脱敏特征,并将该综合模型脱敏特征发送到目标集群中心。
综合模型脱敏特征的获取方法,可以是对本集群中每个终端当前的模型进行脱敏处理。例如,当综合模型脱敏特征为综合梯度时,综合梯度的获取方法,可以是基于预设的算法,将本集群中每个终端上当前的梯度进行处理,得到一个梯度确定为综合梯度;也可以是直接将本集群中每个终端上当前的梯度添加到一个集合中,将该集合确定为综合梯度。
S103:每个集群中心根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新。
每个集群中心在对本集群中每个终端的模型进行更新时,根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,基于预设的算法确定出一个模型脱敏特征,并将确定出的模型脱敏特征下发到本集群中的每个终端,以使本集群中每个终端基于确定出的模型脱敏特征对模型进行更新。具体可以是:
当模型脱敏特征为模型目标函数的梯度时,根据本集群的综合梯度、以及接收到的其他集群的综合梯度,基于预设的算法确定一个梯度,并将确定的梯度下发到本集群中的每个终端,以使本集群中每个终端根据所确定的梯度对模型进行更新。
当模型脱敏特征为模型参数集时,根据本集群的综合模型参数集、以及接收到的其他集群的综合模型参数集,基于预设的算法确定一个模型参数集,并将确定出的模型参数集下发到本集群中的每个终端,以使本集群中每个终端根据所确定的模型参数集对模型进行配置。
一种示例为,综合梯度的形式为单个梯度,集群中心根据本集群的综合梯度和接收到的综合梯度,通过求平均的方式计算出一个梯度,并将计算出的梯度下发到本集群中的每个终端。每个终端根据计算出的梯度对本集群中每个终端上的本地模型进行更新。
其中,如果不满足迭代停止条件,则在S103执行完成后,可以重新开始执行S101。
迭代停止条件具体可以是迭代次数不少于预设迭代次数,也可以是对于任一终端,两轮迭代之间的模型差异不大于预设差异要求,也可以是对于任一终端,目标函数的值满足预设要求后,则该终端停止迭代训练,直到全部终端停止迭代训练。
上述方法实施例中S101-S103描述的是单个集群中心在一次迭代训练中所执行的步骤,可以理解的是,针对系统中全部的集群中心,每个集群中心可以在一次迭代训练中都执行S101-S103,从而完成整体的模型训练流程。
在实际应用中,针对系统中全部的集群中心,可能存在部分集群中心在至少一次迭代训练中并不执行S101-S103,并不限定每次迭代中都需要全部的集群中心参与训练。这种情况下也可以完成整体的模型训练流程。因此,这种方法实施例也包含在本说明书公开的范围之内。
利用上述方法实施例,可以在保护用户隐私数据的前提下(整体模型训练过程中,用户隐私数据始终在终端本地存储,不会发送出去),基于各终端上的数据样本,提高模型的训练效果,还利用了去中心化的架构实现模型的训练过程,避免了中心化的架构的数据安全隐患,进一步提高了数据的安全性。
同时,基于终端集群的划分,减少了需要传输的模型脱敏特征的数量,提高了传输效率。
此外,由于上述方法的模型训练的过程中几乎不需要服务端,因此,可以在一定程度上提高模型训练的稳定性,避免服务端宕机或传输线路中断导致模型训练过程中断。而即使某一终端宕机或传输线路中断,模型训练过程也可以基于其他的终端继续进行。
值得注意的是,在上述方法实施例中,针对每个集群,可以在每轮迭代中重新随机确定集群中心,避免同一个终端连续被确定为集群中心,因此,作为集群中心的同一个终端难以连续获取到集群中其他终端的模型脱敏特征,从而避免中心化架构的数据安全隐患。
此外,针对集群的划分,还可以在每轮迭代中重新随机确定集群的分布,对于集群中心而言,每轮迭代中本集群中的终端分布具有随机性,因此,难以连续获取到同一个终端的模型脱敏特征,从而避免中心化架构的数据安全隐患。
除了上述的方法实施例,本说明书还提供了另一种基于分布式数据的模型训练方法。如图4所示,为本说明书实施例提供的另一种基于分布式数据的模型训练方法的流程示意图,应用于包含至少3个终端的系统中,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型。
而模型训练方法中的每轮迭代具体可以包括以下步骤,并根据迭代停止条件确定是否停止迭代:
S201:针对每个终端,确定本轮迭代的至少一个目标终端。
其中,每轮迭代所确定的目标终端具有随机性。详细解释可以参见上述方法实施例。
S202:每个终端获得当前的模型脱敏特征,并将该特征发送到目标终端。
模型脱敏特征,是对终端当前的模型进行脱敏处理后获得的。具体可以参见上述方法实施例。
S203:每个终端根据本地的当前模型脱敏特征、以及接收到的其他终端的模型脱敏特征,对本地模型进行更新。
每个终端根据本地的当前模型脱敏特征、和接收到的其他终端的模型脱敏特征,可以基于预设的算法确定出一个模型脱敏特征,利用确定出的模型脱敏特征对本地模型进行更新。
利用上述方法,可以在保护用户隐私数据的前提下(模型训练过程中,用户隐私数据始终在终端本地存储,不会发送出去),基于终端上的数据样本,提高模型的训练效果,利用去中心化的架构实现模型的训练过程,也避免了中心化的架构存在的数据安全隐患,进一步提高了数据的安全性。同时提高了模型训练的稳定性。
下面结合具体的应用场景,对本说明书提供的一种基于分布式数据的模型训练方法进行说明。
针对金融场景下,基于用户特征对用户进行贷款额度评估时,往往可以采用模型训练的方法进行评估。其中用户特征通常可以是信用等级、贷款历史额度、资产余额等等。
但这些用户特征往往属于用户隐私数据,在未授权的情况下难以获取。为了提高模型的训练效果,基于分布式数据的模型训练方法可以应用于包括至少3个终端的系统,其中每个终端都存储有特征(信用等级、贷款历史额度、资产余额)相同的数据样本、以及针对数据样本构建的评估模型。数据样本的标签可以根据对应的贷款额度确定。
而模型训练方法中的每轮迭代具体可以包括以下步骤,直到迭代次数达到预设次数:
针对每个终端,确定本轮迭代的至少一个目标终端。
每个终端基于本地的数据样本,获取到本地评估模型的目标函数的当前梯度,并将当前梯度发送到对应的目标终端。
每个终端根据本地的当前梯度、以及接收到的其他终端发送的梯度,基于预设的算法重新确定一个梯度,并根据所确定的梯度对本地评估模型进行更新。
训练完成以后,评估模型在终端本地被用于,根据终端本地存储的用户特征(信用等级、贷款历史额度、资产余额),评估该用户所能申请的贷款额度。并将评估结果发送到服务端进行进一步的评估和确认。
如图5所示,为本说明书实施例提供的一种基于分布式数据的模型训练系统的结构示意图。
模型训练系统中包括N个终端,N≥3,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型;系统中的终端被划分为至少3个终端集群,针对每个集群,将该集群中任一终端确定为集群中心。
被确定为集群中心的每个终端,用于通过以下步骤完成模型训练的每轮迭代:
确定本轮迭代的至少一个目标集群中心,其中,每轮迭代所确定的目标集群中心具有随机性;
获得本集群当前的综合模型脱敏特征,并将该综合模型脱敏特征发送到目标集群中心;所述综合模型脱敏特征,是对本集群中每个终端当前的模型进行脱敏处理后获得的;
根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新。
每轮迭代中,系统中的终端可以被重新划分为至少3个终端集群;其中,每轮迭代所划分的集群具有随机性。
每轮迭代中,针对每个集群,可以重新将该集群中任一终端确定为集群中心;其中,每轮迭代所确定的集群中心具有随机性。
模型训练系统还可以包括服务端;服务端用于针对每个集群中心,确定本轮迭代的至少一个目标集群中心。
模型脱敏特征相关解释可以参见上述方法实施例。
当模型脱敏特征为模型目标函数的梯度时,被确定为集群中心的每个终端,用于:
终端根据本地数据样本确定当前本地模型的目标函数的梯度为终端当前的模型脱敏特征。
根据本集群的综合梯度、以及接收到的其他集群的综合梯度,基于预设的算法确定一个梯度,并根据所确定的梯度对本集群中每个终端的模型进行更新。
当模型脱敏特征为模型参数集时,被确定为集群中心的每个终端,用于:
终端根据本地数据样本训练模型,将训练后的模型参数集作为终端当前的模型脱敏特征。
根据本集群的综合模型参数集、以及接收到的其他集群的综合模型参数集,基于预设的算法确定一个模型参数集,并根据所确定的模型参数集对本集群中每个终端的模型进行配置。
本说明书实施例还提供了另一种基于分布式数据的模型训练系统。
模型训练系统中包括至少三个终端,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型;所述每个终端用于通过以下步骤完成模型训练的每轮迭代:
确定本轮迭代的至少一个目标终端,其中,每轮迭代所确定的目标终端具有随机性;
获得当前的模型脱敏特征,并将该特征发送到目标终端;所述模型脱敏特征,是对终端当前的模型进行脱敏处理后获得的;
根据本地的当前模型脱敏特征、以及接收到的其他终端的模型脱敏特征,对本地模型进行更新。
系统实施例的详细解释可以参见上述方法实施例。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图3所示的一种基于分布式数据的模型训练方法(S101-S103)中任一集群中心执行的步骤、或者图4所示的另一种基于分布式数据的模型训练方法(S201-S203)中任一终端执行的步骤。
图6示出了本说明书实施例所提供的一种更为具体的计算机设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图3所示的一种基于分布式数据的模型训练方法(S101-S103)中任一集群中心执行的步骤、或者图4所示的另一种基于分布式数据的模型训练方法(S201-S203)中任一终端执行的步骤。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护。
Claims (13)
1.一种基于分布式数据的模型训练方法,应用于包括至少3个终端的系统,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型;系统中的终端被划分为至少3个终端集群,针对每个集群,将该集群中任一终端确定为集群中心;所述方法包括,通过以下步骤完成模型训练的每轮迭代:
针对每个集群中心,在其他集群中心没有将该集群中心都确定为目标集群中心、并且没有连续确定同一个集群中心作为目标集群中心的情况下,从其他集群中心中确定本轮迭代的至少一个目标集群中心;其中,每轮迭代所确定的目标集群中心具有随机性;
每个集群中心获得本集群当前的综合模型脱敏特征,并将该综合模型脱敏特征发送到目标集群中心;所述综合模型脱敏特征,是对本集群中每个终端当前的模型进行脱敏处理后获得的;
每个集群中心根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新。
2.根据权利要求1所述的方法,所述系统中的终端被划分为至少3个终端集群,包括:
每轮迭代中,系统中的终端被重新划分为至少3个终端集群;其中,每轮迭代所划分的集群具有随机性。
3.根据权利要求1所述的方法,所述针对每个集群,将该集群中任一终端确定为集群中心,包括:
每轮迭代中,针对每个集群,重新将该集群中任一终端确定为集群中心;其中,每轮迭代所确定的集群中心具有随机性。
4.根据权利要求1所述的方法,所述针对每个集群中心,在其他集群中心没有将该集群中心都确定为目标集群中心、并且没有连续确定同一个集群中心作为目标集群中心的情况下,从其他集群中心中确定本轮迭代的至少一个目标集群中心,包括:
由每个集群中心,在其他集群中心没有将该集群中心都确定为目标集群中心、并且没有连续确定同一个集群中心作为目标集群中心的情况下,从其他集群中心中各自独立确定本轮迭代的至少一个目标集群中心;
或者
所述系统中还包括服务端,且由系统中的服务端,分别针对每个集群中心,在其他集群中心没有将该集群中心都确定为目标集群中心、并且没有连续确定同一个集群中心作为目标集群中心的情况下,从其他集群中心中确定本轮迭代的至少一个目标集群中心。
5.根据权利要求1所述的方法,所述综合模型脱敏特征的获取方法,包括:
将本集群中每个终端的模型脱敏特征添加到一个集合中,将该集合作为综合模型脱敏特征;
或者
基于预设的算法,根据本集群中每个终端的模型脱敏特征计算得到一个模型脱敏特征,将计算得到的模型脱敏特征作为综合模型脱敏特征。
6.根据权利要求1所述的方法,所述模型脱敏特征为模型目标函数的梯度。
7.根据权利要求6所述的方法,所述终端当前的模型脱敏特征的确定方法,包括:
终端根据本地数据样本确定当前本地模型的目标函数的梯度为终端当前的模型脱敏特征。
8.根据权利要求6所述的方法,所述根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新,包括:
根据本集群的综合梯度、以及接收到的其他集群的综合梯度,基于预设的算法确定一个梯度,并根据所确定的梯度对本集群中每个终端的模型进行更新。
9.根据权利要求1所述的方法,所述模型脱敏特征为模型参数集。
10.根据权利要求9所述的方法,所述终端当前的模型脱敏特征的确定方法,包括:
终端根据本地数据样本训练模型,将训练后的模型参数集作为终端当前的模型脱敏特征。
11.根据权利要求9所述的方法,所述根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新,包括:
根据本集群的综合模型参数集、以及接收到的其他集群的综合模型参数集,基于预设的算法确定一个模型参数集,并根据所确定的模型参数集对本集群中每个终端的模型进行配置。
12.一种基于分布式数据的模型训练系统,包括至少3个终端,每个终端中存储有特征相同的数据样本、以及针对数据样本构建的模型;系统中的终端被划分为至少3个终端集群,针对每个集群,将该集群中任一终端确定为集群中心;
被确定为集群中心的每个终端,用于通过以下步骤完成模型训练的每轮迭代:
在其他集群中心没有将该集群中心都确定为目标集群中心、并且没有连续确定同一个集群中心作为目标集群中心的情况下,从其他集群中心中确定本轮迭代的至少一个目标集群中心,其中,每轮迭代所确定的目标集群中心具有随机性;
获得本集群当前的综合模型脱敏特征,并将该综合模型脱敏特征发送到目标集群中心;所述综合模型脱敏特征,是对本集群中每个终端当前的模型进行脱敏处理后获得的;
根据本集群的综合模型脱敏特征、以及接收到的其他集群的综合模型脱敏特征,对本集群中每个终端的模型进行更新。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1至11任一项所述方法中任一集群中心执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010586338.5A CN111475853B (zh) | 2020-06-24 | 2020-06-24 | 一种基于分布式数据的模型训练方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010586338.5A CN111475853B (zh) | 2020-06-24 | 2020-06-24 | 一种基于分布式数据的模型训练方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475853A CN111475853A (zh) | 2020-07-31 |
CN111475853B true CN111475853B (zh) | 2020-12-11 |
Family
ID=71763961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010586338.5A Active CN111475853B (zh) | 2020-06-24 | 2020-06-24 | 一种基于分布式数据的模型训练方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475853B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813869B (zh) * | 2020-08-21 | 2021-03-23 | 支付宝(杭州)信息技术有限公司 | 一种基于分布式数据的多任务模型训练方法及系统 |
CN112686369B (zh) * | 2020-12-10 | 2024-02-27 | 广州广电运通金融电子股份有限公司 | 中心方选择方法、存储介质和系统 |
CN112347500B (zh) * | 2021-01-11 | 2021-04-09 | 腾讯科技(深圳)有限公司 | 分布式系统的机器学习方法、装置、系统、设备及存储介质 |
CN116595384B (zh) * | 2023-07-14 | 2023-11-24 | 支付宝(杭州)信息技术有限公司 | 模型训练方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109690530A (zh) * | 2018-11-29 | 2019-04-26 | 袁振南 | 模型训练方法及其节点、网络及存储装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189825B (zh) * | 2018-08-10 | 2022-03-15 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN110263936B (zh) * | 2019-06-14 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 横向联邦学习方法、装置、设备及计算机存储介质 |
CN110263908B (zh) * | 2019-06-20 | 2024-04-02 | 深圳前海微众银行股份有限公司 | 联邦学习模型训练方法、设备、系统及存储介质 |
CN110490738A (zh) * | 2019-08-06 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种混合联邦学习方法及架构 |
CN110929886B (zh) * | 2019-12-06 | 2022-03-22 | 支付宝(杭州)信息技术有限公司 | 模型训练、预测方法及其系统 |
CN111310932B (zh) * | 2020-02-10 | 2024-09-27 | 深圳前海微众银行股份有限公司 | 横向联邦学习系统优化方法、装置、设备及可读存储介质 |
-
2020
- 2020-06-24 CN CN202010586338.5A patent/CN111475853B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109690530A (zh) * | 2018-11-29 | 2019-04-26 | 袁振南 | 模型训练方法及其节点、网络及存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111475853A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111475853B (zh) | 一种基于分布式数据的模型训练方法及系统 | |
US9998488B2 (en) | Protection system including machine learning snapshot evaluation | |
CN110163612B (zh) | 一种支付风控方法及装置 | |
EP3825945A1 (en) | Method and device for performing credit evaluation on work publisher based on block chain | |
US9645914B1 (en) | Apps store with integrated test support | |
CN111553488B (zh) | 一种针对用户行为的风险识别模型训练方法及系统 | |
CN110020846B (zh) | 一种转账业务处理方法及系统 | |
CN111126623B (zh) | 一种模型更新方法、装置及设备 | |
CN110046994B (zh) | 一种受理区块链存证交易的方法及系统 | |
CN112533209A (zh) | 黑产识别方法及黑产识别装置 | |
CN109766365A (zh) | 基于redis的运行事件控制方法、装置及电子设备 | |
US11843546B1 (en) | Determining resource usage metrics for cloud computing systems | |
CN116932265A (zh) | 故障模拟处理方法、装置、设备及存储介质 | |
CN110278241B (zh) | 一种注册请求处理方法及装置 | |
CN110147999B (zh) | 一种交易风险识别方法及装置 | |
CN109345249B (zh) | 一种支付失败处理方法及装置 | |
WO2023065985A1 (zh) | 热水器烟道风险预测方法、装置、计算机设备及介质 | |
CN113836154A (zh) | 一种数据库切换方法及装置 | |
CN110738396B (zh) | 一种针对设备的特征提取方法、装置及设备 | |
CN114663239A (zh) | 一种异常交易预警方法及装置 | |
CN114462502A (zh) | 一种核身推荐模型训练方法及装置 | |
CN114138358A (zh) | 应用程序的启动优化方法、装置、设备和存储介质 | |
CN112308578B (zh) | 用于任务反欺诈的方法、电子设备和存储介质 | |
CN115357346B (zh) | 基于区块链的事务处理方法、装置、电子设备及介质 | |
CN111026571B (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 |