【ChatGPT时刻02】Seq2Seq:Ilya开创的序列到序列学习框架
本文解读的是Ilya Sutskever、Oriol Vinyals和Quoc V. Le于2014年发表的里程碑论文《Sequence to Sequence Learning with Neural Networks》,该论文提出了Seq2Seq框架,首次使用纯端到端的神经网络实现了高质量的机器翻译。作为OpenAI联合创始人的代表作,Seq2Seq不仅确立了编码器-解码器架构的标准范式,更是通向Transformer和GPT系列的关键一步——它证明了神经网络可以直接学习序列到序列的映射,无需手工设计特征或规则。 序列建模的根本挑战 问题一:变长序列的处理难题 传统神经网络(如前馈网络、CNN)要求输入和输出具有固定维度。然而,自然语言中的序列长度是可变的: 输入长度可变:句子可能有5个词,也可能有50个词 输出长度可变:翻译结果的长度与源句子不同 输入输出长度不对应:源语言和目标语言的句子长度通常不同 这种变长特性使得传统方法无法直接应用于机器翻译、对话生成等任务。 问题二:长距离依赖问题 语言中存在大量长距离依赖关系。例如: “The cat, which was sitting on the mat in the corner of the room, was sleeping.” 主语"cat"和谓语"was"之间隔了多个从句,模型需要"记住"主语才能正确预测谓语的形式。 传统RNN在处理长序列时面临梯度消失问题: $$ \frac{\partial \mathcal{L}}{\partial W} = \sum_{t=1}^{T} \frac{\partial \mathcal{L}t}{\partial W} = \sum{t=1}^{T} \frac{\partial \mathcal{L}t}{\partial h_t} \prod{k=1}^{t} \frac{\partial h_k}{\partial h_{k-1}} \frac{\partial h_1}{\partial W} $$ ...