一种基于DAG区块链的联邦学习方法

文档序号:31524863发布日期:2022-09-14 13:50阅读:193来源:国知局
一种基于DAG区块链的联邦学习方法
一种基于dag区块链的联邦学习方法
技术领域
1.本发明属于通信技术领域,涉及一种基于dag区块链的联邦学习方法。


背景技术:

2.自然语言处理,虚拟/增强现实和计算机视觉等等。传统云计算中,用户和云服务器之间的通信往往存在较高延迟,且大量任务的涌入会导致云服务器的拥堵阻塞。鉴于如今发达的硬件技术,各种近端设备如路边单元、分布式基站以及边缘网关等可以提供存储、计算、网络等资源。因此,边缘计算网络概念被提出,其主要思路是将计算存储任务下沉至边缘节点,从而缓解云服务器负担,同时对用户需求进行快速响应。
3.为了完成一个复杂的计算任务,单一边缘节点的数据量或是计算资源往往不能满足需求。而多方协作带来的数据安全问题会降低参与者的积极性,联邦学习能够在不共享原始数据的情况下进行协作模型学习,日益吸引科技巨头和需要隐私保护的行业的关注。在联邦学习框架中,用户设备的数据集无需传输至边缘节点,由用户在本地执行计算任务,并将模型参数或模型梯度传输至边缘节点进行聚合。由于用户间的原始数据没有进行交互,联邦学习保护了用户的隐私,并将数据采集、训练和模型存储的机器学习过程解耦到边缘节点与用户上。
4.虽然联邦学习(federated learning,fl)能够解决数据拥有者之间的数据隐私问题,但由于边缘节点与用户间的频繁交互以及中心聚合带来的单点故障缺陷,其抗攻击能力面临极大的挑战。区块链技术中的分布式存储带来的不可篡改性以及恶意节点识别技术能够很好地解决数据可靠性传输以及抵抗恶意攻击的问题。而联邦学习作为一种分布式学习架构,能够为区块链技术的融合提供很好的基础。有向无环图(directed acyclic graph,dag)结构作为区块链技术领域的新星,能够突破传统链式结构的吞吐量限制,更加适用于密集型网络。而dag区块链天然的异步上链方式能够大大降低网络阻塞,规避传统链式结构中的分叉问题。
5.传统联邦学习中采用同步聚合,高算力节点需要等待低算力节点完成训练,等待时间内的计算资源被浪费,本发明提供一种半异步聚合方法,设备端的高算力节点可以在等待时间内进行多次本地训练,充分利用有效资源。


技术实现要素:

