序列模型汇总__长短期记忆网络(LSTM)(二)

简介
LSTM是一种时间递归神经网络,是RNN的一个变种,非常适合处理和预测时间序列中间隔和延迟非常长的事件。假设我们去试着预测‘I grew up in France…(很长间隔)…I speak fluent French’最后的单词,当前的信息建议下一个此可能是一种语言的名字,但是要准确预测出‘French’我们就需要前面的离当前位置较远的‘France’作为上下文,当这个间隔比较大的时候RNN就会难以处理,而LSTM则没有这个问题。

一、思路:
原始 RNN 的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。再增加一个状态,即c,让它来保存长期的状态,称为单元状态(cell state)。
在这里插入图片描述
把上图按照时间维度展开:
在这里插入图片描述
在 t 时刻,LSTM的输入有三个:当前时刻网络的输入值Xt,上一时刻LSTM的输出值ht-1,以及上一时刻的单元状态ct-1。
而它的输出有两个:当前时刻LSTM输出值 ht、和当前时刻的单元状态ct。 ps: x 、h、 c都是向量。
LSTM的关键:就是怎样控制长期状态c ?
在这里,LSTM的思路是使用三个门控开关。
第一个开关,负责控制继续保存长期状态c;
第二个开关,负责控制把即时状态输入到长期状态c;
第三个开关,负责控制是否把长期状态c作为当前的LSTM的输出。
三个开关的作用如下图所示:
在这里插入图片描述
如何在算法中实现这三个开关?
方法:用 门(gate)
定义:gate 实际上就是一层全连接层,输入是一个向量,输出是一个 0到1 之间的实数向量。
公式为:
在这里插入图片描述
原理:门的输出是 0到1 之间的实数向量,当门输出为 0 时,任何向量与之相乘都会得到 0 向量,这就相当于什么都不能通过;
输出为 1 时,任何向量与之相乘都不会有任何改变,这就相当于什么都可以通过。
在这里插入图片描述

二、LSTM 的前向计算:
1.遗忘门的计算:
在这里插入图片描述
计算公式中:Wf 是遗忘门的权重矩阵,[ht-1, xt] 表示把两个向量连接成一个更长的向量,bf 是遗忘门的偏置项,σ 是 sigmoid 函数。

2.输入门的计算:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当前时刻的单元状态 ct 的计算:由上一次的单元状态 ct-1 按元素乘以遗忘门 ft,再用当前输入的单元状态 ct 按元素乘以输入门 it,再将两个积加和,这样,就可以把当前的记忆 c’t 和长期的记忆 ct-1 组合在一起,形成了新的单元状态 ct。
由于遗忘门的控制,它可以保存很久很久之前的信息,由于输入门的控制,它又可以避免当前无关紧要的内容进入记忆。

3.输出门的计算:
在这里插入图片描述

三、LSTM 的反向传播训练算法:

  1. 前向计算每个神经元的输出值,一共有 5 个变量,计算方法就是前一部分:
    在这里插入图片描述
  2. 反向计算每个神经元的误差项值。与 RNN 一样,LSTM 误差项的反向传播也是包括两个方向:
    一个是沿时间的反向传播,即从当前 t 时刻开始,计算每个时刻的误差项;
    一个是将误差项向上一层传播。
  3. 根据相应的误差项,计算每个权重的梯度。

目标是要学习 8 组参数,如下图所示:
在这里插入图片描述
结论:
此前,我提到人们通过RNN实现了显着的成果。 基本上所有这些都是使用LSTM实现的。 对于大多数任务而言LSTM很有效。

具体代码可参考:
https://zybuluo.com/hanbingtao/note/581764

系列传送门:
序列模型汇总__循环神经网络(RNN)(一)
序列模型汇总__门控循环单元(GRU)(三)

### LSTM神经网络在变压器故障预测中的应用 #### 背景与意义 电力系统中,变压器作为核心设备之一,其运行状态直接影响整个电网的安全性和稳定性。由于工作环境复杂多变,变压器容易发生各种类型的故障。因此,及时准确地检测并预警潜在故障至关重要。 LSTM(Long Short-Term Memory)是一种特殊的循环神经网络结构,能够有效处理长时间序列数据的记忆问题,在时间序列分析方面表现出色。这种特性使得LSTM非常适合用于基于历史监测数据的时间序列建模任务,如变压器健康状况评估和故障诊断。 #### 方法论概述 针对变压器油浸式温度、振动加速度等多源异构传感信号的特点,采用如下技术路线: - **预处理阶段**:收集来自多个传感器的数据流,经过滤波去噪、标准化等一系列操作后形成可用于训练的样本集合。 - **特征提取层**:不同于传统方法直接利用原始物理量作为输入变量的做法,这里先借助短时傅里叶变换将一维信号转化为维频谱图[^1];随后再送入由LeNet-5改进而来的卷积神经网络(CNN),从中自动挖掘出更具区分度的空间模式特征向量表示形式。 - **序列建模模块**:考虑到实际工况下各时刻间存在内在联系的事实,引入双向长短时记忆单元(Bi-directional LSTM Cells)来捕捉前后依赖关系,并最终汇总成全局上下文描述子供后续分类器调用。 - **决策支持环节**:最后一步则是综合考虑多种因素的影响效果,构建多元线性回归方程或者随机森林之类的机器学习算法完成最终的风险等级划分判定过程。 ```python import torch.nn as nn class TransformerFaultPredictionModel(nn.Module): def __init__(self, input_size=64, hidden_dim=128, num_layers=2, output_classes=3): super(TransformerFaultPredictionModel, self).__init__() # 定义Bi-LSTM层 self.lstm = nn.LSTM(input_size=input_size, hidden_size=hidden_dim, num_layers=num_layers, batch_first=True, bidirectional=True) # 输出全连接层 self.fc_out = nn.Linear(hidden_dim * 2, output_classes) def forward(self, x): lstm_output, _ = self.lstm(x) final_hidden_state = lstm_output[:, -1, :] out = self.fc_out(final_hidden_state) return out ``` 上述代码片段展示了一个简单的双向往复型长短期记忆网络架构设计实例,其中`input_size`参数对应于前序CNN模型输出维度大小,而`output_classes`则指定了目标类别数目。 #### 实验验证与性能评价 通过对某地区实际运行中的若干台大型电力变压器实施为期一年以上的在线监控实验测试表明,所提出的方案不仅能够在早期发现异常趋势变化情况,而且相比现有同类产品而言具备更高的准确性率以及更低误报概率水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值