CN109690530A - 模型训练方法及其节点、网络及存储装置 - Google Patents
模型训练方法及其节点、网络及存储装置 Download PDFInfo
- Publication number
- CN109690530A CN109690530A CN201880002436.0A CN201880002436A CN109690530A CN 109690530 A CN109690530 A CN 109690530A CN 201880002436 A CN201880002436 A CN 201880002436A CN 109690530 A CN109690530 A CN 109690530A
- Authority
- CN
- China
- Prior art keywords
- parameter
- model
- group
- node
- present node
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Abstract
本申请公开了一种模型训练方法及其节点、网络及存储装置。其中,所述方法应用于包含至少一组节点的去中心化网络中,其中,每组节点包括至少一个节点,至少部分所述节点用于训练得到所述模型的模型参数;所述方法包括:当前节点在本组内采用预设去中心化训练策略得到对所述模型的组内参数;利用所述组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到对所述模型的模型参数。通过上述方式,能够实现基于去中心化网络对模型的训练。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种模型训练方法及其节点、网络及存储装置。
背景技术
目前,通常需要采用各种数据模型来实现信息的处理,例如采用识别模型进行图像识别等。如今,去中心化网络由于具有高可靠性,已经日渐广泛应用于各领域。去中心化网络,即包含多个节点,且该网络中不存在中心节点。在进行上述信息处理时,可采用去中心网络中的各节点协同实现利用模型进行信息处理。也即,各节点利用其相应模型对输入信息进行处理,以输出结果。
在进行上述利用模型进行信息处理之前,需要先训练得到相关模型。对于去中心化网络,由于其不具有中心节点,即无法实现基于中心节点或参数节点对模型进行训练。
发明内容
本申请主要解决的技术问题是提供一种模型训练方法及其节点、网络及存储装置,实现基于去中心化网络对模型的训练。
为解决上述技术问题,本申请第一方面提供一种模型训练方法,所述方法应用于包含至少一组节点的去中心化网络中,其中,每组节点包括至少一个节点,至少部分所述节点用于训练得到所述模型的模型参数;所述方法包括:当前节点在本组内采用预设去中心化训练策略得到对所述模型的组内参数;利用所述组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到对所述模型的模型参数。
为了解决上述技术问题,本申请第二方面提供一种去中心化网络的节点,包括处理器及与所述处理器耦接的存储器和通信电路,其中,所述通信电路用于与所述去中心化网络的其他节点通信;所述存储器,用于存储程序指令;所述处理器,用于运行所述程序指令以执行上述方法。
为了解决上述技术问题,本申请第三方面提供一种去中心化网络,所述去中心化网络包括至少一组节点,每组节点包括至少一个上述的节点。
为了解决上述技术问题,本申请第四方面提供一种存储装置,所述存储装置存储有程序指令,当所述程序指令在处理器上运行时,执行上述第一方面所述的方法。
上述方案,采用在组内采用预设去中心化训练策略得到对模型的组内参数,再利用组外邻居节点的权重对该组内参数进行加权,以实现在去中心化网络中利用其普通节点即可得到该模型的模型参数,无需中心节点。
附图说明
图1是本申请去中心化网络一实施例的结构示意图;
图2是本申请模型训练方法一实施例的流程示意图;
图3A是本申请模型训练方法另一实施例中步骤S220的流程示意图;
图3B是本申请模型训练方法又一实施例中步骤S220的流程示意图;
图4是本申请模型训练方法再一实施例的流程示意图;
图5是本申请去中心化网络的节点一实施例的结构示意图;
图6是本申请存储装置一实施例的结构示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中的“多”表示的是至少为2。
请参阅图1,图1是本申请去中心化网络一实施例的结构示意图。本实施例中,该去中心化网络10包括多个节点11,其中,该多个节点11划分为至少一组节点,每组节点包括至少一个节点11。如图1所示,在该去中心化网络集群10中,多个节点11被划分为3组,每组包括3个节点11。具体而言,该节点11可以为手机、平板电脑、电脑、或者服务器等通信设备。
该去中心化网络10不存在中心节点,节点11之间可直接进行相互通信,而不需要所有节点11均通过中心节点方可实现通信。例如,组内节点11均可进行彼此通信,且每个节点11可与其他每个组的至少一个节点11通信,其中,其他组中与该节点11通信的至少一个节点11称为该节点11的组外通信节点。本实施例中,除组外通信节点以外,节点11与其他组中的其他节点11均不可进行直接通信。
本实施例中,去中心化网络10可用于创建模型以及利用创建的模型进行数据处理。
具体地,去中心化网络10的每个节点11可用于在进行上述信息处理时,可采用去中心网络中的各节点协同实现利用模型进行信息处理。也即,各节点利用其相应模型对输入信息进行处理,以输出结果。在一应用场景中,各节点可负责该模型的不同部分,例如该模型为神经网络模型,该神经网络模型的不同网络层被分配到不同的节点,以由不同节点及负责不同的模型处理部分,即实现模型并行化;在另一引用场景中,各节点均负责该模型的所有部分,例如,不同节点设有同一个模型的多个副本,每个节点分配到数据的一部分,然后将所有节点的计算结果按照某种方式合并。
在上述利用模型进行信息处理之前,该去中心化网络10可先进行模型训练,以得到该模型的模型参数,进而利用该模型参数对应的模型实现如上所示的信息处理。
本实施例中,该去中心化网络10中每个节点均用于训练得到所述模型的模型参数。例如,去中心化网络10的每组节点11先训练得到该模型的组内参数,进而利用不同组的邻居节点的权重及该组内参数得到该模型的模型参数。进一步地,为得到准确的模型参数,可对该模型参数进行多次如上所示的迭代处理。
为更好理解,下面举例列出本申请去中心网络对模型参数的一种训练原理。本例中,利用上述分组的去中心化网络实现优化目标函数的机器学习算法,进而实现对模型参数的训练,其中可基于梯度下降方式来优化目标函数。具体地,该去中心化网络的模型参数训练方式,相当于求解下面目标函数J:
其中,Jk(x)为第k个节点11的子目标函数,N为去中心网络的节点数量,表示将J定义为
本例中,该去中心化网络的参数训练方法是要通过让去中心化网络10中的所有节点基于局部数据各自优化子目标数据,然后通过与去中心化网络中其他节点交换迭代参数,通过一定次数的迭代可使得去中心化网络10中所有节点的解都收敛于目标函数的一个近似解,如无偏最优解,进而得到模型的模型参数。
基于上述训练原理或者其他类似的训练原理,该去中心化网络可实现对其模型的训练。具体地,该去中心化网络可采用下述训练方法来训练其模型,进而得到模型参数。
请参阅图2,图2是本申请模型训练方法一实施例的流程示意图。本实施例中,该方法应用于如上面所述的去中心化网络中,利用去中心化网络的每个节点训练得到该模型的模型参数。具体地,该方法包括以下步骤:
S210:当前节点在本组内采用预设去中心化训练策略得到对所述模型的组内参数。
该当前节点即为上述去中心化网络中的任意节点。
本实施例中,可采用迭代方式训练得到模型的模型参数。具体地,当前节点可利用自身前次迭代得到的模型参数,在本组内采用预设去中心化训练策略进行本次迭代训练,得到本次迭代对所述模型的组内参数,进而再步骤S220中利用本地迭代的组内参数得到本地迭代的模型参数。由此,利用本训练方法对该模型参数进行不断迭代更新,在迭代到一定次数之后,该模型参数收敛,可取收敛的模型参数作为最终训练得到的模型参数。
具体地,该预设去中心化训练策略包括但不限于以下策略:基于gossip的训练策略、增量训练策略、共识训练策略或扩散训练策略。该扩散训练策略可具体为(A MultitaskDiffusion Strategy with Optimized Inter-Cluster Cooperation)。可利用上述训练策略,对模型参数进行迭代以得到收敛于无偏最优解。例如,当gossip训练方法的随机策略中任意节点被选择的概率达到一致随机分布时,所有节点的解都收敛于无偏最优解。其他三种策略也可以收敛到无偏最优解。
其中,该基于gossip的训练策略,指网络中每个节点周期性的从所有节点中通过一定随机策略,每次只和一个其他节点交换参数,并迭代;节点k在第t次迭代的模型参数wk,t更新过程可如下: 其中,wk,t-1为节点k在第t-1次迭代的模型参数,1为随机挑选的其他邻居节点的序号,wl,t-1为节点1在第t-1次迭代的模型参数。对于本申请在组内节点采用该训练策略而言,该基于gossip的训练策略即可以理解为利用当前节点所在组中的每个节点周期性的从所在组中的通过一定随机策略,每次只和一个所在组内的其他节点交换参数,并迭代。其中,Gossip是一种去中心化、容错并保证最终一致性的协议。
同理,增量训练策略,即采用以下公式对模型参数进行迭代,节点k在第t次迭代的模型参数wk,t更新过程可如下: 其中,wk,t-1为节点k在第t-1次迭代的模型参数;u为迭代因子,例如为0-1的值;N表示所在网络的节点数,表示梯度,Jk(wk,t-1)为节点k的变量为模型参数w的目标函数,表示代入具体模型参数后的目标函数的梯度值。对于本申请在组内节点采用该训练策略而言,可对上述公式进行适当变换,以得到对组内节点进行增量训练策略的具体算法。
共识训练策略,即采用以下公式对模型参数进行迭代,节点k在第t次迭代的模型参数wk,t更新过程可如下: 其中,wk,t-1为节点k在第t-1次迭代的模型参数,Nk表示节点k的邻居节点的所有序号,wl,t-1为邻居节点1在第t-1次迭代的模型参数,clk为节点k的邻居节点1的权重因子,uk为组合梯度的权重因子,表示梯度,Jk(wk,t-1)为节点k的变量为模型参数w的目标函数,表示代入具体模型参数后的目标函数的梯度值。对于本申请在组内节点采用该训练策略而言,可对上述公式进行适当变换,以得到对组内节点进行共识策略的算法,具体可如下面相关描述。
扩展训练策略,即采用以下公式对模型参数进行迭代,节点k在第t次迭代的模型参数wk,t更新过程可如下: 其中,wk,t-1为节点k在第t-1次迭代的模型参数,Nk表示节点k的邻居节点的所有序号,clk为节点k的邻居节点1的权重因子,uk为组合梯度的权重因子,表示梯度,Jk(wk,t-1)为节点k的变量为模型参数w的目标函数表示代入具体模型参数后的目标函数的梯度值。对于本申请在组内节点采用该训练策略而言,可对上述公式进行适当变换,以得到对组内节点进行扩展训练策略的算法,具体可如下面相关描述。
上述训练策略具体也可参考现有相关技术,在此不做赘述。
为便于大家理解,下面采用共识训练策略和扩展训练策略实现对该组内参数的迭代更新,以对本步骤进行详细描述。
第一例中,参阅图3A,本S210采用扩展训练策略实现对该组内参数的迭代更新,具体包括以下子步骤:
S311:当前节点利用自身前次迭代得到的模型参数以及本次迭代的参考参数得到所述当前节点在本次迭代的初始参数。
具体如,当前节点可利用所述下列公式(1)得到所述当前节点在本次迭代的初始参数Ψk,t;
Ψk,t=wk,t-1+ukrk,t(dk,t-rk,twk,t-1) (1)
其中,本次为第t次迭代,前次为第t-1迭代,所述k为当前节点的序号,所述wk,t-1为所述当前节点在前次迭代得到的模型参数,所述uk,rk,t,dk,t为本次迭代的参考参数,其中所述uk表示权重因子;所述rk,t表示随机因子;所述dk,t=rk,t·ρ+vk,t,所述ρ为超参数,所述vk,t为随机参数。本实施例中,该uk为和为一的一组权重因子;所述vk,t为零均值的一组随机参数,即该vk,t为-1到1之间的随机数,且vk,t分布的平均值为0。
S312:当前节点根据当前节点在本次迭代的初始参数与本组其他节点在本次迭代的初始参数,得到当前节点在本次迭代对所述模型的组内参数。
具体如,当前节点利用下列公式(2)得到所述当前节点在本次迭代的组内参数中k,t;
其中,本次为第t次迭代,所述k为当前节点的序号,所述Gk表示本组内节点的序号,所述gl为本组内节点1相对于所述当前节点的权重,所述Ψl,t为本组内节点1在本次迭代的初始参数。
故,由上述公式1和2即可得到当前节点在本次迭代的初始参数。
第二例中,参阅图3B,本S210采用共识训练策略实现对该组内参数的迭代更新,具体包括以下子步骤:
S313:当前节点利用自身前次迭代得到的模型参数以及本组其他节点相对于当前节点的权重得到所述当前节点在本地迭代的初始参数。
具体如,当前节点可利用所述下列公式(3)得到所述当前节点在本次迭代的初始参数Ψk,t-1;
其中,本次为第t次迭代,前次为第t-1迭代,所述k为当前节点的序号,所述wk,t-1为所述当前节点在前次迭代得到的模参数,所述Gk表示本组内节点的序号,所述gl为本组内节点1相对于所述当前节点的权重。
S314:当前节点根据所述当前节点在本次迭代的初始参数与本组迭代的参考参数,得到所述当前节点在本次迭代对所述模型的组内参数。
具体如,当前节点利用下列公式(4)得到所述当前节点在本次迭代的组内参数Φk,t;
Φk,t=Ψk,t-1+2ukrk,t(dk,t-rk,twk,t-1) (4)
其中,本次为第t次迭代,前次为第t-1迭代,所述k为当前节点的序号,所述wk,t-1为所述当前节点在前次迭代得到的模型参数,所述uk,rk,t,dk,t为本次迭代的参考参数,其中所述uk表示权重因子;所述rk,t表示随机因子;所述dk,t=rk,t·ρ+vk,t,所述ρ为超参数,所述vk,t为随机参数。本实施例中,该uk为和为一的一组权重因子;所述vk,t为零均值的一组随机参数,即该vk,t为-1到1之间的随机数,且vk,t分布的平均值为0。
故,由上述公式3和4即可得到当前节点在本次迭代的初始参数。
S220:当前节点利用所述组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到对所述模型的模型参数。
本实施例中,若S210采用上述迭代方式得到当前节点本次迭代对所述模型的组内参数,则在本步骤S220中,当前节点再利用所述当前节点在本次迭代对所述模型的组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到在本次迭代对所述模型的模型参数。利用本地迭代的组内参数得到本地迭代的模型参数。具体地,当前节点预存有该去中心化网络中每个组外邻居节点相对于该当前节点的权重,其中,该当前节点的组外邻居节点为与当前节点不同组且与当前节点相邻的节点,可以为一个或多个。当前节点在获得本次迭代对所述模型的组内参数后,可将本次迭代对所述模型的组内参数与预存的每个组外邻居节点的权重之间的积相加作为当前节点对所述模型的模型参数。
例如,当前节点可利用下列公式(5)得到所述当前节点在本次迭代对所述模型的模型参数wk,t;
其中,本次为第t次迭代,所述k为当前节点的序号,所述Nk表示所述当前节点的组外邻居节点的序号,所述cl为组外邻居节点1相对于所述当前节点的权重,所述Φk,t为所述当前节点在本次迭代的组内参数。
本实施例中,采用在组内采用预设去中心化训练策略得到对模型的组内参数,再利用组外邻居节点的权重对该组内参数进行加权,以实现在去中心化网络中利用其普通节点即可得到该模型的模型参数,无需中心节点。而且,在使用迭代训练过程中,先再组内得到模型组内参数,再在组件加权得到模型参数,提高了该模型参数的收敛速度。例如,考虑分组的去中心化网络的特性,为了使得算法在并行化训练的时候能够更快的收敛到渐进无偏最优解,本实施例采用先在组内采用如上述预设去中心化训练策略进行参数更新再组间进行合并的训练方式。进一步地,为实现更快的收敛,可采用上述的扩展训练策略。
进一步地,为防止节点之间传输的数据泄露的问题,可对上述组内参数和/或模型参数进行加噪处理。例如,在上述S210之后,利用预设噪声对所述当前节点在本次迭代的组内参数进行加噪,并将加噪后的组内参数更新为所述当前节点在本次迭代的组内参数;进一步地,可在S210中的子步骤S311或S313之后,利用预设噪声对所述当前节点在本次迭代的初始参数进行加噪,并将加噪后的初始参数更新为所述当前节点在本次迭代的初始参数。在上述S220之后,利用预设噪声对所述在本次迭代对所述模型的模型参数进行加噪,并将加噪后的模型参数更新为所述在本次迭代对所述模型的模型参数。其中,上述预设噪声为差分隐私的噪声,例如为拉普拉斯(laplacian)随机噪声。具体地,所述拉普拉斯随机噪声可为L(F,ε);其中,所述ε为满足ε差分隐私参数,所述F为预设模型训练目标函数Jk的差分隐私敏感性,该预设模型可以为神经网络模型。可以理解的是,在其他实施例中,可仅对上述组内参数、初始参数、模型参数中的部分进行上述加噪过程。
请参阅图4,图4是本申请模型训练方法再一实施例的流程图。本实施例中,该方法应用于如上面所述的去中心化网络中,利用去中心化网络的每个节点训练得到该模型的模型参数。该方法在组内采用扩展训练策略进行训练得到组内参数,再在组间加权得到模型参数,且对扩展训练过程的参数和最后得到的模型参数进行差分隐私的加噪处理,以防止数据间接泄露。具体地,该方法包括以下步骤:
S410:当前节点利用自身前次迭代得到的模型参数以及本次迭代的参考参数得到所述当前节点在本次迭代的初始参数。
具体地,当前节点可利用如上面所述的公式(1),由自身前次迭代得到的模型参数wk,t-1以及本次迭代的参考参数uk,rk,t,dk,t,得到所述当前节点在本次迭代的初始参数Ψk,t。
S420:当前节点利用预设噪声对当前节点在本次迭代的初始参数进行加噪,并将加噪后的初始参数更新为当前节点在本次迭代的初始参数。
本实施例中,在当前节点计算组内梯度扩展更新时加入该预设噪声。该预设噪声为拉普拉斯随机噪声。当前节点利用下面公式(6),为所述当前节点在本次迭代的初始参数Ψk,t增加所述预设噪声与所述当前节点的组内邻居节点数并将加噪后的初始参数更新为所述当前节点在本次迭代的初始参数Ψ′k,t。
其中,L(F,ε)为拉普拉斯随机噪声,所述ε为满足ε差分隐私参数,所述F为神经网络模型训练目标函数Jk的差分隐私敏感性;所述为当前节点的组内邻居节点数。
S430:当前节点根据当前节点在本次迭代的初始参数与本组其他节点在本次迭代的初始参数,得到当前节点在本次迭代对所述模型的组内参数。
具体地,当前节点可利用如下列的公式(7)得到所述当前节点在本次迭代的组内参数Φk,t;
其中,本次为第t次迭代,所述k为当前节点的序号,所述Gk表示本组内节点的序号,所述gl为本组内节点1相对于所述当前节点的权重,所述Ψl,t′为本组内节点1在本次迭代经加噪后的初始参数。
S440:当前节点利用当前节点在本次迭代对模型的组内参数和与当前节点的组外邻居节点相对于当前节点的权重,得到在本次迭代对模型的模型参数。
具体地,当前节点可利用如上面所述的公式(5),由当前节点在本次迭代的组内参数Φk,t以及组外邻居节点相对于当前节点的权重cl,得到所述当前节点在本次迭代对模型的模型参数wk,t。
S450:当前节点利用预设噪声对在本次迭代对模型的模型参数进行加噪,并将加噪后的模型参数更新为在本次迭代对模型的模型参数。
例如,该预设噪声为拉普拉斯随机噪声。当前节点利用下面公式(8),为所述当前节点在本次迭代的模型参数wk,t增加所述预设噪声与所述当前节点的组外邻居节点数并将加噪后的模型参数更新为所述当前节点在本次迭代的模型参数wk,t′。
其中,L(F,ε)为拉普拉斯随机噪声,所述ε为满足ε差分隐私参数,所述F为神经网络模型训练目标函数Jk的差分隐私敏感性;所述为当前节点的组外邻居节点数。
本实施例,利用采取组内节点先用扩散策略的更新策略再和组外节点合并的策略,能够加速分布式优化的收敛速度,同时加上差分隐私的噪声可以防止数据间接泄露的问题。
请参阅图5,图5是本申请去中心化网络的节点一实施例的结构示意图。本实施例中,该节点50可以为如图1所述的去中心化网络中的节点,包括存储器51、处理器52和通信电路53。其中,通信电路53、存储器51分别耦接处理器52。具体地,节点50的各个组件可通过总线耦合在一起,或者节点50的处理器分别与其他组件一一连接。该节点50可以为手机、笔记本、桌上电脑、服务器等任意通信设备。
通信电路53用于去中心化网络中与其他节点通信。例如,通信电路53可与去中心化网络中的本组内的节点进行通信,以获得本组内其他节点的前次迭代的初始参数。
存储器51用于存储处理器52执行的程序指令以及处理器52在处理过程中的数据,其中,该存储器51包括非易失性存储部分,用于存储上述程序指令。而且,该存储器51中还可存储有账户相关数据。
处理器52控制节点50的操作,处理器52还可以称为CPU(Central ProcessingUnit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本实施例中,处理器52通过调用存储器51存储的程序指令,用于:在本组内采用预设去中心化训练策略得到对所述模型的组内参数;利用所述组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到对所述模型的模型参数。
在一些实施例中,处理器52执行所述在本组内采用预设去中心化训练策略得到对所述模型的组内参数,包括:利用自身前次迭代得到的模型参数,在本组内采用预设去中心化训练策略进行本次迭代训练,得到本次迭代对所述模型的组内参数;处理器52执行所述利用所述组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到对所述模型的模型参数,包括:利用所述当前节点在本次迭代对所述模型的组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到在本次迭代对所述模型的模型参数。
在一些实施例中,所述预设去中心化训练策略包括基于gossip的训练策略、增量训练策略、共识训练策略或扩散训练策略。
在一些实施例中,处理器52执行所述利用前次迭代得到的模型参数,在本组内采用扩散训练策略进行本次迭代训练,得到本次迭代对所述模型的组内参数,包括:利用自身前次迭代得到的模型参数以及本次迭代的参考参数得到所述当前节点在本次迭代的初始参数;根据所述当前节点在本次迭代的初始参数与本组其他节点在本次迭代的初始参数,得到所述当前节点在本次迭代对所述模型的组内参数。
进一步地,处理器52执行所述利用自身前次迭代得到的模型参数以及本次迭代的参考参数得到所述当前节点在本次迭代的初始参数,可具体包括:利用上面所述的公式(1)得到所述当前节点在本次迭代的初始参数Ψk,t。
进一步地,处理器52执行所述根据所述当前节点在本次迭代的初始参数与本组其他节点在本次迭代的初始参数,得到所述当前节点在本次迭代对所述模型的组内参数,可具体包括:利用上面所述的公式(2)得到所述当前节点在本次迭代的组内参数Φk,t。
在一些实施例中,处理器52执行所述利用前次迭代得到的模型参数,在本组内采用共识训练策略进行本次迭代训练,得到本次迭代对所述模型的组内参数,包括:利用自身前次迭代得到的模型参数以及本组其他节点相对于当前节点的权重得到所述当前节点在本地迭代的初始参数;根据所述当前节点在本次迭代的初始参数与本组迭代的参考参数,得到所述当前节点在本次迭代对所述模型的组内参数。
进一步地,处理器52执行所述利用自身前次迭代得到的模型参数以及本组其他节点相对于当前节点的权重得到所述当前节点在本地迭代的初始参数,可具体包括:利用上面所述的公式(3)得到所述当前节点在本次迭代的初始参数Ψk,t-1。
进一步地,处理器52执行所述根据所述当前节点在本次迭代的初始参数与本组迭代的参考参数,得到所述当前节点在本次迭代对所述模型的组内参数,可具体包括:利用上面所述的公式(4)得到所述当前节点在本次迭代的组内参数Φk,t。
在一些实施例中,处理器52还用于:利用预设噪声对所述当前节点在本次迭代的初始参数进行加噪,并将加噪后的初始参数更新为所述当前节点在本次迭代的初始参数。
进一步地,处理器52执行所述利用预设噪声对所述当前节点在本次迭代的初始参数进行加噪,可具体包括:为所述当前节点在本次迭代的初始参数增加所述预设噪声与所述当前节点的组内邻居节点数
在一些实施例中,处理器52还用于:利用预设噪声对所述在本次迭代对所述模型的模型参数进行加噪,并将加噪后的模型参数更新为所述在本次迭代对所述模型的模型参数。
进一步地,处理器52执行所述利用预设噪声对所述在本次迭代对所述模型的模型参数进行加噪,可具体包括:为所述当前节点在本次迭代对所述模型的模型参数增加所述预设噪声与所述当前节点的组外邻居节点数
在一些实施例中,所述预设噪声为拉普拉斯随机噪声。进一步地,所述拉普拉斯随机噪声可以为:L(F,ε);其中,所述ε为满足ε差分隐私参数,所述F为预设模型训练目标函数Jk的差分隐私敏感性。
在一些实施例中,处理器52执行所述利用所述当前节点在本次迭代对所述模型的组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到在本次迭代对所述模型的模型参数,包括:利用上面所述的公式(5)得到所述当前节点在本次迭代对所述模型的模型参数wk,t。
上述处理器52还用于执行上述任一方法实施例的步骤。
请参阅图6,本申请还提供一种存储装置的实施例的结构示意图。本实施例中,该存储装置60存储有处理器可运行的程序指令61,该程序指令61用于执行上述实施例中的方法。
该存储装置60具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序指令的介质,或者也可以为存储有该程序指令的服务器,该服务器可将存储的程序指令发送给其他设备运行,或者也可以自运行该存储的程序指令。
在一实施例中,存储装置60还可以为如图5所示的存储器。
上述方案中,采用在组内采用预设去中心化训练策略得到对模型的组内参数,再利用组外邻居节点的权重对该组内参数进行加权,以实现在去中心化网络中利用其普通节点即可得到该模型的模型参数,无需中心节点。而且,在使用迭代训练过程中,先再组内得到模型组内参数,再在组件加权得到模型参数,提高了该模型参数的收敛速度。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序指令的介质。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (17)
1.一种模型训练方法,其特征在于,所述方法应用于包含至少一组节点的去中心化网络中,其中,每组节点包括至少一个节点,至少部分所述节点用于训练得到所述模型的模型参数;
所述方法包括:
当前节点在本组内采用预设去中心化训练策略得到对所述模型的组内参数;
利用所述组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到对所述模型的模型参数。
2.根据权利要求1所述的方法,其特征在于,所述在本组内采用预设去中心化训练策略得到对所述模型的组内参数,包括:
利用自身前次迭代得到的模型参数,在本组内采用预设去中心化训练策略进行本次迭代训练,得到本次迭代对所述模型的组内参数;
所述利用所述组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到对所述模型的模型参数,包括:
利用所述当前节点在本次迭代对所述模型的组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到在本次迭代对所述模型的模型参数。
3.根据权利要求2所述的方法,其特征在于,所述预设去中心化训练策略包括基于gossip的训练策略、增量训练策略、共识训练策略或扩散训练策略。
4.根据权利要求3所述的方法,其特征在于,所述利用前次迭代得到的模型参数,在本组内采用扩散训练策略进行本次迭代训练,得到本次迭代对所述模型的组内参数,包括:
利用自身前次迭代得到的模型参数以及本次迭代的参考参数得到所述当前节点在本次迭代的初始参数;
根据所述当前节点在本次迭代的初始参数与本组其他节点在本次迭代的初始参数,得到所述当前节点在本次迭代对所述模型的组内参数。
5.根据权利要求4所述的方法,其特征在于,所述利用自身前次迭代得到的模型参数以及本次迭代的参考参数得到所述当前节点在本次迭代的初始参数,包括:
利用所述下列公式得到所述当前节点在本次迭代的初始参数Ψk,t;
Ψk,t=wk,t-1+ukrk,t(dk,t-rk,twk,t-1)
其中,本次为第t次迭代,前次为第t-1迭代,所述k为当前节点的序号,所述wk,t-1为所述当前节点在前次迭代得到的模型参数,所述uk,rk,t,dk,t为本次迭代的参考参数,其中所述uk表示权重因子;所述rk,t表示随机因子;所述dk,t=rk,t·ρ+vk,t,所述ρ为超参数,所述vk,t为随机参数。
6.根据权利要求4所述的方法,其特征在于,所述根据所述当前节点在本次迭代的初始参数与本组其他节点在本次迭代的初始参数,得到所述当前节点在本次迭代对所述模型的组内参数,包括:
利用下列公式得到所述当前节点在本次迭代的组内参数Φk,t;
其中,本次为第t次迭代,所述k为当前节点的序号,所述Gk表示本组内节点的序号,所述gl为本组内节点1相对于所述当前节点的权重,所述Ψl,t为本组内节点1在本次迭代的初始参数。
7.根据权利要求3所述的方法,其特征在于,所述利用前次迭代得到的模型参数,在本组内采用共识训练策略进行本次迭代训练,得到本次迭代对所述模型的组内参数,包括:
利用自身前次迭代得到的模型参数以及本组其他节点相对于当前节点的权重得到所述当前节点在本地迭代的初始参数;
根据所述当前节点在本次迭代的初始参数与本组迭代的参考参数,得到所述当前节点在本次迭代对所述模型的组内参数。
8.根据权利要求7所述的方法,其特征在于,所述利用自身前次迭代得到的模型参数以及本组其他节点相对于当前节点的权重得到所述当前节点在本地迭代的初始参数,包括:
利用所述下列公式得到所述当前节点在本次迭代的初始参数Ψk,t-1;
其中,本次为第t次迭代,前次为第t-1迭代,所述k为当前节点的序号,所述wk,t-1为所述当前节点在前次迭代得到的模型参数,所述Gk表示本组内节点的序号,所述gl为本组内节点1相对于所述当前节点的权重;
所述根据所述当前节点在本次迭代的初始参数与本组迭代的参考参数,得到所述当前节点在本次迭代对所述模型的组内参数,包括:
利用下列公式得到所述当前节点在本次迭代的组内参数Φk,t;
Φk,t=Ψk,t-1+2ukrk,t(dk,t-rk,twk,t-1)
其中,所述uk,rk,t,dk,t为本次迭代的参考参数,其中所述uk表示权重因子;所述rk,t表示随机因子;所述dk,t=rk,t·ρ+vk,t,所述ρ为超参数,所述vk,t为随机参数。
9.根据权利要求4至8任一项所述的方法,其特征在于,所述利用自身前次迭代得到的模型参数以及本次迭代的参考参数得到所述当前节点在本次迭代的初始参数之后,所述方法还包括:
利用预设噪声对所述当前节点在本次迭代的初始参数进行加噪,并将加噪后的初始参数更新为所述当前节点在本次迭代的初始参数。
10.根据权利要求9所述的方法,其特征在于,所述利用预设噪声对所述当前节点在本次迭代的初始参数进行加噪,包括:
为所述当前节点在本次迭代的初始参数增加所述预设噪声与所述当前节点的组内邻居节点数
11.根据权利要求2所述的方法,其特征在于,在所述利用所述当前节点在本次迭代对所述模型的组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到在本次迭代对所述模型的模型参数之后,所述方法还包括:
利用预设噪声对所述在本次迭代对所述模型的模型参数进行加噪,并将加噪后的模型参数更新为所述在本次迭代对所述模型的模型参数。
12.根据权利要求11所述的方法,其特征在于,所述利用预设噪声对所述在本次迭代对所述模型的模型参数进行加噪,包括:
为所述当前节点在本次迭代对所述模型的模型参数增加所述预设噪声与所述当前节点的组外邻居节点数
13.根据权利要求7至12任一项所述的方法,其特征在于,
所述预设噪声为拉普拉斯随机噪声;所述拉普拉斯随机噪声为:L(F,ε);其中,所述ε为满足ε差分隐私参数,所述F为预设模型训练目标函数Jk的差分隐私敏感性。
14.根据权利要求2所述的方法,其特征在于,所述利用所述当前节点在本次迭代对所述模型的组内参数和与所述当前节点的组外邻居节点相对于所述当前节点的权重,得到在本次迭代对所述模型的模型参数,包括:
利用下列公式得到所述当前节点在本次迭代对所述模型的模型参数wk,t;
其中,本次为第t次迭代,所述k为当前节点的序号,所述Nk表示所述当前节点的组外邻居节点的序号,所述cl为组外邻居节点1相对于所述当前节点的权重,所述Φk,t为所述当前节点在本次迭代的组内参数。
15.一种去中心化网络的节点,其特征在于,包括处理器及与所述处理器耦接的存储器和通信电路,其中,
所述通信电路用于与所述去中心化网络的其他节点通信;所述存储器,用于存储程序指令;所述处理器,用于运行所述程序指令以执行权利要求1至14任一项所述的方法。
16.一种去中心化网络,其特征在于,所述去中心化网络包括至少一组节点,每组节点包括至少一个权利要求15所述的节点。
17.一种存储装置,其特征在于,所述存储装置存储有程序指令,当所述程序指令在处理器上运行时,执行如权利要求1-14任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/118291 WO2020107351A1 (zh) | 2018-11-29 | 2018-11-29 | 模型训练方法及其节点、网络及存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109690530A true CN109690530A (zh) | 2019-04-26 |
Family
ID=66190447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880002436.0A Pending CN109690530A (zh) | 2018-11-29 | 2018-11-29 | 模型训练方法及其节点、网络及存储装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109690530A (zh) |
WO (1) | WO2020107351A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704178A (zh) * | 2019-09-04 | 2020-01-17 | 北京三快在线科技有限公司 | 机器学习模型训练方法、平台、电子设备及可读存储介质 |
CN111475853A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 一种基于分布式数据的模型训练方法及系统 |
CN113065635A (zh) * | 2021-02-27 | 2021-07-02 | 华为技术有限公司 | 一种模型的训练方法、图像增强方法及设备 |
WO2023083312A1 (zh) * | 2021-11-15 | 2023-05-19 | 华为技术有限公司 | 模型训练的方法和通信装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865607A (zh) * | 2023-03-01 | 2023-03-28 | 山东海量信息技术研究院 | 一种分布式训练的计算节点管理方法及相关装置 |
CN116663639B (zh) * | 2023-07-31 | 2023-11-03 | 浪潮电子信息产业股份有限公司 | 一种梯度数据同步方法、系统、装置及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190032433A (ko) * | 2016-07-18 | 2019-03-27 | 난토믹스, 엘엘씨 | 분산 머신 학습 시스템들, 장치, 및 방법들 |
CN108520303A (zh) * | 2018-03-02 | 2018-09-11 | 阿里巴巴集团控股有限公司 | 一种推荐系统构建方法及装置 |
CN108491266B (zh) * | 2018-03-09 | 2021-11-16 | 联想(北京)有限公司 | 基于区块链的数据处理方法、装置及电子设备 |
CN108683738B (zh) * | 2018-05-16 | 2020-08-14 | 腾讯科技(深圳)有限公司 | 图数据处理方法和图数据的计算任务发布方法 |
CN108898219A (zh) * | 2018-06-07 | 2018-11-27 | 广东工业大学 | 一种基于区块链的神经网络训练方法、装置及介质 |
-
2018
- 2018-11-29 WO PCT/CN2018/118291 patent/WO2020107351A1/zh active Application Filing
- 2018-11-29 CN CN201880002436.0A patent/CN109690530A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704178A (zh) * | 2019-09-04 | 2020-01-17 | 北京三快在线科技有限公司 | 机器学习模型训练方法、平台、电子设备及可读存储介质 |
CN110704178B (zh) * | 2019-09-04 | 2023-05-23 | 北京三快在线科技有限公司 | 机器学习模型训练方法、平台、电子设备及可读存储介质 |
CN111475853A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 一种基于分布式数据的模型训练方法及系统 |
CN111475853B (zh) * | 2020-06-24 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 一种基于分布式数据的模型训练方法及系统 |
CN113065635A (zh) * | 2021-02-27 | 2021-07-02 | 华为技术有限公司 | 一种模型的训练方法、图像增强方法及设备 |
WO2023083312A1 (zh) * | 2021-11-15 | 2023-05-19 | 华为技术有限公司 | 模型训练的方法和通信装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020107351A1 (zh) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109690530A (zh) | 模型训练方法及其节点、网络及存储装置 | |
CN110428046B (zh) | 神经网络结构的获取方法及装置、存储介质 | |
CN108111335A (zh) | 一种调度和链接虚拟网络功能的方法及系统 | |
CN111324630B (zh) | 基于mpi的神经网络架构搜索并行化方法和设备 | |
CN107019913B (zh) | 对象生成方法及装置 | |
CN105094970B (zh) | 一种求解分布式系统下可分任务多趟调度模型的方法 | |
CN108509615A (zh) | 基于抽签机制的共识建立方法、装置及可读存储介质 | |
CN110188829A (zh) | 神经网络的训练方法、目标识别的方法及相关产品 | |
CN108304925A (zh) | 一种池化计算装置及方法 | |
CN108009437A (zh) | 数据发布方法和装置及终端 | |
CN108960410A (zh) | 基于神经网络的参数更新方法、相关平台及计算机存储介质 | |
Ooshita et al. | On the self-stabilization of mobile oblivious robots in uniform rings | |
CN109635934A (zh) | 一种神经网络推理结构优化方法及装置 | |
CN114302422A (zh) | 利用学习模型进行业务处理的方法以及装置 | |
CN106874506A (zh) | 基于统计模型的社区挖掘方法及系统 | |
CN115563674A (zh) | 初始平面布置生成方法和装置、电子设备和存储介质 | |
CN108737491A (zh) | 信息推送方法和装置以及存储介质、电子装置 | |
CN110399600A (zh) | 生成宽表的方法及装置 | |
CN110505655A (zh) | 数据指令处理方法、存储介质及蓝牙盾 | |
CN108268765A (zh) | 解锁控制方法及相关产品 | |
CN104899232B (zh) | 协同聚类的方法和设备 | |
CN114492152A (zh) | 更新网络模型的方法、图像分类的方法、语言建模的方法 | |
CN112308227A (zh) | 神经网络架构搜索方法、装置、终端设备以及存储介质 | |
CN109697511B (zh) | 数据推理方法、装置及计算机设备 | |
CN106778864A (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 |