APP下载

基于多阶段注意力机制的多种导航传感器故障识别研究

2022-01-13王亚朝徐海洋刘建业

自动化学报 2021年12期
关键词:解码器编码器注意力

王亚朝 赵 伟 徐海洋 刘建业

全源导航系统中传感器种类和数量繁多,在进行导航时要使用多个传感器的数据来进行组合导航.如果传感器发生故障,那么将会引起导航解算错误.因此,在进行导航解算前,必须先对传感器进行故障检测.

故障检测方向一直有许多学者研究,主要分为两种方法.一种方法是建立对应的数学模型,根据系统状态量之间的关系来判断传感器是否发生故障.如张绍杰等[1]、Avram 等[2]、汤文涛等[3]、Sadeghzadeh-Nokhod beriz 等[4]都是先建立系统的数学模型,然后对系统的误差特性进行分析,进而实现故障诊断.该方法比较复杂,需要了解系统的工作原理,但实际中许多系统难以抽象出数学模型,因此应用范围比较小.

另一种方法是基于人工智能方法,其采用特征工程与机器学习方法或深度学习进行故障诊断.Yan 等[5]、Swischuk 等[6]和郑晓飞等[7]先采用特征工程进行信息提取,然后采用机器学习方法进行识别;Jing 等[8]和Guo 等[9]采用深度学习的方法对原始数据进行故障检测.一方面特征工程比较复杂;另一方面这些方法都侧重于对单个传感器数据的故障诊断,且难以准确识别出间歇性故障和渐变性故障.

针对以上研究中出现的问题,本文基于导航数据预处理平台[10],提出了一种基于多阶段注意力机制的编码器-解码器(Encoder-decoder)模型算法,该算法可以利用多类传感器数据之间的关系进行传感器的状态互检测,不仅可以准确检测出故障传感器,并且可以检测出其故障类型.

1 问题研究

1.1 问题分析

全源导航系统中有多类型、多数量的传感器,如光纤陀螺、加速度计、GPS 接收机、高度计、磁力罗盘、相机和激光雷达等,每个传感器都会产生出大量的数据,如加速度、相对速度、绝对速度、角速率、位移、经纬度和高度等.

在载体坐标系下,载体的加速度、相对速度、绝对速度、位移、经度、纬度和高度存在着一定的关系.根据组合导航基本原理[11],多数导航系统都是以惯性导航传感器为主,与其余类型传感器组合进行导航.因此,当一个传感器出现故障时,可以利用其余的传感器数据来进行辅助判断.本文的研究目的是根据多个传感器数据的输入进行故障互检测,不仅要检测出故障传感器,也要识别出其故障类型.

1.2 数据说明

对于目标传感器数据的状态,本文利用其余传感器数据来判断其数据是否出错.即对于输入x,要判断这组输入数据的状态:

其中,f(·)是要学习的非线性关系.

传感器数据是时间序列数据,在时间维度上存在相互依赖性,而循环神经网络(Recurrent neural network,RNN)具有记忆性,可以高效地捕捉序列数据在时间上的相互依赖性,进而对序列数据的非线性特征进行学习,因此采用循环神经网络来拟合其非线性关系.

2 基于循环神经网络的故障诊断分析

循环神经网络是一类以序列数据为输入,在序列的演进方向进行递归且所有循环单元按链式连接的递归神经网络.循环神经网络具有记忆性,且可以参数共享和图灵完备,因此能以很高的效率对序列的非线性特征进行学习.

传统的循环神经网络具有长期依赖问题,无法捕捉长时间跨度的非线性关系.长短期记忆网络(Long-short-term memory,LSTM)[12]增加了3 个控制单元来对输入数据进行非线性变换,解决了传统循环神经网络单元会出现的长期依赖问题.

针对本文的多传感器故障诊断任务,其故障类型有间歇型、渐变型和阶跃型三种故障类型.其中间歇型故障没有明确的模式和频率,随机地出现和消失;渐变型故障对数据的影响随着时间推移而增大,在故障早期难以发现.LSTM 单元虽然可以准确地捕捉传感器数据在时间上的相互依赖性,从而判断出数据状态;但由于间歇型和渐变型故障的复杂性,仅仅使用LSTM 单元会造成一定程度的误判.为了解决该问题,本文采用基于注意力机制[13]的编码器-解码器(Encoder-decoder)[14]结构.

