一种基于区块链和联邦学习的农作物数据预测产量的方法与流程

文档序号:34617864发布日期:2023-06-29 12:01阅读:34来源:国知局
一种基于区块链和联邦学习的农作物数据预测产量的方法与流程

本发明涉及技术农作物数据预测产量领域,尤其涉及一种基于区块链和联邦学习的农作物数据预测产量的方法。


背景技术:

1、互联网的渗透颠覆了传统的农业模式,使传统农业迈向集约化、精准化、智能化和数据化。对于部分农作物,目前已经建立了预测模型。例如美国的dssat系统、澳大利亚的apsim系统、中国的wheatgrow系统等。它们通过解析“气象—土壤—技术措施”与农作物生理生态过程的机理关系,对农作物的生长发育及产量形成过程进行定量的预测。但根据现有模型预测农作物的产量,使用的参数较多,数据处理过程非常复杂,预测的精度不高,而且这样预测系统多个农场主进行使用时,安全性不高,容易泄露农作物数据隐私。因此,传统农业信息系统无法在既保护农作物生长数据隐私的同时又准确预测农作物产量,具有预测农作物产量不准确和农作物数据隐私容易泄露等问题。


技术实现思路

1、本发明的目的在于克服现有技术中的上述缺陷,提供了一种基于区块链和联邦学习的农作物数据预测产量的方法,其利用区块链技术和联邦学习框架结合既能够在一定程度上保护农场主的农作物数据隐私,又能够获得较高准确率的模型,在隐私保护和高准确度两方面取得了较好的平衡。

2、为实现上述目的,本发明提供了一种基于区块链和联邦学习的农作物数据预测产量的方法,包括任务发布者节点、联邦节点和矿工节点,具体包括以下步骤:

3、s1、任务发布者节点发布联邦学习任务内容,任务内容包括初始模型w0、本地训练轮数e、本地训练批大小b、本地学习率η、联邦学习总训练轮数r、模型需要符合的精度要求a、任务发布者提供的报酬p、训练所用的数据类型t和测试数据集vd,其中报酬p内容包括每轮支付的报酬数值和分配比例:

4、训练节点:赢家矿工节点=7:3,训练节点根据声誉值分配报酬;

5、s2、联邦节点根据任务发布者节点发布的任务信息决定是否参与本次联邦学习,判断内容包括:本地是否包含数据类型t的数据集、本地算力是否能够支持本次联邦学习过程和对于报酬p是否满意;

6、s3、参与本次联邦学习的联邦节点和矿工节点在本地生成公钥和私钥,将公钥广播至全网其余节点,非对称密钥用于验证消息签名以及单点加密数据传输,以实现安全通信;

7、s4、参与本次联邦学习的矿工节点向任务发布者节点发送信息,信息内容包括节点类型和确定参与本次联邦学习训练,任务发布者节点在接收信息后向矿工节点发送测试数据集vd。

8、上述技术方案中,s2步骤中,参与训练的联邦节点下载训练所需任务内容,包括初始模型(w0)和训练参数(e,b,η)。

9、上述技术方案中,s2步骤中,参与训练的联邦节点本地包含数据内容包括:气温、湿度、降雨量、光照强度和上一年十二个月的农作物产量,联邦节点使用cnn模型进行训练,对接下来十二个月的农作物产量进行预测,生成代表预测结果的序列模型。

10、上述技术方案中,对生成的序列模型加入差分隐私以保护数据。

11、上述技术方案中,联邦节点将本地生成模型使用矿工节点的公钥加密并提交,矿工节点公钥已经在s3步骤中广播至全网其余节点。

12、上述技术方案中,s4步骤中,具体包括以下步骤:

13、(1)矿工节点接收联邦节点上传的加密模型并使用私钥进行解密;

14、(2)矿工节点对联邦节点上传的模型使用本地测试数据集验证并计算准确度,将准确度作为该联邦节点的声誉值,将声誉值保存在本地,区块链网络中矿工节点之间相互通信传递接收到的模型和声誉值;

15、(3)每个矿工节点计算接收到的其他矿工节点的模型的加权平均值后广播至区块链网络,区块链网络中其他矿工节点使用本地测试数据集对训练模型加权平均值进行验证并计算准确度,设置合格阈值为0.5,准确度大于0.5即为符合阈值要求,验证通过;

16、(4)当超过半数矿工节点验证通过时,计算出该加权平均值的矿工节点成为赢家矿工节点,赢家矿工节点将加权平均值、本轮训练给予矿工节点和联邦节点的奖励交易和所有参与联邦节点的声誉值再次进行广播,其中奖励内容在任务发布者发布的任务内容中写明;

