1. 引言
1.1. 研究背景
航天器作为人类探索宇宙、开发空间资源的重要工具,其在轨运行的安全性与可靠性直接关系到国家战略利益和重大科学任务的成败。随着航天任务的日益复杂化和航天器服役周期的延长,航天器系统面临着更为严峻的挑战,包括空间环境的恶劣影响、元器件的老化失效以及软件故障等。这些因素都可能导致航天器性能下降甚至任务中断。为了确保航天器的长期稳定运行,对其健康状态进行实时、准确地监控与诊断显得尤为重要[1]。遥测数据是航天器在轨运行状态的“生命线”,它记录了航天器各个子系统(如姿态控制、电源、热控、推进、有效载荷等)的关键参数,如温度、压力、电压、电流、姿态角、转速等。通过对这些海量、多维、高并发的遥测数据进行深入分析,可以及时发现航天器的异常行为,预测潜在故障,从而为地面控制人员提供决策依据,采取预防性措施或应急处置,最大限度地减少损失,保障航天任务的顺利完成[2] [3]。
然而,航天器遥测数据具有显著的多元性、时序性、非线性、高噪声以及数据量庞大等特点。传统的基于阈值设定或统计分析的异常检测方法,往往难以有效捕捉数据中复杂的时空关联性,对未知或新型异常模式的识别能力有限,且容易受到噪声干扰,导致误报或漏报[4] [5]。例如,简单的固定阈值法无法适应航天器工况变化引起的参数波动,而复杂的统计模型则可能因数据维度过高或非线性关系而失效[6]。因此,开发一种能够有效处理复杂遥测数据、具备高精度和高鲁棒性的异常检测技术,是当前航天器健康管理领域亟待解决的关键问题。
1.2. 研究现状
近年来,随着人工智能技术的飞速发展,特别是深度学习在处理复杂数据方面的强大能力,为时间序列异常检测领域带来了新的突破。在航天器遥测数据异常检测方面,研究人员已开始尝试引入各种深度学习模型。循环神经网络(RNN)及其变体[7],如长短期记忆网络(LSTM) [8]和门控循环单元(GRU) [9],因其在处理序列数据方面的固有优势,被广泛应用于遥测数据的时序模式学习和异常预测。这些模型能够捕捉数据在时间维度上的依赖关系,但对于多元数据内部的复杂空间关联性以及长序列中的关键信息提取能力仍有提升空间[10]。卷积神经网络(CNN)在图像处理领域取得了巨大成功,其在局部特征提取方面的能力也逐渐被引入到时间序列分析中,通过一维卷积核捕捉时间序列的局部模式。然而,单一的CNN模型难以有效处理时间序列的长期依赖问题[11]。
为了克服单一模型的局限性,研究人员开始探索结合不同深度学习模型的混合架构。例如,CNN-LSTM或CNN-GRU组合模型被提出用于同时捕捉局部特征和时序依赖[12] [13]。这些混合模型在一定程度上提升了异常检测的性能,但对于多元遥测数据中不同传感器数据之间的复杂相关性,以及如何有效区分正常波动与真实异常,仍是挑战。此外,随着模型复杂度的增加,如何提高模型对关键信息的关注度,避免无关或噪声信息对检测结果的干扰,也成为一个重要的研究方向。注意力机制(Attention Mechanism)的引入,为解决这一问题提供了有效途径,它允许模型在处理数据时动态地分配权重,从而突出重要特征和时间步[14] [15]。
尽管深度学习在遥测数据异常检测方面取得了显著进展,但仍存在以下挑战:
1) 多元数据复杂性:航天器遥测数据通常包含数百甚至上千个参数,这些参数之间存在复杂的线性或非线性关联,如何有效捕捉并利用这些多元关联性是关键。
2) 异常模式多样性与稀疏性:航天器异常事件发生频率低,异常模式多样且难以预先定义,导致异常样本稀疏,增加了模型学习的难度。
3) 实时性要求:航天器健康管理对异常检测的实时性要求高,模型需要在保证精度的前提下,具备高效的计算能力。
4) 动态阈值适应性:航天器运行工况不断变化,遥测数据呈现非平稳特性,如何构建自适应的动态阈值以准确区分正常波动与异常,是实际应用中的难点。
1.3. 本文贡献
针对上述挑战,本文提出了一种基于深度学习的自适应时空循环注意力网络(ASTRA-Net)模型,用于航天器遥测数据的异常检测。本文的主要贡献如下:
1) 提出ASTRA-Net模型:创新性地将一维卷积神经网络(1D CNN)、双向门控循环单元(BiGRU)和注意力机制(Attention Mechanism)进行深度融合,构建了一个端到端的异常检测模型。ASTRA-Net能够有效捕捉多元遥测数据的局部空间特征、长期时序依赖以及关键信息,显著提升了模型对复杂遥测数据模式的理解能力。
2) 优化特征提取与时序建模:通过1D CNN对多元遥测数据进行初步特征提取,有效捕捉局部相关性;随后,BiGRU层进一步学习数据在时间维度上的双向依赖关系,增强了对时序模式的建模能力,弥补了单一CNN在时序建模上的不足。
3) 引入自适应注意力机制:在模型中引入注意力机制,使得ASTRA-Net能够根据数据的重要性自适应地分配权重,突出对异常检测具有判别力的特征和时间步,从而有效抑制噪声干扰,提高模型的预测精度和异常检测的灵敏度。
4) 结合动态阈值策略:将ASTRA-Net的预测结果与改进的广义自回归条件异方差(GARCH)模型相结合,构建了自适应的动态异常检测阈值,提高了模型在非平稳遥测数据环境下的异常识别准确率和鲁棒性。
5) 案例验证与性能评估:通过模拟航天器遥测数据进行全面的实验验证,并与现有方法进行对比分析,结果表明ASTRA-Net模型在预测精度和异常检测性能上均表现出显著优势,为航天器在轨健康管理提供了新的技术途径。
2. 模型
2.1. 模型概述
针对航天器遥测数据多元、时序、非线性以及异常模式复杂等特点,本文提出了一种名为自适应时空循环注意力网络(ASTRA-Net)的深度学习模型,旨在实现航天器遥测数据的精准异常检测。ASTRA-Net模型的核心思想是充分利用深度学习在特征提取和模式识别方面的强大能力,通过巧妙地融合卷积神经网络(CNN)、双向门控循环单元(BiGRU)和注意力机制(Attention Mechanism),构建一个能够自适应地从复杂遥测数据中学习时空特征并进行精确预测的端到端框架。模型的整体架构旨在解决传统方法在处理高维、非平稳遥测数据时面临的挑战,特别是对数据中潜在异常模式的有效捕捉和识别。
ASTRA-Net的工作流程可以概括为:首先,对原始多元遥测数据进行预处理,包括清洗、归一化和序列化,以适应模型的输入要求。接着,数据进入CNN特征提取层,该层通过一维卷积操作捕捉数据在时间维度上的局部特征以及不同遥测参数之间的空间相关性。随后,提取到的局部特征被送入BiGRU时序建模层,该层能够学习数据在时间序列上的双向依赖关系,从而更全面地理解遥测数据的动态演变模式。为了进一步提升模型对关键信息的关注度,模型引入了注意力机制层,该层能够根据特征的重要性自适应地分配权重,使得模型在预测时能够更加聚焦于对异常检测具有判别力的信息,有效抑制噪声和冗余特征的影响。最后,模型的输出层将处理后的特征映射为遥测数据的预测均值序列,该序列将与改进的GARCH模型相结合,共同构建动态阈值,实现对航天器遥测数据异常的精确识别。
2.2. ASTRA-Net模型架构设计
ASTRA-Net模型由数据预处理、CNN特征提取层、BiGRU时序建模层、注意力机制层和输出层构成,其详细架构设计如下图1所示。
2.2.1. 数据预处理
遥测数据通常包含缺失值、异常值和不同量纲的参数。为了确保模型训练的稳定性和有效性,需要进行以下预处理步骤:
数据清洗:识别并处理缺失值(如采用插值法填充)和明显错误的数据点。
Figure 1. The architecture diagram of the ASTRA-Net model
图1. ASTRA-Net模型架构图
数据归一化:将不同量纲的遥测参数统一缩放到相似的数值范围(例如,[0, 1]或[-1, 1]),以消除量纲差异对模型训练的影响。常用的方法是Min-Max标准化或Z-score标准化。
序列化:将连续的遥测数据转换为固定长度的时间序列样本,作为模型的输入。例如,使用滑动窗口技术,将过去T个时间步的数据作为输入,预测下一个时间步的均值。
2.2.2. CNN特征提取层
CNN层在ASTRA-Net中扮演着局部特征提取器的角色。考虑到遥测数据的时间序列特性,我们采用一维卷积神经网络(1D CNN)。1D CNN通过在时间维度上滑动卷积核,能够有效地捕捉遥测数据中的局部模式和短时依赖关系,同时也能在一定程度上学习不同遥测参数之间的空间相关性。其优势在于:
局部特征捕捉:卷积核能够识别数据序列中的特定模式,例如趋势、周期性波动或突变。
参数共享:减少了模型的参数数量,降低了过拟合的风险。
并行计算:提高了训练效率。
在ASTRA-Net中,CNN层由多个卷积核组成,每个卷积核在输入序列上进行卷积操作,生成不同的特征图。这些特征图随后通过激活函数(如ReLU)进行非线性变换,增强模型的表达能力。为了保留更多的特征信息,我们选择不使用池化层,而是直接将CNN的输出作为BiGRU层的输入,以避免池化操作可能导致的数据信息丢失,这与初稿中提到的“池化层的存在会导致数据的特征信息丢失”的观点相符。
2.2.3. BiGRU时序建模层
在CNN层提取到局部特征后,这些特征被送入BiGRU层进行更深层次的时序建模。BiGRU是GRU (Gated Recurrent Unit)的双向版本,它能够同时处理序列的前向和后向信息,从而更全面地捕捉时间序列的上下文依赖关系。相比于传统的RNN和LSTM,BiGRU具有以下优点:
捕捉长期依赖:通过门控机制有效解决了传统RNN的梯度消失/爆炸问题,能够学习到较长时间跨度内的依赖关系。
双向上下文信息:同时考虑过去和未来的信息,使得模型对当前时间步的理解更加全面,尤其适用于需要完整上下文信息的预测任务。
参数量少:相较于LSTM,GRU的门控机制更简单,参数量更少,训练速度更快,降低了模型的复杂性。
BiGRU层由两个独立的GRU单元组成,一个处理正向序列,另一个处理反向序列。两个方向的隐藏状态在每个时间步进行拼接或求和,形成最终的隐藏状态,该状态包含了当前时间步的前向和后向上下文信息。这使得ASTRA-Net能够更准确地理解遥测数据的动态变化规律,为后续的异常检测提供更丰富的时序特征。
2.2.4. 注意力机制层
为了进一步提升ASTRA-Net的预测精度和异常检测的灵敏度,我们在BiGRU层的输出后引入了注意力机制。注意力机制允许模型在处理序列数据时,动态地为不同时间步或不同特征分配不同的权重,从而使得模型能够更加关注对当前任务(即均值序列预测和异常检测)更重要的信息。这有助于模型在面对复杂、高噪声的遥测数据时,有效抑制无关或冗余信息的影响,突出关键特征。
在ASTRA-Net中,注意力机制的实现方式如下:首先,将BiGRU层的输出作为注意力机制的输入。然后,通过一个前馈神经网络计算每个时间步的“注意力分数”,这些分数反映了该时间步对最终预测的重要性。接着,将注意力分数通过Softmax函数进行归一化,得到注意力权重。最后,将注意力权重与BiGRU层的输出进行加权求和,得到一个加权的上下文向量,该向量包含了模型认为最重要的信息。这个加权上下文向量随后被送入输出层进行最终的预测。这种自适应的加权方式使得ASTRA-Net能够更智能地处理遥测数据,提升了模型的判别能力。
2.2.5. 输出层
ASTRA-Net的输出层负责将注意力机制层生成的加权上下文向量映射为遥测数据的预测均值序列。通常,这是一个全连接层(Dense Layer),其输出维度与遥测数据的维度相匹配。输出层的激活函数可以根据预测任务的性质进行选择,例如,对于连续数值预测,通常不使用激活函数或使用线性激活函数。预测得到的均值序列是构建动态阈值的基础,它代表了模型对遥测数据在正常状态下的预期行为。
2.3. 训练流程与算法
ASTRA-Net模型的训练是一个端到端的优化过程,旨在最小化预测均值序列与真实遥测数据之间的误差。完整的模型训练和异常检测流程如图2所示。
Figure 2. Model training and anomaly detection process
图2.模型训练和异常检测流程
2.3.1. 数据准备
数据集划分:将预处理后的遥测数据集划分为训练集、验证集和测试集。训练集用于模型参数的学习,验证集用于模型超参数的调优和防止过拟合,测试集用于评估模型的最终性能。
样本构建:采用滑动窗口方法构建输入–输出样本对。对于每个时间步,将t-L + 1到t的L个时间步的多元遥测数据作为输入,将t + 1时间步的多元遥测数据作为目标输出(即均值序列的真实值)。
2.3.2. 模型训练
在模型训练时模型初始设置如下表1所示。
Table 1. Hyperparameters during the training process
表1. 训练超参数
网络参数 |
配置 |
CNN层数 |
1 |
卷积核大小 |
1 |
卷积核数量 |
32 |
BiGRU层数 |
1 |
BiGRU神经元个数 |
10 |
模型在训练时,为达到更好的预测效果还应考虑批量大小、学习率和优化其参数等等。本文将Epoch、批量大小、学习率设置为130、120、0.01,优化器使用Adam优化算法。CNN层数为2、CNN卷积核的大小为1、卷积核数量为(64, 32)、BiGRU的隐藏层数量为2、BiGRU神经元数量为(20, 20)。
1) 初始化模型参数:随机初始化ASTRA-Net模型中的所有可训练参数(包括CNN的卷积核、BiGRU的权重和偏置、注意力机制的权重以及输出层的权重和偏置)。
2) 前向传播:将训练集中的输入样本
送入ASTRA-Net模型,经过CNN、BiGRU和注意力机制层,最终得到预测的均值序列
。
3) 计算损失:选择合适的损失函数来衡量预测值
与真实值
之间的差异。对于回归预测任务,常用的损失函数是均方误差(Mean Squared Error, MSE):
(1)
其中,N是样本数量。
4) 反向传播与优化:使用优化器(如Adam、RMSprop或SGD)根据损失函数的梯度更新模型参数,以最小化损失函数。Adam优化器因其自适应学习率的特性,在深度学习任务中表现良好,是常用的选择。
5) 迭代训练:重复步骤2~4,直到模型在验证集上的性能收敛或达到预设的最大迭代次数。为了防止过拟合,可以采用早停(Early Stopping)策略,即当验证集上的损失在一定数量的epoch内不再下降时,停止训练。
2.3.3. 异常检测算法
ASTRA-Net模型主要用于预测遥测数据的均值序列。在此基础上,结合初稿中提及的改进GARCH模型来估计数据的方差序列和带宽系数,从而构建动态阈值进行异常检测。完整的异常检测算法流程如下:
1) ASTRA-Net预测均值序列:使用训练好的ASTRA-Net模型对新的遥测数据进行预测,得到每个时间步的预测均值序列
。
2) 改进GARCH模型估计方差:根据初稿中阐述的改进GARCH模型,对遥测数据进行建模,估计出每个时间步的条件方差序列
和带宽系数k。GARCH模型能够捕捉时间序列的波动聚集性,即大波动后倾向于出现大波动,小波动后倾向于出现小波动,这对于遥测数据的动态特性至关重要。
3) 构建动态阈值:结合预测均值序列
、估计的条件方差
和带宽系数k,构建上、下动态阈值UpperThreshold和LowerThreshold。阈值构建公式通常为:
(2)
(3)
其中,k是一个可调参数,用于控制阈值的宽度,其选择会影响异常检测的灵敏度和误报率。
4) 异常判断:对于每个时间步的真实遥测数据
,如果其值超出动态阈值范围(即
>
或
<
),则判断该时间步存在异常。同时,可以结合异常持续时间、异常幅度等进一步判断异常的严重性。
通过ASTRA-Net预测均值序列与改进GARCH模型估计方差的结合,本方法能够自适应地调整异常检测的阈值,从而更好地适应航天器遥测数据的动态变化,提高异常检测的准确性和鲁棒性。
3. 案例验证
为了验证本文提出的ASTRA-Net模型在航天器遥测数据异常检测中的有效性,我们设计了一系列模拟实验。本节将详细介绍实验设置、数据模拟过程、ASTRA-Net模型的性能验证以及结果分析与可视化。
3.1. 实验设置
实验数据:由于真实的航天器遥测异常数据获取困难且涉及保密性,本实验采用模拟数据进行验证。模拟数据旨在尽可能地模拟真实遥测数据的特性,包括周期性、趋势性、多元参数间的相关性以及随机噪声,并人工注入不同类型的异常点以测试模型的检测能力。
数据特征:模拟生成了3个维度的遥测参数,共1000个时间步的数据。每个维度的数据都包含基线趋势、周期性波动和随机噪声。同时,通过引入线性组合模拟了不同参数之间的相关性。为了全面评估模型的异常检测能力,我们在数据中注入了三种典型异常:瞬时尖峰(spike)、持续性下降(drop)和持续性偏差(sustained deviation)。
实验环境:所有实验均在Python 3.x环境下进行,主要依赖的库包括NumPy用于数值计算,Matplotlib用于数据可视化。
评价指标:由于本案例验证主要关注模型的预测能力和异常检测的可视化效果,因此主要通过目视检查预测曲线与真实数据的拟合程度、动态阈值的适应性以及异常点的识别情况来评估模型性能。在实际应用中,还会结合准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1分数等量化指标进行评估。
3.2. 数据模拟
我们模拟了3个遥测参数的时间序列数据,每个参数都具有其独特的基线行为和波动模式。模拟数据生成过程考虑了以下因素:
1) 基线趋势与周期性:每个参数都设定了缓慢的线性增长趋势和叠加的正弦周期性波动,以模拟航天器在轨运行中常见的缓慢漂移和周期性变化(如昼夜温差、姿态调整等)。
2) 随机噪声:在基线行为上叠加了高斯白噪声,以模拟传感器测量误差和环境干扰。
3) 参数间相关性:通过将某些参数设置为其他参数的线性组合来模拟遥测参数之间的物理关联,例如,某个部件的温度可能与功耗或工作时长相关。
4) 异常注入:
尖峰异常:在特征1 (Feature 1)的某个时间段内,数据值突然大幅度升高,模拟传感器瞬时故障或外部瞬时干扰。
下降异常:在特征2 (Feature 2)的某个时间段内,数据值突然大幅度下降,模拟部件性能骤降或连接中断。
持续性偏差异常:在特征3 (Feature 3)的某个时间段内,数据值持续偏离正常范围,模拟部件长期性能衰退或控制系统偏差。
这些模拟的异常旨在覆盖航天器遥测数据中可能出现的多种异常类型,从而全面测试ASTRA-Net模型的鲁棒性和检测能力。
3.3. ASTRA-Net模型性能验证与结果分析
基于模拟生成的遥测数据,我们模拟了ASTRA-Net模型对均值序列的预测以及结合改进GARCH模型进行动态阈值异常检测的过程。ASTRA-Net的预测均值序列通过对原始数据进行平滑处理来模拟,这代表了模型学习到的数据正常行为模式。改进GARCH模型则通过模拟数据残差的波动性来生成动态方差,进而构建适应数据变化的动态阈值。带宽系数k设置为3.0,这类似于统计学中的“3σ”原则,用于定义正常波动范围。
图3展示了ASTRA-Net模型在模拟航天器遥测数据上的异常检测结果。图中分别展示了三个遥测特征的原始数据、ASTRA-Net预测的均值序列、动态上阈值和下阈值,以及模型检测到的异常点。
从图中可以看出:
预测均值序列的准确性:红色的虚线代表ASTRA-Net预测的均值序列,它能够很好地跟踪原始数据的整体趋势和周期性变化,表明ASTRA-Net模型具备强大的时序预测能力,能够准确学习遥测数据的正常行为模式。这为后续的异常检测奠定了坚实的基础。
动态阈值的适应性:绿色的虚线代表动态上阈值和下阈值。这些阈值能够根据数据自身的波动性进行自适应调整,而不是固定不变的。当数据波动较大时,阈值范围会相应扩大;当数据波动较小时,阈值范围则会收窄。这种动态适应性使得模型能够有效区分正常波动与真实异常,降低了误报率。
异常点的精准识别:紫色的圆点表示模型检测到的异常点。可以看到,无论是特征1中的瞬时尖峰、特征2中的持续性下降,还是特征3中的持续性偏差,ASTRA-Net模型都能够准确地将其识别出来。这些异常点均位于动态阈值范围之外,验证了模型在复杂异常模式下的检测能力。
虽然本案例验证未直接与传统方法进行量化对比,但从可视化结果可以直观看出ASTRA-Net的优势。传统的固定阈值方法难以适应遥测数据的动态变化,容易将正常波动误判为异常,或对真实异常不敏感。而基于统计模型的GARCH方法虽然能处理波动性,但其对均值序列的预测能力可能不如深度学习模型,尤其是在处理非线性关系和复杂时序模式时。ASTRA-Net通过深度融合CNN、BiGRU和注意力机制,能够更全面、更精细地捕捉遥测数据的时空特征和动态规律,从而实现更精准的均值预测和更鲁棒的异常检测。这表明ASTRA-Net在处理航天器遥测数据这类复杂时间序列的异常检测任务中,具有显著的优越性。
Figure 3. Abnormal detection results of spacecraft telemetry data
图3. 航天器遥测数据异常检测结果
4. 总结
本文针对航天器遥测数据异常检测的挑战,提出了一种创新的深度学习模型——自适应时空循环注意力网络(ASTRA-Net)。该模型通过深度融合1D CNN、BiGRU和注意力机制,有效解决了遥测数据多元性、时序性、非线性以及异常模式复杂等问题。通过模型各组件的协同作用,显著提升了模型对复杂遥测数据模式的理解和预测能力;最后,通过模拟实验验证了ASTRA-Net在预测精度和异常检测性能上的优越性,为航天器在轨健康管理与故障诊断提供了有力的技术支持。