一方面,采用注意力机制可以捕捉到输入数据在空间维度和时间维度上的内在关系,从而对输入进行重构,使模型可以更好地学习输入数据之间的相互关系;另一方面,编码器-解码器结构中编码器将输入数据编码成状态向量,解码器将状态向量解码后传输给多层感知机[15]进行分类处理,该结构在产生每一个输出的时候,能够充分利用输入序列携带的信息,可以降低过拟合现象,提高模型的整体性能.

综上分析,对于多传感器故障诊断任务,本文采用基于注意力机制的编码器-解码器结构来实现,该结构以LSTM 为基本单元,采用多阶段的注意力机制来构建数据之间的相互关系,其输出经过多层感知机进行分类,进而判断出传感器的数据状态.

3 多阶段注意力机制研究

对于多传感器故障诊断任务,本文从传感器的空间维度和时间维度来研究.在传感器的空间维度上,每种类型的传感器数据在同一时刻具有相互依赖性;在时间维度上,每一类的传感器数据在不同时间段的数据对其余时间段的数据的状态贡献程度不一样;因此可以从这两个角度来判断传感器的数据状态.本文设计的基于多阶段注意力的编码器-解码器结构如图1 所示.首先,将多传感器的数据传送给局部注意力和全局注意力机制,用于捕捉传感器数据在空间和时间维度上的相互依赖性;然后将数据传输给带有时间注意力机制的编码器-解码器模型,其中编码器-解码器用于对数据进行状态编码和状态解码,时间注意力机制是为了防止编码器-解码器模型的性能会随着输入数据的长度而急剧衰减;将解码后的状态信息传输给多层感知机进行分类,根据分类结果就可以确定出故障传感器和故障类别.

图1 多阶段注意力结构图Fig.1 Multi-stage attention structure

3.1 局部注意力研究

对于所有的传感器数据,每个传感器数据在t时刻的数据不仅与其在 [t,t+T] 时间段的数据具有相关性,且与其余传感器数据在t时刻的数据存在空间相关性.例如t时刻的位移数据与其在[t,t+T]时间段内的数据具有相互依赖性,且与t时刻的速度和加速度数据具有一定的关系.根据该特性,本节从空间维度上出发,通过引入编码器模块中LSTM 单元对应输入的前一个时刻的隐藏态ht-1和细胞态st-1,构建局部注意力机制来捕捉传感器数据序列之间的空间相关性.局部注意力机制的结构如图2 所示.

图2 局部注意力机制Fig.2 Local attention mechanism

如图2 所示,其中和的计算式为

其中,ve∈RT,we∈RT×2H,ue∈RT×T,be∈RT都是待训练的参数,其中H表示LSTM 中的隐藏单元数,ve,we,ue表示对状态量和输入做线性变换,be表示载体对传感器数据状态造成的影响.表示第k个输入特征在t时刻的特征权重,其经过softmax 函数归一化后成为,即所有传感器数据在同一时刻内的权重之和为1.因此,局部注意力机制构建出的新的输入为

3.2 全局注意力研究

当对传感器的数据状态进行判断时,不同时间段内的传感器数据对整体的数据状态贡献是不一样的.例如当判断 [t+3T/4,t+T] 时间段内的数据是否正常时,[t+2T/4,t+3T/4] 时间段内的数据对其贡献程度比较大,而 [t,t+T/4] 之内的数据状态对其贡献相对较小,即每个时间段内的数据对其余时间段内数据状态的贡献程不一样.根据该特性,本节从时间维度出发,通过引入上一个时刻编码器模块中LSTM 单元对应输入的的隐藏态ht-1和细胞态st-1来为每一时刻的输入分配权重.全局注意力机制的结构如图3 所示.

如图3 所示,其中gt和βt的计算式为

图3 全局注意力机制Fig.3 Global attention mechanism

其中,vg∈Rn,wg∈Rn×2H,ug∈R1+T,bg∈Rn×T都是待训练的参数,其中vg,wg,ug表示对状态量和输入做线性变换,bg表示每类传感器数据的误差特性对数据状态的影响.gt表示t时刻输入数据的特征权重,即xt的特征权重,其经过softmax 函数归一化后成为,即所有传感器数据在T时刻内的权重之和为1.因此,全局注意力机制构建出的输入为

