一种基于双层区块链的联邦学习方法、系统及装置

文档序号:33721590发布日期:2023-04-05 22:35阅读:47来源:国知局
一种基于双层区块链的联邦学习方法、系统及装置

本发明涉及区块链和联邦学习,尤其是涉及一种基于双层区块链的联邦学习方法、系统及装置。


背景技术:

1、目前,机器学习是嵌入式人工智能系统的主要算法,已经逐渐推广应用于诸多领域,特别是在农业物联网领域中,基于传感器探测到的农作物生长状态、土壤酸碱度、温度及降水量等信息,通过机器学习系统智能分析上述信息后科学预测播种、灌溉、杀虫、施肥及收割时机,将会极大促进农业领域的智能化发展及质量提升。

2、机器学习算法的预测精度不仅取决于算法的质量,还取决于原始数据的规模。为了提高机器学习算法的预测精度,往往需要将大量信息上传到中心化的计算中心,但是这种方式不仅增加了数据传输的负荷,而且也容易使得隐私被泄露。联邦学习作为一种新型协作式机器学习框架,其允许多个参与节点使用本地数据进行模型训练,并通过参数服务器进行模型聚合,从而实现来自多个数据源的模型预测效果。

3、然而,在联邦学习框架中,梯度更新过程仍然可能会泄露有关参与者原始训练数据的信息,如果直接将该框架引入实际应用,例如农业物联网领域,那么农业领域的基础数据将存在被泄露的风险。而且,联邦学习框架进行模型聚合所依赖的参数服务器仍然是中心化的,这也提高了数据被恶意篡改和隐私泄露的风险。除此之外,将联邦学习框架引入实际应用所带来的安全风险,不仅仅来自于联邦学习框架内部,还可能来自外部,例如模型攻击、数据攻击、推理攻击、后门攻击、连接攻击及中毒攻击等。由此可见,如何保障隐私安全已成为阻碍联邦学习框架进行推广应用的一大难题。


技术实现思路

1、本发明的目的在于提供一种基于双层区块链的联邦学习方法、系统及装置,以解决现有技术中存在的至少一种上述技术问题。

2、第一方面,为解决上述技术问题,本发明提供的一种基于双层区块链的联邦学习方法,包括如下步骤:

3、步骤1、在系统中构建区块链,包括子区块链单元、主区块链单元:

4、所述子区块链单元包括分类器、子区块链节点和子区块链关键节点:所述分类器基于同质数据将若干个所述子区块链节点和所述子区块链关键节点划分为若干个联邦学习组;

5、所述主区块链单元包括主区块链节点和主区块链关键节点,所述主区块链节点由所述子区块链关键节点充当;

6、步骤2、所述联邦学习组中的子区块链节点基于局部信息通过联邦学习方法进行局部模型训练;

7、步骤3、所述子区块链关键节点在预设时间间隔内搜集所在子区块链中的训练结果,并将所述训练结果中经过共识的训练结果打包成一个新的区块发布至所在子区块链中;

8、步骤4、所述联邦学习组中的主区块链节点基于子区块链中的训练结果通过联邦学习方法进行全局模型训练;

9、步骤5、所述主区块链关键节点在预设时间间隔内搜集所在主区块链中的训练结果,并将所述训练结果中经过共识的训练结果打包成一个新的区块发布至所述主区块链中。

10、所述区块链,属于现有技术,是一种具有分布式数据存储、点对点数据传输、共识机制、加密算法等特性的计算机应用模式。区块的主体是打包的交易,所述交易是存储在区块链中的某种实际数据,例如商品买卖中的支付数据、农业物联网中的探测数据、机器学习中的训练结果等等,区块的作用是共识,即为记录所述交易是在何时并以何种顺序成为区块链中的一部分。区块链可采用多层结构,位于低层的区块链包括若干节点,所述节点可以是命名为flg的网关,在若干节点中选择关键节点组成高层的区块链,以此类推。所述节点用于搜集所述交易并发送至附近的节点,同时在节点之间实现共识。所述关键节点用于将所述交易打包成候选区块,并将在所述候选区块中依靠现有规则挖掘出的新区块发布至所在层的区块链中。

11、在一种可能的实施例中,所述系统为农业物联网系统。

12、进一步地,所述局部信息为传感器探测到的农用信息,例如农作物生长状态、土壤酸碱度、温度及降水量等。

13、在一种可能的实施例中,所述子区块链单元包括若干个私有链,所述主区块链单元包括若干个联盟链:

14、所述私有链包括若干个子区块链节点,所述子区块链节点是命名为flg的网关,用于进行联邦学习训练并将训练结果发送至近距离flg,并在flg之间实现共识;从某个私有链的所有flg中选择一个关键flg作为此私有链的关键节点,私有链关键节点用于收集所在私有链中的交易,将交易打包成候选区块,并将在所述候选区块中挖掘出的新区块发布至所述私有链中;

