一、技术黎明:序列建模的早期探索(2010年前)
(一)循环神经网络的诞生与局限
在自然语言处理的蛮荒时代,如何建模语言的序列特性是核心难题。20世纪90年代诞生的循环神经网络(RNN)首次引入循环结构,通过隐藏状态传递机制,使得网络能够捕捉序列中的历史信息,如同人类阅读时结合前文理解后文。每个RNN单元的隐藏状态 h t h_t ht不仅接收当前输入 x t x_t xt,还依赖前一时刻的隐藏状态 h t − 1 h_{t-1} ht−1,其数学表达式为:
h t = σ ( W x h x t + W h h h t − 1 + b h ) h_t = \sigma(W_{xh}x_t + W_{hh}h_{t-1} + b_h) ht=σ(Wxhxt+Whhht−1+bh)
这种设计让RNN在词性标注、语音识别等任务中崭露头角,但随着序列长度增加,梯度消失问题逐渐显现,导致其难以建模长距离依赖关系。
(二)LSTM的门控革命
1997年,Hochreiter与Schmidhuber提出长短期记忆网络(LSTM),通过引入遗忘门、输入门和输出门三大控制单元,构建了记忆细胞(cell state)结构。遗忘门 f t f_t ft决定丢弃哪些历史信息,输入门 i t i_t it控制新信息的写入,输出门 o t o_t ot调节记忆的输出,其核心公式如下:
f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) i t = σ ( W i ⋅ [ h t − 1 , x t ] + b i ) C ~ t = tanh ( W C ⋅ [ h