17、(5)区块链网络中其余矿工节点对写入区块内容进行投票,当超过半数矿工节点验证通过时,由任务发布者节点将本轮报酬传递给赢家矿工节点;

18、(6)赢家矿工节点按照任务信息分配报酬,将报酬以交易的形式传递给联邦节点,联邦节点根据声誉值分配奖励;

19、(7)赢家矿工节点将本轮全局模型、交易记录和声誉值写入区块并生成,将生成区块广播至区块链网络中其余矿工节点以供记录上链,本轮全局模型即为加权平均值结果。

20、上述技术方案中,联邦节点从区块链网络中下载本轮结束所生成的全局模型,继续3-6的迭代过程直到达到迭代轮数r或者模型符合精度要求a。

21、与现有技术相比,本发明的有益效果在于:

22、1、本发明利用联邦学习框架的特性使农场主使用本地数据在本地完成训练即可,无需将数据上传至网络中,保护农场主的农作物数据隐私,本技术方案对农场主模型输出结果加入差分隐私,防止攻击者根据模型输出结果推断农场主数据,提高了隐私保护程度和数据安全性;

23、2、本发明利用区块链技术的不可篡改性防止链上数据被篡改,保证链上数据信息真实性,联邦节点声誉值由矿工节点使用测试数据集预测得出并存储在链上,由于区块链技术具有公开透明性和不可篡改性,因此联邦节点由于训练出低质量模型对应的低声誉值也会被永久存储于区块链中,低声誉值会使联邦节点报酬减少,因此联邦节点会训练出高质量模型以获得高声誉值,保证了数据质量;

24、3、本发明利用区块链网络替代联邦学习中央服务器,解决联邦学习单点故障问题,提高了系统的可用性和健壮性;

25、4、区块链技术和联邦学习框架结合既能够在一定程度上保护农场主的农作物数据隐私,又能够获得较高准确率的模型,在隐私保护和高准确度两方面取得了较好的平衡。



技术特征:

1.一种基于区块链和联邦学习的农作物数据预测产量的方法,其特征在于,包括任务发布者节点、联邦节点和矿工节点,具体包括以下步骤:

2.根据权利要求1所述的一种基于区块链和联邦学习的农作物数据预测产量的方法,其特征在于,s2步骤中,参与训练的联邦节点下载训练所需任务内容,包括初始模型(w0)和训练参数(e,b,η)。

3.根据权利要求1所述的一种基于区块链和联邦学习的农作物数据预测产量的方法,其特征在于,s2步骤中,参与训练的联邦节点本地包含数据内容包括:气温、湿度、降雨量、光照强度和上一年十二个月的农作物产量,联邦节点使用cnn模型进行训练,对接下来十二个月的农作物产量进行预测,生成代表预测结果的序列模型。

4.根据权利要求3所述的一种基于区块链和联邦学习的农作物数据预测产量的方法,其特征在于,对生成的序列模型加入差分隐私以保护数据。

5.根据权利要求1所述的一种基于区块链和联邦学习的农作物数据预测产量的方法,其特征在于,联邦节点将本地生成模型使用矿工节点的公钥加密并提交,矿工节点公钥已经在s3步骤中广播至全网其余节点。

6.根据权利要求1所述的一种基于区块链和联邦学习的农作物数据预测产量的方法,其特征在于,s4步骤中,具体包括以下步骤:

7.根据权利要求6所述的一种基于区块链和联邦学习的农作物数据预测产量的方法,其特征在于,联邦节点从区块链网络中下载本轮结束所生成的全局模型,继续3-6的迭代过程直到达到迭代轮数r或者模型符合精度要求a。


技术总结
本发明公开了一种基于区块链和联邦学习的农作物数据预测产量的方法,其涉及农作物数据预测产量领域,其包括任务发布者节点、联邦节点和矿工节点,和以下步骤:S1、任务发布者节点发布联邦学习任务内容:S2、联邦节点根据任务发布者节点发布的任务信息决定是否参与本次联邦学习;S3、参与本次联邦学习的联邦节点和矿工节点在本地生成公钥和私钥,将公钥广播至全网其余节点,非对称密钥用于验证消息签名以及单点加密数据传输;S4、参与本次联邦学习的矿工节点向任务发布者节点发送信息,本发明将区块链技术和联邦学习框架结合,既能够保护农场主的农作物数据隐私,又能够获得较高准确率的模型,在隐私保护和高准确度两方面取得了较好的平衡。

技术研发人员:包轩宇,刘园,李博扬,李伟铭,希瑞·梁
受保护的技术使用者:中新国际联合研究院
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1