刘曦檬,汤占军,李英娜,王金轩,周盛山
(昆明理工大学信息工程与自动化学院,云南 昆明 650504)
随着现有风机塔筒高度不断提升,叶片更易划过低空云层,低温高湿环境导致风机叶片不可避免的发生结冰现象,不仅造成发电量下降、并网不稳定等问题,且从旋转的叶片上脱落的冰块会损毁周围设备,对工作人员产生严重伤害,长期覆盖积冰的叶片会面临折断的风险,给风电场带来巨大的经济损失,对风机叶片状况进行及时准确的诊断就能安全合理调度风机运行,故开展风机叶片结冰诊断模型研究具有重要意义。
国内外学者针对风机叶片结冰问题展开了一系列研究,涂层的被动方法[1]受材料性能影响较大,通常与主动式的方法结合使用;常用的加热除冰[2]一直维持开启耗能较大,与使用风电节能的初衷相悖;超声波的方法[3]需对叶片改造,会增大维护成本;基于风洞试验的研究[4-5]没有考虑气象条件或机械因素,对硬件有较高要求,成本高昂,操作方法具有复杂性;数值模拟的方法[6-7]以冰层产生机理与过程数值作为重点研究对象忽略了风机自身运行数据的特性。SCADA系统在风场中应用广泛,它能够获取风机各部件或子系统大量状态监测数据,因此对风机SCADA系统导出的历史数据使用合适的分析方法[8-10]构建模型,挖掘风机运行过程中各特征变量与叶片发生结冰的内在规律,是目前解决该问题的主体思路。近年来基于深度学习的分析方法逐渐兴起,李大中等[11]提出采用深度全连接神经网络模型,结果该模型较传统机器学习模型具有更高的求取精度和更少的计算量;周广飞[12]沿着发展脉路,分析了传统机器学习模型PSO-SVM、进阶机器学习模型XGBoost和深度学习模型CNN-LSTM在风机叶片结冰诊断问题上的性能与优缺点;刘娟等[13]基于栈式自动编码器建立了风机叶片结冰预测模型,该模型在15号风机上取得了良好的结果,但直接在21号风机上测试时准确率仅有60%;李铭璐[14]考虑到叶片结冰的时序性过程,基于长短期记忆神经网络构建了覆冰检测模型,在相同风机测试集上判断精度高,计算量少,具有一定优势,但在不同风机测试集上的诊断结果却并不理想。这都是由于基于单风机训练的诊断模型忽视了不同风机的特征分布差异,导致在不同风机测试集上泛化能力不足,重新训练模型会浪费大量时间,使深度学习方法在解决该问题的应用中具有局限性,文献[13]提出采用微调的方式解决,但在实际任务中往往面临目标风机无叶片状态标注的情况;文献[14]通过人为分析,选择具有相似分布的特征数据训练模型,完成单风机模型向多风机适用的延伸;孟杭等[15]通过聚类的方法实现不同风机的工况划分,使用具有相似性的历史数据进行模型的训练与测试,从而实现多工况、多模型的迁移。根据文献调研,针对风机叶片结冰诊断问题的迁移研究尚不多见,综上,为提升单风机模型在面向运行数据分布存在差异且无叶片状态标注的不同风机结冰诊断任务时的泛化性,本研究采用迁移学习中的深度域适应方法。目前深度学习背景下针对风机叶片结冰诊断问题的序列建模研究主要以长短时记忆网络为主,本文结合长效记忆能力更佳的时序卷积网络(Temporal Convolutional Networks,TCN)构建风机叶片结冰诊断模型,搭建时序卷积模块从不同编号风机原始数据中进行特征提取,基于对抗学习的域适应框架保证特征的泛化性和可迁移性,并在金风科技提供的15号风机和21号风机运行数据上进行了验证。
1.1.1 数据描述
本文所采用的风力发电机叶片结冰数据来源于2017年工业大数据平台,由金风科技提供的国内某风电场15号和21号水平轴风力发电机SCADA系统数据,采样间隔7~10 s不等,其相关特征参数共28项如表1所示,其中15号风力发电机数据集中包含从2015年11月1日至2016年1月1日期间叶片结冰、正常及异常数据共393 885条,剔除异常数据后共374 082条;21号风力发电机数据集中包含从2015年12月1日至2016年1月1日期间叶片结冰、正常及异常数据共190 492条,剔除异常数据后共179 646条。
表1 风机叶片结冰相关特征参数
1.1.2 不同风机特征数据分布分析
本节对15号风机和21号风机的特征数据分布进行分析,佐证对于风机叶片结冰诊断模型由单风机任务向不同风机任务转化的必要性,15号风机和21号风机运行数据具有相同的特征空间和标签空间,它们的部分特征数据直方及拟合曲线趋势对比如图1所示,叶片1角度、叶片2角度、叶片3角度、叶片1速度、叶片2速度、叶片3速度、风速、发电机转速、对风角、25 秒平均风向角、偏航速度、X方向加速度、Y方向加速度等特征具有相似性;偏航位置、环境温度、网侧有功功率、机舱温度、ng5 1充电器直流电流、ng5 2充电器直流电流、ng5 3充电器直流电流、变桨电机1温度、变桨电机2温度、变桨电机3温度、ng5 1 温度、ng5 2 温度、ng5 3 温度等特征则具有不同程度的差异性。
图1 部分数据特征分布对比
1.2.1 时序卷积网络TCN
时序卷积网络(Temporal Convolutional Network, TCN)于2018年被首次提出,它是卷积神经网络(Convolutional Neural Network, CNN)的一种延伸,TCN与循环神经网络(Recurrent Netural Network,RNN)及其变体家族长短时记忆(Long Short-Term Memory,LSTM)网络等不同,它使用卷积替代了递归,具有较快的训练速度,同时其精度也不输一系列递归结构的网络,在长效历史记忆能力上优势更加明显,TCN包含膨胀因果卷积、残差模块及一维全卷积结构三个部分,结构如图2所示。
图2 时序卷积网络结构图[16]
因果卷积(Causal Convolution)的因果性体现在不涉及未来时刻,即对于当前输出结果yt只和xT及xT以前的输入元素相关,它采用一维卷积,为确保无论过滤器和膨胀基数的设定值为多少,每一个隐含层的输入输出都维持相同时间步。
膨胀因果卷积(Dilated Causal Convolution)在因果卷积的基础上通过空洞来加速提升感受野,使用过滤器f:{0,…,k-1}→R对一维输入序列x∈Rn在具有固定间隙d的单元s上进行卷积操作,其表达式为:
(1)
式中,d代表膨胀基数,随着网络层数的上升而增大,k代表过滤器大小。
TCN以残差网络结构完成膨胀因果卷积层间的连接,采用1×1cov1对x做变换以保证跨层信息传递时和F(x)通道数一致,其函数表达式为:
o=Activation(x+F(x))。
(2)
式中,Activation代表Relu激活函数。
每一个时序残差模块均由两个相同膨胀系数的卷积层和非线性映射Relu构成,通过WeightNorm和Dropout对网络进行正则化,其示意图如图3所示[17]。
图3 时序残差模块结构图
1.2.2 模型的构建与训练
所构建的时序卷积对抗域适应叶片结冰诊断模型主要包括滑窗处理、时序卷积模块特征提取、叶片结冰诊断模块及领域判别模块,算法框架示意图如4所示。
图4 时序卷积对抗域适应算法框架
采用滑动窗口大小为100,滑动步长为1来构造源域与目标域训练序列样本,该训练样本集由两部分组成,分别为带领域标签、叶片状态标签的源域风机序列样本集和只带领域标签的目标域风机序列样本集。
搭建时序卷积网络作为特征提取器Gf,其由数个时序残差模块组成,本节搭建3个时序残差模块,输入通道数根据序列样本的特征维度保持一致,这里输入通道数目为26,卷积核的尺寸取5,各个时序残差模块隐含层通道数分别取8、16和32,膨胀系数分别为1、2和4,结冰诊断模块由2个全连接层和1个Softmax层构成,第1个全连接层输出维度为100,激活函数为Relu,第2个全连接层输出维度为100,激活函数为Relu,Softmax层输出维度为2,领域判别模块结构与结冰诊断模块结构相同。
时序卷积网络特征提取器Gf与领域判别器Gd相连构建对抗域适应网络,将带领域标签、叶片状态标签的源域风机样本和带领域标签的目标域风机样本作为输入,经过时序卷积网络输出共享特征Gf(xi),通过领域判别器Gd得到输出结果向量,并根据域标签计算领域判别器的交叉熵损失,函数表达式为:
Ld(Gd(Gf(xi)),di)=-dilog(Gd(Gf(xi)))-
(1-di)(1-log(Gd(Gf(xi))))。
(3)
式中,di代表样本的域类别。
将带源域标签的特征Gf(xi)从总的特征中分离出来作为结冰诊断器Gy的输入,利用源域风机样本中充足的结冰标注信息来保证所提取特征的域内分辨性,计算分类交叉熵损失,函数表达式为:
Ly(Gy(Gf(xi)),yi)=-yilogGy(Gf(xi))。
(4)
综上,时序卷积对抗域适应的联合损失函数由源域交叉熵损失项和跨域分类正则项共同组成,其表达式为:
(5)
式中,∂代表域正则系数。
Ganin结合梯度反转(Gradient Reversal Layer, GRL)的思想来实现网络前向传播与反向传播[18],构建的伪函数在前向传播过程中输出保持不变,表达式为:
R∂(x)=x。
(6)
在反向传播到特征提取器Gf前自动转为负向梯度,表达式为:
▽R∂(x)=-∂p·▽R∂(x)。
(7)
则新的损失函数可表示为:
(8)
输出训练好的深层时序卷积网络Gf,与训练好的结冰诊断器Gy相连,输入目标域风机无状态标签样本,以输出最大概率对应类别作为诊断结果,进而实现源域有标注的风机叶片结冰数据辅助诊断无标注目标域风机叶片状态。
硬件配置为 Windows 7(64位)操作系统,8 G安装内存,i5-3230M和2.60 GHz主频CPU的计算机,语言环境为Python 3.7.6,使用Pytorch程序包实现,GPU显存16 G,Cuda版本11.0。
对时序卷积对抗域适应(Domain-Adversial Temporal Convolution Network,DATCN)诊断模型训练时,按照比例划分两域的训练数据、验证数据和测试数据,其中21号风机运行数据的划分比例为7∶2∶1,作为目标域;15号风机运行数据的划分比例为8∶1∶1,作为源域;经窗宽为100和步长为1的滑窗处理获得两域训练样本和验证样本,以样本总数小的风机为基准取相同样本数目,实际参与训练的两域样本251 072个,验证样本35 704个。
以准确率指标为依据对各时序卷积模块通道数进行调节,首先根据经验设置两组基本通道数目组合,在此基础上依次以2倍、4倍关系对各通道数目进行调整,并记录结果如表2所示,结果显示各层通道数目分别为8、16和32时效果最佳。
表2 时序卷积通道数参数调节
模型权重参数初始化服从均值为0方差为0.01的高斯分布,采用early stopping的方法以验证集损失确定训练轮次数,epoch最终为24,DATCN模型相关参数具体如表3所示,得到的训练与验证精度如图5所示。
表3 DATCN模型相关参数
图5 DATCN训练与验证精度
为证明所构建模型对风机叶片结冰诊断的有效性,本文设计以下四种诊断模型进行对比实验:方法一基于TCN的诊断模型;方法二基于长短时记忆网络域适配(Long Short-Term Memory Adaption Network,LSTMAN)的诊断模型;方法三基于时序卷积网络域适配(Temporal Convolution Adaption Network,TCNAN)的诊断模型;方法四基于DATCN的诊断模型。其中方法一的TCN诊断模型不进行迁移适配,在15号风机上训练后直接在21号风机上测试,方法二和方法三均为基于最大均值差异MMD的深度域适配模型,特征提取器分别基于LSTM和TCN搭建,方法三的TCN层数与方法四保持一致,绘制几个模型在21号测试集上的ROC曲线对比图,结果如图6—9所示。
图6 DATCN模型ROC曲线结果
图7 TCN模型ROC曲线结果
图8 TCNAN模型ROC曲线结果
图9 LSTMAN模型ROC曲线结果
从图7中可以看出,未进行迁移适配的时序卷积模型在21号风机测试集上的AUC面积是4个模型中最低的,因此基于15号风机训练的时序卷积模型不能够准确的提供21号风机叶片状态诊断结果;从图6、图8和图9可以看出,基于深度域适应的几种迁移方法能够改善对不同风机叶片状态的诊断性能,相较图7,几个模型在21号风机测试集上的AUC面积均有所提升,验证了迁移的有效性,其中基于深度适配的LSTMAN和TCNAN两种模型的AUC面积均低于基于对抗域适应的DATCN模型。
为进一步分析各诊断模型的性能,本文以15号风机和21号风机运行数据分别作为源域和目标域进行了4组试验,以目标域在测试集上的诊断准确率作为评价指标,得到四种模型诊断结果如图10所示。
图10 不同模型迁移结果对比
从准确率评价指标来看,基于TCN的模型由于未进行迁移适配,因此在几组迁移实验中准确率最低为69.9%,这说明基于15号风机运行数据学习的模型不能够很好的适应特征分布存在差异的21号风机运行数据,在21号风机的叶片状态诊断任务中泛化能力较弱;基于LSTMAN和TCNAN的模型诊断准确率分别为78.0%和82.12%,相较未进行适配的TCN模型,TCNAN模型更具适应性,从叶片状态诊断准确率指标上看提升了12.22%,DATCN模型较TCNAN模型提高了7.68%,证明了结合时序卷积和对抗域适应的模型具备更好的迁移能力,更有利于在面向数据分布存在差异且无标注的风机叶片状态诊断问题时进行实际延展。
目前深度学习背景下针对风机叶片结冰诊断问题的序列建模研究主要以长短时记忆网络为主,本文基于长效记忆能力更佳的时序卷积网络构建叶片结冰诊断模型,结合对抗学习的域适应框架以解决单风机模型在面向运行数据分布存在差异且无叶片状态标注的不同风机结冰诊断任务时的局限性,实验结果显示所构建的DATCN模型在21号风机叶片结冰诊断任务上的准确率提高了20%,迁移前后准确率具有一定的提升幅度,可提供一定参考。