揭秘大模型:从原理到实战
上QQ阅读APP看书,第一时间看更新

2.2.1 循环神经网络(RNN)

循环神经网络(recurrent neural network,RNN)是一种处理序列数据的常用语言模型。与普通的前馈神经网络(feedforward neural network,FNN)相比,循环神经网络的特点是有循环连接,可以在序列中保留记忆。

循环神经网络的每个时间步都有一个隐藏状态(hidden state),它不仅接收当前时间步的输入,还接收上一个时间步的隐藏状态。这样,隐藏状态的输出就包含当前和之前所有时间步的输入信息。这种循环连接使得循环神经网络可以适应不同长度的序列,并且能够获取序列的时序信息。图2-1所示为循环神经网络的模型结构。

图2-1 循环神经网络的模型结构

输入当前t时刻的词嵌入t−1时刻计算出的隐向量为,权重矩阵为,输出为,表示为

  (2-3)

虽然循环神经网络可以用于时间序列预测(根据过去的时间序列数据来预测未来的趋势),如股票价格预测、天气预测等,但是传统的循环神经网络在处理长序列时会遇到梯度消失和梯度爆炸的问题,这影响了其对长期依赖的建模能力。为了解决这个问题,研究人员提出了一些改进的循环神经网络变体,如长短期记忆网络和门控循环单元,它们通过引入门控机制来控制记忆状态的更新,从而改善了自身对长期依赖的建模能力。