6.有鉴于此,本发明的目的在于提供一种基于dag区块链的联邦学习方法。该方法可以解决用户之间由于隐私数据不共享而导致的联邦学习模型精度及数据安全问题。
7.为了解决上述技术问题,本发明实现过程如下:
8.第一步,本发明根据网络中的成员职责及定位的不同,将网络分为边缘服务器和智能设备两层进行协作学习建模,学习任务由外部代理发起,且边缘服务器之间共同维护一个dag区块链。该方案执行流程如下:
9.s1:外部代理作为任务发起者,边缘服务器承担模型聚合以及区块链维护工作,智
能设备执行模型训练任务。外部代理初始化全局模型及创世块,决定训练任务的生灭;
10.s2:边缘服务器从dag区块链上选取tips(即未被批准的交易),将交易内模型参数进行聚合形成基础模型,并将其下发至其覆盖范围内的智能设备;
11.s3:智能设备使用本地数据集进行本地训练,完成一轮本地训练后,向边缘服务器发送状态查询信息以确认是否进行下一轮本地训练;
12.s4:智能设备完成本地训练后,将已更新模型上传至边缘服务器进行聚合,并将聚合模型作为一个交易上传至dag区块链;
13.s5:基于接受到的智能设备信息以及聚合模型更新边缘服务器信誉值,将其一并打包进交易内上传至dag区块链;
14.s6:边缘服务器将交易上传至dag区块链,被边缘服务器拉取的tips视作被新交易批准,tips的累计权重到达一定阈值,则被视作确认。
15.s7:外部代理以固定周期从dag区块链上选取tips并验证其中模型是否已达期望精度,若已满足目标则停止模型训练任务。
16.第二步,在步骤s1中,外部代理在控制fl训练任务生灭过程的同时,维护一个智能合约以运行dag区块链。发起任务时,外部代理会生成一个创世块,内含初始模型参数以及测试数据集。此外,作为任务发起者,外部代理可以随时监管dag区块链运行情况,并决定是否终止fl训练任务。
17.第三步,在步骤s2中,提供一种tips选取方法。每笔交易中包含自身权重以及该笔交易上传节点的信誉值,通过计算每个tip在当前可观测的所有tips的权重占比,可得到每个tip被选取到的概率。基于此,边缘服务器可选取多个tips,并将其中模型参数进行聚合得到基础模型,以供其覆盖范围内的智能设备进行本地训练。tip y被x批准(y

x)的概率p
xy
可表示为:
[0018][0019]
其中κ是从1开始取值的参数,cw是tip的累计权重,r是边缘节点的信誉值。在dag区块链中,每笔交易的累积权重等于其自身权重以及直接和间接验证它的交易数量。当累积权重增加到阈值时,交易被认为在dag区块链上得到确认。
[0020]
第四步,在步骤s3中,提供一种半异步本地模型更新方法。完成一轮本地训练后,智能设备n向边缘服务器发送带有其当前状态的查询消息。状态响应消息an将指导智能设备n执行相应的操作。如果an=1,则智能设备n进入下一轮本地训练。当an=0,表示智能设备n的剩余等待时间不足以完成下一次本地训练,否则整体等待时间d
wait
将会增加,因此,智能设备将更新的本地模型传输至边缘节点进行聚合。由此可最小化整体等待时间,提升联邦学习的训练效率。其中,n表示智能设备n,rn表示本地训练轮数计数,表示本地训练的计算时延,表示智能设备n与边缘节点之间的通信时延,tn表示发送该查询消息时的时间戳。
[0021]
第五步,在步骤s4中,边缘服务器基于智能设备上传的模型更新,采用联邦平均聚合算法得到聚合模型。假设有m个边缘节点,边缘节点m覆盖范围下有nm个智能设备,边缘节点m第e次聚合模型可计算为:
[0022][0023]
其中,ξ表示全局更新步长,dn表示智能设备n的本地数据集大小,
[0024]
第六步,在步骤s5中,提供一种基于信誉值更新方法。基于历史信誉值、模型聚合阶段获取到的全部智能设备信息(包括本地迭代轮数及设备的数据集大小)、聚合模型与基础模型之间的余弦相似度以及聚合模型精度,采用熵权法计算出边缘服务器信誉值r,r为0~100的实数。表示边缘节点m的第i个指标的标准化值,可得的占比为:
[0025][0026]
其中,i=1表示边缘节点m的历史信誉值,i=2表示边缘节点m下智能设备的本地训练轮数总和,i=3表示边缘节点m下智能设备的本地数据集大小总和,i=4表示边缘节点m的聚合模型与基础模型之间的余弦相似度,i=5表示边缘节点m的聚合模型精度。标准化均采用正向指标,即其数值越高越好,其计算公式为:
[0027][0028]
由于dag区块链中的边缘节点都在积极训练模型,模型之间的差异可以用来代表模型的质量。采用余弦相似度表示模型间的差异,可表示为:
[0029][0030]
其中,表示边缘节点m第e次聚合中的基础模型。
[0031]
由此,指标i的熵权值为:
[0032][0033]
其中,指标的熵权值越大,意味着该指标对边缘节点m信誉值的贡献越大。
[0034]
由此,可得边缘节点m的信誉值(满分100)为:
[0035][0036]
第七步,在步骤s6中,边缘服务器将聚合模型与信誉值打包为一个交易,上传至dag区块链。dag区块链中存在三种交易:

累计权重已达阈值的确认交易;

拥有至少一个批准的未确认交易;