对于编码器模块,本文将局部注意力机制和全局注意力机制构建出的输入进行维度拼接后做为其新的输入,即

3.3 时间注意力机制

为了判断传感器数据在T时间段内的数据状态,本文采用解码器模块解码来自编码器模块的编码信息.由于编码器-解码器模型的性能会随着输入数据的长度而急剧衰减,因此需要在解码器模型前引入时间注意力机制[16],使其可以动态地选择编码器模块的相关输出序列并赋予不同的权重,从而对其进行准确的解码.本文的时间注意力机制如图4 所示.

图4 时间注意力机制Fig.4 Time attention mechanism

如图4 所示,和的计算式为

其中,vd∈RH,wd∈RH×2H,ud∈RH×2T都是待训练的参数,是解码器模块的t-1 时刻的隐藏态和细胞态,是编码器模块在t时刻的输出,为t时刻第i个隐藏态其对应的权重.

解码器模型的输入为

当采用解码器模型进行解码后,将其输出传送给多层感知机,对其进行非线性变化,再采用softmax 函数进行分类,根据softmax 输出则可以判断出传感器的数据状态.

4 实验设计

4.1 实验数据

在导航系统中,无论载体是飞机、汽车或者轮船,其传感器数据都具有空间相关性和时间相关性,只是载体运动规律不同,其故障诊断的方法几乎都是一样的.因此,为了验证本文设计的基于多阶段注意力机制的故障诊断算法,实验数据采用对MIT 的开源车载数据[17]进行预处理之后的数据,即对其开源车载数据注入故障.该开源数据由一辆装配多种导航传感器的汽车在城市进行采集的,并且已经进行了传感器的数据对准.本文选取其中四个传感器的数据,即陀螺仪、加速度计、GPS 接收机和相机,其对应的导航量为三轴角速率、三轴加速度、经度、纬度、高度、速度和双轴光流速度,共12 类传感器数据,且每类传感器的数据个数为221 280.

当传感器发生故障时,一般是由于其温度、工作环境和元器件老化等多种原因造成的,且该故障对传感器数据造成的影响很难用具体的数学模型来描述.与工业系统相似,许多研究学者将其故障模型抽象和理想化为阶跃响应、斜坡响应和加速度响应等数学模型.因此,对于本文研究的3 种传感器故障,即间歇型故障、渐变型故障和阶跃型故障,采用理想化的数学模型,如式(12)~(14)所示.

考虑到各种故障类型的特性,模型中参数的取值如下:其中 0<k1<k2<T,0<k3<T,k1和k3取每类传感器数据在一个时间段T内的均值的0.1 倍,k2取0.1,t1取T/4,t2取T/2,t3取 3T/4.

为了模拟故障的传感器数据,一方面需要对正常的传感器进行数据预处理;另一方面需要列出所有可能的传感器故障组合.首先,从同一时间段内传感器故障数量的角度上将传感器的故障类型分为两大类,即单故障和多故障.单故障是指同一时间段内只有一个传感器数据发生故障,多故障是指同一时间段内有多个传感器数据发生故障.

对于单故障类型的数据,对每类传感器数据在不同时刻分别添加这3 种故障,即在一个时间段内,只有一个传感器发生故障,且为3 种故障中的一种,则预处理的传感器数据如图5 所示.

对于多故障数据,由于传感器的故障类型有3 种,传感器数据有12 种,若使多个传感器发生不同类型的故障,对其进行一一列举,则整体传感器的数据状态会达到上百种,会对训练网络带来一定的难度,主要体现在实验平台的计算力上.因此,为了避免过多的传感器数据状态对训练网络带来的困难,本文设多故障数据中传感器的故障数量为3,其故障类型为间歇性、渐变性和阶跃性故障,则多故障数据如图6 所示.

如图5 和图6 所示,输入x=(x1,x2,···,xn)T=(x1,x2,···,xT)∈Rn×T共有47 种数据状态,即46种故障状态和1 种正常状态.本文根据时间窗口T的大小,将预处理的数据集按照8 :1 :1 分为训练集、验证集和测试集,每个数据集中每种状态的数据个数应基本相等,其中训练集和验证集用来训练和验证模型,测试集用来评估最终的模型性能.

图5 传感器数据状态图Fig.5 Status of sensor data

