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

文档序号:35275833发布日期:2023-08-31 02:18阅读:39来源:国知局
一种基于区块链的数据模型检测方法

本发明属于移动通信,涉及一种基于区块链的数据模型检测方法。


背景技术:

1、伴随着智能手机、智能手表和各种传感器等ids的广泛普及,将实时生成海量数据。同时随着机器学习技术的不断创新,基于大规模数据挖掘的机器学习技术成为应用这些海量数据的重要手段。机器学习技术可以用于海量数据处理,以满足人们对更智能和个性化服务的需求。然而,随着用户和机构在数据安全和隐私保护方面意识的日益增强,导致其不愿共享自身的数据,从而形成了“数据孤岛”问题。

2、针对上述传统机器学习所面临的挑战,当前提出了一种新的分布式学习算法—联邦学习。联邦学习允许多个ids使用本地数据集协同训练可共享的全局模型,然后中央服务器通过聚合所有局部模型参数更新全局模型,从而实现了用户隐私保护。具体来说,联邦学习过程主要分为三步,首先,所有参与联邦学习任务的ids从中央服务器下载全局模型。然后,ids利用本地数据集训练并更新全局模型从而生成每个ids的局部模型。最后,ids将局部模型上传到中央服务器,中央服务器将收集的所有局部模型进行聚合更新全局模型。重复迭代上述步骤,直到全局模型精度达到目标精度。

3、然而,当前雾计算中联邦学习在全局模型更新和存储过程中完全依赖于中央服务器,容易出现单点故障或被针对性攻击等安全问题。同时,在高度开放的雾计算环境下,雾节点的离散部署和高度的上下行信息交换,会导致ids的数据安全和隐私问题面临巨大威胁。当前,区块链技术作为一种提供安全可信机制的分布式数据账本,其具有多中心化、智能合约、多方维护和不可篡改等特性,与联邦学习的分布式架构高度契合。因此,在雾计算中将联邦学习和区块链技术结合成为当前学术界研究的热点。

4、然而,在联邦学习中由于中央服务器无法访问ids的本地数据集,而不同ids之间本地数据集的统计分布、大小也不同,从而导致ids本地数据为non-iid。在non-iid数据场景下,传统联邦学习算法,存在全局模型精度下降、收敛速度减缓等问题。针对上述问题,本发明实施例在雾计算架构下,提出一种基于区块链的数据模型检测方法,提高联邦学习的安全性和训练效率。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种基于区块链的数据模型检测方法。该方法可以有效解决联邦学习模型聚合过程中,恶意模型检测和non-iid数据导致的模型精度下降问题。

2、为达到上述目的,本发明提供如下技术方案:

3、一种基于区块链的数据模型检测方法,该方法包括以下步骤:

4、s1:进行基于信誉值和用户参与度的设备选择;

5、s2:进行基于离群值的恶意模型识别;

6、s3:进行联邦学习加权聚合;

7、s4:进行基于dag区块链的联邦学习;

8、在s1中,选择一定信誉值的ids结合用户参与度,解决全局模型过拟合问题;

9、在s2中,通过评估所有局部模型每一层神经网络参数和全局模型对应层神经网络参数的距离,利用箱线图法找到每一层神经网络距离的离群值,筛选恶意模型;

10、在s3中,基于局部模型梯度和全局模型梯度之间的角度,以及局部模型的精度,得到局部模型加权权重;

11、在s4中,利用dag区块链存储雾节点生成的全局模型,其中雾节点作为dag区块链节点,存储dag区块链网络的账本信息;首先,fn k通过基于信誉值和用户参与度选择参与联邦学习的ids,然后在本地dag区块链中基于交易选择ts算法选择tips,利用联邦平均fedavg算法更新全局模型并将其广播给选择的ids,ids利用本地数据对接收到的进行局部训练;ids完成训练上传局部模型到fn k,fn k通过基于离群值的恶意模型识别算法筛选出正常模型,并利用联邦学习加权聚合算法聚合正常模型得到新的全局模型随后fn k将该模型和数字签名sigk共同封装成区块sk发布到dag区块链网络,区块的具体格式如公式(1)所示:

12、

13、式中,h为整个区块的哈希值;vk为所验证的tips的哈希值向量;ck为算力需求较小的工作量证明参数;q为区块的权重向量,包括自身权重和累计权重。

14、可选的,所述dag区块链中,建立雾计算架构,由任务发布者、外部代理、雾节点和ids构成;假设网络中有k个雾节点,表示为k={1,...,k,...,k};每个雾节点下假设有m个ids,表示为m={1,...,m,...,m},对应的训练数据集表示为d={d1,...,dm,...,dm};id m基于数据集dm训练局部模型,完成训练后将模型上传到雾节点,进行全局聚合;当全局模型精度达到要求时,返回全局模型给任务发布者;

15、任务发布者通过外部代理发布任务,雾节点接收到任务后使用基于信誉值和用户参与度的设备选择算法选择满足训练条件的ids参加训练任务;整个训练过程包括以下四个步骤:

