长短期记忆网络(LSTM):原理、实现与异常检测应用
1. 循环神经网络(RNN)及其问题
循环神经网络(RNN)旨在模拟时间或序列依赖行为,如语言、股票价格、天气传感器数据等。它通过将时间 T 时神经网络层的输出反馈到时间 T+1 时同一网络层的输入来实现这一目标。
在训练 RNN 时,和其他神经网络一样会使用反向传播算法,但 RNN 存在时间维度。在反向传播中,我们会计算损失相对于每个参数的导数(梯度),然后利用这些信息(损失)将参数向相反方向移动,以最小化损失。由于我们是在时间维度上移动,每个时间步都有一个损失,我们可以将这些损失在时间上求和,得到每个时间步的损失,这等同于在时间上对梯度求和。
然而,由常规神经网络节点构建的 RNN 存在一个问题,即当我们试图对被大量其他值分隔的序列值之间的依赖关系进行建模时,时间步 T 的梯度依赖于 T - 1 的梯度,而 T - 1 的梯度又依赖于 T - 2 的梯度,依此类推。随着时间步的推进,梯度链变得越来越长,最早的梯度贡献会变得越来越小,这就是所谓的梯度消失问题。这意味着早期层的梯度会变得越来越小,因此网络无法学习长期依赖关系,RNN 会因此产生偏差,只能处理短期数据点。
2. 什么是 LSTM
LSTM 网络是一种循环神经网络,它在 RNN 的基础上进行了改进,增加了一个记忆组件,旨在帮助将时间 T 学到的信息传播到未来的 T + 1、T + 2 等时间步。其主要思想是,LSTM 可以忘记先前状态中不相关的部分,同时选择性地更新状态,然后输出与未来相关的部分状态。
LSTM 通过丢弃部分状态、更新部分状态并向前传播部分状态,避免了 RNN 中出现的长反向传播链,从
LSTM原理与异常检测应用
超级会员免费看
订阅专栏 解锁全文
1602

被折叠的 条评论
为什么被折叠?



