从RNN到BiLSTM:循环神经网络的前进历程

张开发
2026/4/16 21:45:45 15 分钟阅读

分享文章

从RNN到BiLSTM:循环神经网络的前进历程
#NLP-AHU-178一循环神经网络的需求在深度学习中处理数据的需求决定了我们需要使用什么工具图像用CNN就能基本处理表格数据用MLP也能轻松搞定但还有一类数据天生带着时间、顺序属性传统的前馈网络根本无法有效处理它们默认输入是独立的无法建模前后依赖于是就产生了循环神经网络RNN而LSTM、BiLSTM则是RNN为了克服自身缺陷一步步迭代出的升级版。二RNN神经循环网络的起点RNN 的设计思路非常直观人在理解新信息时一定会结合过去的记忆从而建模序列的前后依赖。那么它的结构自然是十分易于理解可以把RNN想象成一个循环的流水线输入x1​→生成h1​→ 输入x2​带入h1​→生成h2​→输入x3​带入h2​→...→直到序列结束。就是一个按照时间顺序不断加码的进程。设输入维度为d隐藏状态维度为h输出维度为o序列长度为T核心公式输出计算致命缺陷长期依赖梯度消失、爆炸。当序列很长前面的信息会被不断稀释反向传播梯度消失、爆炸模型无法训练。三LSTM解决长期依赖记忆为了解决RNN的缺陷1997 年HochreiterSchmidhuber提出了LSTM它的核心灵感是给记忆加门控开关让模型自己决定记住什么、忘记什么、更新什么。LSTM在RNN的基础上新增了一个细胞状态就像一条传送带信息在上面线性传递几乎不会改变只有通过门控才会做少量修改完美解决了梯度消失的问题。核心结构三大门控两大状态遗忘门决定从细胞状态中忘记哪些旧信息输入门决定把哪些新信息更新到细胞状态输出门决定把细胞中的哪些信息输出给隐藏状态细胞状态长期记忆的载体线性传递信息隐藏状态短期记忆传递给下一时刻门控的计算逻辑输入、上一时刻​、​ → 输出、遗忘门决定忘记什么σ是Sigmoid激活函数输出范围[0,1]0 代表完全忘记1 代表完全保留。输入门分两步先算更新权重再算候选新信息门控权重候选细胞状态新信息细胞状态更新输出门决定输出内容门控权重隐藏状态输出短期记忆先把细胞状态用tanh压缩到[−1,1]再乘输出门的权重得到最终的隐藏状态传递给下一时刻。LSTM通过门控机制和细胞状态让信息可以在长序列中无损传递梯度在反向传播时也不会消失彻底解决了RNN的核心缺陷。四BiLSTM双向LSTM捕捉完整上下文LSTM虽然解决了长期依赖但它本质上还是单向模型只能从左到右处理序列只能利用过去的信息无法利用未来的信息。但在很多任务中当前时刻的含义需要结合前后上下文于是BiLSTM诞生了。BiLSTM的结构非常简单把两个独立的单向LSTM拼接在一起。一个是正向LSTM从左到右处理序列提取过去→现在的特征得到正向隐藏状态一个是反向LSTM从右到左处理序列提取未来→现在的特征得到反向隐藏状态最终把两个方向的隐藏状态拼接得到融合了双向上下文的特征正向LSTM计算从t1到tT反向LSTM计算从tT到t1特征拼接最终输出BiLSTM让每个时刻的特征同时包含了过去和未来的信息在序列标注等任务中效果比单向LSTM提升非常明显。六循环神经网络的演进逻辑从RNN到LSTM再到BiLSTM本质上是对序列信息建模能力的持续优化。这也体现了我们当代需求决定工具的时代要求。虽然现在Transformer越来越火但是他们的原理依旧是理解序列建模的核心基础也是深度学习入门的必学内容希望大家可以打好基础了解各个来时路以便接下来更好地学习。

更多文章