15、所述主区块链单元通过若干个所述私有链关键节点构建联盟链,在所述联盟链中,所述联盟链节点用于进行联邦学习训练;若干个所述联盟链节点之间互相收发训练结果,然后进行联邦学习的全局模型聚合;从所在联盟链中的若干节点中选择一个作为此联盟链的关键节点,联盟链关键节点用于收集所在联盟链中的训练结果,将训练结果打包成候选区块,并将在所述候选区块中挖掘出的新区块发布至所述联盟链中。

16、进一步地,所述分类器用于将异构数据的联邦学习过程划分为若干个同质数据的联邦学习过程。

17、在一种可能的实施例中,所述模型可以是例如卷积神经网络模型等学习模型。

18、在一种可能的实施例中,所述步骤2具体包括:

19、步骤2.1、私有链节点基于所述局部信息进行本地训练,将训练结果发送至所在私有链中的其他私有链节点;

20、步骤2.2、所述私有链节点接收到其他私有链节点发送的训练结果后,进行加权运算后更新本地训练结果;

21、步骤2.3、模型判断所述本地训练结果是否收敛,若收敛则执行步骤3,否则执行步骤2。

22、在一种可能的实施例中,所述步骤4包括如下步骤:

23、步骤4.1、联盟链节点将本地训练结果发送至所在联盟链中的其他联盟链节点;

24、步骤4.2、所述联盟链节点接收到其他联盟链节点发送的训练结果后,发送至所在私有链中的其他私有链节点,所述私有链节点接收到所述训练结果后进行加权运算后更新本地训练结果;

25、步骤4.3、模型判断所在系统的全局训练结果是否收敛,若收敛则执行步骤5,否则执行步骤4。

26、在一种可能的实施例中,所述基于双层区块链的联邦学习方法还包括隐私保护,所述隐私保护包括动态加权与局部差分隐私:

27、所述动态加权用于防止虚假的训练结果导致全局训练结果失真。具体思路为,在模型以联邦学习方式开始迭代训练时,参与者使用本地的测试集验证另一参与者发送的训练结果,并将验证结果作为模型训练的权重值评估训练质量,若权重值越高则训练质量越好。在本方案中,所述参与者是某个子区块链节点或某个主区块链节点。

28、进一步地,所述动态加权的验证标准为交叉熵,公式可以是:

29、;

30、其中,表示测试集的预期输出;表示模型训练的预期结果;所述交叉熵的值越小,则模型预测的概率分布越接近真实结果,即模型的训练质量越好。

31、进一步地,所述权重值计算公式可以是:

32、;

33、其中,表示参与者的交叉熵;表示参与者总数;

34、优选的,所述权重值还可以定期更新,用于动态评估参与者的训练质量。具体来讲,在某一轮权重值计算后,如果某个参与者的权重值异常下降,则该参与者将被视为“嫌疑人”,将被限制参与联邦学习,直到其收到其他参与者发送的训练结果时,其交叉熵在下一轮权重值计算中恢复正常。由此可见,权重值可以反映子区块链单元中每个flg的模型训练质量,从而反映出主区块链单元中每个联盟链的模型训练质量。

35、所述局部差分隐私包括自适应拉普拉斯机制,用于实现差分隐私,提升数据私有化程度,可极大降低隐私泄露的可能性,并极大降低对模型的影响程度。

36、拉普拉斯机制,属于现有技术,具体来讲,假设与是最多只有一个不同数据的相邻数据集,则对于随机查询函数,其局部敏感度的公式可以定义如下:

37、;

38、可见,所述局部敏感度与相关,反映随机查询函数在中的最大范围。拉普拉斯机制是通过添加独立的零均值拉普拉斯噪声,用于模糊查询结果,进而保护差分隐私。具体添加过程如公式所示:

39、;

40、其中,表示拉普拉斯噪声运算;表示拉普拉斯分布的位置参数;表示拉普拉斯分布的尺度参数;表示隐私预算。

41、优选的,所述自适应拉普拉斯机制可以用公式表示为:

42、;

43、其中,表示参与者的交叉熵;表示局部敏感度;表示隐私预算;表示拉普拉斯噪声;表示自适应噪声调节系数;

44、可见的,值越小,则越大,隐私的保护效果越好,但噪声干扰性就会加大,从而造成数据的可用性下降,为此增加对噪声进行抑制,提升数据的可用性,进而在保证隐私的前提下提升模型质量。

45、在一种可能的实施例中,所述基于双层区块链的联邦学习方法还包括模型聚合,用于在联邦学习中进行全局模型的加权融合,以替代现有技术中的联合平均处理过程,所述联合平均处理不能解决全局模型质量下降导致本地模型训练结果质量低的问题。

46、在一种可能的实施例中,所述模型聚合的方法是基于联合平均的自适应全局模型聚合算法(agma),用于在联合平均处理过程中引入模型训练的权重值,从而解决全局模型质量下降导致本地模型训练结果质量低的问题。

47、所述自适应全局模型聚合算法的具体公式可以表示为:

48、;

49、其中, n表示参与模型聚合的参与者数量;表示参与者的权重值,用于评价模型训练质量;表示引入自适应拉普拉斯机制的训练结果;

50、进一步地,所述agma的停止标准是模型聚合后的交叉熵小于等于预设阈值,或者迭代次数达到预设阈值,具体公式可以表示为:

51、;

