2023/10/8周报 LSTM+张量基础

摘要

本周学习了一篇基于LSTM-RNN的锂电池剩余寿命预测技术的文章,使用LSTM-RNN的准确率比SVM提高了很多,然后对张量的一些基础概念进行学习入门,学习张量要多类比微积分的方法。

Abstract

This week, I learned an article about the remaining life prediction technology of lithium battery based on LSTM-RNN. The accuracy of using LSTM-RNN is much higher than that of SVM, and then I learned some basic concepts of tensor. In the process of learning tensors , can compare the calculus method.

文献阅读

题目

A LSTM-RNN method for the lithuim-ion battery remaining useful life prediction

引言

锂电池已广泛应用于消费电子产品,它们的性能会在重复的充电/放电循环中劣化。预测锂电池的剩余寿命可以预测故障,是十分重要的,主要分为基于模型和数据驱动两种方法。
基于模型的方法依赖于电池退化演化的数学模型,主要采用卡尔曼滤波(KF)、粒子滤波(PF)等先进的滤波方法对电池的RUL进行预测。
与基于模型的方法不同,数据驱动方法不需要明确的数学模型来描述电池的退化演变,并且仅依赖于历史退化数据。虽然简单RNN能够将先前的信息与当前的预测联系起来,但缺乏长期依赖性是RNN的弱点。LSTM是专门为解决长期依赖问题而开发的。本文使用LSTM-RNN用于学习容量退化数据的长期依赖性并预测锂离子电池的RUL。采用弹性均方反向传播(RMSprop)方法训练网络。

方法

A. LSTM RNN architecture
LSTM RNN整体架构如下图所示:
在这里插入图片描述

Internal state
Internal state 在这里插入图片描述是LSTM单元的关键,它是每个细胞的核心,被线性激活。内部状态图具有固定单位权的自连通递归边。内部状态可以被认为是已经向其添加信息或已经从其移除信息的载体。这种信息流可以被称为“门”的结构仔细地调节。门是LSTM方法的一个显著特征,能够选择性地决定哪些信息应该通过。门是一个sigmoid S形单元,从当前输入层在这里插入图片描述激活,也从前一个时间步的隐藏层激活。
Forget gate
LSTM RNN的第一步是决定哪些信息将被丢弃。这个决定是由Forget gate 在这里插入图片描述的sigmoid层做出。它接受在这里插入图片描述作为输入,并为内部状态 中的每个状态值输出一个介于0和1之间的数字。1表示完全保留状态值,0表示完全丢弃状态值。遗忘门计算如下:
在这里插入图片描述

Input gate and input node
下一步是决定哪些新信息将存储在内部状态中。该步骤包括两个部分。首先,一个被称为“Input gate” 在这里插入图片描述的sigmoid层决定更新哪些值。然后,一个称为“input node” 在这里插入图片描述的tanh层创建一个新候选状态的向量。计算两个输出的公式如下:
在这里插入图片描述

联立上述(1)-(3)三个式子,组合方程(1)(3)将先前的内部状态在这里插入图片描述更新为当前状态在这里插入图片描述
在这里插入图片描述

Output gate
Output gate 在这里插入图片描述决定输出什么信息。在将内部状态通过双曲正切层后(将值推到-1和1之间),再乘以sigmoid门的输出,计算剩余的状态值:
在这里插入图片描述

其中W和B值分别是层权重和偏置。因此,如果LSTM RNN在早期阶段从输入中检测到关键特征,它很容易在很长一段时间内携带此特征信息,从而学习隐藏的长期依赖关系。

实验过程

RMSprop的网络参数(权重和偏置)的更新如下:
在这里插入图片描述

其中,在这里插入图片描述表示目标函数在时间步长t处关于参数在这里插入图片描述的梯度; 在这里插入图片描述是确定平方梯度的平均水平的系数; 在这里插入图片描述表示学习率; 在这里插入图片描述是避免除以零的平滑项。将在这里插入图片描述设置为0.9,在这里插入图片描述的默认值为0.001。

实验结果

在这里插入图片描述
SVM未能覆盖电池真实的失效循环。比起单纯的SVM,LSTM RNN预测电池寿命时的表现更好。

结论

