一种基于区块链的数据模型检测方法技术

技术编号:38642561 阅读:20 留言:0更新日期:2023-08-31 18:35
本发明专利技术涉及一种基于区块链的数据模型检测方法,属于移动通信技术领域。首先,通过区块链网络保证雾节点之间共享全局模型的安全性和高效性。其次,提出了基于信誉值和用户参与度的设备选择算法,通过信誉值和用户参与度选择参与训练的物联网设备IDs。再次,提出了基于离群值的恶意模型识别算法,提高了Non

【技术实现步骤摘要】
一种基于区块链的数据模型检测方法


[0001]本专利技术属于移动通信
,涉及一种基于区块链的数据模型检测方法。

技术介绍

[0002]伴随着智能手机、智能手表和各种传感器等IDs的广泛普及,将实时生成海量数据。同时随着机器学习技术的不断创新,基于大规模数据挖掘的机器学习技术成为应用这些海量数据的重要手段。机器学习技术可以用于海量数据处理,以满足人们对更智能和个性化服务的需求。然而,随着用户和机构在数据安全和隐私保护方面意识的日益增强,导致其不愿共享自身的数据,从而形成了“数据孤岛”问题。
[0003]针对上述传统机器学习所面临的挑战,当前提出了一种新的分布式学习算法—联邦学习。联邦学习允许多个IDs使用本地数据集协同训练可共享的全局模型,然后中央服务器通过聚合所有局部模型参数更新全局模型,从而实现了用户隐私保护。具体来说,联邦学习过程主要分为三步,首先,所有参与联邦学习任务的IDs从中央服务器下载全局模型。然后,IDs利用本地数据集训练并更新全局模型从而生成每个IDs的局部模型。最后,IDs将局部模型上传到中央服务器,中央服务器将收集的所有局部模型进行聚合更新全局模型。重复迭代上述步骤,直到全局模型精度达到目标精度。
[0004]然而,当前雾计算中联邦学习在全局模型更新和存储过程中完全依赖于中央服务器,容易出现单点故障或被针对性攻击等安全问题。同时,在高度开放的雾计算环境下,雾节点的离散部署和高度的上下行信息交换,会导致IDs的数据安全和隐私问题面临巨大威胁。当前,区块链技术作为一种提供安全可信机制的分布式数据账本,其具有多中心化、智能合约、多方维护和不可篡改等特性,与联邦学习的分布式架构高度契合。因此,在雾计算中将联邦学习和区块链技术结合成为当前学术界研究的热点。
[0005]然而,在联邦学习中由于中央服务器无法访问IDs的本地数据集,而不同IDs之间本地数据集的统计分布、大小也不同,从而导致IDs本地数据为Non

IID。在Non

IID数据场景下,传统联邦学习算法,存在全局模型精度下降、收敛速度减缓等问题。针对上述问题,本专利技术实施例在雾计算架构下,提出一种基于区块链的数据模型检测方法,提高联邦学习的安全性和训练效率。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提供一种基于区块链的数据模型检测方法。该方法可以有效解决联邦学习模型聚合过程中,恶意模型检测和Non

