1.本发明属于压缩机故障诊断领域,更具体地,涉及一种基于深度强化学习的压缩机故障诊断方法。
背景技术:2.压缩机是中央空调系统的中至关重要的部件。为了应对不同工况下的工作需求,压缩机会采取不同的工作模式运行,并由系统配置的多个的温度、压力传感器监控工作状态。因此,压缩机具有复杂的运行工况,并在运行中产生了大量的运行数据。压缩机故障的发生,不仅会导致冷水机组无法正常工作,令用户的舒适性要求得不到满足,还会严重影响空调系统整体的效率,从而造成严重的能源浪费并缩减空调系统的使用寿命。因此,通过各种检测和诊断手段,及时发现和处理各类压缩机故障,可以避免无谓的停机、检修及能源浪费。针对空调系统中的压缩机的故障进行智能识别,可以达到检测、故障诊断及故障动态预测的目的。
3.目前,已有一定针对压缩机故障方面的研究,并取得了一定研究成果。数据驱动方面,在压缩机故障诊断中常常采用ann、svm、聚类等方法进行故障模式分类,然而这种方法需要一定的先验知识,尤其集中在特征选取和模型参数选取上。
4.发明专利文献cn201910100466.1建立了一种基于xgboost特征提取的压缩机故障诊断方法,此方法可以挖掘出故障数据中隐含的故障特征信息并对其进行重要度排序来作为故障定位与检测的依据,从而实现实现压缩机多故障模式的预测诊断,但是此种方法需要进行数据预处理,并且不同故障所采集和进行重要度排序的变量信息不固定,导致故障诊断模型的特征变量种类有波动,实时更新模型的成本也较高。
5.发明专利文献cn201910981586.7建立了一种基于大数据的压缩机故障诊断方法,此发明通专家经验对压缩机的各个故障模式进行故障识别,并且由识别结果建立了故障数据库以用于推导贝叶斯网络模型中每种压缩机故障的发生概率,对超过指定阈值的故障模式进行报警警告,从而达到故障诊断的效果。这种方法对专家经验依赖性较大且数据收集成本较大,需要大量的故障数据的积累才能建立可以用于推导故障发生概率的贝叶斯网络模型,如果故障数据库中还没有收集足够多的某故障数据,此故障的诊断精度会较低。
6.总体而言,现有的压缩机故障诊断方法,存在对专家经验和先验知识的依赖,故障诊断结果的精度和稳定性得不到保证。
技术实现要素:7.针对现有技术的缺陷和改进需求,本发明提供了一种基于深度强化学习的压缩机故障诊断方法,其目的在于,减少压缩机故障诊断中对专家经验和先验知识的依赖,提高压缩机故障诊断结果的精度和稳定性。
8.为实现上述目的,按照本发明的一个方面,提供了一种基于深度强化学习的压缩机故障诊断方法,包括:
9.采集压缩机的实时运行数据,输入至已训练好的特征提取模型,以提取实时运行数据的特征;特征提取模型用于以无监督的方式提取输入数据的特征,该特征用于表征在对应的运行数据下,压缩机处于各故障类型的概率;
10.将实时运行数据的特征输入至已训练好的故障诊断模型,故障诊断模型为深度强化学习模型,用于以输入的特征为状态,预测在该状态下能够得到最大奖励值时所采取的动作,并获得与该动作相对应的故障类型作为压缩机的故障诊断结果;在给定状态下,深度强化学习模型的一个动作用于预测压缩机在给定状态处于某一种故障状态。
11.本发明利用特征提取模型以无监督的方式自动提取输入数据的特征,不依赖于先验经验,在不同工况和压缩机不同运行状态下,特征变量种类固定,也不需要进行数据预处理,能够有效减少数据预处理和实时更新模型的成本。深度强化学习(deep reinforcement learning,drl)涉及强化学习和深度学习的组合,这种组合使人工代理可以直接从原始数据中学习其知识和经验;深度学习使代理能够感知环境,而强化学习使代理能够学习解决现实问题的最佳策略;利用drl算法,代理可以自行学习获得成功的策略,直接从原始输入数据中获得最高的长期回报,而无需任何人工设计的功能或域启发式方法,其代表性成就为alphago。由于压缩机运行工况复杂,运行数据量大,由drl算法产生的原始q表很难在实际的故障诊断中产生作用,本发明利用特征提取模型自动提取的特征能够保证在对应的运行数据下,压缩机处于各故障类型的概率,由此能够直接将压缩机的运行数据映射到q表,利用drl算法实现压缩机的故障诊断成为可能。因此,本发明在利用特征提取模型自动提取出运行数据的特征的基础上,利用深度强化学习模型作为故障诊断模型进行故障诊断,能够自动挖掘运行数据与压缩机状态之间的非线性映射关系,显著减少对专家经验和用于开发故障诊断模型的先验知识的依赖,并可以不断自学习,有效提高压缩机故障诊断的精度。总体而言,本发明利用特征提取模型以无监督的方式自动提取输入数据的特征,将运行数据映射到深度强化学习模型的q表,并利用深度强化学习模型依据所提取的特征进行压缩及故障诊断,能够有效提高压缩机故障诊断的精度和稳定性。
12.进一步地,特征提取模型为自编码器模型中的编码器。
13.自编码器(auto encoding,ae)模型中包含编码器和解码器,其中的编码器用于对输入的数据进行特征映射,实现特征提取,解码器用于根据所提取的特征进行数据重构,通过训练使解码器输出的重构数据与原始输入数据之间的误差最小化,即可使自编码器模型中的编码器准确提取出输入数据的隐藏特征;本发明以自编码器中的编码器作为特征提取器,能够以无监督方式自动提取输入数据的特征,并且保证提取特征的有效性。
14.进一步地,特征提取模型的训练方法包括:
15.建立自编码器模型,其中的编码器用于提取输入数据的特征,解码器用于根据编码器提取的特征重构数据;
16.获取压缩机在不同故障状态下的历史运行数据,并输入所建立的自编码器模型以对自编码器模型进行训练,在训练过程中,不断调整自编码器模型的参数以使重构误差最小;
17.在自编码器训练结束后,将其中的编码器作为特征提取模块。
18.进一步地,故障诊断模型的训练方法包括如下步骤:
19.(s1)建立深度强化学习模型,并初始化q表,并利用特征提取模块提取历史运行数
据的特征作为训练数据集;
20.q表的行与状态对应,q表的列与动作对应,每个单元格的值是给定状态和动作下奖励总和期望的最大值;
21.(s2)采用ε
‑
greedy策略在当前状态s
t
选择一个动作a
t
,以由环境反馈在状态s
t
下选择动作a
t
的奖励,根据奖励计算得分,并进入下一个状态s
t+1
;
22.动作a
t
对应的故障诊断结果正确时,奖励为正值,动作a
t
对应的故障诊断结果错误时,奖励为负值;得分与所有奖励的累加值正相关;
23.(s3)按照更新q表;
24.(s4)按时序依次将训练数据集中的特征作为当前状态,并执行步骤(s2)~(s3),直至达到最大的迭代次数,以完成一个轮次的迭代训练,输出相应的得分并转入步骤(s5);
25.(s5)重复执行步骤(s4),以进行多个轮次的迭代训练,直至获得最高得分;
26.其中,q
new
(s
t
,a
t
)和q(s
t
,a
t
)分别表示更新前、后q表中状态s
t
和动作a
t
对应的单元格的值,r
t+1
表示在状态s
t
采取动作a
t
的奖励,α表示学习率,表示动作集合,γ表示折扣率,表示状态s
t+1
下采取所有可能动作中的最大奖励。
27.进一步地,得分计算规则为:动作a
t
对应的故障诊断结果正确时,得分加x;动作a
t
对应的故障诊断结果错误时,得分减x;
28.其中,x>0。
29.进一步地,运行数据包括:压缩机吸气温度、压缩机吸气压力、压缩机排气温度、压缩机排气压力、压缩机电流和压缩机频率。
30.压缩机吸气温度、压缩机吸气压力、压缩机排气温度、压缩机排气压力、压缩机电流和压缩机频率是压缩机的核心特征,在不同工况和不同运行状态下,都与压缩机的故障状态紧密关联,本发明以这些数据作为进行故障诊断和模型训练时所依据的运行数据,能够进一步保证压缩机故障诊断结果的准确性。
31.按照本发明的另一个方面,提供了一种计算机可读存储介质,包括存储的计算机程序;计算机程序被处理器执行时,控制计算机可读存储介质所在设备执行本发明提供的基于深度强化学习的压缩机故障诊断方法。
32.总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
33.(1)本发明利用特征提取模型以无监督方式自动提取压缩机实时运行数据的特征,将运行数据映射到深度强化学习模型的q表,并进一步利用深度强化学习模型进行压缩故障诊断,能够自动挖掘运行数据与压缩机状态之间的非线性映射关系,减少对专家经验和用于开发故障诊断模型的先验知识的依赖,有效提高压缩机故障诊断的精度和稳定性。
34.(2)本发明以压缩机吸气温度、压缩机吸气压力、压缩机排气温度、压缩机排气压力、压缩机电流和压缩机频率这些核心特征作为压缩及故障诊断中所依据的运行数据,能够进一步保证压缩机故障诊断结果的准确性。
附图说明
35.图1为本发明实施例提供的基于深度强化学习的压缩机故障诊断方法流程图;
36.图2为本发明实施例提供的压缩机系统示意图;
37.图3为本发明实施例提供的自编码器模型示意图;
38.图4为本发明实施例提供的深度强化学习模型的训练流程图。
具体实施方式
39.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
40.在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
41.为了解决现有的压缩机故障诊断方法因依赖于专家经验和先验知识,故障诊断精度和稳定性得不到保证的技术问题,本发明提供了一种基于深度强化学习的压缩机故障诊断方法,其整体思路在于:利用能够以无监督的方式自动提取特征的特征提取模型提取压缩机实时运行数据的特征,并进一步利用已学习到压缩机运行数据与故障状态之间的非线性关系的深度强化学习模型依据运行数据特征预测压缩机的故障状态及故障类型,以减少对专家经验和用于开发故障诊断模型的先验知识的依赖,有效提高压缩机故障诊断的精度和稳定性。
42.以下为实施例。
43.实施例1:
44.一种基于深度强化学习的压缩机故障诊断方法,如图1所示,包括:
45.采集压缩机的实时运行数据,输入至已训练好的特征提取模型,以提取实时运行数据的特征;特征提取模型用于以无监督的方式提取输入数据的特征,特征用于表征在对应的运行数据下,压缩机处于各故障类型的概率;
46.将实时运行数据的特征输入至已训练好的故障诊断模型,故障诊断模型为深度强化学习模型,用于以输入的特征为状态,预测在该状态下能够得到最大奖励值时所采取的动作,并获得与该动作相对应的故障类型作为压缩机的故障诊断结果;在给定状态下,深度强化学习模型的一个动作用于预测压缩机在给定状态处于某一种故障状态。
47.考虑到压缩机的运行工况复杂,运行数据庞杂,为了保证在不同工况、不同运行状态下,都能准确实现故障诊断,作为一种优选的实施方式,本实施例中,所采集的压缩机的运行数据具体包括:压缩机吸气温度t
suc
、压缩机吸气压力p
suc
、压缩机排气温度t
dis
、压缩机排气压力p
dis
、压缩机电流i
com
和压缩机频率f
com
;在压缩机系统中,以上各参数的产生情况如图2所示,压缩机吸气温度、压缩机吸气压力、压缩机排气温度、压缩机排气压力、压缩机电流和压缩机频率是压缩机的核心特征,在不同工况和不同运行状态下,都与压缩机的故障状态紧密关联,本实施例以这些特定数据作为进行故障诊断和模型训练时所依据的运行数据,能够在各种工况、各种运行状态下都实现准确地故障诊断,并且有效减少了数据量,保证了故障诊断的实时高效。
48.为了有效实现对运行数据特征的自动提取,作为一种优选的实施方式,本实施例中,特征提取模型为自编码器模型中的编码器;
49.自编码器(auto encoding,ae)模型中包含编码器和解码器,编码器和解码器是对称结构,其中的编码器用于对输入的数据进行特征映射,实现特征提取,解码器用于根据所提取的特征进行数据重构,通过训练使解码器输出的重构数据与原始输入数据之间的误差最小化,即可使自编码器模型中的编码器准确提取出输入数据的隐藏特征;本实施例以自编码器中的编码器作为特征提取器,能够以无监督方式自动提取输入数据的特征,并且保证提取特征的有效性;
50.相应地,本实施例中,特征提取模型的训练方法包括如下步骤:
51.(1)建立自编码器模型,其中的编码器用于提取输入数据的特征,解码器用于根据编码器提取的特征重构数据;
52.本实施例所建立的自编码器模型如图3所示,具有四个层,包括一个输入层,训练过的编码器和解码器,一个输出层;输入样本的维数确定输入层的单位数,编码器和解码器的单位数分别为128和32,输出层的单位数取决于深度强化学习模型中q值的维数;编码器中使用的激活函数是relu,反向传播函数是adam;
53.(2)获取压缩机在不同故障状态下的历史运行数据,并输入所建立的自编码器模型以对自编码器模型进行训练,在训练过程中,不断调整自编码器模型的参数以使重构误差最小;
54.获取到压缩机的历史运行数据后,可以将采集的数据表示为向量矩阵x={x1,x2,...,x
n
},其中,x1,x2,...,x
n
表示采集的运行数据,每一条运行数据都包括压缩机吸气温度t
suc
、压缩机吸气压力p
suc
、压缩机排气温度t
dis
、压缩机排气压力p
dis
、压缩机电流i
com
、压缩机频率f
com
;
55.将上述向量矩阵输入到所建立的自编码器模型,作为输入的原始数据,由编码器将原始数据映射到隐藏层,映射得到的特征如下:
56.h=σ
e
(w
e
x+b
e
)
57.其中,σ
e
()是s型函数,x是原始特征集,w
e
是编码器权重参数,b
e
是编码器偏差,h是原始数据在隐含层的映射;
58.由编码器重构数据并输出,重构数据如下:
[0059][0060]
其中,σ
d
()是s型函数,w
d
是解码器的权重参数,b
d
是解码器的偏差,是重构后的数据;
[0061]
训练ae模型,使得重构误差最小,得到对应的w
e
、w
d
、重构误差计算公式如下:
[0062][0063]
其中,为softmax重构误差,x
i
、分别为原始数据和重构后的数据;
[0064]
(3)在自编码器训练结束后,将其中的编码器作为特征提取模块。
[0065]
本实施例中,故障诊断模型的的训练方法,包括:
[0066]
(s1)建立深度强化学习模型,并初始化q表,并利用特征提取模块提取历史运行数据的特征作为训练数据集;
[0067]
q表的行与状态对应,q表的列与动作对应,每个单元格的值是给定状态和动作下
奖励总和期望的最大值;
[0068]
每个状态s
t
下,采取行动a
t
时,相应的q值计算如下:
[0069]
q
π
(s
t
,a
t
)=e[r
t+1
+γr
t+2
+γ2r
t+3
+
…
|s
t
,a
t
]
[0070]
其中,q
π
(s
t
,a
t
)表示在状态s
t
下采取行动a
t
时的q值,r
t
表示每个时间步骤的回报,γ表示折扣率,e[]表示期望;以上计算q的函数即为q函数,q函数将状态和动作作为输入,并返回其预期的未来奖励;
[0071]
(s2)采用ε
‑
greedy策略在当前状态s
t
选择一个动作a
t
,以由环境反馈在状态s
t
下选择动作a
t
的奖励,根据奖励计算得分,并进入下一个状态s
t+1
;
[0072]
动作a
t
对应的故障诊断结果正确时,奖励为正值,动作a
t
对应的故障诊断结果错误时,奖励为负值;得分与所有奖励的累加值正相关;
[0073]
本实施例中,得分计算规则为:动作a
t
对应的故障诊断结果正确时,得分加x;动作a
t
对应的故障诊断结果错误时,得分减x;
[0074]
其中,x>0;为便于计算,本实施例中,x=1,即故障诊断争取时,得分加1,故障诊断错误时,得分减1;
[0075]
(s3)使用bellman方程考虑奖励,动作和状态来更新q表,即按照更新q表;
[0076]
(s4)按时序依次将训练数据集中的特征作为当前状态,并执行步骤(s2)~(s3),直至达到最大的迭代次数,以完成一个轮次的迭代训练,输出相应的得分并转入步骤(s5);其中,深度强化学习模型的一个轮次的迭代训练过程如图4所示;
[0077]
(s5)重复执行步骤(s4),以进行多个轮次的迭代训练,直至获得最高得分;
[0078]
其中,q
new
(s
t
,a
t
)和q(s
t
,a
t
)分别表示更新前、后q表中状态s
t
和动作a
t
对应的单元格的值,r
t+1
表示在状态s
t
采取动作a
t
的奖励,α表示学习率,表示动作集合,γ表示折扣率,表示状态s
t+1
下采取所有可能动作中的最大奖励。
[0079]
在压缩机故障诊断中,常见的故障类型包括压缩机排气温度异常、压缩机排气压力异常、压缩机电流异常、压缩机震动异常、压缩机轴承磨损、压缩机叶片磨损等;本实施例提供的基于深度强化学习的压缩机故障诊断方法具有通用性,能够适应不同压缩机类型、不同传感器下对应的常见故障的诊断。
[0080]
实施例2:
[0081]
一种计算机可读存储介质,包括存储的计算机程序;计算机程序被处理器执行时,控制计算机可读存储介质所在设备执行上述实施例1提供的基于深度强化学习的压缩机故障诊断方法。
[0082]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。