本发明涉及卫星通讯,尤其涉及一种基于联邦学习和区块链的去中心化卫星故障诊断方法及装置。
背景技术:
1、目前,随着现代卫星技术的迅速进步,卫星数量不断地增加。且近年来,商业卫星领域持续呈现着蓬勃发展的趋势,其表现在卫星数量不断增加、技术创新迭代以及商业应用领域的广泛拓展等各个方面。而太空环境下的电子元件和机械结构面临着极端条件和电磁辐射等多种不利因素,从而增加了卫星系统故障的概率。这些故障可能由于环境引起的老化、电磁辐射干扰、机械应力等多种因素导致。在某些情况下,故障可能严重到足以显著影响卫星功能,甚至导致完全失效。因此,需要一种高效的故障诊断方法,以评估卫星系统的健康状况和功能有效性,确保卫星在极端环境中的长期稳定运行,并提高卫星通信和数据传输的可靠性。
2、卫星作为高度复杂的科技产品,传统的故障诊断方法对于大规模、高质量的卫星故障样本数据的需求巨大。然而,在实际情况下,一个国家或企业难以获取足够数量的样本数据。此外,卫星包含的数据普遍涉及隐私敏感信息,而传统的中心化故障诊断架构在实施时通常要求将所有卫星的故障数据传输至中心服务器进行模型训练,由此可能带来隐私数据泄露的潜在风险。但目前现有的联邦学习隐私保护技术存在单点故障的问题,即该技术只依赖一个中心服务器进行模型聚合,一旦该服务器出现故障将会导致整个系统崩溃。并且,由于参与联邦学习的卫星客户端节点众多,无法保证所有的客户端的数据都是诚实的,即存在恶意卫星客户端节点的行为。同时,传统的联邦学习中,客户端被认为是无偿地贡献他们的数据及其计算资源,这个假设在实际场景中是不合理的。综上,如何设计包含激励机制和过滤系统的去中心化隐私保护方法成为了亟须解决的问题。
3、鉴于现有技术的缺陷和问题,亟需研发一种新的基于区块链去中心化的联邦学习卫星故障诊断方法及其装置,以优化卫星系统的安全性和隐私保护机制,同时弥补现行技术在真实数据获取、卫星客户端节点激励政策和隐私保护方面存在的不足。
技术实现思路
1、本发明的目的是提供一种基于联邦学习和区块链的去中心化卫星故障诊断方法及装置,能够避免对中心卫星客户端节点过度依赖,避免恶意卫星客户端节点干扰,通过激励提高模型的整体质量。
2、本发明采用的技术方案为:
3、一种基于联邦学习和区块链的去中心化卫星故障诊断方法,包括如下步骤:
4、步骤一:每个卫星客户端节点收集本地数据并在本地进行训练模型得到初始模型参数为θ;
5、步骤二:设置卫星客户端节点总数为m,则任意选择一定数量为n的卫星客户端节点作为卫星客户端节点委员,组成卫星客户端节点委员会;
6、步骤三:通过基于区块链技术去中心化的联邦学习系统中的完全去中心化的联合期望最大化算法,进行本地模型参数的传递;
7、步骤四:在模型传递中,计算每个卫星客户端节点的模型错误率;
8、步骤五:根据所有卫星客户端模型错误率归一化后,修正得到下一轮每个卫星客户端模型的初始参数θn;
9、步骤六:所有卫星客户端节点将自身训练模型传递到除自己外与自身距离最近的卫星客户端节点委员所在的卫星客户端节点;
10、步骤七:卫星客户端节点委员会通过基于区块链验证机制的过滤系统,各个卫星客户端节点委员验证自己接收到的模型,剔除掉恶意的卫星客户端节点;
11、步骤八:卫星客户端节点委员会通过基于区块链计算积分的激励系统对保留的卫星客户端节点进行信息激励,计算保留的卫星客户端节点的积分,并由高到低进行排序,选取前n个保留的卫星客户端节点作为新的委员会,组成新的卫星客户端节点委员会;
12、步骤九:通过得到的新的卫星客户端节点委员会以及修正后的初始参数θn进行下一轮的修正,即重复上述步骤三到步骤八,不断更新各个卫星客户端节点模型参数,当某一卫星客户端节点参数变化小于阈值时,停止对该卫星客户端节点模型参数的更新,直到所有卫星客户端节点模型参数全部停止更新后,停止;
13、步骤十:根据各个卫星客户端节点自身错误参数计算对应的积分数量,各个卫星客户端节点模型最终的参数进行加权求和,得到最终的全局模型参数,并把全局模型参数写入分布式账本中。
14、所述的步骤一中初始模型是卫星利用自己本地数据,使用
15、xgboost机器学习算法训练得到的。
16、所述的步骤四中,模型错误率的计算过程具体如下:
17、定义t为某一卫星标号,所有卫星客户端节点利用初始模型参数进行训练时,对第t个卫星客户端节点对接收到的第t-1个卫星客户端节点训练出的模型进行预测,得到预测错误的条数errt,计算错误率rt-1:
18、
19、其中,totalt为第t个卫星客户端节点预测数据的总条数。
20、所述的步骤五具体包括如下步骤:
21、对所有卫星客户端节点的错误率进行归一化处理,得到各个卫星客户端节点归一化后的错误率
22、
23、其中,m是卫星客户端节点总个数;
24、根据各个卫星客户端节点归一化后错误率计算下一轮训练中模型初始参数θn:
25、
26、其中,n为卫星客户端节点总数量。
27、所述的步骤九中,阈值的设置如下:
28、阈值th,初始值设为0.1,在运行过程中按以下方法更新:
29、
30、其中,当下一轮更新后的模型参数与更新前的模型参数之差小于阈值th,停止更新:
31、θn-θn-1<th (5)。
32、所述的步骤七中,验证本地模型自己接收到的训练模型具体包括
33、如下步骤:
34、设定错误率阈值therr,默认为10%,用于判定传递到卫星客户端节点委员上的卫星客户端节点的模型是否在可接受的范围内;该阈值的公式为:
35、
36、其中,n为卫星客户端节点总数量,rt为第t个卫星客户端节点模型错误率,cct为第t个卫星客户端节点模型上计算积分;
37、恶意卫星客户端节点判定:如果上一卫星客户端节点的模型错误率超过设定的阈值,系统将其判定为恶意卫星客户端节点,这意味着该卫星客户端节点的模型性能低于系统要求,可能存在错误、欺诈或其他不良行为。
38、所述的步骤十中,积分激励初始积分由下式:
39、
40、其中,erri为第i个卫星客户端节点在委员卫星客户端节点上预测错误的条数,totali为委员卫星客户端节点中的总条数;
41、每次根据错误情况进行积分惩罚扣除,具体惩罚函数为:
42、
43、其中,cci是本次卫星客户端节点所拥有的计算积分数量,erri为本次卫星客户端节点模型在委员卫星客户端节点预测错误的条数,totali为委员卫星客户端节点中的总条数。
44、所述的步骤十中全局模型的构建具体公式为:
45、
46、
47、其中,n为卫星客户端节点总数量,θglobal为全局模型参数,θi为第i个卫星客户端节点模型参数,ai为第i个卫星客户端节点模型的参与度,cci为第i个卫星客户端节点模型上计算积分。
48、一种基于联邦学习和区块链的去中心化卫星故障诊断装置,包括:处理器;存储器,其存储有可执行指令;其中,所述处理器被配置为执行所述可执行指令,以执行如上任一所述的基于联邦学习和区块链的去中心化卫星故障诊断方法。
49、本发明通过利用区块链去中心化技术的特点来解决传统联邦学习系统过度依赖中心服务器的问题,避免了传统联邦学习系统因中心服务器被攻击或压力过大导致整个系统发生瘫痪。同时,由于中心服务器一般部署在地面上,这使得卫星客户端节点与中心服务器的通信成本较高。而采用区块链去中心化技术可以将卫星客户端节点与中心服务器的通信转换成卫星客户端节点与卫星客户端节点之间进行通信,节省了通信成本。
50、进一步的,通过区块链去中心化技术,使得模型的更新与聚合都是卫星在本地计算机上进行,不需要将数据发送到中心服务器上,有效保护了各个卫星之间的数据隐私。特别是对于属于不同国家的卫星之间,可以有效地保护国家与国家之间的数据不被侵犯。
51、进一步的,通过设置计算积分和激励系统,可以有效激励本地卫星客户端节点提供算力和数据。传统联邦学习方法仅仅是让卫星客户端节点提供相对应的数据,但并没有要求提供数据的数量,这可能导致有些卫星客户端节点提供少量的数据,但可以享受高质量的全局模型服务,是极不公平的体现。而通过计算积分激励机制,可以让各个卫星客户端节点之间形成一种竞争关系,激励他们提供更多,更高质量的数据。
52、进一步的,通过设置区块链验证机制的过滤系统,有效保障了数据的合法性,有效性。传统联邦学习中,某些卫星客户端节点的数据会出现很大问题,甚至是恶意的数据。采用这些数据会导致训练出来的全局模型效果极差,无法达到联邦学习应有的效果。因此,通过区块链验证机制可以有效地避免恶意数据对模型的干扰,使得模型效果进一步提升。
1.一种基于联邦学习和区块链的去中心化卫星故障诊断方法,其特征在于:
2.根据权利要求1所述的基于联邦学习和区块链的去中心化卫星故障诊断方法,其特征在于,所述的步骤一中初始模型是卫星利用自己本地数据,使用xgboost机器学习算法训练得到的。
3.根据权利要求2所述的基于联邦学习和区块链的去中心化卫星故障诊断方法,其特征在于,所述的步骤四中,模型错误率的计算过程具体如下:定义t为某一卫星标号,所有卫星客户端节点利用初始模型参数进行训练时,对第t个卫星客户端节点对接收到的第t-1个卫星客户端节点训练出的模型进行预测,得到预测错误的条数errt,计算错误率rt-1:
4.根据权利要求2所述的基于联邦学习和区块链的去中心化卫星故障诊断方法,其特征在于,所述的步骤五具体包括如下步骤:
5.根据权利要求2所述的基于联邦学习和区块链的去中心化卫星故障诊断方法,其特征在于,所述的步骤九中,阈值的设置如下:
6.根据权利要求1所述的基于联邦学习和区块链的去中心化卫星故障诊断方法,其特征在于,所述的步骤七中,验证本地模型自己接收到的训练模型具体包括如下步骤:
7.根据权利要求1所述的基于联邦学习和区块链的去中心化卫星故障诊断方法,其特征在于,所述的步骤十中,积分激励初始积分由下式:
8.采用权利要求1所述的基于联邦学习和区块链的去中心化卫星故障诊断方法,其特征在于,所述的步骤十中全局模型的构建具体公式为:
9.一种基于联邦学习和区块链的去中心化卫星故障诊断装置,其特征在于,包括:处理器;存储器,其存储有可执行指令;其中,所述处理器被配置为执行所述可执行指令,以执行权利要求1~8任一所述的基于联邦学习和区块链的去中心化卫星故障诊断方法。