文章目录
Preface
本文采用基于故障描述的属性迁移方法,研究了无训练样本的目标故障类别的故障诊断场景。与传统的诊断范式不同,每个故障提供了包含任意属性的故障描述作为辅助信息。故障描述层嵌入在故障样本层和故障类别层之间。基于故障描述层中的细粒度和类共享属性,可以构建级联诊断系统,将训练故障的属性知识转移到目标故障,进行零样本故障诊断。在基于故障描述的方法中,我们还采用了有监督的主成分分析作为特征提取器,为更有效的学习过程提供了与属性相关的特征。
主要贡献:
- 首次完成并解决了零样本故障诊断任务,即尝试在不需要其样本的情况下诊断目标故障。
- 提出了一种基于故障描述的方法,以故障描述为辅助知识源,实现了训练故障向目标故障的属性迁移,从而进行了零样本诊断。
Problem Formulation
向量空间中的表述
对每种故障进行故障描述,以提供细粒度的类级信息。该描述由任意的属性组成,包括故障的影响、具体的故障位置、故障的原因等。
每个属性在向量空间中都是一个维度,对故障的描述表示为
a
′
∈
R
C
′
a'\in \mathbb{R}^{C'}
a′∈RC′,其中
C
′
C'
C′是属性的数量。
对于
L
L
L类故障,描述矩阵可以记为
A
′
∈
R
L
×
C
′
A'\in \mathbb{R}^{L\times C'}
A′∈RL×C′。
本文采用独热编码技术制作稀疏矩阵
A
∈
R
L
×
C
=
o
n
e
−
h
o
t
(
A
′
)
A\in \mathbb{R}^{L\times C}=one-hot(A')
A∈RL×C=one−hot(A′),其中
C
C
C为独热编码的维数。
A
A
A中的所有元素都是1或0,这表示该属性在某个故障类别的描述中存在或不存在。
零样本故障诊断的公式编制
与迁移学习类似,源域:
S
=
{
s
1
,
.
.
.
,
s
q
}
S=\{s_1,...,s_q\}
S={s1,...,sq},其中
q
q
q为已知类别数,目标域:
T
=
{
t
1
,
.
.
.
t
p
}
T=\{t_1,...t_p\}
T={t1,...tp},其中
p
p
p为未知类别数。目标域没有训练数据,并且
T
∩
S
=
∅
T\cap S=\varnothing
T∩S=∅。
S
S
S中的样本记为:
S
=
{
X
S
∈
R
N
S
×
D
,
Y
∈
R
N
S
}
\mathscr{S}=\{X_S\in \mathbb{R}^{N_S\times D},Y\in \mathbb{R}^{N_S}\}
S={XS∈RNS×D,Y∈RNS},
N
S
,
D
N_S,D
NS,D分别是样本数和特征维度。零样本故障诊断学习了从
S
S
S到
T
T
T的
f
f
f映射:
- 这里的
C
L
o
s
s
CLoss
CLoss表示任意的损失函数
进一步的:
- 其中属性描述矩阵
A
=
[
A
S
,
A
T
]
∈
R
L
×
C
,
L
=
p
+
q
A=[A_S,A_T]\in \mathbb{R}^{L\times C},L=p+q
A=[AS,AT]∈RL×C,L=p+q
PS: S S S的属性描述矩阵 A S A_S AS和T的 A T A_T AT都可用于模型训练,因为属性描述是类级的,而不是样本级的;是常识,而不是专业的专家知识。
Method
基于故障描述的属性迁移学习
困局:在训练阶段无法获得目标故障的参数向量
α
α
α
基于故障描述的零样本故障诊断任务方法的基本思想如图所示:
- Step 1:特征提取,训练标签 Y S Y_S YS和训练故障描述 A S A_S AS合并成训练属性标签 Z S = [ z 1 S , . . . , z C S ] Z_S=[z_1^S,...,z_C^S] ZS=[z1S,...,zCS],即每个故障样本由 C C C维属性向量描述。对 { X , z i S } ( i = 1 , . . . , C ) \{X,z_i^S\}(i=1,...,C) {X,ziS}(i=1,...,C)进行PCA,提取属性相关特征。训练样本 x x x的特征记为 b b b,变换记为 φ \varphi φ
- Step 2:映射,不是直接学习特征和标签之间的映射,而是在训练阶段的监督方式下为每种属性 a i a_i ai训练一个属性学习器 α i ( i = 1 , . . . , C ) α_i(i = 1,...,C) αi(i=1,...,C)。在测试时,这些属性学习器允许对目标故障的每个测试样本进行预测属性值(1或0)。请注意,只要训练和目标故障的属性在相同的维度中描述,对于更多的属性学习器就不需要额外的训练。
- Step 3:分类,由于目标故障的故障描述已知: A T ∈ R p × C A_T\in \mathbb{R}^{p\times C} AT∈Rp×C,从故障描述到故障类别的推理规则 β β β可以获得并用于测试样本,如最近邻搜索等
从概率论的角度精确描述为:
- Step 1: b = φ ( x ) b=\varphi(x) b=φ(x)
- Step 2: p ( a ∣ b ) = Π i = 1 C p ( a i ∣ b ) , a ∈ R C p(a|b)=\Pi_{i=1}^Cp(a_i|b),a\in \mathbb{R}^C p(a∣b)=Πi=1Cp(ai∣b),a∈RC
- Step 3: a → t a\rightarrow t a→t,第 t t t个类的属性向量 a a a表示为 a t = [ a 1 t , . . . , a C t ] a^t=[a_1^t,...,a_C^t] at=[a1t,...,aCt]
基于贝叶斯规则,该推理表述为:
- [ a = a t ] = 0 ∣ 1 [a=a^t]=0|1 [a=at]=0∣1,由于 A T A_T AT已知,得: p ( a t ∣ t ) = 1 p(a^t|t)=1 p(at∣t)=1
- p ( a t ) = Π i = 1 C p ( a i t ) p(a^t)=\Pi_{i=1}^Cp(a_i^t) p(at)=Πi=1Cp(ait),其中 p ( a i t ) = 1 q Σ j = 1 q a i s j p(a_i^t)=\frac{1}{q}\Sigma_{j=1}^qa_i^{s_j} p(ait)=q1Σj=1qaisj为先验属性知识
测试样本中得到测试故障类别的后验为:
b
=
φ
(
x
)
b=\varphi(x)
b=φ(x),只用最大后验估计得到最佳输出:
- a t j a^{t_j} atj为第 j j j个目标故障类别的故障描述向量, a i t j a_i^{t_j} aitj表示 a t j a^{t_j} atj的第 i i i个元素。
可行性分析
Experiment
提供两个Case,Tennessee–Eastman 过程和真实火电厂过程
Tennessee–Eastman 过程(TEP)
TEP由五个主要子系统组成,包括反应器、冷凝器、汽液分离器、循环压缩机和产品剥离器。
该数据集提供了21种故障,每种故障都由41个测量变量和11个操纵变量进行描述。
每个故障的训练采集了480个样本。
由于后6种故障在数据集中的描述较少,因此本文采用前15种故障来进行零样本故障诊断。
表1介绍了15种故障类别,研究的TEP的15种故障存在差异,其中一些方法的模型训练样本为零
TEP在向量空间中的属性描述的配置,即属性矩阵
A
A
A,如图所示:
具体的属性名称见表2。
每种故障都由20个细粒度的属性来描述。将表II与表I进行比较,可以很容易地从表I的陈述中得出属性描述,根据故障描述,我们在没有样本的情况下对目标故障进行模型训练。
- 特征提取。PCA,对于每个属性,从原始的52个变量中提取20个特征,形成20 × \times × 20=400个特征的数据集
- 属性学习器训练。三种不同的机器学习算法:线性支持向量机(LSVM)、非线性随机森林(RF)和概率朴素贝叶斯(NB)
- 分类。最近邻搜索,欧式距离法
数据集划分:
实验效果:
对比实验:
真实火电厂过程
步骤与Case1相似