IID数据导致的模型精度下降问题。
[0007]为达到上述目的,本专利技术提供如下技术方案:
[0008]一种基于区块链的数据模型检测方法,该方法包括以下步骤:
[0009]S1:进行基于信誉值和用户参与度的设备选择;
[0010]S2:进行基于离群值的恶意模型识别;
[0011]S3:进行联邦学习加权聚合;
[0012]S4:进行基于DAG区块链的联邦学习;
[0013]在S1中,选择一定信誉值的IDs结合用户参与度,解决全局模型过拟合问题;
[0014]在S2中,通过评估所有局部模型每一层神经网络参数和全局模型对应层神经网络参数的距离,利用箱线图法找到每一层神经网络距离的离群值,筛选恶意模型;
[0015]在S3中,基于局部模型梯度和全局模型梯度之间的角度,以及局部模型的精度,得到局部模型加权权重;
[0016]在S4中,利用DAG区块链存储雾节点生成的全局模型,其中雾节点作为DAG区块链节点,存储DAG区块链网络的账本信息;首先,FN k通过基于信誉值和用户参与度选择参与联邦学习的IDs,然后在本地DAG区块链中基于交易选择TS算法选择Tips,利用联邦平均FedAvg算法更新全局模型并将其广播给选择的IDs,IDs利用本地数据对接收到的进行局部训练;IDs完成训练上传局部模型到FN k,FN k通过基于离群值的恶意模型识别算法筛选出正常模型,并利用联邦学习加权聚合算法聚合正常模型得到新的全局模型随后FN k将该模型和数字签名Sig
k
共同封装成区块S
k
发布到DAG区块链网络,区块的具体格式如公式(1)所示:
[0017][0018]式中,H为整个区块的哈希值;V
k
为所验证的Tips的哈希值向量;c
k
为算力需求较小的工作量证明参数;Q为区块的权重向量,包括自身权重和累计权重。
[0019]可选的,所述DAG区块链中,建立雾计算架构,由任务发布者、外部代理、雾节点和IDs构成;假设网络中有K个雾节点,表示为K={1,...,k,...,K};每个雾节点下假设有M个IDs,表示为M={1,...,m,...,M},对应的训练数据集表示为D={D1,...,D
m
,...,D
M
};ID m基于数据集D
m
训练局部模型,完成训练后将模型上传到雾节点,进行全局聚合;当全局模型精度达到要求时,返回全局模型给任务发布者;
[0020]任务发布者通过外部代理发布任务,雾节点接收到任务后使用基于信誉值和用户参与度的设备选择算法选择满足训练条件的IDs参加训练任务;整个训练过程包括以下四个步骤:
[0021]S41:训练任务发布;任务发布者通过外部代理广播训练任务包括任务要求和任务初始模型到雾节点,雾节点将任务要求发布给所属的IDs,符合要求的IDs将包含其身份和数据信息发送给雾节点;雾节点利用基于信誉值和用户参与度的设备选择算法选择部分IDs参与训练任务,并将初始模型发送给选择的IDs,IDs收到模型后利用本地数据集进行局部训练;
[0022]S42:雾节点进行恶意模型识别和全局聚合;IDs完成局部训练后,将局部模型上传到所属雾节点;雾节点收集模型后使用基于离群值的恶意模型识别算法,识别出上传局部模型中的恶意模型,并更新相关IDs上传恶意模型的次数;然后雾节点对筛选后的正常模型使用联邦学习加权聚合算法计算出每个模型的权重,然后进行全局聚合更新全局模型;
[0023]S43:更新任务参与者;雾节点进行多轮全局训练后,基于IDs上传模型属性更新其信誉值,然后使用基于信誉值和用户参与度的设备选择算法更新参与训练任务的IDs;
[0024]S44:更新DAG区块链网络;雾节点生成新的全局模型后,将模型打包成区块并通过
广播的方式将其发布给DAG区块链网络中的其他雾节点;雾节点收到广播的新区块后更新本地DAG区块链副本,并从中利用交易选择TS算法选择部分Tips,提取其中存储的全局模型参数进行聚合得到新的全局模型;雾节点将新的全局模型下发给所属的IDs,进行新一轮的全局训练;重复S41~S44,直到全局模型精度达到目标要求。
[0025]可选的,所述信誉值的计算方法具体为:
[0026]首先,雾节点根据IDs的信誉值和用户参与度选择参与训练任务的IDs;每进行T轮全局训练对IDs的信誉值和用户参与度进行更新,并根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据模型检测方法,其特征在于:该方法包括以下步骤:S1:进行基于信誉值和用户参与度的设备选择;S2:进行基于离群值的恶意模型识别;S3:进行联邦学习加权聚合;S4:进行基于DAG区块链的联邦学习;在S1中,选择一定信誉值的IDs结合用户参与度,解决全局模型过拟合问题;在S2中,通过评估所有局部模型每一层神经网络参数和全局模型对应层神经网络参数的距离,利用箱线图法找到每一层神经网络距离的离群值,筛选恶意模型;在S3中,基于局部模型梯度和全局模型梯度之间的角度,以及局部模型的精度,得到局部模型加权权重;在S4中,利用DAG区块链存储雾节点生成的全局模型,其中雾节点作为DAG区块链节点,存储DAG区块链网络的账本信息;首先,FN k通过基于信誉值和用户参与度选择参与联邦学习的IDs,然后在本地DAG区块链中基于交易选择TS算法选择Tips,利用联邦平均FedAvg算法更新全局模型并将其广播给选择的IDs,IDs利用本地数据对接收到的进行局部训练;IDs完成训练上传局部模型到FN k,FN k通过基于离群值的恶意模型识别算法筛选出正常模型,并利用联邦学习加权聚合算法聚合正常模型得到新的全局模型随后FN k将该模型和数字签名Sig
k
共同封装成区块S
k
发布到DAG区块链网络,区块的具体格式如公式(1)所示:式中,H为整个区块的哈希值;V
k
为所验证的Tips的哈希值向量;c
k
为算力需求较小的工作量证明参数;Q为区块的权重向量,包括自身权重和累计权重。2.根据权利要求1所述的一种基于区块链的数据模型检测方法,其特征在于:所述DAG区块链中,建立雾计算架构,由任务发布者、外部代理、雾节点和IDs构成;假设网络中有K个雾节点,表示为K={1,...,k,...,K};每个雾节点下假设有M个IDs,表示为M={1,...,m,...,M},对应的训练数据集表示为D={D1,...,D
m
,...,D
M
};ID m基于数据集D
m
训练局部模型,完成训练后将模型上传到雾节点,进行全局聚合;当全局模型精度达到要求时,返回全局模型给任务发布者;任务发布者通过外部代理发布任务,雾节点接收到任务后使用基于信誉值和用户参与度的设备选择算法选择满足训练条件的IDs参加训练任务;整个训练过程包括以下四个步骤:S41:训练任务发布;任务发布者通过外部代理广播训练任务包括任务要求和任务初始模型到雾节点,雾节点将任务要求发布给所属的IDs,符合要求的IDs将包含其身份和数据信息发送给雾节点;雾节点利用基于信誉值和用户参与度的设备选择算法选择部分IDs参与训练任务,并将初始模型发送给选择的IDs,IDs收到模型后利用本地数据集进行局部训练;S42:雾节点进行恶意模型识别和全局聚合;IDs完成局部训练后,将局部模型上传到所属雾节点;雾节点收集模型后使用基于离群值的恶意模型识别算法,识别出上传局部模型
中的恶意模型,并更新相关IDs上传恶意模型的次数;然后雾节点对筛选后的正常模型使用联邦学习加权聚合算法计算出每个模型的权重,然后进行全局聚合更新全局模型;S43:更新任务参与者;雾节点进行多轮全局训练后,基于IDs上传模型属性更新其信誉值,然后使用基于信誉值和用户参与度的设备选择算法更新参与训练任务的IDs;S44:更新DAG区块链网络;雾节点生成新的全局模型后,将模型打包成区块并通过广播的方式将其发布给DAG区块链网络中的其他雾节点;雾节点收到广播的新区块后更新本地DAG区块链副本,并从中利用交易选择TS算法选择部分Tips,提取其中存储的全局模型参数进行聚合得到新的全局模型;雾节点将新的全局模型下发给所属的IDs,进行新一轮的全局训练;重复S41~S44,直到全局模型精度达到目标要求。3.根据权利要求2所述的一种基于区块链的数据模型检测方法,其特征在于:所述信誉值的计算方法具体为:首先,雾节点根据IDs的信誉值和用户参与度选择参与训练任务的IDs;每进行T轮全局训练对IDs的信誉值和用户参与度进行更新,并根据更新后的信誉值和用户参与度重新选择IDs;其中信誉值更新过程如下:首先,在T轮全局训练中,FN k基于ID m训练的局部模型进行信誉评价,如公式(2)所示;式中,b
k

m
,d
k

m
,u
k

m
分别表示信任、不信任和不确定并且b
k

m
+d
k

m
+u
k

m
=1,其中b
k

m
,d
k

m
,u
k

m
∈[0,1],基于主观逻辑模型将其表示为公式(3)所示;式中,q
k

m
表示数据成功传输概率;κ,η分别表示正常模型和恶意模型的权重且η+κ=1和η≤κ;α
k

k
是在T轮全局训练期间ID m上传的正常模型和恶意模型的数量,其中α
k

k
=T;ID m的信誉评价如公式(4)所示:T
k

m
=b
k

m
+au
k

m
ꢀꢀ
(4)式中,a∈[0,1]代表不确定性对信誉的影响程度;ID m在第t+1轮信誉值如公式(5)所示;T
k

m
(t+1)=λ
×
T
k

m
(t)+r
×
T
k

m
ꢀꢀ
(5)式中,λ和r...

【专利技术属性】
技术研发人员:黄晓舸黎文静任洋王依琪陈前斌
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1