新到达交易,也被称作tips。边缘服务器会将新生成的交易指向获取基础模型时拉取到的tips,此时表明新交易批准了这些tips。交易之间通过批准关系建立单向连接,形成dag结构。
[0037]
第八步,在步骤s7中,外部代理在初始化创世块以及模型参数后,每间隔一个固定
时间段,依照第三步中类似tips选取方案选取tips并验证其中模型的精度。当模型精度达到期望目标,外部代理向边缘服务器广播终止信号以完成fl训练任务。
[0038]
为达到上述目的,本发明提供如下技术方案:
[0039]
本发明的有益效果在于:本发明中,边缘节点负责模型聚合,且共同维护一个dag区块链以保障信息的传输可靠性以及整体系统的抗攻击能力。智能设备使用本地数据集进行模型更新。此外,本方案的tips选取算法基于信誉值,能够在保证可靠性的同时,以更快的速度完成tips选取。
[0040]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0041]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0042]
图1为本发明实施例中所涉及的一种可能的系统结构示意图;
[0043]
图2为本发明实施例中外部代理与边缘服务器间交互示意图;
[0044]
图3为本发明实施例中单个边缘服务器与智能设备间交互示意图;
[0045]
图4为本发明实施例中dag区块链内交易类型示意图;
[0046]
图5为本发明实施例中提供的系统流程示意图。
具体实施方式
[0047]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0048]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0049]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0050]
图1示出了本发明实施例所涉及的一种可能的应用场景。如图1所示,该网络中共
有三类节点,外部代理、边缘服务器以及智能设备。外部代理即为发布任务的权威机构,在控制fl训练任务生灭过程的同时,维护一个智能合约以运行dag区块链。边缘服务器拥有充足计算资源,承担模型聚合以及区块链维护工作。智能设备拥有本地数据集及少量计算资源,承担本地模型训练任务。其中最新全局模型以及边缘节点信誉值都会被记录在dag区块链交易中,以确保信息安全和不可篡改性。
[0051]
1.系统交互流程
[0052]
本发明所提算法包含两阶段交互过程:

外部代理与边缘服务器间的交互;

