曹子涵,周镇新,陈焕新*
(1-华中科技大学中欧清洁与可再生能源学院,湖北武汉 430074;2-华中科技大学能源与动力工程学院,湖北武汉 430074)
随着多联机空调在我国市场占有率的份额越来越高,故障诊断的需求也日益增加。目前采用机器学习和数据挖掘的方法对空调制冷系统故障进行诊断,以提高制冷系统的表现,从而节约能耗并延长系统寿命[1-6]。目前数据挖掘和机器学习的方法已经被广泛应用于制冷系统故障检测领域,ZHAO等[7]对近20年来基于数据驱动的建筑能源系统故障检测与诊断方法进行综述,揭示了该种方法在训练数据中学习模式方面表现的强大能力。包括例如主成分分析法[8]、人工神经网络[9]、支持向量机[10-11]等机器学习的方法也被广泛应用于空调系统故障诊断和能耗预测领域。HU等[12]采用自适应法优化主成分分析,对来自冷水机组的传感器异常进行了检测。FAN等[13]和ZHU等[14]采用小波去噪网络,对来自空气调节机组的传感器信号进行故障判别与诊断。LIU等[15]采用指数加权移动平均优化主成分分析法后,提高了空调系统中制冷剂充泄漏故障的诊断准确率。张善兴等[16]在反向传播神经网络模型的基础上,利用遗传算法优化了变风量空调系统空调箱软硬故障的故障诊断模型。蔡博伟等[17]基于空调焓差实验台的长周期运行状态数据,建立前馈神经网络预测模型,对焓差试验台故障进行了预测。
采用数据挖掘或者机器学习的方法进行故障诊断时,引入多样的丰富的数据,能有效提高模型对于故障的识别能力。进行故障诊断的本质是对数据进行分类,当引入的数据分布不均衡时,少数类本身含有的信息有限,分类器难以学习到少数类的特征,使得少数类数据难以识别;同时两类数据交会的边界处,由于多数类样本会侵扰少数类样本,难以对二者进行有效区分。为了保证总体分类准确度,分类模型会偏向于多数类而忽略少数类[18]。在实际应用中,多联机处于故障状态下运行的数据往往难以获得;实验室条件下人为引入的故障能采集到的故障数据过于单一,且数量有限。于是考虑寻找一种能够扩充丰富种类、数量充足的数据扩增方式,对制冷系统故障状态下的运行数据进行扩增,解决数据不均衡对故障诊断模型带来的影响。
生成对抗网络(Generative Adversarial Nets,GAN)作为一种新的生成算法,能够通过学习目标样本数据的概率分布,从而生成类似真实样本的伪造样本。生成对抗网络不需要计算准确的真实样本分布情况,而是通过比较生成的样本分布和真实的样本分布情况,不断优化生成样本,获得无限逼近真实样本的伪造样本。这种生成方式与传统的生成模型不同,GAN并不仅仅对真实数据分布进行复现,而是通过合理内插和外插数据,尽量模拟出真实数据的分布特征,避免了机器学习过程中,由于训练样本不足而导致的准确率下降,所以适合于解决训练样本缺乏的问题。GAN已被应用于多个领域的生成数据研究中,均取得较好的效果[19-22]。
综上所述,为了解决故障数据不平衡而导致少数类检测率低的问题,本文通过整体类扩充的方式,利用GAN对故障状态下运行的故障样本进行扩充,降低数据的不平衡程度;然后在新的数据集上训练神经网络,建立故障诊断模型。实验结果表明,采用GAN解决数据不平衡问题后,再对诊断模型进行训练,可以明显提升模型诊断准确率。
四通阀是冷暖型空调系统的关键零件,主要用于调节制冷剂在空调系统内的流动方向,在制冷和制热模式下调整蒸发器和冷凝器所承担的任务。四通阀换向的原理是利用主滑阀两侧由于制冷剂的状态不同引起的压力差,推动四通阀进行换向。但是在空调系统实际运行过程中,由于四通阀的各部分长时间分别处于不同温度和压力的工作环境中,主滑阀很容易发生形变;空调系统进行制冷和制热模式的切换时,制冷剂中的杂质很可能影响四通阀的换向动作;如果主滑阀变形、滑道存在杂质、压力不足,四通阀就无法顺利完成换向动作[23],严重影响空调系统的正常工作。在进行该四通阀故障模拟试验时,人为地使四通阀的电机失效,以模拟四通阀运行过程中出现不换向的故障。
本文采用一台额定制冷量为45 kW的多联机系统作为研究对象,实验系统如图1所示,包括1个室外机和5个室内机。多联机上布有多个传感器,分别用来测量各阀门及室内风机进管处压力、阀门温度、阀门开度、压缩机频率和风机频率等参数,共计41项。先在制热工况让多联机系统维持正常运行,并同时采集多联机系统的运行数据,将数据分类为正常。随后,在如图所示位置引入四通阀故障,使换向阀电机失效,模拟四通阀故障,此时采集到的多联机运行数据被分类为故障。
图1 多联机四通阀故障实验系统原理
生成对抗网络GAN是一种生成神经网络模型,其在结构本质上是零和博弈思想的应用,即在一个事件中,一方的收益是另一方的损失,博弈双方的收益和损失总和永远为零[24]。GAN由生成器(G)和鉴别器(D)组成,并通过G和D交替对抗,生成出最具有真实样本分布特征的样本。生成器G是一个不断模拟给定样本的潜在分布,同时模仿并伪造样本的生成器,它通过输入一个随机向量z,生成与真实样本的分布情况尽可能类似的新样本。鉴别器D可以看作一个二分类器,通过对来自生成器的样本分布和真实的样本分进行比较,判别输入数据的真实性。GAN的训练和优化过程如图2所示。
图2 GAN的训练和优化过程
该过程为一个动态的“二元极小极大”博弈过程,G和D在对抗训练过程中不断迭代优化,二者的能力越来越强,当生成器生成的样本足够逼真,鉴别器D不能够区分真实样本和生成样本,即认为来自生成器G的数据真假概率相等时,达到稳态。此时G能够生成接近真实样本分布的伪造样本。其核心思想用数学公式表示为:
GAN生成数据的过程就是D(x)和G(z)交替地最小化和最大化V(D,G),也就是使D(x)无限接近于1,D(G(z))无限接近于0,最终求得近似最优解的生成式模型minG。
2.2.1 数据处理
在四通阀故障实验中,需要对采集到的多联机运行数据进行筛选,剔除存在明显离群值的数据以及存在参数缺失的数据。如果不对数据进行筛选就用于模型训练,可能会造成模型的诊断能力显著下降,甚至造成模型不收敛的情况。同时,在采集到的特征变量中,有许多特征变量是高度线性相关的。如果将所有变量都应用于模型的构建,模型将变得十分复杂,但诊断效果却不一定有明显提升。
所以对数据进行了如下预处理:1)通过对变量进行相关性分析并结合相关专家知识[25],从多联机运行数据采集的特征中筛选出10个特征变量,如表1所示;2)剔除存在明显异常值的数据;3)将数据划分为正常和故障两类。
表1 用于神经网训练的特征变量
2.2.2 神经网络模型
神经网络在故障诊断领域的可行性已经得到了广泛验证。本文构建用于多联机系统四通阀故障诊断的多层前馈式神经网络,由输入层、输出层和中间层构成,上层神经元直接与下一层神经元连接,同层神经元互不连接,也不存在越层连接。神经网络模型结构如图3所示。
图3 神经网络模型结构
训练神经网络本质上是根据训练数据,来调整连接神经元之间权重w以及每个功能神经元阈值b。本模型采用经典的误差逆传播训练方法,训练思路是:假设对于训练数据(x,y),通过首轮训练神经网络输出Y,连接神经元的权重可表达为:w'=w+wa,wa=n(y-Y)X,假如错误,则会在下一轮训练中对wa进行调整;若训练结果正确,则维持该权重w不变。其中n为学习率,决定了神经网络的学习速度。
采用上文选出的10个特征变量作为神经网络建模的特征变量,建立四通阀故障诊断模型。模型的输入层神经元数量为10,对应于建模的10个特征变量;依据经验公式,中间层神经元数量为6;线性输出层神经元数量为2,分别对应多联机运行数据的正常和故障两类数据标签。
2.2.3 数据不平衡状态下的神经网络诊断
为比较引入GAN扩增的故障数据对神经网络模型的诊断能力的影响,建立如图4所示神经网络故障诊断流程。
图4 神经网络故障诊断流程
将多联机故障实验的数据进行预处理,得到正常数据1 000条,故障数据50条,将数据随机打乱后,按照2:1的比例划分为训练集和测试集。使用训练集数据训练构建的神经网络模型,使用未参加训练的测试集数据测试模型的诊断准确率。测试集上得到诊断结果的混淆矩阵表2所示。
表2 未引入扩增数据的诊断结果
测试集上的几何平均诊断准确率为21.12%。从混淆矩阵的结果可知,神经网络对于故障数据的识别效果并不是很理想,诊断错误主要是将故障数据误诊为了正常数据。
为了解决故障数据不足,导致参与神经网络诊断模型训练的故障数据过少的问题,采用GAN网络对故障数据进行扩充,增加故障数据的数量。
对待扩增的故障数据进行归一化,以消除变量间不同量纲的影响,提高GAN生成的稳定性。迭代生成时,将每个特征变量重复20次,取平均值以减小GAN的误差,代次数20 000次。以预处理后得到的50条故障数据为生成模板,再生成950条故障数据。每条故障数据迭代20 000次后loss值如图5所示。生成器和鉴别器的绝大部分loss值极差均在1以内,说明鉴别器和生成器均达到稳态,生成的数据在足够强大的鉴别器看来足够“真实”。
图5 生成器和鉴别器的损失值
为了具体探究数据不平衡对诊断准确率的影响,引入生成数据后,将数据按照正常条数:故障条数分为1 000:50、1 000:250、1 000:500、1 000:750、1 000:1 000这5种情况,划分训练集和测试集后,用同一神经网络进行诊断,诊断结果如表3所示。随着故障数据占比的提升,正确诊断故障数据条数随之增加,总体诊断准确率由92.29%提升至97.00%。
表3 不同数据比例的诊断结果
引入GAN扩增的故障数据前后,神经网络模型的诊断结果如图6所示。
图6 神经网络模型的诊断结果
A、B、C、D和E分别代表正常数据与故障数据比例分别为1 000:50、1 000:250、1 000:500、1 000:750和1 000:1 000。未引入GAN扩增的故障数据,即数据最不平衡的一组,正常数据量为1 000条,故障数据量仅为50条,此时神经网络对于故障数据的诊断能力很差,仅为4.55%。神经网络对于故障数据的诊断准确率不高,易将故障数据诊断为正常数据。这印证了神经网络用于故障诊断时,结果容易偏向数据量大的一侧这一结论。仅从整体准确率来看,准确率仅仅略有提升,这是因为故障数据占比太小,较低的故障数据诊断准确率对整体诊断准确率的影响微乎其微。几何平均准确率可以同时反映出模型在故障数据诊断和正常数据诊断两方面的诊断水平,所以考虑用几何平均准确率衡量模型对于故障数据的诊断性能。随着数据不平衡程度逐渐降低,几何平均准确率由21.12%提升至97.13%。
引入GAN扩增的故障数据,逐步提升故障数据占比直至平衡,模型对故障数据的诊断能力明显提升。故障数据诊断准确率从4.55%提升至95.26%。同时,正常数据的诊断准确率也保持了较高水平。说明采用GAN网络扩增的数据很好模拟出了故障数据的特征,丰富了故障数据的数量和种类,在解决数据不均衡问题方面有很大的潜力。
本文结合生成对抗网络和神经网络提出了一种针对多联机四通阀故障数据的扩充诊断策略。该策略利用生成对抗网络,对多联机四通阀故障状态下的运行数据进行扩增,解决了机器学习过程中,神经网络模型由于数据不均衡和故障数据缺乏引起的诊断准确率下降问题,得到如下结论:
1)在使用神经网络模型对多联机四通阀故障诊断的过程中,数据分布不均衡容易使诊断结果偏向数据量大的一侧,导致神经网络模型对故障数据的诊断准确率下降;
2)采用GAN方法可以有效解决数据不均衡引起的神经网络诊断模型诊断准确率下降的问题。GAN数据扩增方法可以对数据的变量特征进行拟合,生成具有故障数据特征的数据用以训练诊断模型,从而提升模型的诊断准确率;
3)使用GAN生成对抗网络,将故障数据的数量逐步扩增至与正常数据平衡的过程中,神经网络模型的诊断准确率由92.29%提升至97.00%;总体故障诊断正确率提升明显,从4.55%提升至95.26%。说明GAN生成对抗网络在解决数据不均衡的问题方面效果显著。