本文使用LSTM构建数据驱动的电池RUL预测器。此外,还使用RMSprop小批量训练,加快训练的过程。结果表明,该预测器是准确的,RUL预测误差为-6个周期。引入LSTM RNN来预测锂离子电池RUL不仅有助于报告准确的早期故障警告,用于电池的维护或更换目的,而且还为深度学习的应用开发了一个新的领域。未来的工作可以集中在涉及更多在更复杂条件下工作的锂离子电池的退化数据,以进一步在实践中利用LSTM RNN的数据挖掘能力。

张量学习

基于映照的角度引入张量分析,有时提到张量是指张量场:

在这里插入图片描述

张量的定义——多重线性函数

在这里插入图片描述

多重线性:指的是对自变量每个分量的作用都具有线性性。
在这里插入图片描述

接下来以对第i个分量的作用具有线性性为例:
在这里插入图片描述

定义张量的线性空间

在这里插入图片描述
在这里插入图片描述

简单张量(三阶)

在这里插入图片描述

简单张量构造上的性质

在这里插入图片描述

对上述性质的证明(u,v,w的取值任意):
在这里插入图片描述

总结

本周对LSTM RNN进行学习,并对张量的一些基础进行学习,下周将对以上内容进一步完善学习。

### LSTM神经网络结构解析 LSTM(Long Short-Term Memory)是一种特殊的循环神经网络(RNN),能够有效地解决传统RNN在长时间序列中梯度消失和梯度爆炸的问题[^1]。它的核心在于引入了门控机制,允许信息的选择性保留或遗忘。 #### 1. LSTM的基本单元结构 LSTM的核心是由多个门控单元组成的细胞状态(Cell State)。这些门控单元包括输入门(Input Gate)、遗忘门(Forget Gate)和输出门(Output Gate)。以下是各部分的功能描述: - **遗忘门**:决定哪些信息需要被丢弃。它通过一个sigmoid层来控制当前时刻的状态是否应该继续保存。 - **输入门**:用于更新细胞状态的信息筛选。由两个部分组成:一个是sigmoid层,另一个是tanh层。Sigmoid层决定了哪些值会被更新,而tanh层创建了一个新的候选向量作为潜在的更新内容。 - **细胞状态**:这是整个LSTM的关键组件,负责存储长期的记忆信息。经过遗忘门和输入门的操作后,细胞状态会得到相应的调整。 - **输出门**:确定最终输出的内容。同样利用sigmoid函数选择输出的部分,并乘以前面计算得出的新细胞状态经tanh激活后的结果。 这种设计使得LSTM能够在不同时间尺度上捕获复杂的模式并维持较长时间的有效记忆[^2]。 #### 2. 结构图示例 为了更直观地理解LSTM的工作流程,下面提供一张典型的LSTM结构图及其解释: ![LSTM Structure](https://miro.medium.com/max/700/1*VXcI6WQ8Kj9zvCmrYqZwGA.png) 在这张图中: - 每个矩形代表一层操作; - 线条表示张量流动方向; - 黄色圆圈标记的是逐元素相加运算; - 蓝色方框则对应不同的变换过程(如线性映射+非线性激活)。 具体来说,在每一个时间步 t 中,给定前一时刻隐藏状态 h(t−1) 和当前输入 x(t),我们依次完成如下几个子步骤: 1. 使用遗忘门 f_t 来判断过去哪些信息应当舍弃掉; 2. 利用输入门 i_t 及候选值 c~_t 更新内部记忆 C_t; 3. 最终借助输出门 o_t 得到本阶段对外界展示的结果 y_t 或者说下一周期初始条件 H_{t}。 #### 3. Python代码实现示意 下面是基于PyTorch框架的一个简单版本的手动构建单层双向LSTM模型的例子: ```python import torch.nn as nn class BiLSTMModel(nn.Module): def __init__(self, input_size, hidden_size, num_layers, output_size): super(BiLSTMModel, self).__init__() # Define the bidirectional LSTM layer self.lstm = nn.LSTM(input_size=input_size, hidden_size=hidden_size, num_layers=num_layers, batch_first=True, bidirectional=True) # Fully connected layer to map from hidden state space to label space self.fc = nn.Linear(hidden_size * 2, output_size) def forward(self, x): lstm_out, _ = self.lstm(x) out = self.fc(lstm_out[:, -1, :]) return out ``` 此段程序定义了一个具有指定参数数量的标准双向往复长短时记亿网路类BiLSTMModel[]^4]^.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值