基于一维卷积神经网络多任务学习的电能质量扰动识别方法
2022-03-16王伟李开成许立武王梦昊陈西亚
王伟, 李开成, 许立武, 王梦昊, 陈西亚
(华中科技大学 电气与电子工程学院 强电磁工程与新技术国家重点实验室,武汉 430074)
0 引 言
随着现代电力系统的发展,为了减少碳排放和促进电力系统的高效运行,多种可再生能源得到了越来越多的应用,由此伴随着电力电子设备更多地投入电网运行。在此背景下电能质量扰动(Power Quality Disturbances,PQDs)存在的风险日益增大,电能质量的监测和分析已经成为现在电力系统中的重要课题[1]。
电能质量问题通常以电流、电压或者频率的突然变化的形式出现。在实际中,很多原因可能会导致PQDs的产生,如电力电子设备的应用、雷电、非线性负载等。
为了精准识别电能质量扰动事件的类别,传统电能质量监测方法一般先运用信号处理技术来提取信号的特征量,再使用分类方法来确定扰动事件类别。提取特征阶段常用的信号处理技术有希尔伯特-黄变换[2-3]、小波变换[4]、短时傅里叶变换[5]、Kalman变换[6]、S变换[7-10]等。分类识别阶段,常用的方法有决策树[11]、支持向量机[12-13]、浅层人工神经网络[14]、随机森林[15-16]、梯度提升树[17]等。
近些年来,随着深度学习理论及实践的飞速发展,人工智能领域的计算机视觉、自然语言处理、语音识别的技术革新方兴未艾[18]。相比传统的机器学习方法,深度学习在图像分类、语音识别等方面准确率更高,同时具有更好的泛化性能。在以深度学习核心的人工智能新浪潮下,越来越多电力从业者开始探索深度学习应用于电能质量扰动识别的潜力[19-20]。深度学习中运用的的神经网络主要有深度前馈网络(Deep Neural Networks ,简称DNN)、卷积神经网络(Convolution Neural Networks,简称CNN)、门控循环单元GRU、循环神经网络RNN等。其中很多网络已经初步在电能质量扰动识别问题上得到了应用。文献[21]设计了一个三层深度前馈网络,为了防止训练过拟合还使用了Dropout正则化方法。文献[22]提出了一个6层一维CNN的网络结构,其中使用了批归一化层来防止过拟合和加速训练过程。
本文基于深度学习的基本原理,在One-hot编码多分类和多标签分类的基础上,提出了多任务分类,改变了复合扰动分类问题已有的建模方式。随后在多任务分类这一建模方式上设计了一个能够完成端到端电能质量复合扰动识别的一维卷积神经网络。对比实验结果表明,利用此方法构建的网络模型在各种信噪比水平下均有很高的识别准确率,并且无需传统方法的信号特征提取步骤,具有很好的应用潜力。
1 一维CNN的基本原理和结构
1.1 一维CNN的基本原理
卷积神经网络(CNN)是一种以卷积计算为基础,可以端到端学习输入数据的特征并预测类别标签的深度学习方法。CNN的主要结构包括卷积层(Convolution Layer)、汇合层(Pooling Layer)、激活函数层(Activation Layer)、批量归一化层(Batch Normalization Layer,简称BN层)、全连接层(Fully-Connected Layer, 简称FC层)等。
与人工设计和提取特征不同,CNN可以自动提取出深层次特征。在CNN中,输入数据首先通过一系列具有非线性激活函数的链式卷积核进行转换,这等效于应用一系列链式多通道非线性滤波器。 通过堆叠多个卷积层和使用非线性激活函数,使得网络可以学习数据的复杂特征。其后,是一系列完全连接的FC层。在最后一个FC层中的激活函数之后,会输出由各类别概率构成的多维向量。
图像作为二维空间序列,分类时采用的是二维CNN。而PQDs对应一维时间序列,故可采用一维CNN进行识别。图像分类在CNN应用之前也是先提取特征参数,再用分类器进行分类。随着CNN的应用,这种可以直接在原始数据上作用的方法跳过了之前特征提取的阶段,完成了原始输入直接到输出的任务,称之为“端到端”学习,具有更简洁的结构和更突出的识别效果[23]。
1.2 卷积层
卷积层的主要功能是提取局部区域信息,具体是通过特定大小的卷积核依次滑过输入数据的局部区域计算得到对应的局部信息。其中,一维卷积只有一个空间维度,其卷积过程如下:
(1)
1.3 激活函数层
激活函数给神经网络加入了非线性,加入激活函数的非线性模型比线性模型具有更强的表达能力。激活层对输入进行非线性变换,使其具有更好的表达能力。常用的激活函数有tanh、sigmoid、relu等。其中,relu函数由于收敛速度快,且解决了sigmoid中的梯度饱和问题,因而得到了广泛的应用,其数学表示如下:
(2)
当激活函数为relu时,激活后输出为:
a[l]=max(0,WTa[l-1]+b),l=1,2,…,L-1
(3)
式中a[l]为第l层的输出矩阵;L为神经网络总层数(输入层除外)。
1.4 汇合层
卷积层之后一般会伴随着汇合层,汇合层通过降采样操作来减少计算量和网络中参数数量,同时还具有一定的防止过拟合作用。常用的pooling结构有最大值汇合(max-pooling)和平均值汇合(average-pooling),在PQDs识别中,一般采用最大值汇合,表达式如下:
(4)
1.5 全局汇合层
在CNN中一般需要将最后一个卷积层的输出展平(Flatten)后再经过全连接层生成标签。采用全局最大值汇合(Global Max Pooling, GMP)或全局平均值汇合(Global Average Pooling, GAP)来取代展平操作,可以有效减少参数,同时具有防止过拟合的效果。过程如下:
(5)
(6)
其中,Xl,c为输入第c个通道的第l个元素,Yc为输出汇合结果的第c个值。全局最大汇合取每个通道特征元素的最大值,平均汇合则是平均值。
1.6 批归一化层
在深度神经网络训练时,为了克服“退化”问题,总是希望样本的中间特征在区间[0,1]上呈高斯分布,这时可以将样本进行批归一化(BN)处理[24]。BN可以提高训练速度,并减小输入初始值的影响。它可以减少过拟合,而且比Dropout效率更高。BN可被视为训练过程中每一层输入数据的标准化处理,从而确保输入数据保持相同的分布。其数学表达如下:
(7)
(8)
式中yi为批归一化的输出;γ为尺度变换参数;β为平移参数。
1.7 全连接层
全连接层(Fully Connected Layers,FC)可以把所有的特征都“连接”在一起,是在整个CNN中是起到分类作用的模块。
在多分类问题中输出层采用softmax作为激活函数,数学表达为:
(9)
在二分类问题中输出层采用sigmoid作为激活函数,数学表达为:
(10)
2 电能质量多任务学习分类建模
2.1 传统建模方式
国际标准IEEE 1159-2009标准[25]定义的PQDs类型可分为以下四大类:第一类包括电压中断、电压暂降、电压暂升,为短时电压幅值类扰动;第二类包括暂态冲击、暂态振荡、电压切口,为短时非幅值暂态扰动;第三类为闪变扰动;第四类为谐波扰动。在实际的电能质量复合扰动中,每一大类中最多只能有一种单扰动,若最多只考虑三重扰动,则复合扰动一共有55种(包括正常信号)。
传统复合扰动分类建模形式为多标签分类[10]或One-Hot编码多分类[26]。多标签分类将每个单扰动的存在与否用0-1编码,虽然可以表示复合扰动,但是此编码方式把很多实际中不存在的扰动纳入了考虑范围,例如“电压暂升+电压暂降”。多标签分类没考虑到同一大类中的扰动不能同时发生多种,导致网络输出的自由度大于实际情形。One-Hot编码多分类把复合扰动看成一种新的扰动,与其对应的单扰动分割开来,没有考虑到组成复合扰动的单扰动和复合扰动之间的关系,这样可能导致单扰动和复合扰动的区分度下降。综上,这两种建模方式均没有有效体现出电能质量问题中复合扰动和各种单扰动之间的相关性。
2.2 多任务学习
多任务学习(Multi-Task Learning, MTL)是一种基于共享表示(Shared Representation),把多个相关的任务放在一起学习的机器学习模式。现实问题若可以分解成子问题,各种子问题是通过一些共享因素或共享表示联系在一起,如果把子问题都当成独立的单任务处理,则忽略了它们之间的关联信息。多任务学习在这个背景下应运而生,事实上,互相关联的多任务学习比单任务学习具有更好的泛化效果。其与单任务学习的对比如图1,图2所示。
图1 单任务学习
图2 多任务学习
2.3 基于多任务学习的扰动识别编码方案
结合多任务学习的基本原理和电能质量复合扰动识别问题的实际情况,可以构建一个10维向量,具体由对应四个子任务的子向量构成。为了表示第一大类扰动,对应电压电压中断、电压暂降、电压暂升、正常,构建一个四维的One-hot编码向量;同理也构建一个四维的One-hot编码向量对应暂态冲击、暂态振荡、电压切口、正常;第三类扰动为一个二分类问题,对应闪变、正常;第四类扰动也是二分类问题,对应谐波、正常。表1以“暂升+闪变”的二重扰动为例,显示了一种基于多任务学习的编码方案。
表1 二重扰动“暂升+闪变”的标签编码方案
样本通过神经网络映射后输出一个10维预测向量,第一个、第二个子任务均对应4维向量,其中数值最大的标签即为预测标签;第三个、第四个子任务均对应1维向量,仅在预测数值大于0.5时标签存在。
2.4 基于多任务学习的扰动识别损失函数
为了评估基于多任务学习建模的深度学习模型的分类效果,需要构建多任务损失函数。文中采用的策略为对子任务采用对应的交叉熵损失,再加权求和得到总的损失函数。
对于前两个子任务,激活函数采用Softmax函数,使用多分类交叉熵,公式为:
(11)
对应损失函数如下:
L1(θ)=L2(θ)=Lcross_entropy(yi|xi,θ)
(12)
式中xi为第i个样本,yi为第i个样本的标签。
对于后两个子任务,激活函数采用Sigmoid函数,使用二分类交叉熵,公式为:
(13)
对应损失函数如下:
L3(θ)=L4(θ)=Lbinary_cross_entropy(yi|xi,θ)
(14)
则多任务损失函数可以表示为:
(15)
式中wi为第i个任务的权重;Li为第i个任务的损失。
设样本数为N,则样本集上的总损失为:
(16)
3 基于一维卷积神经网络和多任务学习的复合扰动识别(PQCNN)
根据以上CNN的基本原理以及多任务学习的建模思路,本文设计了一个基于多任务学习的一维卷积神经网络(PQCNN)。如图3所示,此结构由输入层、6个Conv1D+BN+ReLU的模块,4个一维Maxpooling层(Maxpooling1D)、一个全局最大值汇合层(GlobalMaxPooling1D)和5个全连接层(Dense)构成。
图3 PQCNN网络结构示意图
需要指出的是,与一般汇合层降维的作用不同,本文所采用的Maxpooling1D步长设置为1,不会使特征降维,而且可以起到汇合特征的作用。
输入信号经过Conv1D+BN+ReLU(卷积层的步长为1)的模块和步长为1的Maxpooling1D层来提取特征。之后卷积层的步长变为2,通过类似模块进一步提取特征和降维。GMP层用来汇合卷积层学习到的特征,其后接着一个全连接层对特征进行合适的变换。最后根据多任务学习的思想,将此全连接层的特征分别映射到对应4个子任务模块上,在结构上反映为4个全连接层。具体结构及参数如表2所示。
表2 PQCNN网络参数
4 仿真实验验证
为验证文中方法在PQDs识别上的有效性,将此结构在深度学习框架Keras上实现和训练。其中,输入信号由Matlab根据仿真数学模型产生,包括信噪比20 dB、30 dB、40 dB、50 dB,以及20 dB~50 dB随机信噪比的信号,55种扰动类型中每种扰动信号数量为1 000个,其中训练集数量为800个,验证集数量为200个。
文中采用Adam优化算法训练此网络。Adam算法计算高效、所需内存少、解决稀疏梯度的问题、适用于非稳态的优化目标。Mini-batch方法的应用可以进一步提高算法的执行速度,这里batch-size取512,epochs(训练次数)取800次。考虑到PQDs的实际情况以及四个子任务识别的难易程度,将前文提出的多任务损失函数中的权重参数分别设置为1.0、5.0、1.5、0.2。
PQCNN在各个信噪比下的实验结果如表3所示。
其中,L表示样本数.由于计算机仿真数据样本有限,当L≥100|Ω|时,仿真的BER值具有参考意义.另外,根据式(14)可以看出,机密信号的BER和Ebw/N0、μs、η有关.在仿真实验中将具体分析这些参数对机密信号解调损失的影响.
表3 PQCNN在不同信噪比上的准确率
由表3可知,提出的基于多任务学习的一维CNN模型在各个信噪比上均有非常良好的效果。除了20 dB以外,PQCNN在各个信噪比下的准确率均达到了99%以上,随机信噪比下准确率也达到了98.85%,表明PQCNN具有很高的识别准确率。
除此之外,PQCNN在不同信噪比下的准确率相差很小,这得益于本文提出的多任务建模方式以及具有聚合特征作用的Maxpooling提高了网络的鲁棒性。下文将通过更多实验来证实这一点。
(1)Maxpooling对比实验。
对比实验设置如下:(a)原结构、(b)不使用Maxpooling、(c)将Maxpooling的步长设置为2。信噪比设置为20 dB~50 dB随机信噪比,实验结果如表4所示。
表4 Maxpooling对比实验
由表4可知,当使用步长为2的Maxpooling时,虽然汇合层起到了降维的效果,但是输出特征图的尺寸过小,使信号的很大部分特征丢失,导致识别准确率明显不如PQCNN。当步长设置为1时,相比不使用Maxpooling,虽然信号长度没有发生变化,但是最大值汇合这个操作有效突显了主要特征,提高了识别的准确率。
(2)多任务、多分类、多标签分类对比实验。
将输出层的多任务分类建模方式分别换为多分类和多标签分类实现,网络其余结构均保持不变,信噪比同样设置为20 dB~50 dB随机信噪比,实验结果如表5所示。
表5 多任务、多分类、多标签分类对比实验
实验结果表明,多任务分类在单扰动和多重扰动的分类效果上均比One-hot多分类和多标签分类要好,这说明多任务分类能更好的体现多重扰动和单扰动间的标签关联性。另外,多任务分类在识别单扰动和多重扰动时准确率之差仅有0.55%,小于多分类的0.72%和多标签分类的1.39%,也体现了多任务建模方式能有效提高系统的鲁棒性。
(3)PQCNN与其他方法对比。
为了更直观的说明文章提出方法的有效性,将文中网络结构与传统方法和已提出的深度学习方法进行对比。其中有文献[21]提出的深度前馈网络(DFN),还有MFCNN、CART算法、随机森林算法(RF),实验结果如表6所示。
表6 PQCNN与其他方法的对比
由实验结果可知,深度学习方法在各个信噪比环境下准确率均比传统方法高,显示出较大的优势。其中,文中提出的PQCNN的准确率较DFN、MFCNN等深度学习方法也有可观的提升。相比后两种方法,PQCNN在各个信噪比条件下均提高了1%以上,且有很好的鲁棒性,具有良好的应用前景。
5 PQDs扰动识别算例
为了更好地说明PQCNN的有效性,使用PQCNN对实际PQDs波形进行识别。数据和波形由基于FPGA的电能质量标准源产生,此信号源以FPGA为平台,主要由数模转换器AD5541A、集成运放芯片PA15FL、电流放大元件OPA549、信号采集芯片AD7606等部件组成。将其中4组扰动信号用于本文实验,波形如图4所示。经PQCNN识别,最终分类得到其对应标签分别为(a)电压暂降、(b)电压中断 、(c)闪变、 (d)电压暂降+谐波。经验证,标签结果与输入信号的扰动类型相同,说明了PQCNN的有效性。
图4 扰动波形
6 结束语
针对传统方法在电能质量扰动识别上面提取特征困难、准确率不高、泛化性能有限,以及多分类和多标签分类建模无法有效体现单扰动和多重扰动标签关联性等问题,文章提出了基于多任务学习和一维卷积神经网络的PQCNN结构:
(1)使用一维卷积神经网络完成了“端到端”识别,无需人工提取特征量,简化了PQDs识别的步骤,增加了系统的泛化能力;
(2)提出了多任务学习这一新的建模方式应用于PQDs识别。将多重扰动和单扰动的标签关联性在网络的输出模块中得到了有效体现,提高了识别的准确率;
(3)设计了基于一维CNN和多任务学习的PQCNN结构,使用了步长为1的Maxpooling操作并合理设计了网络其他各个模块,使得模型在各个信噪比上均具有良好的识别效果。
综上,根据理论分析、仿真实验以及扰动识别算例的结果,证明了文中提出的PQCNN具有良好的识别效果以及广阔的应用前景。