“利用中间状态知识蒸馏进行电池 EOL 时间序列预测”
非原文翻译,是个人阅读记录。
摘要
这篇论文提出了一种新的知识蒸馏方法,称为中间状态知识蒸馏(Intermediate-State Knowledge Distillation,ISKD),用于时间序列模型的压缩。知识蒸馏是一种训练学生模型的方法,使其能够模仿教师模型的输出。然而,仅使用教师模型的最终输出可能不足以训练学生模型。为此,本文提出了ISKD,通过在时间序列预测中加入模型的中间状态作为知识蒸馏的指导。实验表明,该方法在电池寿命预测任务中,相比传统的知识蒸馏方法,误差降低了最多1.04%,并减少了模型参数数量和延迟。
背景
时间序列预测利用过去的序列数据来预测未来的数值,广泛应用于电池寿命预测等领域。电池的健康状态(State of Health,SoH)和寿命终止点(End of Life,EOL)是关键指标,电池的SoH是指当前最大容量与初始设计最大容量的比值。预测SoH的变化有助于确定电池的EOL和剩余使用寿命(Remaining Useful Life,RUL)。该研究使用NASA AMES提供的电池数据集,基于LSTM模型进行SoH预测,并通过知识蒸馏技术对模型进行压缩。
方法
基线模型
论文使用了三种模型作为基线:
- FLSTM:一个两层的LSTM模型,仅在前向方向上计算。
- BiLSTM:双向LSTM模型,结构与FLSTM相同,但在前向和后向两个方向上计算。
- MBiLSTM:包含MLP层和BiLSTM的组合,类似于用于异常检测任务的VAE-LSTM模型。
所有模型的输入均为包含七个因素(循环、测量电压、测量电流、负载电压、负载电流、时间、SoH)的向量。
中间状态知识蒸馏(ISKD)
ISKD是为了改进传统知识蒸馏在时间序列预测任务中的效果而提出的。传统知识蒸馏主要关注模型最终输出的知识传递,而ISKD进一步利用教师模型中间层的状态信息,帮助学生模型更好地学习教师模型的知识。
1. 中间状态知识蒸馏的核心思想
- 传统知识蒸馏:通常只关注教师模型和学生模型的最终输出,通过最小化两者的差异,使学生模型学习到教师模型的知识。
- 中间状态知识蒸馏(ISKD):不仅考虑模型的最终输出,还引入模型中间层的状态,作为蒸馏过程中要学习的目标。具体来说,学生模型学习教师模型的中间状态(隐藏层状态和细胞状态),从而捕获教师模型中间层提取的特征。
2. ISKD的模型架构
- 模型选择:论文中主要使用了FLSTM、BiLSTM和MBiLSTM三种基线模型。其中,MBiLSTM包含一个多层感知机(MLP)层和双向LSTM层。论文特别关注MBiLSTM的中间状态,将其分为三部分:S1、S2和S3,分别代表LSTM的隐藏状态和细胞状态。
- S1:LSTM第一层的隐藏状态。
- S2:LSTM最后一层的细胞状态。
- S3:模型的最终输出。
3. ISKD的实现
-
损失函数:在ISKD中,损失函数由三部分组成,以确保学生模型学习到教师模型的中间状态和最终输出:
L = α ⋅ M S E ( y t , y s ) + β ⋅ M S E ( y , y s ) + γ ⋅ M S E ( S t , S s ) L = \alpha \cdot MSE(y_t, y_s) + \beta \cdot MSE(y, y_s) + \gamma \cdot MSE(S_t, S_s) L=α⋅MSE(yt,ys)+β⋅MSE(y,y