发布信息

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

作者:admin      2023-06-29 12:06:46     332



计算;推算;计数设备的制造及其应用技术1.本发明涉及技术农作物数据预测产量领域,尤其涉及一种基于区块链和联邦学习的农作物数据预测产量的方法。背景技术:2.互联网的渗透颠覆了传统的农业模式,使传统农业迈向集约化、精准化、智能化和数据化。对于部分农作物,目前已经建立了预测模型。例如美国的dssat系统、澳大利亚的apsim系统、中国的wheatgrow系统等。它们通过解析“气象—土壤—技术措施”与农作物生理生态过程的机理关系,对农作物的生长发育及产量形成过程进行定量的预测。但根据现有模型预测农作物的产量,使用的参数较多,数据处理过程非常复杂,预测的精度不高,而且这样预测系统多个农场主进行使用时,安全性不高,容易泄露农作物数据隐私。因此,传统农业信息系统无法在既保护农作物生长数据隐私的同时又准确预测农作物产量,具有预测农作物产量不准确和农作物数据隐私容易泄露等问题。技术实现要素:3.本发明的目的在于克服现有技术中的上述缺陷,提供了一种基于区块链和联邦学习的农作物数据预测产量的方法,其利用区块链技术和联邦学习框架结合既能够在一定程度上保护农场主的农作物数据隐私,又能够获得较高准确率的模型,在隐私保护和高准确度两方面取得了较好的平衡。4.为实现上述目的,本发明提供了一种基于区块链和联邦学习的农作物数据预测产量的方法,包括任务发布者节点、联邦节点和矿工节点,具体包括以下步骤:5.s1、任务发布者节点发布联邦学习任务内容,任务内容包括初始模型w0、本地训练轮数e、本地训练批大小b、本地学习率η、联邦学习总训练轮数r、模型需要符合的精度要求a、任务发布者提供的报酬p、训练所用的数据类型t和测试数据集vd,其中报酬p内容包括每轮支付的报酬数值和分配比例:6.训练节点:赢家矿工节点=7:3,训练节点根据声誉值分配报酬;7.s2、联邦节点根据任务发布者节点发布的任务信息决定是否参与本次联邦学习,判断内容包括:本地是否包含数据类型t的数据集、本地算力是否能够支持本次联邦学习过程和对于报酬p是否满意;8.s3、参与本次联邦学习的联邦节点和矿工节点在本地生成公钥和私钥,将公钥广播至全网其余节点,非对称密钥用于验证消息签名以及单点加密数据传输,以实现安全通信;9.s4、参与本次联邦学习的矿工节点向任务发布者节点发送信息,信息内容包括节点类型和确定参与本次联邦学习训练,任务发布者节点在接收信息后向矿工节点发送测试数据集vd。10.上述技术方案中,s2步骤中,参与训练的联邦节点下载训练所需任务内容,包括初始模型(w0)和训练参数(e,b,η)。11.上述技术方案中,s2步骤中,参与训练的联邦节点本地包含数据内容包括:气温、湿度、降雨量、光照强度和上一年十二个月的农作物产量,联邦节点使用cnn模型进行训练,对接下来十二个月的农作物产量进行预测,生成代表预测结果的序列模型。12.上述技术方案中,对生成的序列模型加入差分隐私以保护数据。13.上述技术方案中,联邦节点将本地生成模型使用矿工节点的公钥加密并提交,矿工节点公钥已经在s3步骤中广播至全网其余节点。14.上述技术方案中,s4步骤中,具体包括以下步骤:15.(1)矿工节点接收联邦节点上传的加密模型并使用私钥进行解密;16.(2)矿工节点对联邦节点上传的模型使用本地测试数据集验证并计算准确度,将准确度作为该联邦节点的声誉值,将声誉值保存在本地,区块链网络中矿工节点之间相互通信传递接收到的模型和声誉值;17.(3)每个矿工节点计算接收到的其他矿工节点的模型的加权平均值后广播至区块链网络,区块链网络中其他矿工节点使用本地测试数据集对训练模型加权平均值进行验证并计算准确度,设置合格阈值为0.5,准确度大于0.5即为符合阈值要求,验证通过;18.(4)当超过半数矿工节点验证通过时,计算出该加权平均值的矿工节点成为赢家矿工节点,赢家矿工节点将加权平均值、本轮训练给予矿工节点和联邦节点的奖励交易和所有参与联邦节点的声誉值再次进行广播,其中奖励内容在任务发布者发布的任务内容中写明;19.(5)区块链网络中其余矿工节点对写入区块内容进行投票,当超过半数矿工节点验证通过时,由任务发布者节点将本轮报酬传递给赢家矿工节点;20.(6)赢家矿工节点按照任务信息分配报酬,将报酬以交易的形式传递给联邦节点,联邦节点根据声誉值分配奖励;21.(7)赢家矿工节点将本轮全局模型、交易记录和声誉值写入区块并生成,将生成区块广播至区块链网络中其余矿工节点以供记录上链,本轮全局模型即为加权平均值结果。22.上述技术方案中,联邦节点从区块链网络中下载本轮结束所生成的全局模型,继续3-6的迭代过程直到达到迭代轮数r或者模型符合精度要求a。23.与现有技术相比,本发明的有益效果在于:24.1、本发明利用联邦学习框架的特性使农场主使用本地数据在本地完成训练即可,无需将数据上传至网络中,保护农场主的农作物数据隐私,本技术方案对农场主模型输出结果加入差分隐私,防止攻击者根据模型输出结果推断农场主数据,提高了隐私保护程度和数据安全性;25.2、本发明利用区块链技术的不可篡改性防止链上数据被篡改,保证链上数据信息真实性,联邦节点声誉值由矿工节点使用测试数据集预测得出并存储在链上,由于区块链技术具有公开透明性和不可篡改性,因此联邦节点由于训练出低质量模型对应的低声誉值也会被永久存储于区块链中,低声誉值会使联邦节点报酬减少,因此联邦节点会训练出高质量模型以获得高声誉值,保证了数据质量;26.3、本发明利用区块链网络替代联邦学习中央服务器,解决联邦学习单点故障问题,提高了系统的可用性和健壮性;27.4、区块链技术和联邦学习框架结合既能够在一定程度上保护农场主的农作物数据隐私,又能够获得较高准确率的模型,在隐私保护和高准确度两方面取得了较好的平衡。附图说明28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。29.图1是本发明提供的一种基于区块链和联邦学习的农作物数据预测产量的方法的流程图。具体实施方式30.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。31.需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。32.在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。33.另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,全文中出现的“和/或”的含义,包括三个并列的方案,以“a和/或b”为例,包括a方案、或b方案、或a和b同时满足的方案。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。34.如图1所示,本实施例提供了一种基于区块链和联邦学习的农作物数据预测产量的方法,包括以下步骤:35.s1、任务发布者节点发布联邦学习任务内容,任务内容包括初始模型w0、本地训练轮数e、本地训练批大小b、本地学习率η、联邦学习总训练轮数r、模型需要符合的精度要求a、任务发布者提供的报酬p、训练所用的数据类型t和测试数据集vd等系统任务所需必要信息,其中报酬p内容包括每轮支付的报酬数值和分配比例:36.训练节点:赢家矿工节点=7:3,训练节点根据声誉值分配报酬;37.s2、联邦节点根据任务发布者节点发布的任务信息决定是否参与本次联邦学习,判断内容包括:本地是否包含数据类型t的数据集、本地算力是否能够支持本次联邦学习过程和对于报酬p是否满意;38.s2步骤中,参与训练的联邦节点下载训练所需任务内容,包括初始模型(w0)和训练参数(e,b,η)。39.其中,参与训练的联邦节点本地包含数据内容包括:气温、湿度、降雨量、光照强度和上一年十二个月的农作物产量,联邦节点使用cnn模型进行训练,对接下来十二个月的农作物产量进行预测,生成代表预测结果的序列模型。作为优选的,对生成的序列模型加入差分隐私以保护数据。差分隐私是一种经过验证的可以确保数据分析中强大隐私保护的一种主要方法。差分隐私通过向原始数据集或学习模型参数添加噪声来保护用户的隐私,因此攻击者无法检索训练数据集中涉及的个人的敏感信息。40.s3、参与本次联邦学习的联邦节点和矿工节点在本地生成公钥和私钥,将公钥广播至全网其余节点,非对称密钥用于验证消息签名以及单点加密数据传输,以实现安全通信;41.联邦学习框架可以使农场主持有的农作物数据保存在本地,保护温度、湿度和农作物产量等隐私数据,防止其他用户根据这些隐私数据推断出农场主信息,造成隐私泄露。系统对模型输出结果加入差分隐私以使攻击者难以根据模型推断出原始农作物数据信息。42.区块链网络替代联邦学习框架中的中央服务器功能,矿工节点互相通信以传递模型输出结果,矿工节点计算接收到的模型输出结果的平均值以计算全局模型。区块链网络同时可以起到激励分配的作用,赢家矿工节点根据声誉值对每个联邦节点在全局模型中的贡献进行评估,按照贡献和任务发布者在初始阶段发布的任务信息分配报酬。激励机制能够保证农场主有足够的动力加入系统并参与联邦学习训练过程。43.联邦节点将本地生成模型使用矿工节点的公钥加密并提交,矿工节点公钥已经在s3步骤中广播至全网其余节点。44.s4、参与本次联邦学习的矿工节点向任务发布者节点发送信息,信息内容包括节点类型和确定参与本次联邦学习训练,任务发布者节点在接收信息后向矿工节点发送测试数据集vd。45.s4步骤中,具体包括以下步骤:46.(1)矿工节点接收联邦节点上传的加密模型并使用私钥进行解密;47.(2)矿工节点对联邦节点上传的模型使用本地测试数据集验证并计算准确度,将准确度作为该联邦节点的声誉值,将声誉值保存在本地,区块链网络中矿工节点之间相互通信传递接收到的模型和声誉值;48.(3)每个矿工节点计算接收到的其他矿工节点的模型的加权平均值后广播至区块链网络,区块链网络中其他矿工节点使用本地测试数据集对训练模型加权平均值进行验证并计算准确度,设置合格阈值为0.5,准确度大于0.5即为符合阈值要求,验证通过;49.(4)当超过半数矿工节点验证通过时,计算出该加权平均值的矿工节点成为赢家矿工节点,赢家矿工节点将加权平均值、本轮训练给予矿工节点和联邦节点的奖励交易和所有参与联邦节点的声誉值再次进行广播,其中奖励内容在任务发布者发布的任务内容中写明;50.(5)区块链网络中其余矿工节点对写入区块内容进行投票,当超过半数矿工节点验证通过时,由任务发布者节点将本轮报酬传递给赢家矿工节点;51.(6)赢家矿工节点按照任务信息分配报酬,将报酬以交易的形式传递给联邦节点,联邦节点根据声誉值分配奖励;52.(7)赢家矿工节点将本轮全局模型、交易记录和声誉值写入区块并生成,将生成区块广播至区块链网络中其余矿工节点以供记录上链,本轮全局模型即为加权平均值结果。作为优选的,联邦节点从区块链网络中下载本轮结束所生成的全局模型,继续3-6的迭代过程直到达到迭代轮数r或者模型符合精度要求a。53.本技术方案包含三种节点,任务发布者节点、联邦节点和矿工节点。54.任务发布者节点对使用联邦学习训练模型有需求,任务发布者节点通过向系统发布包含报酬信息和训练数据模型在内的任务信息驱动系统中的节点完成联邦学习任务,以获取所需模型输出结果。在本发明中,任务发布者节点对使用联邦学习训练并获取农作物产量预测模型有需求。55.联邦节点是联邦学习框架中的客户端节点,联邦节点是联邦学习的数据提供者和训练参与者,联邦节点使用本地符合要求的数据参与模型训练,产生模型输出结果并提交。在本发明中,参与训练的农场主对应联邦节点,农场主拥有符合任务发布者任务要求的农作物数据以及训练模型,在下文算法介绍中农作物为农作物,训练模型为cnn。56.矿工节点是指区块链网络中的矿工节点,本发明使用区块链网络代替联邦学习框架中的中央服务器,具有全局聚合功能和激励分配功能,矿工节点根据声誉值对参与训练的联邦节点在训练过程中的贡献进行评估,按照贡献和任务发布者在初始阶段发布的任务信息分配报酬。57.本技术方案采用的区块链可以保证数据价值。由于区块链具有不可篡改性、可追溯性和公开透明性等特点,因此用户上传至区块链网络中的数据难以修改。在本发明中,农场主会将自身在本地训练的模型上传至区块链网络。如果农场主上传虚假数据模型或低质量数据模型,则上传记录会被永久记录于区块链中,这些记录的存在会对农场主的声誉造成无法消除的负面影响,从而导致系统中其他农场主不愿意再与声誉低的农场主进行信息通信以保证自身声誉不受影响,因此农场主上传至区块链网络中的数据模型需要保证质量。58.本技术方案采用的联邦学习可以保护数据隐私联邦学习框架不需要客户端将本地数据上传至中央服务器进行模型训练,客户端只需上传根据本地数据训练的模型输出结果至中央服务器以便生成全局模型。在本发明中,农场主是联邦学习客户端。农场主使用本地农作物数据训练后生成模型输出结果,只需将模型输出结果上传根据,无需上传本地其余数据内容。农场主在上传本地训练模型前向模型输出结果加入差分隐私,攻击者难以根据模型推断出农作物完整信息,通过以上方式保护农场主农作物数据隐私。59.本技术方案的区块链可以解决单点故障问题。联邦学习框架中的中央服务器负责发送全局模型至客户端节点、接收客户端节点发送的本地训练模型输出结果和全局聚合等任务,因此中央服务器的正常运行对于联邦学习框架十分重要,如果中央服务器出现异常无法正常工作将导致联邦学习训练过程终止。本发明使用区块链替代中央服务器,利用区块链技术去中心化的特性解决联邦学习框架中的单点故障问题,区块链网络中超过半数节点正常工作即能够保证系统正常运行,个别节点失效不会对系统正常运行产生影响。60.本技术方案采用区块链和联邦学习的结合同时实现保护隐私和保证数据质量。本发明使用区块链技术的不可篡改性和可追溯性保证农场主上传至区块链网络的模型质量,使用联邦学习框架并结合差分隐私技术保护农场主拥有的农作物数据隐私,农场主只需要上传加入差分隐私的模型输出结果。61.本发明将区块链技术和联邦学习框架应用于预测农作物产量,利用区块链技术具有不可篡改性、可追溯性和公开透明性等特点,能够在一定程度上解决用户上传虚假数据和低质量数据的问题,保证农场主上传数据质量;本发明利用联邦学习框架并结合差分隐私保护农场主的农作物数据,农场主无需上传本地数据,只需上传本地训练模型输出结果即可完成训练过程,模型输出结果加入差分隐私使攻击者难以根据模型推断农场主隐私;本发明使用区块链网络替代联邦学习中央服务器,解决联邦学习框架单点故障问题;本发明中区块链技术和联邦学习框架的结合能够既保护农场主农作物数据隐私,又能够保证农场主上传符合质量要求的模型输出结果。62.上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部