基于门控的循环神经网络——LSTM长短期记忆网络
输出门的核心作用是从包含所有长期记忆的细胞状态中,挑选出当前任务真正需要的信息,将筛选后的信息封装成隐状态,一方面用于当前时刻的模型输出(如分类结果、预测值),另一方面传递到下一时刻,作为下一时刻计算的历史依据。是 “当前时刻的信息输出窗口”,它既承载了短期关键信息,又负责连接相邻时刻的计算,是模型与外部交互、内部传递信息的核心媒介。是 “新信息的候选容器”,它负责将当前输入与历史短期信息融合,生
长短期记忆网络是循环神经网络的变体,可以有效解决简单循环神经网络的梯度爆炸或梯度消失问题。
LSTM的构成
长短期记忆网络引入了记忆元(memory cell),或简称为单元(cell)。
用来从单元中输出条目的门,我们将其称为输出门(output gate)。
用来决定何时将数据读入单元的门,我们将其称为输入门(input gate)。
重置单元的内容,则通过遗忘门(forget gate)来管理。
LSTM 的隐藏单元更新过程,本质是通过记忆元与遗忘门、输入门、输出门四大模块的协作,实现对信息的选择性遗忘与更新,最终生成新的隐藏状态。
隐状态 h
隐状态 是 “当前时刻的信息输出窗口”,它既承载了短期关键信息,又负责连接相邻时刻的计算,是模型与外部交互、内部传递信息的核心媒介。
循环神经网络中的隐状态 h 储存了历史信息,可以看作一种记忆。在简单循环网络中,隐状态每时每刻都会被重写,因此可以看作一种短期记忆。
隐状态与 “记忆元” 是互补关系,是短期信息的 “传递者与输出者”。隐状态并非独立生成,而是从记忆元的 “长期记忆” 中筛选、转换而来。
公式:
这个公式通过 “归一化” 和 “选择性输出” 两步,从长期记忆中提取短期记忆。
记忆元 c
记忆元 是实现长期记忆存储与更新的核心载体,它通过门控机制(遗忘门、输入门、输出门)来控制信息的流入、流出和保留,是 LSTM 区别于传统 RNN 的关键。
在神经网络中,长期记忆可以看作网络参数,隐含了从训练数据中学到的经验,其更新周期要远远慢于短期记忆。而在LSTM网络中,记忆元 c 可以在某个时刻捕捉到某个关键信息,并有能力将关键信息保存一定的时间间隔。记忆元 c 中保存信息的生命周期要长于短期记忆 h ,但又远远短于长期记忆,因此称为长短期记忆。
公式:
对 “上一时刻的长期记忆” 进行筛选,丢弃无用信息,保留有用信息;对 “当前时刻的新信息” 进行筛选,将重要的新信息准备好,等待与历史信息融合;将 “筛选后的历史信息” 与 “筛选后的当前新信息” 直接相加,得到当前时刻的新记忆元 。这个公式解决了RNN的梯度消失问题。
候选记忆元 
候选记忆元 是 “新信息的候选容器”,它负责将当前输入与历史短期信息融合,生成待筛选的 “新记忆素材”,是后续更新记忆元
的核心前提。
公式:
将上一时刻的隐状态
与当前输入
进行 “拼接”。用权重矩阵
和偏置
对组合向量做线性变换,将不同来源的信息映射到同一维度空间,实现信息的初步整合。通过 tanh 激活函数对线性变换结果进行处理,将数值范围压缩到 [-1,1] 之间,避免后续计算中出现数值爆炸,同时让信息表达更稳定。
输入门 
输入门 的核心作用是筛选当前信息,判断当前输入
和上一时刻隐藏状态 结合后,哪些新信息是重要的;控制信息进入,决定筛选后的重要信息,以多大比例存入记忆元 。
公式:
这是在决定候选信息中哪些部分需要被保留。同样拼接 与 ,但通过 sigmoid 激活函数处理,得到输入门 。
和
是可训练的权重与偏置,用于学习 “如何判断信息重要性”,sigmoid 函数将控制信号的数值范围压缩到
[0, 1]。
遗忘门 
遗忘门 是LSTM 的 “记忆筛选第一关”,是实现 “选择性保留历史信息” 的核心,直接决定了哪些长期记忆需要被延续。其本质是通过一个 “0-1 权重控制器”,对上一时刻的细胞状态(长期记忆)进行筛选,决定其中哪些信息需要被保留、哪些需要被丢弃,为新记忆的融入腾出空间。它解决了普通 RNN 无法主动遗忘冗余信息的问题。
公式:
将 与 按列拼接,整合历史与当前信息;用可训练的权重矩阵 和偏置
对拼接向量进行线性变换,捕捉信息间的关联;通过 sigmoid 激活函数,将线性变换的结果压缩到
[0,1]区间,得到遗忘门 。
输出门 
输出门 作为 LSTM 的 “信息输出控制器”,是连接记忆元与隐状态的关键闸门,直接决定哪些长期记忆会转化为即时可用的信息。输出门的核心作用是从包含所有长期记忆的细胞状态中,挑选出当前任务真正需要的信息,将筛选后的信息封装成隐状态,一方面用于当前时刻的模型输出(如分类结果、预测值),另一方面传递到下一时刻,作为下一时刻计算的历史依据。
公式:
通过权重矩阵 对当前输入
进行线性变换,提取当前输入中与 “输出筛选” 相关的特征,通过权重矩阵 对上一时刻隐状态
进行线性变换,提取历史信息中与 “输出筛选” 相关的特征,将两部分特征与偏置 相加,得到整合了当前与历史信息的线性结果,通过 sigmoid 激活函数将融合结果压缩到
[0,1],生成最终的输出门 。
更多推荐
所有评论(0)