CN116820816A - 一种基于多层分组聚合的横向联邦学习故障检测方法 - Google Patents
一种基于多层分组聚合的横向联邦学习故障检测方法 Download PDFInfo
- Publication number
- CN116820816A CN116820816A CN202310669108.9A CN202310669108A CN116820816A CN 116820816 A CN116820816 A CN 116820816A CN 202310669108 A CN202310669108 A CN 202310669108A CN 116820816 A CN116820816 A CN 116820816A
- Authority
- CN
- China
- Prior art keywords
- model
- group
- global
- training
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 52
- 238000004220 aggregation Methods 0.000 title claims abstract description 38
- 230000002776 aggregation Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012549 training Methods 0.000 claims description 112
- 238000007726 management method Methods 0.000 claims description 85
- 230000006870 function Effects 0.000 claims description 44
- 241000122205 Chamaeleonidae Species 0.000 claims description 38
- 230000004048 modification Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000013499 data model Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 9
- 230000007547 defect Effects 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 230000005484 gravity Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 239000002131 composite material Substances 0.000 claims description 2
- 238000011478 gradient descent method Methods 0.000 claims description 2
- 238000005304 joining Methods 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000006116 polymerization reaction Methods 0.000 claims description 2
- 238000007781 pre-processing Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 10
- 238000009826 distribution Methods 0.000 abstract description 8
- 238000004458 analytical method Methods 0.000 abstract description 3
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在工业系统故障检测领域中,由于设备异构与故障数据分布有偏等情况,联邦学习经常会出现不稳定网络通信和数据异质等现实问题。因此如何融合不同参与方的异质数据并建立一种积极有效的学习模型显得至关重要。本发明提供了一种基于多层分组聚合的横向联邦学习故障检测方法,通过对联邦学习结构的部分修改,降低了数据异质性与设备异构性带来的联邦学习精度损失与通信开销。实验分析表明,与其他相关工作相比,此方法验证了多层联邦学习聚合方法的可行性和有效性,为联邦学习的聚合架构提供了一种新的设计思路。
Description
技术领域
本发明属于横向联邦学习技术领域,尤其适用于解决工业系统故障检测中的数据异质、数据存储及数据修改的问题,为一种基于多层分组聚合的横向联邦学习故障检测方法。
背景技术
在当代制造业中,设备是制造业生产的核心。故障检测是提高机电设备安全性的重要技术,不仅可以预测早期故障、避免恶性事故的发生;还可以从根本上解决设备定期维修中的维修不足和过剩维修的问题。然而,由于传感器的多样性、不稳定网络通信、非独立分布且数据异质等问题,模型建立过程中企业敏感数据泄漏、模型易受差分攻击等一系列问题,从而导致样本质量低下、难以分析和利用。随着时间的推移,人们对数据安全、数据隐私的需求越来越迫切,在不同组织间收集和分享数据将会变得越来越困难。因此,在工业故障检测的应用中,有必要解决数据模型的异质性问题。
在故障检测的模型训练中,按照地理位置与样本数据的相似性对本地数据进行分类,为其分配参与方进行初步的局部模型训练,各参与方标记后发送给组管理;组管理训练局部模型聚合得到组模型,发送给全局服务器;全局服务器在对组模型进行聚合得到全局模型。
当系统在训练横向联邦学习的过程中,需要考虑到每一部分学习的角色、模型的存储、修改和数据的隐私性,可将全局服务器训练出来的全局模型加密后存储在星际文件系统(Interplanetary File System,IPFS)上,存储后IPFS会返回一个哈希索引,用来访问该存储位置,将哈希索引存储上链。当组管理需要修改模型的访问控制权限时,可向全局服务器提交申请,由组管理使用变色龙哈希对密钥链上的密钥值进行修改。在此过程中,为保证哈希数据的安全存储和修改,关键时要允许全局服务器拥有所有的哈希解密密钥,防止组管理对数据的随意修改。
发明内容
为了克服上述现有技术的不足,达到上述情景的需求,本发明的目的在于提供一种基于多层分组聚合的横向联邦学习故障检测方法。基于多层分组聚合的理论,对联邦学习参与节点进行“参与方-组管理-全局服务器”三层分类,再将各层级相似标签的数据进行聚合训练,最后将训练模型加密存储在IPFS中并将标签的密钥存储在区块链上。利用变色龙哈希函数,在不改变哈希值的情况下,可对区块链上的密钥信息进行修改。通过此方法可提高模型训练的精度,降低通信开销,实现了区块链上的数据编辑与撤销。
为了实现上述目的,本发明采用的技术方案是:
一种基于多层分组聚合的横向联邦学习故障检测方法,定义三种角色,分别为参与方、组管理和全局服务器,其特征在于,包括如下步骤:
步骤1,获取与故障相关的图像数据集,进行数据标注;
步骤2,各参与方使用本地数据训练得到其局部模型;所述参与方是联邦学习系统中进行局部训练的客户端;根据地理位置与样本数据的相似性,分配不同的参与方同步进行局部模型训练,各参与方之间的训练相互独立;
步骤3,各参与方标记并发送局部模型至组管理;所述组管理是根据共识算法选举出的拥有更高算力的节点,负责聚合区域相近的客户端提供的局部模型;
步骤4,组管理根据组内局部模型聚合得到组模型;
步骤5,组管理标记组模型并上传至全局服务器;
步骤6,全局服务器根据新接收的组模型聚合得到全局模型,即故障预测模型;
步骤7,全局服务器根据全局共享数据训练所述全局模型,并将结果加密存放在IPFS系统中;
步骤8,全局服务器标记全局模型,并将标记与Hash-index上链;
步骤9,通过Hash-index在IPFS中取得加密全局模型,向服务器申请AES密钥解密;根据标记,在链上搜索合适的全局模型下载并优化组模型。
假设U为某一正整数,表示模型训练组内的所有成员,记符号w表示横向联邦学习过程中的模型,则第i个参与方训练的本地模型为wi,其中i∈U。假设t为某一正整数,表示模型训练的最大轮数,当训练轮数为第k轮时,记模型符号为wk,其中,k∈[0,t]。记符号wi,k为第i个参与方训练的第k轮数据模型,当第k轮模型训练轮数增加一轮时,记模型符号为wk+1,则记wi,k+1为第i个参与方训练的第k+1轮数据模型。记符号glb表示全局服务器,符号GM表示组管理,符号wglb表示全局服务器训练模型,表示第k轮全局服务器的训练模型,表示第i个参与方第k轮全局服务器的训练模型,符号wGM为组管理的训练模型。假设D为某一正整数集合,表示模型训练中的数据集,令第i个参与方训练的本地数据集为Di,γ为贡献值,则记γi,k为第i个参与方第k轮的贡献值,其中γi,k+1∈[0,1)。KL(·)为KL(Kullback-Leibler divergence)散度函数,用来描述wk与wk+1模型间的差异;DS(·)为证据理论融合函数,用来计算贡献值的评分,则:其中|·|表示计算集合中的个数,/>为参与方i的数据集比重。根据全局模型聚合理论,提出了新的模型训练方法:
基于标签的自适应模型匹配策略,组模型可以匹配到更适合自己的全局模型,提高了组模型的收敛效率;根据地理分布与预测任务的属性划分,利用“同层组内同步-三层组间异步”同步异步相结合的方法,数据异质性与设备异质性的问题得到了改善;采用区块链双链结构与联邦学习相结合,公链存放训练模型的哈希索引,私链存放解密模型所需要的密钥,实现了数据公开透明原则的同时,保护了模型数据的隐私,解决了传统(异步)联邦学习中产生的资源浪费。
与现有技术相比,该方法可提供如下方面的效率优势和安全性:
1)基于标签的自适应模型匹配策略,组模型可以匹配到更适合自己的全局模型,提高了组模型的收敛效率。
2)根据地理分布与预测任务的属性划分,利用“同层组内同步-三层组间异步”相结合的多层先分组再聚合的横向联邦学习故障检测方法,数据异质性与设备异质性的问题得到了改善,提高了通信效率。
3)全局服务器将哈希值索引与标签进行区块链上链操作,组管理结合变色龙哈希函数对区块链上的信息进行修改,实现了区块链数据的可撤销性;
4)采用区块链双链结构,公链存放训练模型的哈希索引,私链存放解密模型所需要的密钥。
附图说明
图1是本发明一种基于多层分组聚合的横向联邦学习故障检测方法的框架。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
如图1所示,本发明提出了一种基于多层分组聚合的横向联邦学习故障检测方法,定义三种角色,分别为参与方、组管理和全局服务器。将联邦学习参与节点进行“参与方-组管理-全局服务器”三层分类,再将各层级相似标签的数据进行聚合训练,最后将训练模型加密存储在IPFS中并将标签的密钥存储在区块链上。此外,组管理可向服务器提交密钥修改申请,由组管理使用陷门密钥通过变色龙哈希函数生成新的变色龙随机数,由服务器使用新的随机数修改存储密钥链上的密钥。通过多层分组聚合的横向联邦学习方法,可获得足够多样化的工业故障检测数据,参与方可得到精度更高的局部模型。将模型数据哈希值存储在区块链上,可有效减少系统的开销,并保证了数据的可追溯性和不可修改性。通过变色龙哈希函数,实现了区块链上数据的编辑与撤销功能。
多层联邦学习聚合方法可根据不同的任务目标分为三个层级。最底层的参与方为个人客户端,其目标是训练一个符合自身预测任务的局部模型。它与横向联邦学习中的客户端具有相同的属性,但其通信的对象从全局服务器变为组管理。组管理的目标为训练一个泛化性强的组局部模型,并且帮助组内参与方更新局部模型。因此它需要与组内参与方和服务器都进行通信。组内参与方是在联邦学习的初始化阶段根据预测任务与地理分布划分的,并且组内的联邦学习为同步联邦学习聚合。这符合工业故障检测中设备通信的就近原则。全局服务器的目标是训练一个尽可能提取全局特征的预训练模型,因此不用承担预测任务。组管理与全局服务器的通信是异步的,这是由于不同组与全局服务器的地理分布较远,且预测任务各异。当需要更改访问控制权限时,由组管理使用变色龙哈希函数对区块内数据进行编辑或撤销。
首先介绍理解本发明所需具备的预备知识:
1、横向联邦学习
横向联邦学习适用于参与方数据特征重叠较多的情况。例如在工业故障检测背景下,参与方提供的样本主要包含四种类型的带钢表面缺陷,此类样本数据特征相近,但由于参与方的不同,样本空间重叠较少。横向联邦学习算法具有相同数据结构的M个参与方协同训练综合模型,训练过程由以下四部分组成:
(1)参与方在本地计算模型梯度,使用安全技术对梯度信息进行隐藏,将隐藏后的结果发送给服务器。
(2)服务器接受到各个参与方发送的梯度后,通过安全聚合操作聚合梯度。
(3)服务器将聚合的结果加密后返还给各个参与方。
(4)各个参与方使用收到的服务器聚合后的梯度进行本地模型更新,并重复上述步骤。
2、组管理(Group-Manner,GM)
由于本方法多层分组的特殊性,假设联邦学习的场景由多个地理分布较远的区域组成,存在任意个数的服务器可作为训练全局模型的相互独立的全局服务器。共存在M个参与组,作为每个独立区域中地理位置分布更近的最小参与单元,其作为联邦学习的最小参与单位,每个组管理之间的模型通信是独立且异步的。组管理根据参与方训练得到的局部模型进行组内聚合,得到组模型。组管理标记组模型后上传至全局服务器。
3、星际文件系统(Interplanetary File System,IPFS)
IPFS是一种内容寻址的分布式文件系统,用于存储具有高度完整性和弹性的数据。IPFS中没有中央服务器,数据分布和存储在不同的IPFS节点中,因此,IPFS没有单点故障。IPFS可以高效地分发大量数据,同时上传到IPFS系统的每个文件都有一个唯一的哈希索引Hash-index,通过该字符串可以检索原始文件。
4、可编辑区块链
区块链就是一个又一个区块组成的链条。基于通过利用点对点网络和分布式时间戳服务器,区块链数据库能够进行自主管理。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。可编辑区块链是指具有可编辑(可编辑)区块或可撤销交易的区块链。这个原语的基本动机是从致命错误中恢复分布式账本,而不会导致哈希不一致或任何硬分叉。现常使用变色龙哈希函数在保证区块链上哈希值不变的情况下修改链上存储的消息,实现区块链的可编辑功能。
5、变色龙哈希
变色龙哈希函数是一种在特殊情况下允许找到哈希碰撞的哈希函数。假设x为系统生成的某一随机数,用来表示变色龙哈希陷门密钥。y为陷门密钥x计算而来的变色龙哈希公共密钥。记符号m表示需要修改的消息,符号m′表示修改后的消息,符号CH(m)表示经过变色龙哈希计算后的哈希值。对于一个变色龙哈希函数,已知一对变色龙哈希密钥{x,y},通过给定的变色龙哈希公共密钥y计算变色龙哈希CH(m),记h=CH(m)。拥有陷门密钥x的用户可以广义的找到对应的哈希碰撞,即CH(m′)=h。变色龙哈希由以下四种算法组成。
(1)密钥生成算法:由系统随机生成变色龙哈希的陷门密钥x与公共密钥y。
(2)哈希生成算法:已知变色龙哈希公共密钥y,消息m与随机数r,通过变色龙哈希函数计算消息m的哈希值h和对应的随机数s。
(3)哈希验证算法:已知公共密钥y,消息m,哈希值h与对应的随机数s,判断是否为当前用户更新的变色龙哈希值,结果正确则输出1,否则输出0。
(4)哈希更新算法:已知陷门密钥x,消息m,新消息m′,哈希值h与对应的随机数s,计算新的变色龙哈希随机值s′。这使得变色龙哈希可以在不改变消息哈希值的情况下修改原消息。
基于以上预备知识,本发明执行过程如下:
步骤1,获取与故障相关的图像数据集,进行数据标注。
本发明的一个实施例中,采用的图像数据集为Severstal带钢缺陷的图像数据集,该数据集中提供了四种类型的带钢表面缺陷,训练集共有12568张、测试集5506张、图像尺寸为1600×256。第i个参与方对其本地数据进行包括图像压缩、分割,几何变换的预处理后得到固定规格的图像并进行标注,将所有信息存放在本地故障检测数据集中。根据上述数据集得到一个预测模型,通过此模型得到需要检测的图形的概率分布,可判断图中所示的设备是否存在缺陷。所述预测模型将由全局服务器加密后存储在IPFS星际文件系统中,加密的密钥被保存至区块链上。当参与方需要修改数据时,可向组管理提交申请,由其通过变色龙哈希函数进行编辑或撤销。
步骤2,各参与方使用本地数据训练得到其局部模型,并标记标签。此处,参与方是联邦学习系统中进行局部训练的客户端。根据地理位置与样本数据的相似性,分配不同的参与方同步进行局部模型训练,各参与方之间的训练相互独立。根据训练模型的特征相似性,同个参与方能够属于多个组,用于模型训练。选择组管理的一个规则为:每个参与方100平方公里内,具有相同预测目标且算力最高者,通过服务器授权后当选组管理。
本步骤获取局部模型的方法如下:
1)、系统初始化,全局服务器依照算力从所有预测目标相同的参与方中选择其组管理。
假设U为某一正整数,表示模型训练组内的所有成员,记符号w表示横向联邦学习过程中的模型,则第i个参与方训练的本地模型为wi,其中i∈U。假设t为某一正整数,表示模型训练的最大轮数,当训练轮数为第k轮时,记模型符号为wk,其中,k∈[0,t]。记符号wi,k为第i个参与方训练的第k轮数据模型,当第k轮模型训练轮数增加一轮时,记模型符号为wk+1,则记wi,k+1为第i个参与方训练的第k+1轮数据模型。记符号tag表示标签,则tagk表示第k轮模型训练标记的标签。记符号glb表示全局服务器,符号GM表示组管理,则符号tagGM为组预测任务类型的标签,符号wglb表示全局服务器管理的训练模型,表示第k轮全局服务器的训练模型,/>表示第i个参与方第k轮全局服务器的训练模型,wGM为组管理的训练模型,/>表示第k轮组管理的训练模型,/>表示第i个参与方第k轮组管理的训练模型。假设D为某一正整数集合,表示故障检测局部参与方模型训练中的图像数据集,记/>为本地图像数据集,第i个参与方训练的图像数据集为Di,第i个参与方训练的组内共享数据集为符号/>
(1.1)令符号“0”作为初始轮训练的标志,则记符号tag0为初始标签,符号为初始全局模型。当训练开始时,全局服务器(Global)生成模型链(Model Block Chain,MBC)的创世区块,块体包含一个初始标签tag0与一个参数随机的初始全局模型/>全局服务器还需生成标记编码规则,并与初始全局模型/>一起广播至所有参与训练的组管理(Group-Manner,GM)。
(1.2)当第i个参与方(Party)加入新的组时,提供参数如下:预测任务类型的标签tag和可组内共享的数据集
(1.3)当一个新的局部模型加入训练时,新的局部模型协商或指定一位GM并提供参数如下:组内所有成员的集合U,局部模型训练最大轮次t,组预测任务类型的标签tagGM和组共享数据集GM会根据组的标签tagGM从MBC上获取匹配的全局模型/>
2)、参与节点的局部模型训练阶段
(2.1)数据标注:参与的节点i对本地图像数据集进行图像压缩、分割,几何变换等预处理后得到固定规格(如像素大小360p,颜色通道RGB-8)的图像并进行标注,将其所有信息存放在本地数据集中。
(2.2)局部模型训练:记符号为初始组局部模型,符号wi,k表示参与节点i的第k轮的训练模型,则符号wi,k-1表示参与节点i的第k-1轮的训练模型。第i个参与方的第k轮的训练模型wi,k由参与节点使用本地数据集/>与局部模型wi,k-1(k>0)通过随机梯度下降法训练而成。当k=0时,各个参与方从组管理GMi处获得一个组模型/>作为初始模型。假设x为某一正整数,表示局部故障检测训练图像的编号,x∈[0,m],m表示故障检测数据集中图像的总数量,y为x的真实标签。记符号/>为模型wi,k关于故障检测图像样本x的预测值,符号Li(w)表示第i个参与方Partyi的模型损失函数,因此用符号argminLi(·)表示在局部模型训练过程中,使损失函数取最小值的变量值。计算随机梯度下降(SGD)的目标为最小化模型wi,k的交叉熵损失函数/>
步骤3,各参与方标记并发送局部模型至组管理。所述组管理是根据共识算法选举出的拥有更高算力的节点,负责聚合区域相近的客户端提供的局部模型。
局部模型上传的方法可为:假设acc为某一小数,acc∈[0,1],表示准确率。当Partyi的损失值Li(w)满足条件(例如Li(w)<1且准确率acc>0.8)或训练轮次已达到最大轮次(k=t)时停止训练,在系统初始化和新节点加入系统阶段,系统参照模型的地理位置与预测目标对模型中的各个图像进行属性划分。例如:图像P1位于A市北部,P2位于A市中部,P3位于A市南部。P1与P2的地理位置同属于A国A省A市地理位置位置靠近,其模型目标与GM1同为预测猫的种类,因此将P1与P2划分至GM1组中。P2与P3节点的地理位置同属于A国A省A市且位置靠近,其模型目标与GM2同为宠物种类的预测,因此将P2与P3划分至GM2组中。参与方在通信时仅与自身属性的组管理通信,如:P1和P2的参与方与GM1通信,P2和P3的参与方与GM2。参与方Partyii被划分至组管理GMi管辖下,则在停止当轮局部训练后,向组管理GMi发送最后一轮的故障检测局部模型wi,t。在发送局部模型的同时,根据第i个参与方训练的本地数据集Di的特性,将标签tag与故障检测模型wi,t一起发送至组管理。
步骤4,组管理根据组内局部模型聚合得到组模型。
组管理选择标签相近的组内局部模型聚合得到组模型,组模型聚合的方法具体可为:记wi,t表示故障检测局部参与节点i的经过t轮后的训练模型,GM接收到所有组内参与方发送的局部模型wi,t与tag后,将其组内所有局部模型平均聚合得到组模型其中|·|表示计算集合中的个数,∑i∈Uwi,t表示对组内最后一轮的局部模型进行求和运算。
步骤5,组管理标记组模型并上传至全局服务器。
组模型上传的方法可为:GM按照出现次数降序排列所有参与方发送的标签tag,仅保留前|U|个出现次数最多的标签tag并记为tagGM。将组模型wGM与组标签tagGM一起发送至全局服务器。
步骤6,全局服务器根据新接收的组模型聚合得到全局模型,即故障预测模型。全局服务器拥有所有的哈希解密密钥,防止组管理对数据进行随意修改。
全局模型聚合的具体方法可为:当训练轮数为第k轮时,记模型符号为wk,其中,k∈[0,t],记符号wi,k为第i个参与方训练的第k轮数据模型,当第k轮模型训练轮数增加一轮时,记模型符号为wk+1,记符号表示第k轮全局服务器的训练模型,则记wi,k+1为第i个参与方训练的第k+1轮数据模型。每当全局服务器接收到一个组管理GM发送的组模型wGM与组标签tagGM时,在区块链上根据tagGM寻找适配于该组模型的全局模型/>假设D为某一正整数集合,令第i个参与方训练的本地数据集为Di,记符号γ为贡献值,则符号γi,k表示为第i个参与方第k轮的贡献值,符号γi,k+1表示为第i个参与方第k+1轮的贡献值,其中γi,k∈[0,1)、γi,k+1∈[0,1)。KL(·)表示KL(Kullback-Leibler divergence)散度函数,用来描述wk与wk+1模型间的差异。DS(·)为证据理论融合函数,用来计算贡献值的评分,则:其中|·|表示计算集合中的个数,则为参与方i的数据集比重。为提高模型训练精度,根据全局模型聚合理论,得到新的全局模型:/>
本发明记符号*的定义如下所示:已知a为一个常数,M为一个m阶矩阵,则
步骤7,全局服务器根据全局共享数据训练所述全局模型,并将结果加密存放在IPFS系统中。
全局模型训练的方法可为:假设x为某一整数,设x为某一整数,表示局部故障检测训练图像的编号,x∈[0,m],m表示故障检测数据集中图像的总数量,y为样本x的真实标签。记符号为模型wi,k关于故障检测图像样本x的预测值,Lsup为故障检测的全局图像样本在模型训练中的交叉熵损失函数,其计算如下:记符号r为全局模型特征,符号rgm为组模型特征,符号rgm为组模型上一轮特征,sim(.)为余弦相似度函数,τ为某一常数,表示温度系数Lcon为额外定义的用来衡量故障检测中全局模型与组模型特征距离的损失函数,其计算如下:/>
记符号Dglb表示全局共享工业故障检测图像的数据集,符号DGM表示组共享数据集,符号Lglob表示全局模型训练的损失值,argminLglob表示在全局模型训练的过程中,使损失函数取最小值时的Lsup和Lcon变量值的最小值。通过SGD训练得到新的全局模型wglb。全局SGD的目标为最小化复合损失函数arg minLglob=Lsup+Lcon。
步骤8,全局服务器标记全局模型,并将标记与Hash-index上链。
全局模型上链的方法可为:记符号tagglb为全局模型预测任务类型的标签。当损失值Lglob满足条件或训练轮次已达到最大轮次时,停止训练。若该组管理贡献值大于参与该全局模型训练的其他组管理的平均贡献值,则全局服务器按照组标签tagGM在前、全局标签tagglb在后的方式组合两种标签并重新排列,得到新的全局标签tagglb。否则将按照组标签tagGM在后的方式排列。假设用符号C表示密文信息,表示全局模型加密后的密文,全局服务器将新的全局模型wglb使用组管理的私钥加密得到密文/>将密文/>存储在IPFS系统中并获得存储位置索引hash-index。全局模型将hash-index与新的全局标签tagglb,上传至模型链MBC上。
步骤9,通过Hash-index在IPFS中取得加密全局模型,向服务器申请AES密钥解密。根据标记,在链上搜索合适的全局模型下载并优化组模型。
本步骤可执行组模型优化训练,具体包括:
全局模型下载:组管理选择是否从模型链MBC上下载一个全局模型来优化组模型。如果组管理选择执行,根据组内标签tagGM与全局标签tagglb的匹配程度,从模型链MBC的尾部逆序遍历整条链,得到最后生成且最匹配的全局模型密文在IPFS中的存储位置hash-index,通过向服务器申请可以获得解密该密文的密钥。
全局模型密钥修改:假设令sk表示陷门密钥,由系统随机生成。记s为区块链上原有的故障检测的全局模型,r为原有模型s对应的随机值。则s′表示修改后的全局模型,r′表示经过运算后的新的随机值。key表示变色龙哈希密钥,Ckey为密文密钥信息,tx表示区块链中区块上存储的故障检测模型和其他事务,则tx′表示新生成的事务,Ktx表示故障检测全局服务器的某一事务,Ktx′表示经过更新后的全局服务器的事务。当组管理需要对访问控制权限进行变更时,可以更改密钥链中自己的密钥密文Ckey。组管理首先通过私钥生成函数新的变色龙哈希密钥key。再用私钥加密新密钥Ckey。已知陷门密钥sk、修改的全局模型s和修改后的全局模型s′,组管理通过变色龙哈希更新函数计算新的变色龙哈希随机数r′。组管理与服务器进行两次确认后,将需要更改的新密钥密文Ckey与变色龙哈希随机数r′发送至服务器。服务器生成更新后的事务Ktx′交给全局服务器,全局服务器验证该事务的变色龙哈希值没有改变后,使用事务Ktx′替代原位置区块的事务Ktx。至此,组管理完成密钥链上对全局模型密钥的修改。
组模型训练:记DGM为模型训练过程中使用的组内图像共享数据集,Lgm为组内图像在模型训练中的损失函数。假设j为组管理新下载的全局模型所在区块索引,j-为组管理上次下载的全局模型/>的区块索引。假设存在一个常数μ,当组管理没有选择下载新的全局模型,则μ=0。否则/>
组管理使用组共享图像数据集DGM,通过SGD训练得到新的组模型wGM。组SGD的目标为最小化组模型wGM的复合损失函数 其中*的定义如4.1节所示,‖·‖表示欧氏距离的计算,μ*||wglb-wGM||2为组模型与全局模型之间的距离修正。
组模型返回:组管理向所有组内参与方i∈U返回最新的组模型wGM。所有参与方可以开始一轮新的训练。
根据上述数据集训练得到一个预测模型,通过此模型计算需要检测的图形的概率分布,可判断工业故障图片中所示的设备是否存在缺陷。所述预测模型将由全局服务器加密后存储在IPFS星际文件系统中,加密的密钥被保存至区块链上。当参与方需要修改数据时,可向组管理提交申请,由其通过变色龙哈希函数进行编辑或撤销。
在图1所示方法中,将多层分组聚合的横向联邦学习与区块链相结合,可获得足够多样化的工业故障检测数据,参与方可得到精度更高的局部模型。将模型数据哈希值存储在区块链上,可有效减少系统的开销,并保证了数据的可追溯性和不可修改性。此外,参与方可向组管理提交修改模型访问控制权限的申请,由组管理提交新的会话密钥,全局服务器通过变色龙哈希函数修改存储在密钥链上的旧会话密钥。
由此可见,本发明数据的异质性和模型安全性均得到了解决。该方法不仅灵活有效,而且能够训练到精度更高的局部模型。此外,该方法将模型数据哈希值存储在区块链上,可有效减少系统的开销,并保证了数据的可追溯性和不可修改性。参与方可向组管理提交修改模型的申请,由组管理使用会话密钥,通过变色龙哈希函数修改存储在区块链上的密钥的密文。效率分析表明,该方法降低了数据异质性与设备异质性带来的联邦学习精度损失和通讯开销,验证了多层横向联邦学习聚合方法的可行性和有效性。
Claims (10)
1.一种基于多层分组聚合的横向联邦学习故障检测方法,定义三种角色,分别为参与方、组管理和全局服务器,其特征在于,包括如下步骤:
步骤1,获取与故障相关的图像数据集,进行数据标注;
步骤2,各参与方使用本地数据训练得到其局部模型;所述参与方是联邦学习系统中进行局部训练的客户端;根据地理位置与样本数据的相似性,分配不同的参与方同步进行局部模型训练,各参与方之间的训练相互独立;
步骤3,各参与方标记并发送局部模型至组管理;所述组管理是根据共识算法选举出的拥有更高算力的节点,负责聚合区域相近的客户端提供的局部模型;
步骤4,组管理根据组内局部模型聚合得到组模型;
步骤5,组管理标记组模型并上传至全局服务器;
步骤6,全局服务器根据新接收的组模型聚合得到全局模型,即故障预测模型;
步骤7,全局服务器根据全局共享数据训练所述全局模型,并将结果加密存放在IPFS系统中;
步骤8,全局服务器标记全局模型,并将标记与Hash-index上链;
步骤9,通过Hash-index在IPFS中取得加密全局模型,向服务器申请AES密钥解密;根据标记,在链上搜索合适的全局模型下载并优化组模型。
2.根据权利要求1所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤1,采用Severstal带钢缺陷的图像数据集,第i个参与方Partyi对其本地数据进行包括图像压缩、分割,几何变换的预处理后得到固定规格的图像并进行标注,将所有信息存放在本地故障检测数据集中。
3.根据权利要求2所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤2,获取局部模型的方法如下:
初始化阶段,全局服务器依照算力从所有预测目标相同的参与方中选择其组管理;
第i个参与方的第k轮的训练模型wi,k由本地故障检测数据集与上一轮得到的局部模型wi,k-1(k>0)通过随机梯度下降法训练而成;当k=0时,各个参与方从组管理GMi处获得一个组模型/>作为初始模型;假设x为某一正整数,表示局部故障检测训练图像的编号,x∈[0,m],m表示故障检测数据集中图像的总数量,y为x的真实标签;记符号/>为模型wi,k关于故障检测图像样本x的预测值,符号Li(w)表示第i个参与方Partyi的模型损失函数,用符号arg min Li(·)表示在局部模型训练过程中,使损失函数取最小值的变量值;计算随机梯度下降(SGD)的目标为最小化模型wi,k的交叉熵损失函数
4.根据权利要求3所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤3,假设D为某一正整数集合,表示故障检测局部参与方模型训练中的图像数据集,记为本地图像数据集,第i个参与方训练的图像数据集为Di,第i个参与方训练的组内共享数据集为符号/>假设acc为某一小数,acc∈[0,1],表示准确率;当Partyi的损失值Li(w)满足条件或训练轮次已达到最大轮次时停止训练。在系统初始化和新节点加入系统阶段,系统参照模型的地理位置与预测目标对模型中的各个图像进行属性划分。
5.根据权利要求4所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤4,记wi,t表示故障检测局部参与节点i的经过t轮后的训练模型,组管理接收到所有组内参与方发送的局部模型wi,t与标签tag后,将其组内所有局部模型平均聚合得到组模型其中|·|表示计算集合中的个数,∑i∈Uwi,t表示对组内最后一轮的局部模型进行求和运算。
6.根据权利要求4所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤5,组管理按照出现次数降序排列所有参与方发送的标签tag,仅保留前|U|个出现次数最多的标签tag并记为tagGM,将组模型wGM与组标签tagGM一起发送至全局服务器。
7.根据权利要求1所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤6,当训练轮数为第k轮时,记模型符号为wk,其中,k∈[0,t],记符号wi,k为第i个参与方训练的第k轮数据模型,当第k轮模型训练轮数增加一轮时,记模型符号为wk+1,记符号表示第k轮全局服务器的训练模型,则记wi,k+1为第i个参与方训练的第k+1轮数据模型;每当全局服务器接收到一个组管理发送的组模型wGM与组标签tagGM时,在区块链上根据tagGM寻找适配于该组模型的全局模型/>假设D为某一正整数集合,令第i个参与方训练的本地数据集为Di,记符号γ为贡献值,则符号γi,k表示为故障检测模型中第i个参与方第k轮的贡献值,符号γi,k+1表示为第i个参与方第k+1轮的贡献值,其中γi,k∈[0,1)、γi,k+1∈[0,1);KL(·)表示KL(Kullback-Leibler divergence)散度函数,用来描述wk与wk+1模型间的差异;DS(·)为证据理论融合函数,用来计算贡献值的评分,则:其中|·|表示计算集合中的个数,则为参与方i的数据集比重;为提高模型训练精度,根据全局模型聚合理论,得到新的全局模型:/>
符号*的定义如下所示:已知a为一个常数,M为一个m阶矩阵,则
8.根据权利要求1所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤7,设x为某一整数,表示局部故障检测训练图像的编号,x∈[0,m],m表示故障检测数据集中图像的总数量,样本的数量,y为样本x的真实标签;记符号为模型wi,k关于故障检测图像样本x的预测值,Lsup为故障检测的全局图像样本在模型训练中的交叉熵损失函数,其计算如下:/>记符号r为故障检测的全局模型特征,符号rgm为组模型特征,符号rgm-为组模型上一轮特征,sim(.)为余弦相似度函数,τ为某一常数,表示温度系数,Lcon为额外定义的用来衡量故障检测中全局模型与组模型特征距离的损失函数,其计算如下:/> 记符号Dglb表示全局共享工业故障检测图像的数据集,符号DGM表示组共享数据集,符号Lglob表示全局模型训练的损失值,arg min Lglob表示在全局模型训练的过程中,使损失函数取最小值时的Lsup和Lcon变量值的最小值;通过SGD训练得到新的全局模型wglb;全局SGD的目标为最小化复合损失函数arg min Lglob=Lsup+Lcon。
9.根据权利要求1所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤8,记符号tagglb为全局模型预测任务类型的标签;当损失值Lglob满足条件或训练轮次已达到最大轮次时,停止训练;若该组管理贡献值大于参与该全局模型训练的其他组管理的平均贡献值,则全局服务器按照组标签tagGM在前、全局标签tagglb在后的方式组合两种标签并重新排列,得到新的全局标签tagglb;否则将按照组标签tagGM在后的方式排列;假设用符号C表示密文信息,表示全局模型加密后的密文,全局服务器将新的全局模型wglb使用组管理的私钥加密得到密文/>将密文/>存储在IPFS系统中并获得存储位置索引hash-index;全局模型将hash-index与新的全局标签tagglb,上传至模型链MBC上。
10.根据权利要求1所述基于多层分组聚合的横向联邦学习故障检测方法,其特征在于,所述步骤9,包括:
全局模型下载:组管理选择是否从模型链MBC上下载一个全局模型来优化组模型;如果组管理选择执行,根据组内标签tagGM与全局标签tagglb的匹配程度,从模型链MBC的尾部逆序遍历整条链,得到最后生成且最匹配的全局模型密文在IPFS中的存储位置hash-index,通过向服务器申请可以获得解密该密文的密钥;
全局模型密钥修改:假设令sk表示陷门密钥,由系统随机生成;记s为区块链上原有的故障检测的全局模型,r为原有模型s对应的随机值;则s′表示修改后的全局模型,r′表示经过运算后的新的随机值;key表示变色龙哈希密钥,Ckey为密文密钥信息,tx表示区块链中区块上存储的故障检测模型和其他事务,则tx′表示新生成的事务,Ktx表示故障检测全局服务器的某一事务,Ktx′表示经过更新后的全局服务器的事务;当组管理需要对访问控制权限进行变更时,可以更改密钥链中自己的密钥密文Ckey;组管理首先通过私钥生成函数新的变色龙哈希密钥key;再用私钥加密新密钥Ckey;已知陷门密钥sk、修改的全局模型s和修改后的全局模型s′,组管理通过变色龙哈希更新函数计算新的变色龙哈希随机数r′;组管理与服务器进行两次确认后,将需要更改的新密钥密文Ckey与变色龙哈希随机数r′发送至服务器;服务器生成更新后的事务Ktx′交给全局服务器,全局服务器验证该事务的变色龙哈希值没有改变后,使用事务Ktx′替代原位置区块的事务Ktx;至此,组管理完成密钥链上对全局模型密钥的修改;
组模型训练:记DGM为模型训练过程中使用的组内图像共享数据集,Lgm为组内图像在模型训练中的损失函数;假设j为组管理新下载的全局模型所在区块索引,j-为组管理上次下载的全局模型/>的区块索引;假设存在一个常数μ,当组管理没有选择下载新的全局模型,则μ=0;否则/>
组管理使用组共享图像数据集DGM,通过SGD训练得到新的组模型wGM;组SGD的目标为最小化组模型wGM的复合损失函数 其中*的定义如4.1节所示,‖·‖表示欧氏距离的计算,μ*‖wglb-wGM‖2为组模型与全局模型之间的距离修正;
组模型返回:组管理向所有组内参与方i∈U返回最新的组模型wGM;所有参与方可以开始一轮新的训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310669108.9A CN116820816A (zh) | 2023-06-07 | 2023-06-07 | 一种基于多层分组聚合的横向联邦学习故障检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310669108.9A CN116820816A (zh) | 2023-06-07 | 2023-06-07 | 一种基于多层分组聚合的横向联邦学习故障检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116820816A true CN116820816A (zh) | 2023-09-29 |
Family
ID=88123318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310669108.9A Pending CN116820816A (zh) | 2023-06-07 | 2023-06-07 | 一种基于多层分组聚合的横向联邦学习故障检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820816A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117474127A (zh) * | 2023-12-27 | 2024-01-30 | 苏州元脑智能科技有限公司 | 分布式机器学习模型训练系统、方法、装置及电子设备 |
-
2023
- 2023-06-07 CN CN202310669108.9A patent/CN116820816A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117474127A (zh) * | 2023-12-27 | 2024-01-30 | 苏州元脑智能科技有限公司 | 分布式机器学习模型训练系统、方法、装置及电子设备 |
CN117474127B (zh) * | 2023-12-27 | 2024-03-26 | 苏州元脑智能科技有限公司 | 分布式机器学习模型训练系统、方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Luo et al. | pRide: Privacy-preserving ride matching over road networks for online ride-hailing service | |
CN112733967B (zh) | 联邦学习的模型训练方法、装置、设备及存储介质 | |
CN111368319B (zh) | 一种联邦学习环境下基于区块链的数据安全访问方法 | |
US20160020904A1 (en) | Method and system for privacy-preserving recommendation based on matrix factorization and ridge regression | |
EP4208808A1 (en) | Privacy preserving machine learning using secure multi-party computation | |
CN116820816A (zh) | 一种基于多层分组聚合的横向联邦学习故障检测方法 | |
CN114363043B (zh) | 一种对等网络中基于可验证聚合和差分隐私的异步联邦学习方法 | |
CN113420232A (zh) | 一种面向隐私保护的图神经网络联邦推荐方法 | |
CN111738359A (zh) | 一种两方决策树训练方法和系统 | |
CN113987551A (zh) | 一种面向车联网的自适应联邦学习方法 | |
US20230034384A1 (en) | Privacy preserving machine learning via gradient boosting | |
CN113947211A (zh) | 联邦学习模型的训练方法、装置、电子设备和存储介质 | |
Li et al. | FEEL: Federated end-to-end learning with non-IID data for vehicular ad hoc networks | |
CN114757361A (zh) | 基于联邦学习的多式联运数据共享方法及系统 | |
Jiang et al. | Federated dynamic graph neural networks with secure aggregation for video-based distributed surveillance | |
CN116471072A (zh) | 一种基于邻居协作的联邦服务质量预测方法 | |
CN116366673A (zh) | 一种面向电网信息机房管理的数据分析与共享方法 | |
Zhu et al. | Enhanced federated learning for edge data security in intelligent transportation systems | |
Javan et al. | Images encryption based on robust multi-mode finite time synchronization of fractional-order hyper-chaotic Rikitake systems | |
CN115456719A (zh) | 一种基于联邦学习的供应链管理方法 | |
CN115130568A (zh) | 支持多参与方的纵向联邦Softmax回归方法及系统 | |
Zeng et al. | Emergency vehicle identification for internet of vehicles based on federated learning and homomorphic encryption | |
Shewale et al. | An efficient approach for privacy preserving distributed K-means clustering in unsecured environment | |
CN111784078A (zh) | 一种针对决策树的分布式预测方法和系统 | |
Wang et al. | Improving Security in the Internet of Vehicles: A Blockchain-Based Data Sharing Scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |