一种基于堆叠长短期记忆网络的轴流压气机旋转失速预测方法转让专利

申请号 : CN202111174629.4

文献号 : CN113836817B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙希明弓子勤全福祥李英顺

申请人 : 大连理工大学

摘要 :

本发明提供一种基于堆叠长短期记忆网络的轴流压气机旋转失速预测方法,属于航空发动机建模与仿真技术领域。首先,使用某型航空发动机喘振实验数据,对数据进行挑选以及预处理,将数据划分为训练集和测试集。其次,搭建Stacked LSTM模型并进行训练,利用最终训练好的模型,在测试集上进行实时预测,并给出模型损失及评价指标。最后,采用StackedLSTM预测模型对测试数据进行实时预测,按时间顺序给出喘振概率随时间变化趋势。本发明综合了时域统计特征和变化趋势,提高了预测精度;有利于提高发动机主动控制的性能,具有一定的普适性。

权利要求 :

1.一种基于堆叠长短期记忆网络的轴流压气机旋转失速预测方法,其特征在于,包括以下步骤:S1.对航空发动机喘振数据进行预处理,包括以下步骤:S1.1获取某型号航空发动机喘振实验数据,剔除实验数据中由于传感器故障产生的无效数据;

S1.2对剩余有效数据依次进行采样滤波、归一化、平滑处理;将实验数据划分为测试数据集和训练数据集,并通过时间窗切分训练数据集,将其按比例划分为训练集和验证集;

S2.构建堆叠长短期记忆网络模型,即Stacked LSTM模型,包括以下步骤:S2.1将每个样本维度调整为(n_steps,1),作为Stacked LSTM模型的输入,其中n_steps代表时间步长大小;

S2.2 Stacked LSTM模型是由多个LSTM模块构成,每个LSTM模块包含多个单元状态,上一个LSTM模块学习到输入样本的隐藏的时间模式,输出一个特征序列并传到下一个LSTM模块;

S2.3通过多个LSTM模块对输入样本的学习,将最后一个LSTM模块的输出特征输入到两个全连接层,再采用sigmoid激活函数计算,得到最终的喘振概率并输出;

S3.Stacked LSTM模型损失函数及评价指标:S3.1针对类别不平衡问题,采用GHM损失函数,具体如下:所述GHM损失函数能够利用梯度协调机制解决正负样本类别不平衡问题与难分样本和易分样本之间类别不平衡问题;

首先通过传统的交叉熵损失函数计算每次迭代时的样本梯度,其中交叉熵损失函数计算公式如下:其中,L(p)表示交叉熵损失;p表示预测概率;y表示样本真实标签;

再对交叉熵损失求偏导,取其绝对值作为梯度模长g,计算方式如下:其中,x是样本的输出,p=sigmoid(x);

其次,定义梯度密度GD(g)来衡量梯度范围内的样本数量,衰减单位区间内数量多的那类样本:其中,δε(gk,g)表示样本1~N中,梯度模长分布在 范围内的样本个数;lε(g)表示 区间的长度;gk表示第k个样本的梯度模长;g表示梯度模长;

然后,定义梯度密度协调参数为:

其中,N表示总样本数量;分母GD(gi)/N是一个归一化器,表示梯度模长在gi邻域的样本个数占样本总数的比例;如果样本在梯度方面均匀分布,则任意GD(gi)=N,并且每个样本具有相同的βi=1,否则,梯度密度大的样本的权重会被降低,密度小的样本的权重会增加;

最后,将GHM损失函数嵌入到交叉熵损失函数中,将βi视为第i个样本的损失权重,损失函数的形式为:S3.2基于GHM损失函数,在步骤S1得到的训练集上对Stacked LSTM模型进行权重更新,具体如下:(t)

LSTM输出层的输出h 为:

(t) (o) (t) (o) (t‑1)

O =σ(W x +U h )

(t) (t) (t)

h =O *tanh(c )

(t) (t‑1) (o) (t)

其中,h 表示本单元的输出;h 表示上一个单元的输出;W 表示连接权重;x 表示(t) (o) (t)此刻输入;c 表示此刻的状态值;U 表示连接权值;σ()表示sigmoid激活函数;O 表示单层LSTM的输出门输出;

将LSTM的输出层输出结果输入到两个全连接层,再通过sigmoid激活函数计算得到Stacked LSTM模型的最终输出,生成Stacked LSTM的初步预测模型;

S3.3采用初步预测模型在步骤S1得到的验证集上进行测试,获取评价指标F2,根据F2指标以及ROC曲线调整Stacked LSTM模型参数,以达到更优,保存各项评价指标表现最优的Stacked LSTM预测模型;

S4.采用Stacked LSTM预测模型对测试数据进行实时预测:将预处理后的测试集数据输入到已经训练好的Stacked LSTM模型中进行测试;采用步骤3.3得到的Stacked LSTM预测模型对每个样本的喘振概率逐一进行预测,得到样本的实时喘振概率。

2.根据权利要求1所述的一种基于堆叠长短期记忆网络的轴流压气机旋转失速预测方法,其特征在于,所述步骤S1中,训练集和验证集的比例为4:1。

3.根据权利要求1或2所述的一种基于堆叠长短期记忆网络的轴流压气机旋转失速预测方法,其特征在于,步骤S3.3所述的F2指标为:其中,P为精确率,表示被分为正类的样本中实际为正类的比例: 其中,TP为真正例数,FP为假正例数;R为召回率,表示在所有实际为正类的样本中,被正确地判断为正类的比例: 其中,FN为假负例数;

在所有实际为负例的样本中,被错误地判断为正例的比例为FPR:FPR=FP/(FP+TN)。

说明书 :

一种基于堆叠长短期记忆网络的轴流压气机旋转失速预测

方法

技术领域

[0001] 本发明属于航空发动机建模与仿真技术领域,涉及一种基于堆叠长短期记忆网络的轴流压气机旋转失速预测方法。

背景技术

[0002] 航空发动机被誉为飞机的“心脏”,具有竞争优势的军用飞机和民用飞机都依赖于高性能的航空发动机,压气机是航空发动机的重要部件,它对于航空发动机的稳定性可靠性和安全性有着至关重要的作用,而旋转失速是压气机常见的故障,它是一种不稳定流动现象,是发动机内流的系统性失稳之一,会显著降低航空发动机性能,而且一般认为旋转失速是喘振先兆,由于对旋转失速的控制难度极大,且失稳状态会在瞬间对航空发动机造成严重伤害,因此对旋转失速进行快速准确的预测成为航空发动机领域要迫切解决的难题。随着现代航空发动机的发展,先进发动机追求高推重比,低耗油率,高压比等,导致压气机负荷越来越高,其稳定工作的条件也越来越严苛,导致航空发动机的稳定性问题更加突出。
因此,对压气机旋转失速做出更加快速准确的预测成为目前研究重点,若果可以尽早发现喘振先兆就可以继而调整发动机的工作点就避免其进入喘振状态,这对发动机失稳问题的解决具有重要意义。
[0003] 目前,传统的压气机稳定性检测和判别方法有两种:一种是通过建立模型,当压气机出现喘振先兆时进行相应控制,抑制压气机的扰动继续发生,防止进入喘振状态。第二种是对旋转失速先兆的预测,传统方法是通过喘振频率的分析或小波变换分析,频率分析方法仅能从频域分析信号的频率分布,缺乏对时域的检测,无法确定失速发生的时域信息,小波分析变换则能够在频域的基础上得到信号的时域分布。

发明内容

[0004] 针对现有技术中准确性低,可靠性差的问题,本发明提供一种基于堆叠长短期记忆网络(StackedLSTM,StackedLong Short‑Term Memory)的轴流压气机旋转失速预测方法。
[0005] 本发明采用的技术方案如下:
[0006] 一种基于堆叠长短期记忆网络的轴流压气机旋转失速预测方法,包括以下步骤:
[0007] S1.对航空发动机喘振数据进行预处理,包括以下步骤:
[0008] S1.1获取某型号航空发动机喘振实验数据,剔除实验数据中由于传感器故障产生的无效数据;
[0009] S1.2对剩余有效数据依次进行采样滤波、归一化、平滑处理,使数据分布更加贴合高斯分布;
[0010] S1.3为保证测试结果的客观性,在对实验数据进一步处理前,将实验数据划分为测试数据集和训练数据集;
[0011] S1.4通过时间窗切分训练数据集,并将其按4:1的比例划分为训练集和验证集;
[0012] S2.构建堆叠长短期记忆网络模型,即Stacked LSTM模型,包括以下步骤:
[0013] S2.1将每个样本维度调整为(n_steps,1),作为StackedLSTM模型的输入,其中n_steps代表时间步长大小;
[0014] S2.2Stacked LSTM模型是由多个LSTM模块构成,每个LSTM模块包含多个单元状态,上一个LSTM模块学习到输入样本的隐藏的时间模式,输出一个特征序列并传到下一个LSTM模块;
[0015] S2.3通过多个LSTM模块对输入样本的学习,将最后一个LSTM模块的输出特征输入到两个全连接层,再采用sigmoid激活函数计算,得到最终的喘振概率并输出。
[0016] S3.Stacked LSTM模型损失函数及评价指标:
[0017] S3.1针对类别不平衡问题,采用GHM损失函数(Gradient  Harmonizing Mechanism),具体如下:
[0018] 鉴于传统的交叉熵损失函数无法解决实验数据类别不平衡的问题,本发明选择GHM损失函数。所述GHM损失函数能够利用梯度协调机制解决正负样本类别不平衡问题与难分样本和易分样本之间类别不平衡问题,通过降低大量易分样本和难分样本的权重,使模型不去过多关注易分样本或者难分样本。
[0019] 由于梯度密度是每次迭代计算得到的,损失函数的权重是通过梯度密度计算得到,所以权重是随着训练动态改变的参数,并不依赖实验数据初始设置。
[0020] 首先需要通过传统的交叉熵损失函数计算每次迭代时的样本梯度,其中交叉熵损失函数计算公式如下:
[0021]
[0022] 其中,L(p)表示交叉熵损失;p表示预测概率;y表示样本真实标签;
[0023] 再对交叉熵损失求偏导,取其绝对值作为梯度模长g,计算方式如下:
[0024]
[0025] 其中,x是样本的输出,p=sigmoid(x),难分样本的梯度模长较一般样本来说大很多,即梯度模长g的大小与样本判别的难易程度呈正相关。如果模型被迫去关注难分样本,可能降低模型的准确度;
[0026] 其次,定义梯度密度GD(g)来衡量梯度范围内的样本数量,衰减单位区间内数量多的那类样本:
[0027]
[0028] 其中,δε(gk,g)表示样本1~N中,梯度模长分布在 范围内的样本个数;lε(g)表示 区间的长度;gk表示第k个样本的梯度模长;g表示梯度模长;
[0029] 然后,定义梯度密度协调参数为:
[0030]
[0031] 其中,N表示总样本数量。分母GD(gi)/N是一个归一化器,表示梯度模长在gi邻域的样本个数占样本总数的比例。如果样本在梯度方面均匀分布,则任意GD(gi)=N,并且每个样本具有相同的βi=1,否则,梯度密度大的样本的权重会被降低,密度小的样本的权重会增加。
[0032] 最后,将GHM嵌入到交叉熵损失函数中,将βi视为第i个样本的损失权重,损失函数的形式为:
[0033]
[0034] S3.2基于GHM损失函数,在步骤S1得到的训练集上对Stacked LSTM模型进行权重更新,具体如下:
[0035] LSTM输出层的输出h(t)为:
[0036] O(t)=σ(W(o)x(t)+U(o)h(t‑1))
[0037] h(t)=O(t)*tanh(c(t))
[0038] 其中,h(t)表示本单元的输出;h(t‑1)表示上一个单元的输出;W(o)表示连接权重;x(t)(t) (o) (t)表示此刻输入;c 表示此刻的状态值;U 表示连接权值;σ()表示sigmoid激活函数;O表示单层LSTM的输出门输出。
[0039] 将LSTM的输出层输出结果输入到两个全连接层,再通过sigmoid激活函数计算得到Stacked LSTM模型的最终输出,生成Stacked LSTM的初步预测模型。
[0040] S3.3采用初步预测模型在步骤S1得到的验证集上进行测试,获取评价指标F2,根据F2指标以及ROC曲线调整Stacked LSTM模型参数,以达到更优,保存各项评价指标表现最优的Stacked LSTM预测模型;
[0041] 其中,所述的F2指标为:
[0042]
[0043] 其中,P为精确率(precision),表示被分为正类的样本中实际为正类的比例:其中,TP为真正例数,FP为假正例数,R为召回率(recall),表示在所有实际为正类的样本中,被正确地判断为正类的比例: 其中,FN为假负例数。
[0044] 在所有实际为负例的样本中,被错误地判断为正例的比例为FPR:FPR=FP/(FP+TN)。以FPR为横轴,R为纵轴,得到ROC曲线。所述的ROC曲线越靠近左上角,Stacked LSTM模型的召回率越高,其假正例和假反例总数最少,预测效果越好。
[0045] S4.采用Stacked LSTM预测模型对测试数据进行实时预测:
[0046] S4.1将预处理后的测试集数据输入到已经训练好的StackedLSTM模型中进行测试;
[0047] S4.2采用步骤3.3得到的Stacked LSTM预测模型对每个样本的喘振概率逐一进行预测,得到样本的实时喘振概率。
[0048] 本发明的有益效果为:
[0049] 本发明所提供的预测方法对压气机动态压力变化数据进行时间相关性特征的学习,捕捉其中微小失速先兆信号,计算输出喘振预测概率,并及时给出喘振是否发生的警示信号。与传统方法对比,该预测方法能快速有效的实现对喘振概率的预测,提高了预测稳定性和精确度。该方法可以根据实时输出的喘振概率判断喘振是否发生,及时反馈给发动机控制系统,从而调整发动机运行状态,为压气机主动控制方法争取时间。

