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

技术编号:37154280 阅读:13 留言:0更新日期:2023-04-06 22:14
本发明专利技术提供了一种基于双层区块链的联邦学习方法、系统及装置,涉及区块链技术领域和联邦学习技术领域,方法主要包括:在系统中构建双层区块链,通过分类器将若干个子区块链节点和子区块链关键节点划分为若干个联邦学习组;子区块链节点基于局部信息通过联邦学习方法进行局部模型训练;子区块链关键节点搜集所在子区块链中的训练结果,并将经过共识的训练结果打包成一个新的区块发布至所在子区块链中;主区块链节点通过联邦学习方法进行全局模型训练;主区块链关键节点搜集所在主区块链中的训练结果,并将共识的训练结果打包成一个新的区块发布至主区块链中。本方案可大幅提升联邦学习框架的安全性,从而得到优化的学习模型及准确的预测数据。及准确的预测数据。及准确的预测数据。

【技术实现步骤摘要】
一种基于双层区块链的联邦学习方法、系统及装置


[0001]本专利技术涉及区块链
和联邦学习
,尤其是涉及一种基于双层区块链的联邦学习方法、系统及装置。

技术介绍

[0002]目前,机器学习是嵌入式人工智能系统的主要算法,已经逐渐推广应用于诸多领域,特别是在农业物联网领域中,基于传感器探测到的农作物生长状态、土壤酸碱度、温度及降水量等信息,通过机器学习系统智能分析上述信息后科学预测播种、灌溉、杀虫、施肥及收割时机,将会极大促进农业领域的智能化发展及质量提升。
[0003]机器学习算法的预测精度不仅取决于算法的质量,还取决于原始数据的规模。为了提高机器学习算法的预测精度,往往需要将大量信息上传到中心化的计算中心,但是这种方式不仅增加了数据传输的负荷,而且也容易使得隐私被泄露。联邦学习作为一种新型协作式机器学习框架,其允许多个参与节点使用本地数据进行模型训练,并通过参数服务器进行模型聚合,从而实现来自多个数据源的模型预测效果。
[0004]然而,在联邦学习框架中,梯度更新过程仍然可能会泄露有关参与者原始训练数据的信息,如果直接将该框架引入实际应用,例如农业物联网领域,那么农业领域的基础数据将存在被泄露的风险。而且,联邦学习框架进行模型聚合所依赖的参数服务器仍然是中心化的,这也提高了数据被恶意篡改和隐私泄露的风险。除此之外,将联邦学习框架引入实际应用所带来的安全风险,不仅仅来自于联邦学习框架内部,还可能来自外部,例如模型攻击、数据攻击、推理攻击、后门攻击、连接攻击及中毒攻击等。由此可见,如何保障隐私安全已成为阻碍联邦学习框架进行推广应用的一大难题。

技术实现思路