16、s41:训练任务发布;任务发布者通过外部代理广播训练任务包括任务要求和任务初始模型到雾节点,雾节点将任务要求发布给所属的ids,符合要求的ids将包含其身份和数据信息发送给雾节点;雾节点利用基于信誉值和用户参与度的设备选择算法选择部分ids参与训练任务,并将初始模型发送给选择的ids,ids收到模型后利用本地数据集进行局部训练;

17、s42:雾节点进行恶意模型识别和全局聚合;ids完成局部训练后,将局部模型上传到所属雾节点;雾节点收集模型后使用基于离群值的恶意模型识别算法,识别出上传局部模型中的恶意模型,并更新相关ids上传恶意模型的次数;然后雾节点对筛选后的正常模型使用联邦学习加权聚合算法计算出每个模型的权重,然后进行全局聚合更新全局模型;

18、s43:更新任务参与者;雾节点进行多轮全局训练后,基于ids上传模型属性更新其信誉值,然后使用基于信誉值和用户参与度的设备选择算法更新参与训练任务的ids;

19、s44:更新dag区块链网络;雾节点生成新的全局模型后,将模型打包成区块并通过广播的方式将其发布给dag区块链网络中的其他雾节点;雾节点收到广播的新区块后更新本地dag区块链副本,并从中利用交易选择ts算法选择部分tips,提取其中存储的全局模型参数进行聚合得到新的全局模型;雾节点将新的全局模型下发给所属的ids,进行新一轮的全局训练;重复s41~s44,直到全局模型精度达到目标要求。

20、可选的,所述信誉值的计算方法具体为:

21、首先,雾节点根据ids的信誉值和用户参与度选择参与训练任务的ids;每进行t轮全局训练对ids的信誉值和用户参与度进行更新,并根据更新后的信誉值和用户参与度重新选择ids;其中信誉值更新过程如下:

22、首先,在t轮全局训练中,fn k基于id m训练的局部模型进行信誉评价,如公式(2)所示;

23、

24、式中,bk→m,dk→m,uk→m分别表示信任、不信任和不确定并且bk→m+dk→m+uk→m=1,其中bk→m,dk→m,uk→m∈[0,1],基于主观逻辑模型将其表示为公式(3)所示;

25、

26、式中,qk→m表示数据成功传输概率;κ,η分别表示正常模型和恶意模型的权重且η+κ=1和η≤κ;αk,βk是在t轮全局训练期间id m上传的正常模型和恶意模型的数量,其中αk+βk=t;id m的信誉评价如公式(4)所示:

27、tk→m=bk→m+auk→m   (4)式中,a∈[0,1]代表不确定性对信誉的影响程度;id m在第t+1轮信誉值如公式(5)所示;

28、tk→m(t+1)=λ×tk→m(t)+r×tk→m   (5)

29、式中,λ和r分别是历史声誉值的衰退权重和当前信誉值的权重;

30、其次,基于信誉值和用户参与度的设备选择算法通过联合考虑ids的信誉值和用户参与度选择参与训练的ids,将问题建模为公式(6)所示;

31、

32、s.t.c1

33、c2:tk→m(t+1)≥tmin

34、c3:

35、式中,为二进制表示符,表示id m被fn k选择参与联邦学习任务,否则β为信誉值和用户参与度之间的重要性权衡的控制参数;常数p用于将信誉值tk→m(t+1)映射到与cm相同的范围内;cm表示id m的用户参与度;n表示选择的ids最大数量;约束条件c1表示选择ids的最大数量不能超过n;约束条件c2表示预定义的ids信誉值阈值tmin,根据不同的安全要求设置不同的阈值;约束条件c3表示的取值为0或者1,通过贪心算法进行求解:首先建立一个满足约束条件c2的集合,然后利用贪心算法计算集合中所有ids的效用,效用值根据目标函数得到,最后选择集合中效用大的n个ids,其集合为l={1,...,l,...,l},l≤m and l≤n。

36、可选的,所述恶意模型为:

37、首先,在第t+1轮中,fn k接收到局部模型其中l为fn k选择参与训练的ids数量,然后基于公式(7)计算id l的局部模型第ith层到全局模型第ith层的距离;

38、

39、随后计算所有局部模型同一层距离的第一四分位数、中位数、第三四分位数以及最小观测值和最大观测值;对于超过最小观测值和最大观测值的距离确定为离群值;如果id l的第ith层的距离不是离群值,则令os(dil)=true,当os(d1l),...,∧os(dil)∧,...,∧os(dil)=true时标记id l的模型为正常模型,其中i为神经网络的层数;最后得参与全局聚合的正常模型集合为

40、可选的,所述联邦学习加权聚合算法为:

41、首先,基于角度θl(t+1)量化在第t+1轮中id l上传的局部模型对全局聚合的效率,其定义如公式(8)所示;

42、

43、式中,为第t+1轮中全局模型梯度,其为通过fedavg算法计算出的全局模型平均梯度,其计算如公式(9)所示;