边缘服务器与其覆盖范围内的智能设备间的交互。
[0053]
1)外部代理与边缘服务器
[0054]
如图2所示,外部代理与边缘服务器间的交互媒介为dag区块链。外部代理会初始化全局模型并生成一个创世块,模型训练任务由边缘服务器之间自主执行。得益于dag区块链的异步特性,边缘服务器在完成一次聚合之后可立即上传至dag区块链,并开启下一轮训练。dag区块链是由边缘服务器共同维护的联盟链,其中交易包括身份验证信息,模型参数,信誉值以及tips批准信息。在dag上新发布但尚未验证的交易通常称为tips。在dag上发布交易需通过以下三个步骤:
[0055]
步骤一:节点根据给定算法或随机选择一些tips;
[0056]
步骤二:节点验证所选tips身份和内容正确性;
[0057]
步骤三:由对选定的tips构建新交易,并发布在dag上。
[0058]
通过以上三个步骤,投票结果存储在已发布的交易中,交易之间通过验证关系建立单向连接,形成dag架构。
[0059]
2)边缘服务器与智能设备
[0060]
如图3所示,单个边缘服务器与其覆盖范围下的智能设备构成fl架构,边缘服务器负责其覆盖范围内模型参数的上传下载,对于每一个边缘服务器及其所属智能设备,边缘服务器从dag区块链中选取tips并聚合得到基础模型。智能设备从其所属边缘服务器处获取全局模型,并基于本地数据集执行训练任务,各智能设备的训练过程保持独立以保证数据隐私。智能设备的本地训练采取半异步方式以提高fl效率,每完成一轮包含固定迭代次数的本地更新,智能设备向边缘服务器发送带有其当前状态的查询消息。状态响应消息将指导智能设备执行相应的操作。智能设备依据操作指示决定下一步操作。本地训练完成后,边缘服务器收集其覆盖范围内更新的本地模型,采用联邦平均算法进行聚合并上传至dag区块链。
[0061]
2.计算模型
[0062]
边缘服务器m完成一轮本地训练所需时间为:
[0063][0064]
其中,cn表示在智能设备n中训练一个数据样本所需的cpu周期数;dn表示智能设备n的本地数据集的数据样本数量;fn表示智能设备n所能提供的cpu周期频率;rn表示智能设备n的本地训练轮数;
ò
表示本地训练达到的期望模型精度;nm表示边缘服务器m覆盖范围下的智能设备数量;μ为一个常数,取决于数据大小以及训练任务。智能设备n训练本地模型所需要的cpu周期数可表示为c
kdk
,边缘服务器m在一轮本地训练中的cpu能耗为:
[0065][0066]
其中,ζn为智能设备n计算机组芯片的有效电容系数。
[0067]
边缘服务器m完成一次模型聚合所需时间为:
[0068][0069]
其中,fm表示边缘服务器m所能提供的cpu周期频率。边缘服务器m一全局轮模型聚合的能耗为:
[0070][0071]
其中,ζm为边缘服务器m计算机组芯片的有效电容系数。
[0072]
3.通信模型
[0073]
本网络场景中,考虑智能设备n将模型更新上传至边缘服务器m的时间开销。智能设备n的数据传输速率(bits/s)可以使用香农公式表示:
[0074][0075]
其中,b表示带宽,pn表示机构k的发射功率,g
n,m
表示智能设备n到边缘服务器m的信道增益,n0表示噪声功率。由此,边缘服务器m覆盖范围下智能设备的通信时延为:
[0076][0077]
其中,sn为智能设备n更新的模型大小。边缘服务器m覆盖范围下智能设备的通信能耗为:
[0078][0079]
3.dag区块链交易类型
[0080]
如图4所示,dag区块链属于分布式账本,其中的交易通过批准信息单向连接。当边缘服务器生成新交易,需将新交易与选择批准的tips连接。由于dag区块链的异步特性以及边缘服务器观察当前tips数量存在时间窗口,同一tip可能被多笔新交易批准。每笔交易拥有自身权重以及累计权重,累计权重等于交易自身权重加上直接/间接批准该交易的所有交易自身权重之和。累计权重达到权重阈值被视作已确认,即完成共识。
[0081]
4.交易确认时延
[0082]
确认时延定义为tips的累积权重达到阈值的时间。假设当h足够小时,tips的数量在时间间隔(t,t+h)内保持不变。至少一个tip被新交易批准的概率为:
[0083]
1-[1-p
xy
(t)]2=2p
xy
(t)-[p
xy
(t)]2.
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)假设新交易的生成率为达到率为λ的泊松分布,其累计权重的增速可表示为:
[0084]
δcw(t)=λ{2py(t)-[py(t)]2}.
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0085]
因此,给定权重阈值cw0,交易确认时延为:
[0086][0087]
5.优化目标建模
[0088]
本发明提出一种基于dag区块链的联邦学习算法,为最小化总时延,包括边缘服务器与智能设备的计算时延、计算设备的通信时延以及dag区块链的交易确认时延,优化问题可建模为:
[0089][0090]
其中,约束条件c1表示模型上传时延不能超过最大容忍时延;约束条件c2和c3分别本地训练和模型聚合的能耗限制;约束条件c4表示分配的智能设备传输带宽总和不能超过边缘服务器的带宽上限;约束条件c5,c6和c7分别表示传输功率,本地训练计算频率以及模型聚合计算频率的限制。
[0091]
6.dag区块链赋能的联邦学习算法流程图
[0092]
图5为本发明提出的基于dag区块链的联邦学习流程图,具体步骤为:
[0093]
s501:系统初始化;
[0094]
s502:外部代理初始化模型参数并生成dag区块链的创世块;
[0095]
s503:边缘服务器构造基础模型;
[0096]
s504:边缘服务器基于tips选取概率从dag区块链上拉取tips;
[0097]
s505:边缘服务器对交易进行身份验证,并确认选取的交易不是冲突交易或直接/间接验证过的冲突交易;
[0098]
s506:边缘服务器使用联邦平均算法聚合选取tips中的模型参数形成基础模型;
[0099]
s507:边缘服务器将基础模型下发至其覆盖范围内的智能设备;
[0100]
s508~s510:智能设备进行本地训练;
[0101]
s508:智能设备从其所属边缘服务器获取基础模型;
[0102]
s509:智能设备使用本地数据集对基础模型进行更新;
[0103]
s510:智能设备完成一轮本地更新之后,向边缘服务器发起询问,请求下一个动作.如果返回动作信息为0,则进入模型聚合阶段,如果返回动作信息为1,则返回步骤s509;
[0104]
s511:边缘服务器收集来自智能设备更新的模型,使用联邦平均算法聚合得到更新的全局模型;
[0105]
s512:基于接受到的智能设备信息以及已更新全局模型,边缘服务器之间通信共享信誉值指标信息以更新自身信誉值;
[0106]
s513:边缘服务器将最新全局模型与更新的信誉值打包为一个交易;
[0107]
s514:边缘服务器将新交易与选取tips进行单向连接,并批准这些tips,返回步骤s503;
[0108]
s515:外部代理根据基于tips选取概率从dag区块链上选取tips;
[0109]
s516:外部代理对tips进行身份验证并确认交易的有效性;
[0110]
s517:外部代理使用联邦平均算法聚合模型参数得到验证模型;
[0111]
s518:判定验证模型是否达到期望精度,若满足期望则进入下一步骤,否则返回步骤s515;
[0112]
s519:外部代理向边缘服务器广播任务终止信号,算法运行结束。
[0113]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0114]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是计算机,服务器,或者网络侧设备等)执行本发明实施例所述的机构间在隐私保密环境下进行联合建立模型的方法。
[0115]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1