附图说明

[0050] 图1为基于堆叠长短期记忆网络的轴流压气机失速喘振预测方法流程图;
[0051] 图2为数据预处理流程图;
[0052] 图3为单层LSTM结构图;
[0053] 图4为StackedLSTM模型结构图;
[0054] 图5为StackedLSTM模型在测试数据上的预测结果图,其中(a)为二级静子尖部动压p2随时间变化图,(b)为StackedLSTM模型给出的喘振预测概率随时间的变化图,(c)为StackedLSTM模型给出的预警信号;

具体实施方式

[0055] 下面结合附图对本发明作进一步说明,本发明依托背景为某型号航空发动机喘振实验数据,基于堆叠长短期记忆网络的轴流压气机旋转失速预测方法流程如图1所示。
[0056] 图2为数据预处理流程图,数据预处理步骤如下:
[0057] S1.对航空发动机喘振数据进行预处理。
[0058] S1.1.获取某型号航空发动机喘振实验数据,剔除实验数据中由于传感器故障产生的无效数据;实验数据共16组,每组实验包含10个测量点所测量的从正常到喘振共10s的动态压力数值,传感器测量频率为6kHz,10个测量点分别位于:进口导向叶片静子尖部、零级静子尖部、一级静子尖部(周向三个)、二级静子尖部、三级静子尖部、四级静子尖部、五级静子尖部、出口壁面;
[0059] S1.2对剩余有效数据依次进行采样滤波、归一化、平滑处理,使数据分布更加贴合高斯分布;
[0060] S1.3为保证测试结果的客观性,在对实验数据进一步处理前,将实验数据划分为测试数据集和训练数据集;
[0061] S1.4通过时间窗切分训练数据集,并将其按4∶1的比例划分为训练集和验证集;
[0062] 图3为单层LSTM的内部结构:LSTM是一种改进之后的循环神经网络,可以解决传统循环神经网络无法处理长期依赖的问题,它是通过遗忘门、输入门、输出门来记住较长的历史信息,避免梯度消失的情况。
[0063] 所述的输入门:决定了当前t时刻网络的输入x(t)有多少保存到单元状态c(t),这部分分为两步。首先,称为“输入门”的sigmoid层决定了我们将更新哪些值:
[0064] i(t)=σ(W(i)x(t)+U(i)h(t‑1))
[0065] 接下来用一个tanh层创建候选向量 该向量将会被加到单元的状态中:
[0066]
[0067] 然后结合这两个向量 来创建更新状态值c(t)。
[0068] 所述的遗忘门:决定了上一时刻的单元状态c(t‑1)有多少保留到当前时刻c(t),它查(t‑1) (t) (t‑1) (t‑1) (t) (t‑1)看h 和x ,并对上一个单元状态c 进行遗忘,将c 更新为f *c :
[0069] f(t)=σ(W(f)x(t)+U(f)h(t‑1))
[0070] 上一刻的控制单元状态c(t‑1)通过遗忘门和输入门的更新形成当前的单元状态c(t):
[0071]
[0072] 所述的输出门:决定当前单元状态c(t)有多少输出到LSTM的当前输出值h(t)[0073] O(t)=σ(W(o)x(t)+U(o)h(t‑1))
[0074] h(t)=O(t)*tanh(c(t))
[0075] 其中,tanh()表示双曲正切激活函数,σ()表示sigmoid激活函数,t代表当前时刻,c表示LSTM单元状态,i表示输入门,f表示遗忘门,o表示输出门,W,U表示权重矩阵。
[0076] S2.构建堆叠长短期记忆网络模型,简化为Stacked LSTM模型,图4为Stacked LSTM模型结构图,构建Stacked LSTM模型的步骤如下:
[0077] S2.1将每个样本维度调整为(n_steps,1),作为StackedLSTM模型的输入,其中n_steps代表时间步长大小;
[0078] S2.2Stacked LSTM模型是由3个LSTM模块构成,每个LSTM模块包含多个单元状态,上一个LSTM模块学习到输入样本的隐藏的时间模式,输出一个特征序列并传到下一个LSTM模块;
[0079] S2.3通过多个LSTM模块对输入样本的学习,将最后一个LSTM模块的输出特征输入到两个全连接层,再采用sigmoid激活函数计算,得到最终的喘振概率并输出。
[0080] S3.Stacked LSTM模型损失函数及评价指标:
[0081] S3.1针对类别不平衡问题,采用GHM损失函数(Gradient  Harmonizing Mechanism),具体如下:
[0082] 鉴于传统的交叉熵损失函数无法解决实验数据类别不平衡的问题,本发明选择GHM损失函数。所述GHM损失函数能够利用梯度协调机制解决正负样本类别不平衡问题与难分样本和易分样本之间类别不平衡问题,通过降低大量易分样本和难分样本的权重,使模型不去过多关注特别易分样本或者特别难分样本。
[0083] 由于梯度密度是每次迭代计算得到的,损失函数的权重是通过梯度密度计算得到,所以权重是随着训练动态改变的参数,并不依赖实验数据初始设置。
[0084] 首先需要通过传统的交叉熵损失函数计算每次迭代时的样本梯度,其中交叉熵损失函数计算公式如下:
[0085]
[0086] 其中,L(p)表示交叉熵损失;p表示预测概率;y表示样本真实标签;
[0087] 再对交叉熵损失求偏导,取其绝对值作为梯度模长g,计算方式如下:
[0088]
[0089] 其中,x是样本的输出,p=sigmoid(x),难分样本的梯度模长较一般样本来说大很多,即梯度模长g的大小与样本判别的难易程度呈正相关。如果模型被迫去关注难分样本,可能降低模型的准确度;
[0090] 其次,定义梯度密度GD(g)来衡量梯度范围内的样本数量,衰减单位区间内数量多的那类样本:
[0091]
[0092] 其中,δε(gk,g)表示样本1~N中,梯度模长分布在 范围内的样本个数;lε(g)表示 区间的长度;gk表示第k个样本的梯度模长;g表示梯度模长;
[0093] 然后,定义梯度密度协调参数为:
[0094]
[0095] 其中,N表示总样本数量。分母GD(gi)/N是一个归一化器,表示梯度模长在gi邻域的样本个数占样本总数的比例。如果样本在梯度方面均匀分布,则任意GD(gi)=N,并且每个样本具有相同的βi=1,否则,梯度密度大的样本的权重会被降低,密度小的样本的权重会增加。
[0096] 最后,将GHM嵌入到交叉熵损失函数中,将βi视为第i个样本的损失权重,损失函数的形式为:
[0097]
[0098] S3.2基于GHM损失函数,在步骤S1得到的训练集上对Stacked LSTM模型进行权重更新,具体如下:
[0099] LSTM输出层的输出h(t)为:
[0100] O(t)=σ(W(o)x(t)+U(o)h(t‑1))
[0101] h(t)=O(t)*tanh(c(t))
[0102] 其中,h(t)表示本单元的输出;h(t‑1)表示上一个单元的输出;W(o)表示连接权重;x(t)(t) (o) (t)表示此刻输入;c 表示此刻的状态值;U 表示连接权值;σ()表示sigmoid激活函数;O表示单层LSTM的输出门输出。
[0103] 将LSTM的输出层输出结果输入到两个全连接层,再通过sigmoid激活函数计算得到Stacked LSTM模型的最终输出,生成Stacked LSTM的初步预测模型。
[0104] S3.3采用初步预测模型在步骤S1得到的验证集上进行测试,获取评价指标F2,根据F2指标以及ROC曲线调整Stacked LSTM模型参数,以达到更优,保存各项评价指标表现最优的Stacked LSTM预测模型;
[0105] 其中,所述的F2指标为:
[0106]
[0107] 其中,P为精确率(precision),表示被分为正类的样本中实际为正类的比例:其中,TP为真正例数,FP为假正例数,R为召回率(recall),表示在所有实际为正类的样本中,被正确地判断为正类的比例: 其中,FN为假负例数。
[0108] 在所有实际为负例的样本中,被错误地判断为正例的比例为FPR:FPR=FP/(FP+TN)。以FPR为横轴,R为纵轴,得到ROC曲线。所述的ROC曲线越靠近左上角,Stacked LSTM模型的召回率越高,其假正例和假反例总数最少,预测效果越好。
[0109] S4.保存使评价指标最优的模型,得到最终的Stacked LSTM预测模型,采用Stacked LSTM预测模型对测试数据进行实时预测;图5为Stacked LSTM模型在测试数据上的预测结果图,其中(a)为二级静子尖部动压p2随时间变化图,(b)为Stacked LSTM模型给出的喘振预测概率随时间的变化图,(c)为Stacked LSTM模型给出的预警信号。在测试数据上进行实时预测的步骤如下:
[0110] S4.1.将预处理后的测试集数据输入到已经训练好的StackedLSTM模型中;测试数据为二级静子尖部位置的动态压力数据,从图(a)中可以看出,7.479s开始出现了一个向下发展的突尖,处于失速初始扰动阶段,随着失速扰动的发展,在7.816s开始有剧烈的波动,彻底发展为失速喘振。
[0111] S4.2.按时间顺序,用Stacked LSTM预测模型给出每个样本的喘振预测概率,观察图(b),可以看到在初始扰动阶段喘振概率迅速上升,超过阈值后给出预警信号,喘振发生时概率提升至100%。因此Stacked LSTM预测模型可以及时对初始扰动阶段的微小变化做出反应,并根据扰动的发展调整喘振概率值。
[0112] 以上所述实施例仅表达本发明的实施方式,但并不能因此而理解为对本发明专利的范围的限制,应当指出,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。