发明内容
为了解决上述问题,本发明提出了一种基于文本的变压器故障智能识别模型的训练方法及装置,以解决传统故障文本识别模型精度不高,无法解决变压器故障文本所特有的多样性、混淆性和不确定性问题。
在本发明的第一方面,本发明提供了一种基于文本的变压器故障智能识别模型的训练方法,包括以下步骤:
获取变压器故障文本数据,所述变压器故障文本数据包括变压器故障信息文本和对应的多个变压器故障类别文本,每个故障类别文本指示一个故障类别标签;
将故障类别文本输入基于编码结构的文本语义模型的嵌入层,经由基于编码结构的文本语义模型的编码层输出故障类别文本语义编码向量;
将故障信息文本通过文本标签域筛选法处理为待增强文本,并将处理前的故障信息文本与待增强文本组成待增强文本对;
将所述待增强文本对输入基于编码结构的文本语义模型的嵌入层,输出初始增强文本向量对;
将初始增强文本向量对输入基于标签域掩码的生成对抗网络进行训练,输出中间增强文本向量;
将中间增强文本向量通过线性Linear层,得到目标增强文本向量;
将目标增强文本向量直接输入基于编码结构的文本语义模型的编码层,并同时将故障信息文本输入基于编码结构的文本语义模型的嵌入层,经由基于编码结构的文本语义模型的编码层,输出故障信息文本语义编码向量;
将所述故障信息文本语义编码向量和所述故障类别文本语义向量输入跨注意力网络中,经由分类器处理,输出变压器故障类别结果向量;所述分类器包括输出Dropout层、线性Linear层和激活sigmoid层;
将变压器故障类别结果向量与多个变压器故障类别文本,构建多标签及标签不平衡自适应损失函数,通过损失训练以得到变压器故障智能识别模型。
在本发明实施例中,所述基于编码结构的文本语义模型由校正作为Mask的中文自然语言预训练模型构成,所述中文自然语言预训练模型至少包括嵌入层、编码层,所述嵌入层主要用于提取文本的嵌入向量,所述编码层主要用于获取文本的编码向量,所述基于标签域掩码的生成对抗网络(Generative Adversarial Network based on Label domainMask,简称LM-GAN)由transformers中Encoder block及Decoder block构成的生成器和双向长短期记忆网络BiLSTM、线性层以及激活函数构成的鉴别器组成。
在本发明的第二方面,本发明还提供了一种基于文本的变压器故障智能识别模型的训练装置,所述装置包括:
获取模块,用于获取变压器故障文本数据,所述变压器故障文本数据包括变压器故障信息文本和对应的多个变压器故障类别文本,每个故障类别文本指示一个故障类别标签;
训练模块,用于将故障类别文本输入基于编码结构的文本语义模型,输出故障类别文本语义编码向量;将故障信息文本通过文本标签域筛选法处理为待增强文本,并将处理前的故障信息文本与待增强文本组成待增强文本对;将所述待增强文本对输入基于编码结构的文本语义模型,输出初始增强文本向量对;将初始增强文本向量对输入基于标签域掩码的生成对抗网络进行训练,输出中间增强文本向量;将中间增强文本向量通过线性Linear层,得到目标增强文本向量;将故障信息文本输入基于编码结构的文本语义模型,并同时将目标增强文本向量输入基于编码结构的文本语义模型的编码层,输出故障信息文本语义编码向量;将所述故障信息文本语义编码向量和所述故障类别文本语义向量输入跨注意力网络中,经由分类器处理,输出变压器故障类别结果向量;所述分类器包括输出Dropout层、线性Linear层和激活sigmoid层;将变压器故障类别结果向量与多个变压器故障类别文本,构建多标签及标签不平衡自适应损失函数,通过损失训练以得到变压器故障智能识别模型。
本发明的有益效果:
1、本发明使用由故障类别文本拼接成的标签链向量辅助解码基于编码结构的文本语义模型的编码向量,使分类器脱离单调的标签映射数值空间,充分利用标签语义表征信息,提升分类精度;
2、本发明采用多标签及标签不平衡自适应损失函数MSLoss能够使模型在损失计算时,按照正确标签的分类正确率调节损失所占权重,并使用余弦函数自适应统筹训练时的整体损失规模与正确标签、错误标签对置信度的敏感性;
3、本发明采用文本标签域筛法(Text Label Domain Filtering method,简称TLDF)与基于标签域掩码的生成对抗网络LM-GAN用于少类标签故障数据增强,通过计算原始文本与语块残缺文本之间标签置信度的欧氏距离来表征每个语块的标签域置信度差异值,探测故障类别在原始文本中的表征区域,使用掩码替换后,在嵌入表征向量层面拟合原始文本中的标签域信息,从高维度向量层面填补语块残缺文本中的标签特征,达到对少类标签故障数据增强的目的,优化模型的预测效果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一些实施例中,本发明的基于文本的变压器故障智能识别方法可以应用于计算机设备与服务器共存的场景中,其中,计算机设备通过网络与服务器进行通信。计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器来实现。
图1是本发明实施例的一种基于文本的变压器故障智能识别模型的训练结构示意图,如图1所示,在本发明实施例中,将变压器故障类别文本和变压器故障信息文本输入到变压器故障智能识别模型中,经过一系列处理,就能够输出故障类别置信度,故障类别置信度就能够反映变压器故障文本的故障类型,准确识别出变压器故障类别;在这个过程中,起关键作用的就是变压器故障智能识别模型,为了得到识别率更高的准确率,本发明实施例将通过合适的训练方式对其进行优化训练,以使得所述变压器故障智能识别模型能够准确识别出变压器故障文本的故障类别置信度。
在本发明实施例中,所述变压器故障智能识别模型包括基于编码结构的文本语义模型、跨层注意力网络Cross-Attention、Dropout层、Linear层和Sigmoid层,而其中的基于编码结构的文本语义模型由校正Mac作为Mask的中文自然语言预训练模型MacBERT构成,该模型通过用相似的单词mask,减轻了预训练和微调阶段两者之间的差距,本实施例采用的所述中文自然语言预训练模型至少包括嵌入层、编码层,所述嵌入层主要用于提取文本的嵌入向量,所述编码层主要用于获取文本的编码向量。
在本发明实施例中,除了利用所述变压器故障智能识别模型得到故障类别置信度以外,如图1所示,本发明还利用TLDF筛法对变压器故障文本进行处理,通过基于标签域掩码的生成对抗网络LM-GAN进行训练,得到少类标签数据的增强文本向量,通过这个增强文本向量对变压器故障智能识别模型进行增强训练,以得到具有更高识别率的变压器故障智能识别模型;其中,所述基于标签域掩码的生成对抗网络LM-GAN由transformers中Encoderblock及Decoder block构成的生成器和双向长短期记忆网络BiLSTM、线性层以及激活函数构成的鉴别器组成。
图2是本发明实施例的一种基于文本的变压器故障智能识别模型的训练方法流程图,如图2所示,具体可以包括以下步骤:
101、获取变压器故障文本数据,所述变压器故障文本数据包括变压器故障信息文本和对应的多个变压器故障类别文本,每个故障类别文本指示一个故障类别标签;
在本发明实施例中,所述变压器故障文本数据可以是原始变压器故障分析报告,这些信息以文本文字形式进行展示,以380KV变电站的变压器故障分析报告为例,所述变压器故障分析报告中包含了大量的变压器故障信息样本文本和对应的多个变压器故障类别样本文本,这些变压器故障信息样本文本可以包括设备的制造厂、型号、容量、变电站名称、设备名称、制造厂、变压器设备型号等基本档案信息、设备发生故障时的故障现象、故障描述信息、故障诊断过程中进行的试验情况,故障相关的试验检测描述特征信息、故障原因等信息。
在本发明实施例中,变压器故障类别样本文本则反映了故障类型标签,每个变压器故障信息样本文本可能对应有多个故障标签。变压器故障标签主要分为内部故障和外部故障,其中内部故障是指变压器油箱内的各种故障,主要依靠气体和差动保护切除变压器;外部故障是指油箱外部绝缘套管及其引出线发生的各种故障。目前,变压器的常见故障归纳为以下四类:绕组故障、分接开关故障、铁芯故障和气体保护失灵,其中绕组故障主要包括匝间短路、绕组接地、相间短路、断线和接头开焊等。常见的分接开关故障有表面熔烧、相间接触放电或联合放电。
在变压器故障分析报告中,由于记录人员知识储备、语言习惯、观察角度与观察完整性的差异性,导致变压器故障文本呈现出多样性、混淆性,故障文本类别具有不确定性,同一变压器可能有多个故障类别标签,而这些故障类别标签中可能有相同含义的标签类型,例如相间短路和线圈短路可能都是指的不同相或不同线圈之间直接短路,这就导致了变压器故障的标签类型重复;除此以外,还比如某变压器同时出现了匝间短路、表面熔烧和相间接触放电等故障;同时,在这些故障中,可能只有很少的变压器出现了联合放电的故障,这就会导致变压器故障文本数据不平衡,因此本发明实施例将通过数据增强的训练方式,采用文本标签域筛法TLDF对少类的故障信息数据进行增强,以优化模型应对标签不平衡情况下的训练效果。
102、将故障类别文本输入基于编码结构的文本语义模型的嵌入层,经由基于编码结构的文本语义模型的编码层输出故障类别文本语义编码向量;
在本发明实施例中,获取故障类别文本语义编码向量的步骤包括:
步骤1:将变压器故障所有类别标签文本分别通过分词器得到对应的token序列;
步骤2:将不同故障类别的token序列与对应的分类头进行拼接,得到拼接后的变压器故障样本类别文本的token序列;将每类标签文本的token序列按照下式进行拼接:
式中,TL表示拼接后的变压器故障类别文本的token序列,表示第k类变压器故障的标签文本的token序列,[CLS]k表示第k类变压器故障类别的分类头token。
步骤3:确定每个分类头在拼接后的变压器故障类别文本的token序列的位置;记录每个[CLS]分类token的位置作为PCLS;
步骤4:将TL输入基于编码结构的文本语义模型的嵌入层,得到变压器故障类别文本语义向量VL。
103、将故障信息文本通过文本标签域筛选法处理为待增强文本,并将处理前的故障信息文本与待增强文本组成待增强文本对;
在本发明实施例中,所述文本标签域筛法包括:
步骤1:从故障信息文本中筛选出数据量低于平均数据量的少类故障信息文本C,并将少类故障信息文本C按照标点符号划分为多个语块组成的序列SC;
步骤2:将少类故障信息文本C作为原始文本C输入预训练后的变压器故障智能识别模型中,得到原始文本C关于每个故障类别的置信度R;
步骤3:将原始文本C中每个语块的内容去除得到语义残缺文本/>将/>输入预训练后的变压器故障智能识别模型中,得到残缺文本/>关于每个故障类别的置信度
步骤4:将原始文本C关于每个故障类别的置信度R与残缺文本关于每个故障类别的置信度/>进行处理,得到置信度/>与置信度R的欧氏距离,并得到每个语块/>的标签域置信度差异值;
步骤5:重复步骤3得到所有语块的标签域置信度差异值,排序后,取标签域置信度差异值最大的语块对应的残缺文本/>为待增强文本,并与原始文本C形成待增强文本对/>
可以理解的是,本发明所述的置信度即为每个故障类别的分类预测概率,例如原始文本C的关于绕组故障的置信度为0.7,就表示发生绕组故障的概率为0.7。
在本实施例中,为了得到目标增强文本向量,需要对待增强文本对进行一系列处理,以下将结合步骤104~步骤106对处理过程进行详述:
104、将所述待增强文本对输入基于编码结构的文本语义模型的嵌入层,输出初始增强文本向量对;
105、将初始增强文本向量对输入基于标签域掩码的生成对抗网络进行训练,输出中间增强文本向量;
106、将中间增强文本向量通过线性Linear层,得到目标增强文本向量;
在本发明实施例中,更为具体的,如图3所示,得到目标增强文本向量的过程包括:
步骤1:对待增强文本对中的每一个文本进行分词后,通过对比少类故障信息也即原始文本C,将待增强文本/>中每个语块/>的位置PCLS用掩码token序列填补得到序列/>
步骤2:将序列通过基于编码结构的文本语义模型的嵌入层后,输入到生成对抗网络的生成器中,得到伪装文本语义向量/>
步骤3:将原始文本C通过基于编码结构的文本语义模型的嵌入层后,得到原始文本语义向量V;
步骤4:将伪装文本语义向量与原始文本语义向量V输入LM-GAN网络的鉴别器,判断文本向量的真伪性,若伪装文本语义向量/>被判断为“真”,则将其作为原始文本C的增强文本向量,若伪装文本语义向量/>被判断为“伪”,则使用原始文本语义向量V与伪装文本语义向量/>计算损失训练生成器,使用鉴别器对原始文本语义向量V与伪装文本语义向量/>的鉴别结果与真实标签计算损失训练鉴别器。
107、将目标增强文本向量直接输入基于编码结构的文本语义模型的编码层,并同时将故障信息文本输入基于编码结构的文本语义模型的嵌入层,经由基于编码结构的文本语义模型的编码层,输出故障信息文本语义编码向量;
在本发明实施例中,获取故障信息文本语义编码向量的过程可以包括:步骤1:将故障信息文本输入基于编码结构的文本语义模型的嵌入层得到故障信息文本嵌入向量Vori;
步骤2:使目标增强文本向量通过Linear层得到目标增强文本嵌入向量VLM-GAN;
步骤3:将目标增强文本嵌入向量VLM-GAN与故障信息文本嵌入向量Vori合并为总文本嵌入向量Vall;
步骤4:将总文本嵌入向量Vall输入基于编码结构的文本语义模型的编码层得到故障类别文本语义向量VL。
108、将所述故障信息文本语义编码向量和所述故障类别文本语义向量输入跨注意力网络中,经由分类器处理,输出变压器故障类别结果向量;所述分类器包括输出Dropout层、线性Linear层和激活sigmoid层;
在本发明实施例中,获取变压器故障分类结果的步骤包括:
步骤1:将故障类别文本语义向量VL与权重矩阵Wq相乘得到Q矩阵,将故障文本语义编码向量VC分别与权重矩阵Wk、Wv相乘后得到K、V矩阵;
步骤2:将Q、K、V矩阵输入跨注意力网络,得到交互结果向量OCA;
步骤3:将交互结果向量OCA中位置PCLS处的向量抽取出来,按照序列维度拼接后得到向量
步骤4:将向量依次通过Dropout层、Linear层,将隐藏层维度缩放至2,并由Sigmoid函数对隐藏层进行归一化,得到变压器故障类别结果向量O。
本发明使用由故障类别文本拼接成的标签链向量辅助解码基于编码结构的文本语义模型的编码向量,使分类器脱离单调的标签映射数值空间,充分利用标签语义表征信息,提升分类精度。
109、将变压器故障类别结果向量与多个变压器故障类别文本,构建多标签及标签不平衡自适应损失函数,通过损失训练以得到变压器故障智能识别模型。
在本发明实施例中,多标签及标签不平衡自适应损失函数如下所示:
式中,m代表计算损失时的故障信息文本的样本数量,k代表故障文本中的标签数量,代表第i个故障信息文本的第j个真实标签,/>代表第i个故障信息文本的第j个预测标签,ln(·)表示自然对数函数,cos(·)表示余弦函数。
本发明采用多标签及标签不平衡自适应损失函数MSLoss能够使模型在损失计算时,按照正确标签的分类正确率调节损失所占权重,并使用余弦函数自适应统筹训练时的整体损失规模与正确标签、错误标签对置信度的敏感性;从而提升变压器故障智能识别模型的准确性。
基于本发明的同一构思,本发明还提供了一种基于文本的变压器故障智能识别模型的训练装置,所述装置包括:
获取模块,用于获取变压器故障文本数据,所述变压器故障文本数据包括变压器故障信息文本和对应的多个变压器故障类别文本,每个故障类别文本指示一个故障类别标签;
训练模块,用于将故障类别文本输入基于编码结构的文本语义模型,输出故障类别文本语义编码向量;将故障信息文本通过文本标签域筛选法处理为待增强文本,并将处理前的故障信息文本与待增强文本组成待增强文本对;将所述待增强文本对输入基于编码结构的文本语义模型,输出初始增强文本向量对;将初始增强文本向量对输入基于标签域掩码的生成对抗网络进行训练,输出中间增强文本向量;将中间增强文本向量通过线性Linear层,得到目标增强文本向量;将故障信息文本输入基于编码结构的文本语义模型,并同时将目标增强文本向量输入基于编码结构的文本语义模型的编码层,输出故障信息文本语义编码向量;将所述故障信息文本语义编码向量和所述故障类别文本语义向量输入跨注意力网络中,经由分类器处理,输出变压器故障类别结果向量;所述分类器包括输出Dropout层、线性Linear层和激活sigmoid层;将变压器故障类别结果向量与多个变压器故障类别文本,构建多标签及标签不平衡自适应损失函数,通过损失训练以得到变压器故障智能识别模型。
经过本发明的训练方法及装置处理后的变压器故障智能识别模型能够应用于未知变压器故障信息文本的处理过程,当未知变压器故障信息文本输入到本发明的变压器故障智能识别模型中,能够输出对应的故障类型信息,从而实现变压器故障信息文本的智能识别。
可以理解的是,本发明的一种基于文本的变压器故障智能识别模型的训练方法及装置属于本发明的同一构思,其相应特征可以相互引用,本发明就不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。