52、在一种可能的实施例中,所述基于双层区块链的联邦学习方法还包括双层共识,所述双层共识包括子层局部共识和主层全局共识;

53、所述子层局部共识是指在子区块链单元中的私有链节点之间的本地共识机制;

54、假设表示一个随机私有链,则具体的本地共识过程如下:

55、步骤a、每个flg搜集其他flg发送的局部训练结果后,通过agma进行模型聚合,生成的局部模型,计算所述局部模型的交叉熵,将交叉熵结果发送至中的其他flg;

56、步骤b、中的关键节点搜集每个flg发送的交叉熵结果,并将局部训练结果及局部模型交叉熵结果打包至候选区块中;

57、步骤c、中的关键节点实时统计所述交叉熵结果,当超过局部模型交叉熵数量的交叉熵,出现小于等于预设阈值或迭代次数达到预设阈值的情况时,从所述候选区块中挖掘出一个区块发布至中,并与中的原有区块相链接,形成区块链,从而使局部训练结果及局部模型交叉熵结果永久记录在上。

58、所述主层全局共识是指在主区块链单元中的联盟链节点之间的全局共识机制;

59、具体的全局共识过程如下:

60、步骤a、在联盟链中的每个私有链关键节点广播所在私有链的全局训练结果,所述私有链关键节点接收其他私有链关键节点广播的全局训练结果并在所在私有链中广播,用于使所述全局训练结果在整个系统中共享;

61、步骤b、每个私有链中的flg接收到其他私有链关键节点广播的全局训练结果后,通过agma进行模型聚合,生成全局模型,计算所述全局模型的交叉熵,将全局模型交叉熵结果发送至所在私有链中的其他flg;

62、步骤c、每个私有链关键节点在联盟链中广播接收到的所述全局模型交叉熵结果,当联盟链关键节点接收到所述全局模型交叉熵结果后,将全局训练结果和所述全局模型交叉熵结果打包成候选区块;

63、步骤d、联盟链关键节点实时统计全局模型交叉熵结果,当超过全局模型交叉熵数量的交叉熵,出现小于等于预设阈值或迭代次数达到预设阈值的情况时,从所述候选区块中挖掘出一个区块发布至联盟链中,并与联盟链中的原有区块相链接,形成区块链,从而使全局训练结果及全局模型交叉熵结果永久记录在所述联盟链上。

64、第二方面,基于同一发明思路,本发明还提供一种基于双层区块链的联邦学习系统,包括双层区块链模块、双层共识模块、隐私保护模块及模型聚合模块:

65、所述双层区块链模块包括主区块链单元及子区块链单元:

66、所述子区块链单元,包括分类器和若干私有链:所述私有链包括私有链节点和私有链关键节点,所述私有链节点基于局部信息通过联邦学习方法进行局部模型训练;所述私有链关键节点用于在预设时间间隔内搜集所在私有链中的训练结果,并将所述训练结果中经过共识的训练结果打包成一个新的区块发布至所在私有链中;所述分类器基于同质数据将若干个私有链节点及私有链关键节点划分为若干个联邦学习组;

67、所述主区块链单元,包括联盟链,所述联盟链包括联盟链节点和联盟链关键节点,所述联盟链节点由所述私有链关键节点充当,用于进行联邦学习;所述联盟链关键节点用于在预设时间间隔内搜集所在联盟链中的训练结果,并将所述训练结果中经过共识的训练结果打包成一个新的区块发布至所述联盟链中;

68、所述双层共识模块包括子层局部共识单元和主层全局共识单元:

69、所述子层局部共识单元用于在子区块链单元中的私有链节点之间的本地共识机制;

70、所述主层全局共识单元用于在主区块链单元中的联盟链节点之间的全局共识机制;

71、所述隐私保护模块包括动态加权单元和局部差分隐私单元:

72、所述动态加权单元包括将交叉熵作为验证标准,用于防止虚假的训练结果导致全局训练结果失真;

73、所述局部差分隐私单元包括自适应拉普拉斯机制,用于实现差分隐私;

74、所述模型聚合模块通过基于联合平均的自适应全局模型聚合计算,实现全局模型的加权融合。

75、第三方面,基于同一发明思路,本发明还提供一种基于双层区块链的联邦学习装置,包括处理器、存储器、总线及网卡,所述存储器存储可由处理器读取的指令及数据;所述处理器用于调用所述存储器中的指令及数据,以执行如上任一所述的基于双层区块链的联邦学习方法;所述总线连接各功能部件之间传送信息;所述网卡用于对外传送信息。

76、采用上述技术方案,本发明具有如下有益效果:

77、本发明提供的基于双层区块链的联邦学习方法,通过区块链替代现有全局模型联邦学习框架中往往呈现中心化的聚合服务器,避免了数据集中,从而提升了数据安全性;通过自适应差分隐私在保证数据可用性的同时,进一步提升了隐私保护水平;通过双层共识方法,实现数据记录的唯一性与永久性;采用本方案,可以在大规模、广地域的应用系统中,例如农业物联网系统中更加安全地进行联邦学习,得到更为优化的学习模型及更加准确的预测数据。

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