[0005]本专利技术的目的在于提供一种基于双层区块链的联邦学习方法、系统及装置,以解决现有技术中存在的至少一种上述技术问题。
[0006]第一方面,为解决上述技术问题,本专利技术提供的一种基于双层区块链的联邦学习方法,包括如下步骤:步骤1、在系统中构建区块链,包括子区块链单元、主区块链单元:所述子区块链单元包括分类器、子区块链节点和子区块链关键节点:所述分类器基于同质数据将若干个所述子区块链节点和所述子区块链关键节点划分为若干个联邦学习组;所述主区块链单元包括主区块链节点和主区块链关键节点,所述主区块链节点由所述子区块链关键节点充当;步骤2、所述联邦学习组中的子区块链节点基于局部信息通过联邦学习方法进行局部模型训练;步骤3、所述子区块链关键节点在预设时间间隔内搜集所在子区块链中的训练结
果,并将所述训练结果中经过共识的训练结果打包成一个新的区块发布至所在子区块链中;步骤4、所述联邦学习组中的主区块链节点基于子区块链中的训练结果通过联邦学习方法进行全局模型训练;步骤5、所述主区块链关键节点在预设时间间隔内搜集所在主区块链中的训练结果,并将所述训练结果中经过共识的训练结果打包成一个新的区块发布至所述主区块链中。
[0007]所述区块链,属于现有技术,是一种具有分布式数据存储、点对点数据传输、共识机制、加密算法等特性的计算机应用模式。区块的主体是打包的交易,所述交易是存储在区块链中的某种实际数据,例如商品买卖中的支付数据、农业物联网中的探测数据、机器学习中的训练结果等等,区块的作用是共识,即为记录所述交易是在何时并以何种顺序成为区块链中的一部分。区块链可采用多层结构,位于低层的区块链包括若干节点,所述节点可以是命名为FLG的网关,在若干节点中选择关键节点组成高层的区块链,以此类推。所述节点用于搜集所述交易并发送至附近的节点,同时在节点之间实现共识。所述关键节点用于将所述交易打包成候选区块,并将在所述候选区块中依靠现有规则挖掘出的新区块发布至所在层的区块链中。
[0008]在一种可能的实施例中,所述系统为农业物联网系统。
[0009]进一步地,所述局部信息为传感器探测到的农用信息,例如农作物生长状态、土壤酸碱度、温度及降水量等。
[0010]在一种可能的实施例中,所述子区块链单元包括若干个私有链,所述主区块链单元包括若干个联盟链:所述私有链包括若干个子区块链节点,所述子区块链节点是命名为FLG的网关,用于进行联邦学习训练并将训练结果发送至近距离FLG,并在FLG之间实现共识;从某个私有链的所有FLG中选择一个关键FLG作为此私有链的关键节点,私有链关键节点用于收集所在私有链中的交易,将交易打包成候选区块,并将在所述候选区块中挖掘出的新区块发布至所述私有链中;所述主区块链单元通过若干个所述私有链关键节点构建联盟链,在所述联盟链中,所述联盟链节点用于进行联邦学习训练;若干个所述联盟链节点之间互相收发训练结果,然后进行联邦学习的全局模型聚合;从所在联盟链中的若干节点中选择一个作为此联盟链的关键节点,联盟链关键节点用于收集所在联盟链中的训练结果,将训练结果打包成候选区块,并将在所述候选区块中挖掘出的新区块发布至所述联盟链中。
[0011]进一步地,所述分类器用于将异构数据的联邦学习过程划分为若干个同质数据的联邦学习过程。
[0012]在一种可能的实施例中,所述模型可以是例如卷积神经网络模型等学习模型。
[0013]在一种可能的实施例中,所述步骤2具体包括:步骤2.1、私有链节点基于所述局部信息进行本地训练,将训练结果发送至所在私有链中的其他私有链节点;步骤2.2、所述私有链节点接收到其他私有链节点发送的训练结果后,进行加权运算后更新本地训练结果;
步骤2.3、模型判断所述本地训练结果是否收敛,若收敛则执行步骤3,否则执行步骤2。
[0014]在一种可能的实施例中,所述步骤4包括如下步骤:步骤4.1、联盟链节点将本地训练结果发送至所在联盟链中的其他联盟链节点;步骤4.2、所述联盟链节点接收到其他联盟链节点发送的训练结果后,发送至所在私有链中的其他私有链节点,所述私有链节点接收到所述训练结果后进行加权运算后更新本地训练结果;步骤4.3、模型判断所在系统的全局训练结果是否收敛,若收敛则执行步骤5,否则执行步骤4。
[0015]在一种可能的实施例中,所述基于双层区块链的联邦学习方法还包括隐私保护,所述隐私保护包括动态加权与局部差分隐私:所述动态加权用于防止虚假的训练结果导致全局训练结果失真。具体思路为,在模型以联邦学习方式开始迭代训练时,参与者使用本地的测试集验证另一参与者发送的训练结果,并将验证结果作为模型训练的权重值评估训练质量,若权重值越高则训练质量越好。在本方案中,所述参与者是某个子区块链节点或某个主区块链节点。
[0016]进一步地,所述动态加权的验证标准为交叉熵,公式可以是:;其中,表示测试集的预期输出;表示模型训练的预期结果;所述交叉熵的值越小,则模型预测的概率分布越接近真实结果,即模型的训练质量越好。
[0017]进一步地,所述权重值计算公式可以是:;其中,表示参与者的交叉熵;表示参与者总数;优选的,所述权重值还可以定期更新,用于动态评估参与者的训练质量。具体来讲,在某一轮权重值计算后,如果某个参与者的权重值异常下降,则该参与者将被视为“嫌疑人”,将被限制参与联本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于双层区块链的联邦学习方法,其特征在于,包括如下步骤:步骤1、在系统中构建双层区块链,包括子区块链单元及主区块链单元:所述子区块链单元包括分类器、子区块链节点和子区块链关键节点:所述分类器基于同质数据将若干个所述子区块链节点和所述子区块链关键节点划分为若干个联邦学习组;所述主区块链单元包括主区块链节点和主区块链关键节点,所述主区块链节点由所述子区块链关键节点充当;步骤2、所述联邦学习组中的子区块链节点基于局部信息通过联邦学习方法进行局部模型训练;步骤3、所述子区块链关键节点在预设时间间隔内搜集所在子区块链中的训练结果,并将所述训练结果中经过共识的训练结果打包成一个新的区块发布至所在子区块链中;步骤4、所述联邦学习组中的主区块链节点基于子区块链中的训练结果通过联邦学习方法进行全局模型训练;步骤5、所述主区块链关键节点在预设时间间隔内搜集所在主区块链中的训练结果,并将所述训练结果中经过共识的训练结果打包成一个新的区块发布至所述主区块链中。2.根据权利要求1所述的基于双层区块链的联邦学习方法,其特征在于,所述系统为农业物联网系统,所述局部信息为传感器探测到的农用信息。3.根据权利要求1所述的基于双层区块链的联邦学习方法,其特征在于,所述子区块链单元包括若干个私有链,所述主区块链单元包括若干个联盟链:所述私有链包括若干个子区块链节点,从某个私有链的所有子区块链节点中选择一个作为私有链关键节点;所述主区块链单元通过若干个所述私有链关键节点构建联盟链;从所在联盟链中的若干节点中选择一个作为联盟链关键节点。4.根据权利要求3所述的基于双层区块链的联邦学习方法,其特征在于,所述步骤2具体包括:步骤2.1、私有链节点基于所述局部信息进行本地训练,将训练结果发送至所在私有链中的其他私有链节点;步骤2.2、所述私有链节点接收到其他私有链节点发送的训练结果后,进行加权运算后更新本地训练结果;步骤2.3、模型判断所述本地训练结果是否收敛,若收敛则执行步骤3,否则执行步骤2。5.根据权利要求3所述的基于双层区块链的联邦学习方法,其特征在于,所述步骤4包括如下步骤:步骤4.1、联盟链节点将本地训练结果发送至所在联盟链中的其他联盟链节点;步骤4.2、所述联盟链节点接收到其他联盟链节点发送的训练结果后,发送至所在私有链中的其他私有链节点,所述私有链节点接收到所述训练结果后进行加权运算后更新本地训练结果;步骤4.3、模型判断所在系统的全局训练结果是否收敛,若收敛则执行步骤5,否则执行步骤4。6.根据权利要求3所述的基于双层区块链的联邦学习方法,其特征在于,所述联邦学习方法还包括隐私保护,所述隐私保护包括动态加权与局部差分隐私:

【专利技术属性】
技术研发人员:丁庆洋李丹丹裴一蕾
申请(专利权)人:北京联合大学
类型:发明
国别省市:

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

1