分布式训练方法、装置、终端设备及计算机可读介质与流程
未命名
07-23
阅读:107
评论:0
1.本发明涉及人工智能技术领域,特别涉及一种分布式训练方法、装置、终端设备及计算机可读介质。
背景技术:
2.目前,在大数据的支撑下,采用人工智能进行智能引导能够较为准确地为用户提供推荐服务,推荐服务的准确性依赖于模型训练的效果。基于人工智能的模型训练为了提高模型的训练效果,需要获取大量的数据,而很多数据都是通过网络获取,针对分布式训练而言,每个客户端均持有自己的数据,而在训练的过程中需要对其他客户端的数据进行采集,在数据交互的过程中存在隐私数据泄露的风险,如果不进行交互,可能导致训练效果不佳,不利于后续的使用。因此,如何在分布式训练过程中,既能保证隐私数据不被泄露,又能保证训练的准确度成为亟待解决的问题。
技术实现要素:
3.基于此,有必要针对上述技术问题,提供一种分布式训练方法、装置、终端设备及介质,以解决现有技术中分布式训练过程中每个客户端均持有自己的数据,模型训练的过程中需要对其他客户端的数据进行交互,在数据交互的过程中存在隐私数据泄露风险的问题。
4.第一方面,本发明实施例提供一种分布式训练方法,所述方法应用于分布式训练系统的本地客户端,所述分布式训练系统包括n个本地客户端和至少一个中心服务端,n为大于1的整数,所述方法包括:
5.获取所有的本地原始图数据,并对所述本地原始图数据进行差分隐私加密,得到每个本地原始图数据对应的第一加密图数据;
6.将所有第一加密图数据发送至其他客户端,并采集所述其他客户端发送的加密图数据,得到每个其他客户端对应的第二加密图数据,所述其他客户端为所述分布式训练系统中除发送方以外的本地客户端;
7.将所有第一加密图数据与所有第二加密图数据进行隐私求交,确定共有图数据,所述共有图数据为与所有其他客户端的第二加密图数据均具有相同统计学特征的第一加密图数据;
8.对所述共有图数据进行解析,确定对应的原始图数据为目标图数据;
9.根据所述目标图数据对本地模型进行训练,得到本地训练参数,所述本地训练参数用于发送给所述中心服务端,以获取所述中心服务端发送的全局训练参数更新所述本地模型。
10.第二方面,本发明实施例提供分布式训练装置,所述装置应用于分布式训练系统的本地客户端,所述分布式训练系统包括n个本地客户端和至少一个中心服务端,n为大于1的整数,所述分布式训练装置包括:
11.数据加密模块,用于获取所有的本地原始图数据,并对所述本地原始图数据进行差分隐私加密,得到每个本地原始图数据对应的第一加密图数据;
12.数据传输模块,用于将所有第一加密图数据发送至其他客户端,并采集所述其他客户端发送的加密图数据,得到每个其他客户端对应的第二加密图数据,所述其他客户端为所述分布式训练系统中除发送方以外的本地客户端;
13.隐私求交模块,用于将所有第一加密图数据与所有第二加密图数据进行隐私求交,确定共有图数据,所述共有图数据为与所有其他客户端的第二加密图数据均具有相同统计学特征的第一加密图数据;
14.数据解析模块,用于对所述共有图数据进行解析,确定对应的原始图数据为目标图数据;
15.模型训练模块,用于根据所述目标图数据对本地模型进行训练,得到本地训练参数,所述本地训练参数用于发送给所述中心服务端,以获取所述中心服务端发送的全局训练参数更新所述本地模型。
16.第三方面,本发明实施例提供一种终端设备,所述终端设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的分布式训练方法。
17.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的分布式训练方法。
18.本发明实施例与现有技术相比存在的有益效果是:本发明对本地原始图数据进行加密,将加密后的图数据发送至其他客户端并获取其他客户端的加密图数据,将本地加密图数据与获取的其他加密图数据进行隐私求交,得到目标图数据,根据目标图数据对本地模型进行训练,将训练后的模型参数发送至中心服务端,以更新全局模型参数,将更新后的全局模型参数发送给每个本地客户端,以更新本地模型,本发明通过隐私求交技术对本地客户端图数据进行隐私加密,再与其他客户端加密图数据进行交互,得到用于模型训练的数据,能够保证数据交互过程中的安全性,同时提高分布式训练参数的准确度。
附图说明
19.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明实施例一提供的一种分布式训练方法的一应用环境示意图;
21.图2是本发明实施例一提供的一种分布式训练方法的流程示意图;
22.图3是本发明实施例一提供的用户对商品打分的图数据示意图;
23.图4是本发明实施例二提供的一种分布式训练装置的结构示意图;
24.图5是本发明实施例三提供的一种终端设备的结构示意图。
具体实施方式
25.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本发明。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
26.应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
27.还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
28.如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0029]
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0030]
在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0031]
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0032]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0033]
应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0034]
为了说明本发明的技术方案,下面通过具体实施例来进行说明。
[0035]
本发明实施例一提供的一种基于本地差分隐私的分布式训练方法,可应用在如图1的应用环境中,该应用环境为分布式训练系统,该系统中包括n个本地客户端和至少一个中心服务端,n为大于1的整数,其中,客户端与服务端进行通信。其中,客户端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、云端客户端、个人数字助理(personal digital assistant,pda)
等客户端。服务端可以用独立的服务端或者是多个服务端组成的服务端集群来实现。
[0036]
参见图2,是本发明实施例一提供的一种分布式训练方法的流程示意图,上述分布式训练方法可以应用于图1中的客户端,对应的客户端通过预设的应用程序接口(application programming interface,api)连接服务端。每个本地客户端模型训练参数发送至中心服务端,中心服务端根据各个本地客户端发送的模型参数训练全局模型,再把全局模型参数发送给各个本地客户端,各个本地客户端根据接收到的全局模型参数训练本地模型。如图2所示,上述方法可以包括以下步骤:
[0037]
步骤s201,获取所有的本地原始图数据,并对本地原始图数据进行差分隐私加密,得到每个本地原始图数据对应的第一加密图数据。
[0038]
其中,图数据可以是指包括节点、边和权值等构成的数据结构对应的数据,节点为图数据的数据主体,边为数据主体之间的连接关系,权值为数据主体之间的权重。例如,以用户、商品图和用户对商品打分构成的图数据为例,图数据包括用户数据、商品图信息和用户对商品的打分,用户数据记录了用户的年龄阶段、性别等,为图数据的节点,商品信息据记录了用户浏览或购买的商品形成的图,也为图数据的节点,用户对商品的打分记录了用户购买商品后对商品的打分评价,为用户节点和商品图节点之间的权值。如图3所示,是用户对商品打分的图数据示意图,左侧表示用户,右侧表示用户对应的商品图,通过边将用户和与用户相关联的商品图相连,边上的数字表示用户对商品的打分,上述信息可构成图数据。
[0039]
本发明中,每个本地客户端获取本地原始图数据,通过差分隐私加密技术对本地客户端的原始图数据进行隐私加密,得到每个本地原始图数据对应的第一加密图数据,使用差分隐私技术加密能够防止其他用户对本地数据进行差分攻击。
[0040]
例如,假设有一个婚恋数据库,已知2个单身8个已婚,那么只能查询到有多少人单身,有多少人已婚,并不知道具体谁是单身谁是已婚。现在,张三跑去登记了自己婚姻状况,再次查询发现3个人单身,那么可以知道张三单身。这里,张三作为一个样本的出现,使得攻击者获得一个知识,根据这个知识可准确推断需要的结果。
[0041]
差分隐私则是使得攻击者的知识不会因为新样本的出现而发生变化。为了达到上述目的,在此加入随机噪声,比如上述的例子,可知两次查询结果是确定的2和3,现在加入随机噪声后,变成了两个随机变量,如果张三不在数据库的话,得到结果可能是2.5,张三在的话,得到的结果也可能是2.5,两个数据集查询得到某一个结果的概率很接近,以至于攻击者分不清这个结果来自于哪一个数据集,这样也就实现了攻击者的知识不会因为张三这个样本的出现与否而发生变化。
[0042]
数学公式解释为,称一个随机机制满足(ε,δ)-差分隐私,当且仅当对于任何汉明距离相差为1的数据集x,x’,对于任意可能存在的输出t∈range(m),有以下公式成立:
[0043]
p(m(x)=t)≤e
ε
p(m(x
′
)=)+δ
[0044]
其中,ε称为隐私预算。特别地,δ=0时将其称为ε-差分隐私。
[0045]
使用上述过程对本地原始图数据进行差分隐私加密,从而得到每个本地原始图数据对应的第一加密图数据。
[0046]
步骤s202,将所有第一加密图数据发送至其他客户端,并采集其他客户端发送的加密图数据,得到每个其他客户端对应的第二加密图数据。
[0047]
本发明中,其他客户端为分布式训练系统中除发送方以外的本地客户端,针对任一本地客户端,将该本地客户端的第一加密图数据发送至其他客户端,同时,接收由其他客户端发送的加密图数据,即第二加密图数据,在任一本地客户端存储有自己本身的第一加密图数据和其他n-1个客户端对应的第二加密图数据。
[0048]
例如,有本地客户端a、本地客户端b和本地客户端c,分别对自身本地的原始图数据进行隐私加密,生成各自的第一加密图数据,本地客户端a将自身的第一加密图数据发送至本地客户端b和本地客户端c,本地客户端b将自身的第一加密图数据发送至本地客户端a和本地客户端c,本地客户端c将自身的第一加密图数据发送至本地客户端a和本地客户端b,那么在本地客户端a、本地客户端b和本地客户端c分别生成了自身的第一加密图数据和另外两个本地客户端对应的第二加密图数据。
[0049]
每个本地客户端对本地原始图数据进行隐私加密,将加密后的图数据发送至其他各个本地客户端,实现加密数据的共享的同时又保证了数据的隐私安全。
[0050]
步骤s203,将所有第一加密图数据与所有第二加密图数据进行隐私求交,确定共有图数据。
[0051]
其中,隐私求交是指隐私保护集合交集(private set intersection,psi)协议允许持有各自数据集合的多方执行多方集合的交集运算。psi协议结束之后,参与方能够得到交集结果,但是参与方都无法获知交集以外的其他参与方集合数据的任何信息。
[0052]
对于任一本地客户端而言,其第一加密图数据包括用户数据、商品图信息和用户对商品的打分,由于相同的用户数据和商品图信息存在于不同的本地客户端图数据中,所构成的加密图数据的统计学特征具有相同之处,因此,任一本地客户端的第一加密图数据和其他客户端的第二加密图数据进行隐私求交能够得到具有相同统计学特征的共有图数据。
[0053]
例如,现有两个本地客户端,分别为本地客户端n1、本地客户端n2,本地客户端n1和本地客户端n2的图数据都包括用户a、用户b、用户c、商品图1、商品图2和商品图3,则根据用户和商品图之间的连接关系可得到客户端n1和客户端n2的共有图数据。
[0054]
例如,现有三个本地客户端,分别为本地客户端n1、本地客户端n2和本地客户端n3,本地客户端n1、本地客户端n2和本地客户端n3的图数据都包括用户a、用户b、用户c、商品图1、商品图2和商品图3,则根据用户和商品图之间的连接关系可得到客户端n1和客户端n2的共有图数据,再根据客户端n1和客户端n2的共有图数据和客户端n3的图数据所包括的用户和商品图之间的连接关系,可得到本地客户端n1、本地客户端n2和本地客户端n3的共有图数据。
[0055]
可选的是,将所有第一加密图数据与所有第二加密图数据进行隐私求交,确定共有图数据包括:
[0056]
将第一加密图数据与任一第二加密图数据进行隐私求交,得到第三加密图数据,将第三加密图数据再与剩余的任一第二加密图数据进行隐私求交,得到第四加密图数据,直至与最后一个第二加密图数据进行隐私求交,得到共有图数据。
[0057]
其中,针对任一本地客户端,将其第一加密图数据与任一其他客户端对应的第二加密图数据进行隐私求交,得到第三加密图数据,将第三加密图数据再与剩余的任一其他客户端对应的第二加密图数据进行隐私求交,得到第四加密图数据,将第四加密图数据再
次与剩余的任一其他客户端对应的第二加密图数据进行隐私求交,按照此方法依次对剩余的第二加密图数据进行隐私求交,直至所有的第二加密图数据都进行隐私求交,最终得到所有本地客户端的共有图数据。
[0058]
例如,现有两个本地客户端,分别为本地客户端n1、本地客户端n2,本地客户端n1图数据包括用户a、用户b、用户c,用户a与商品图1和商品图2关联,用户b与商品1和商品3关联,用户c与商品2和商品3关联,本地客户端n2图数据包括用户a、用户b,用户a与商品图2和商品图3关联,用户b与商品1和商品2关联,那么,通过隐私求交技术,得到的第三共有图数据包括用户a和用户b,用户a与商品2关联,用户b与商品1关联。
[0059]
例如,现有三个本地客户端,分别为本地客户端n1、本地客户端n2和本地客户端n3,本地客户端n1图数据包括用户a、用户b、用户c,用户a与商品图1和商品图2关联,用户b与商品1和商品3关联,用户c与商品2和商品3关联,本地客户端n2图数据包括用户a、用户b,用户a与商品图2和商品图3关联,用户b与商品1和商品2关联,那么得到的第三共有图数据包括用户a和用户b,用户a与商品2关联,用户b与商品1关联,将本地客户端n1和本地客户端n2求得的第三共有图数据与本地客户端n3按照上述方法进行隐私求交得到第四共有图数据,可按照上述方法,对n个本地客户端的加密图数据进行隐私求交,最终得到n个客户端的共有图数据。
[0060]
步骤s204,对共有图数据进行解析,确定对应的原始图数据为目标图数据。
[0061]
可选的是,根据第一加密图数据的统计学特征,推导出第一加密图数据的映射关系,根据上述映射关系对共有图数据进行解析,得到目标图数据。
[0062]
其中,加密图数据的映射关系为图数据的图节点之间的关联关系,根据第一加密图数据的映射关系对共有图数据进行解析,可得到目标图数据。
[0063]
可选的是,根据差分隐私加密算法,解析得到差分隐私加密算法的加密秘钥,根据加密秘钥对共有图数据进行解析,得到目标图数据。
[0064]
对共有图数据进行解析还可以是指根据差分隐私加密算法,解析得到差分隐私加密算法的加密秘钥,根据上述加密秘钥对共有图数据进行解析,得到目标图数据。例如,对原始图数据进行差分隐私加密过程中添加了一个已知的均值为0的噪声,那么该已知的均值为0的噪声即为加密秘钥,可根据该加密秘钥对共有图数据进行去噪解析,得到目标图数据。
[0065]
可选的是,确定对应的本地原始图数据为目标图数据之后,对目标图数据进行扩展,得到扩展图数据,使用扩展图数据对本地模型进行训练,得到本地训练参数。
[0066]
根据上述方法得到目标图数据之后,对目标图数据进行扩展,对目标图数据进行增广以实现扩展目标图数据的目的,使用上述扩展图数据对本地模型进行训练,增加了训练数据的范围,提高训练准确度。
[0067]
可选的是,对目标图数据进行增广,得到增广后的图数据,对增广后的图数据进行添加噪声,确定添加噪声后的图数据为扩展图数据。
[0068]
对目标图数据进行增广通过k跳(k-hop)算法实现,其中,k跳算法为从起点出发,通过宽度优先搜索(breadth first search,bfs)的方式,找出k层与起点关联的所有节点,找到的子图称为起点的自我中心网络(ego-net),通过k跳算法,能够有效扩展共有图数据,得到扩展子图。
[0069]
本发明中,每个本地客户端对经过k跳算法扩展后的扩展子图进行添噪,添噪使用图算法(lapgraph)。例如,共有图数据是用户和商品图组成的图,将其生成的不带权的无向图,用用户和商品图关联矩阵表示,0代表用户和商品之间没有评分关系,1代表用户和商品之间有评分关系,对于这样的关联矩阵,可以先计算其稀疏的程度t=n1/n,其中,n1为1的个数,n为矩阵元素的个数,然后考虑对每一个矩阵元素都加上均值为0,强度为λ的拉普拉斯噪声,同时使用隐私预算的一部分(取值为0.01)对稀疏程度t进行加噪保护,加噪之后的稀疏程度为t'。最后保留加噪之后的稀疏矩阵的前t'大的元素,并使之为1,其余则为0。至此,已实现对于不带权无向图边信息的保护。考虑对新图的权值进行保护,则对每一条边加上均值为0,方差为σ2的高斯噪声,即可保护边的权值,由于对矩阵元素和权值添加的噪声均值为0,因此,图算法(lapgraph)符合ε-差分隐私。
[0070]
本发明中,对数据添加均值为0的噪声,使得单个数据的特有属性被掩盖的同时,总体数据的统计属性在大数定律的作用下得到保证。
[0071]
而对于单个数据的特有属性是否被“掩盖”,可以使用相对熵(relative entropy)指标进行判断,相对熵是一种衡量两个概率分布的匹配程度的指标,两个分布差异越大,相对熵散度越大。基于相对熵定义某个数据集在经过一个微小扰动之后其随机机制的变化是否显著。若变化显著则说明机制隐私保护能力弱,否则,则说明隐私得到了该机制的保护。
[0072]
步骤s205,根据目标图数据对本地模型进行训练,得到本地训练参数,本地训练参数用于发送给中心服务端,以获取中心服务端发送的全局训练参数更新本地模型。
[0073]
本发明中,根据上述步骤,各个本地客户端在不泄漏隐私数据的情况下合法利用各方数据建立一个本地图神经网络(graph neural networks,gnn)模型,然后根据目标图数据对本地gnn模型进行训练。
[0074]
其中,gnn是一种机器学习算法,可以从图数据中提取重要信息并进行有用的预测。模型的训练可以包括以下步骤:
[0075]
1、选定模型,即选定算法,相同的数据特征的前提下,不同的算法带来的效果是不一样的,而且应用的成本也是不一样,本发明中选定gnn模型进行训练。
[0076]
2、构造数据,确定算法模型之后,则是结合业务特性明确模型所需要的训练数据,本发明中,使用的训练数据为各个本地客户端与其他各个本地客户端的图数据进行隐私求交,增广,添噪得到的目标图数据。
[0077]
3、模型训练,根据确定好训练数据之后则进行模型训练,将目标图数据用于本地模型训练,以得到训练好的模型参数,该模型参数包括本地模型梯度。
[0078]
4、模型优化,模型优化的过程则是对模型和数据进行迭代升级的过程,本发明中,则是根据各个本地客户端的图数据的不断变化,对本地模型进行不断学习优化,以达到最优的预测效果。
[0079]
根据上述模型算法对本地gnn模型进行训练,训练之后得到本地图神经网络模型参数,把训练后的模型参数发送给中心服务端,中心服务端根据各个本地客户端发送的本地gnn模型参数对全局gnn模型参数进行更新,得到全局更新后的全局gnn模型参数,将更新后的全局gnn模型参数分别发送至各个本地客户端,各个本地客户端根据接收到的全局gnn模型参数更新本地gnn模型参数。
[0080]
本发明中,分布式训练系统的中心服务端部署全局gnn模型,根据接收到各个本地
客户端发送的本地gnn模型参数,以更新全局gnn模型,得到更新后的全局全局gnn模型参数,并将更新后的全局gnn模型参数发送至各个本地客户端,各个本地客户端接收由中心服务端发送的全局gnn模型参数,以更新本地客户端的gnn模型参数,得到更新后的本地gnn模型,使用更新后的本地gnn模型进行数据推荐。
[0081]
本发明对本地原始图数据进行差分隐私加密,将加密后的图数据发送至其他客户端并获取其他客户端的加密图数据,将本地加密图数据与获取的其他加密图数据进行隐私求交,得到目标图数据,对目标图数据进行扩展和添噪,得到扩展图数据,根据扩展图数据对本地模型进行训练,将训练后的模型参数发送至中心服务端,以更新全局模型参数,将更新后的全局模型参数发送给每个本地客户端,以更新本地模型,本发明通过隐私求交技术对本地客户端图数据进行隐私加密,再与其他客户端加密图数据进行交互,得到用于模型训练的数据,能够保证数据交互过程中的安全性,同时提高分布式训练参数的准确度。
[0082]
对应于上文实施例的基于本地差分隐私的分布式训练方法,图4示出了本发明实施例二提供的一种分布式训练装置的结构框图,上述分布式训练装置应用于分布式训练系统的本地客户端,该分布式训练系统包括n个本地客户端和至少一个中心服务端,n为大于1的整数,对应的客户端通过预设的应用程序接口(application programming interface,api)连接服务端。每个本地客户端模型训练参数发送至中心服务端,中心服务端根据各个本地客户端发送的模型参数训练全局模型,再把全局模型参数发送给各个本地客户端,各个本地客户端根据接收到的全局模型参数训练本地模型。为了便于说明,仅示出了与本发明实施例相关的部分。
[0083]
参见图4,该分布式训练装置包括:
[0084]
数据加密模块41,用于获取所有的本地原始图数据,并对本地原始图数据进行差分隐私加密,得到每个本地原始图数据对应的第一加密图数据;
[0085]
数据传输模块42,用于将所有第一加密图数据发送至其他客户端,并采集其他客户端发送的加密图数据,得到每个其他客户端对应的第二加密图数据,其他客户端为分布式训练系统中除发送方以外的本地客户端;
[0086]
隐私求交模块43,用于将所有第一加密图数据与所有第二加密图数据进行隐私求交,确定共有图数据,共有图数据为与所有其他客户端的第二加密图数据均具有相同统计学特征的第一加密图数据;
[0087]
数据解析模块44,用于对共有图数据进行解析,确定对应的原始图数据为目标图数据;
[0088]
模型训练模块45,用于根据目标图数据对本地模型进行训练,得到本地训练参数,本地训练参数用于发送给上述中心服务端,以获取上述中心服务端发送的全局训练参数更新本地模型。
[0089]
可选的是,上述隐私求交模块43包括:
[0090]
隐私求交单元,用于将第一加密图数据与任一第二加密图数据进行隐私求交,得到第三加密图数据,将第三加密图数据再与剩余的任一第二加密图数据进行隐私求交,得到第四加密图数据,直至与最后一个第二加密图数据进行隐私求交,得到共有图数据。
[0091]
可选的是,上述数据解析模块44包括:
[0092]
第一解析单元,用于根据第一加密图数据的统计学特征,推导出第一加密图数据
的映射关系,根据映射关系对共有图数据进行解析,得到目标图数据;
[0093]
第二解析单元,用于根据差分隐私加密算法,解析得到差分隐私加密算法的加密秘钥,根据加密秘钥对共有图数据进行解析,得到目标图数据;
[0094]
数据增广单元,用于对上述目标图数据进行增广,得到增广后的图数据;
[0095]
数据添噪单元,用于对上述增广后的图数据进行添加噪声,确定添加噪声后的图数据为扩展图数据。
[0096]
可选的是,上述模型训练模块45包括:
[0097]
数据扩展单元,用于确定对应的本地原始图数据为目标图数据之后,对目标图数据进行扩展,得到扩展图数据;
[0098]
本地模型训练单元,用于使用上述扩展图数据对本地模型进行训练,得到本地训练参数。
[0099]
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0100]
图5为本发明实施例三提供的一种终端设备的结构示意图。如图5所示,该实施例的终端设备包括:至少一个处理器(图5中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个分布式训练方法实施例中的步骤。
[0101]
该终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图5仅仅是终端设备的举例,并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。
[0102]
所称处理器可以是cpu,该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0103]
存储器包括可读存储介质、内存储器等,其中,内存储器可以是客户端的内存,内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。可读存储介质可以是客户端的硬盘,在另一些实施例中也可以是客户端的外部存储设备,例如,客户端上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器还可以既包括客户端的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0104]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0105]
实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0106]
上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。
[0107]
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
[0108]
计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0109]
本发明实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在客户端上运行时,使得客户端执行时实现可实现上述方法实施例中的步骤。
[0110]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
[0111]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0112]
在本发明所提供的实施例中,应该理解到,所揭露的装置/客户端和方法,可以通过其他的方式实现。例如,以上所描述的装置/客户端实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其他的形式。
[0113]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0114]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者
替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
技术特征:
1.一种分布式训练方法,其特征在于,所述方法应用于分布式训练系统的本地客户端,所述分布式训练系统包括n个本地客户端和至少一个中心服务端,n为大于1的整数,所述方法包括:获取所有的本地原始图数据,并对所述本地原始图数据进行差分隐私加密,得到每个本地原始图数据对应的第一加密图数据;将所有第一加密图数据发送至其他客户端,并采集所述其他客户端发送的加密图数据,得到每个其他客户端对应的第二加密图数据,所述其他客户端为所述分布式训练系统中除发送方以外的本地客户端;将所有第一加密图数据与所有第二加密图数据进行隐私求交,确定共有图数据,所述共有图数据为与所有其他客户端的第二加密图数据均具有相同统计学特征的第一加密图数据;对所述共有图数据进行解析,确定对应的原始图数据为目标图数据;根据所述目标图数据对本地模型进行训练,得到本地训练参数,所述本地训练参数用于发送给所述中心服务端,以获取所述中心服务端发送的全局训练参数更新所述本地模型。2.根据权利要求1所述的分布式训练方法,其特征在于,所述将所有第一加密图数据与所有第二加密图数据进行隐私求交,确定共有图数据包括:将所述第一加密图数据与任一所述第二加密图数据进行隐私求交,得到第三加密图数据,将第三加密图数据再与剩余的任一第二加密图数据进行隐私求交,得到第四加密图数据,直至与最后一个第二加密图数据进行隐私求交,得到所述共有图数据。3.根据权利要求1所述的分布式训练方法,其特征在于,所述对所述共有图数据进行解析,确定对应的原始图数据为目标图数据包括:根据所述第一加密图数据的统计学特征,推导出第一加密图数据的映射关系,根据所述映射关系对所述共有图数据进行解析,得到目标图数据。4.根据权利要求1所述的分布式训练方法,其特征在于,所述对所述共有图数据进行解析,确定对应的原始图数据为目标图数据包括:根据所述差分隐私加密算法,解析得到所述差分隐私加密算法的加密秘钥,根据所述加密秘钥对所述共有图数据进行解析,得到目标图数据。5.根据权利要求1所述的分布式训练方法,其特征在于,所述确定对应的本地原始图数据为目标图数据之后,还包括:对所述目标图数据进行扩展,得到扩展图数据;所述根据所述目标图数据对本地模型进行训练,得到本地训练参数包括:使用所述扩展图数据对本地模型进行训练,得到本地训练参数。6.根据权利要求1至5任一项所述的分布式训练方法,其特征在于,所述对所述目标图数据进行扩展,得到扩展图数据包括:对所述目标图数据进行增广,得到增广后的图数据;对所述增广后的图数据进行添加噪声,确定添加噪声后的图数据为所述扩展图数据。7.一种分布式训练装置,其特征在于,所述装置应用于分布式训练系统的本地客户端,所述分布式训练系统包括n个本地客户端和至少一个中心服务端,n为大于1的整数,所述分
布式训练装置包括:数据加密模块,用于获取所有的本地原始图数据,并对所述本地原始图数据进行差分隐私加密,得到每个本地原始图数据对应的第一加密图数据;数据传输模块,用于将所有第一加密图数据发送至其他客户端,并采集所述其他客户端发送的加密图数据,得到每个其他客户端对应的第二加密图数据,所述其他客户端为所述分布式训练系统中除发送方以外的本地客户端;隐私求交模块,用于将所有第一加密图数据与所有第二加密图数据进行隐私求交,确定共有图数据,所述共有图数据为与所有其他客户端的第二加密图数据均具有相同统计学特征的第一加密图数据;数据解析模块,用于对所述共有图数据进行解析,确定对应的原始图数据为目标图数据;模型训练模块,用于根据所述目标图数据对本地模型进行训练,得到本地训练参数,所述本地训练参数用于发送给所述中心服务端,以获取所述中心服务端发送的全局训练参数更新所述本地模型。8.根据权利要求7所述的分布式训练装置,其特征在于,分布式训练装置还包括:数据扩展单元,用于确定对应的本地原始图数据为目标图数据之后,对所述目标图数据进行扩展,得到扩展图数据;所述模型训练模块包括:本地模型训练单元,用于使用所述扩展图数据对本地模型进行训练,得到本地训练参数。9.一种终端设备,其特征在于,所述终端设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的分布式训练方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的分布式训练方法。
技术总结
本发明涉及人工智能技术领域,尤其涉及一种分布式训练方法、装置、终端设备及计算机可读介质。本发明对本地原始图数据进行加密,将加密后的图数据发送至其他客户端并获取其他客户端的加密图数据,将本地加密图数据与获取的其他加密图数据进行隐私求交,得到目标图数据,根据目标图数据对本地模型进行训练,将训练后的模型参数发送至中心服务端,以更新全局模型参数,将更新后的全局模型参数发送给每个本地客户端,以更新本地模型,本发明通过隐私求交技术对本地客户端图数据进行隐私加密,再与其他客户端加密图数据进行交互,得到用于模型训练的数据,能够保证数据交互过程中的安全性,同时提高分布式训练参数的准确度。同时提高分布式训练参数的准确度。同时提高分布式训练参数的准确度。
技术研发人员:王健宗 李泽远 邱烨卿 黄章成
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2023.03.15
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