图6 传感器数据状态图Fig.6 Status of sensor data

4.2 参数确定

本文中有多个参数需要确定.对于数据集的时间窗口T,设其区间设置为T={64,96,128,144,168,196};对于编码器和解码器模块中的LSTM 单元,设其数目相同且将其范围设置为H={64,96,128,192,256};对于多层感知机,设其每层隐藏单元数相等且设范围为h={3,5,7,9}.此外,采用多层LSTM 单元来增强模型的性能,设其层数为q.最后,经过网格搜索调参,本文选取T=144,H=128,h=7,q=2.

对模型进行训练时,本文采用Adam 优化器,初始学习率为0.001,每训练1 200 步学习率减小为原来的0.8,Dropout 取0.7,批大小选择128,训练20 个Epochs,采用交叉熵作为损失函数.

4.3 实验对比

此处将本文设计出来的多阶段注意力机制故障诊断算法称为FDRNN (Fault diagnosis recurrent neural network).为了验证多阶段注意力机制对故障识别准确率的提升,本文对FDRNN 的子模型进行如下定义:

FDRNN-N1:表示无局部注意力机制的网络;

FDRNN-N2:表示无全局注意力机制的网络;

FDRNN-N3:表示无时间注意力机制的网络.

对FDRNN 及三个子模型、深度置信网络(Deep belief network,DBN)[7]和深度卷积神经网络(Deep convolutional neural network,DCNN)[8]进行对比实验,结果如表1 所示.

表1 不同模型的实验对比Table 1 Comparison of experimental results of different models

如表1 所示,FDRNN 的准确率可以达到97.5%,召回率可以达到96.6%.当没有局部注意力机制时,其准确率和召回率会出现下降,其主要原因是未将同一时刻不同传感器数据之间的空间相关性结合起来,仅仅依靠单个传感器的数据对其数据状态做出判断,因此准确率比较低.当没有全局注意力机制时,其准确率和召回率也会降低,其原因在进行数据的状态判断时未考虑数据在时间维度上的前后相关性.而当没有时间注意力时,其准确率和召回率也会出现较大程度的下降,关键原因是随着时间步的增长,编码器的特征向量的语义信息会降低且解码器无法动态地从编码器模块中提取有用信息,从而会降低模型的性能.对于DBN 而言,其采用DBN 网络对传感器数据进行在线估计,根据估计值与真实值之间的残差来判断是否故障,其结果很大程度上受残差阈值的影响,且对多传感器故障的在线估计比较差,因此仅有80.5%的准确率和78.9%的召回率.对于DCNN而言,其准确率可达84.7%,召回率可以达到83.6%,其原因是卷积网络中的卷积层和池化层一定程度上可以捕捉到多传感器数据之间的空间相关性和时间相关性,但是其捕捉是基于随机搜索,缺乏指导性,所以其故障识别率相对于有多重注意力机制的编码器-解码器模型较低.因此,针对多传感器故障诊断任务,FDRNN可以准确地识别出故障传感器数据和故障类型.

本文构建出的FDRNN 通过引入多阶段注意力机制将多个传感器数据在空间维度和时间维度之间的相互依赖性联系起来,采用编码器-解码器结构对多传感器数据进行编码和解码,再采用多层感知机进行分类.该结构不仅可以准确识别出故障传感器,并且可以识别出故障类型.

5 结束语

本文提出的基于多阶段注意力机制的编码器-解码器模型在空间维度和时间维度上采用编码器来提取多传感器数据之间的空间相关性和时间相关性,采用带有时间注意力机制的解码器来解码来自编码器的输出,并采用多层感知机来判断时间窗口内数据的状态信息.该方法通过多阶段注意力机制来捕捉多类传感器数据之间的关系,采用多个传感器数据来辅助判断目标传感器,形成多传感器之间的故障互检测,不仅可以准确地检测出故障的传感器数据,并且可以识别出其故障类型.对比实验证明,每阶段注意力机制都对判断数据的状态信息都具有非常重要的作用.因此,针对本文的多传感器故障诊断任务,FDRNN 可以准确地进行故障检测.

猜你喜欢

解码器编码器注意力
让注意力“飞”回来
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于FPGA的同步机轴角编码器
基于双增量码道的绝对式编码器设计
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
JESD204B接口协议中的8B10B编码器设计