44、

45、在联邦学习加权聚合算法中角度θl(t+1)越小,代表局部梯度与全局梯度更相似,从而对全局聚合有更大的效率;当θl(t+1)较大,例如大于π/2时,局部梯度具有与全局梯度相反的方向,降低全局聚合效率;

46、其次,在联邦学习加权聚合算法中为了抑制每一轮角度θl(t+1)由于随机性而导致对局部模型效率量化的不稳定,使用平均角度(单位为弧度制)替代θl(t+1),其定义如公式(10)所示;

47、

48、的大小取决于ids本地数据集的non-iid程度,non-iid程度越大的值越大;

49、最后,id l局部模型聚合权重通过softmax函数计算平均角度和模型精度得,其具体计算如公式(11)所示:

50、

51、式中,为戈珀兹函数,其中α为常数;pl的定义如公式(12)所示;

52、

53、式中,al表示id l上传的局部模型精度;

54、最后,利用公式(13)进行全局聚合,得到更新后的全局模型;

55、

56、可选的,所述s44具体为:

57、s441:首先fn k选择参与联邦学习训练的ids,然后fn k在本地dag区块链副本中使用ts算法选择tips,即:fn k通过ts算法从本地dag区块链副本中随机选择在老化范围τmax内的部分tips,τmax指生成交易的时间和当前时间的差值,部分tips不超过α;

58、s442:fn k首先验证在s441中所选择tips的数据的完整性和有效性;fn k从选择的tips中提取全局模型参数,并使用测试数据集测试模型的精度;

59、s443:fn k通过fedavg算法聚合s442中精度最高的c个tips中存储的全局模型,c≤αand c≥2,获得新的全局模型fn k将获得的全局模型广播给其选择的ids进行局部训练;当完成局部训练后,fn k收集ids训练的局部模型,然后使用基于离群值的恶意模型识别算法筛选出其中的恶意模型,然后对正常模型使用联邦学习加权聚合算法得到新的全局模型

60、s444:fn k利用s443聚合的全局模型构建新区块,区块包含的信息如式(1)所示,其中新区块所验证的父区块为s442所选择的c个tips;然后,fn k新区块广播给其他雾节点,其他雾节点接收到新区块后,验证区块的数据完整性后将其添加到本地dag区块链副本中;

61、fn k完成一次基于dag区块链的联邦学习算法迭代;重复s441~s444,直到dag区块链网络中存储的全局模型精度达到目标精度,并将目标模型返回给任务发布者;

62、联邦学习算具体实施步骤如下:

63、s201:算法初始化;

64、s202:雾节点基于信誉值和用户参与度选择参与联邦学习的ids;

65、s203:ids接收到所属雾节点下发的训练任务后开始进行训练,完成训练后将训练的局部模型上传到所属雾节点;

66、s204:雾节点收集所属ids训练的局部模型后,使用基于离群值的恶意模型识别算法,筛选出其中正常的局部模型;

67、s205:雾节点对筛选的正常局部模型,利用加权聚合算法进行全局聚合,更新全局模型;

68、s206:当进行一定轮数的全局训练后雾节点基于信誉值和用户参与度重新选择参与联邦学习的ids;

69、s207:判断网络中雾节点生成的全局模型精度是否达到目标要求;

70、s208:当网络中雾节点生成的全局模型精度未到达要求时,雾节点将当前生成的全局模型发布到dag区块链网络中,并从网络中选择部分全局模型进行聚合,更新全局模型,并将新的全局模型发布给所属的ids进行训练;

71、s209:结束。

72、本发明的有益效果在于:

73、首先,提出基于dag区块链的雾计算架构。在该架构中,任务发布者通过外部代理发布学习任务到雾节点,雾节点之间通过维护dag区块链网络进行全局模型共享。雾节点通过将所属ids上传的局部模型进行全局聚合,然后将得到的全局模型打包成块,上传到dag区块链网络。然后,雾节点从dag区块链网络中获取最新的全局模型进行聚合得到新的全局模型,并把新的全局模型下发给所属的ids进行局部训练。

74、其次,针对non-iid场景中本地模型精度低,导致全局模型的精度降低、收敛速度减缓等问题。本发明实提出了基于信誉值和用户参与度的设备选择算法。雾节点根据ids上传的局部模型质量对计算并更新ids信誉值。经过一定轮数的全局训练后,雾节点根据ids的信誉值和用户参与度(即在本次任务中参与联邦学习全局训练的轮数)重新选择参与训练的ids,从而降低了设备选择对联邦学习的影响,提高了联邦学习的训练效率。

75、再次,为了进一步提升non-iid数据场景下联邦学习的训练效率,采用联邦学习加权聚合算法,通过计算局部模型梯度更新与全局模型梯度更新的相似性,以及局部模型的精度得到每个局部模型的权重,然后进行加权聚合更新全局模型。

76、最后,为了保证雾节点间共享全局模型的安全性和高效性,通过dag区块链网络共享和存储雾节点生成的全局模型。

77、本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1