GPT、LSTM、RNN

来自牛奶河Wiki
阿奔讨论 | 贡献2023年6月17日 (六) 21:57的版本
跳到导航 跳到搜索
  • GPT (Generative Pre-trained Transformer) 是一种基于 Transformer 模型的语言生成模型

相比于传统的 LSTM 和 RNN,GPT 采用多层 Transformer 模型,通过训练一个大规模的语言模型,学习语言的统计规律和语义表示,从而能够进行文本生成、文本分类、文本摘要等自然语言处理任务。

  1. 模型结构:GPT是基于Transformer模型的,而LSTM、RNN等循环神经网络是基于循环结构的。Transformer采用了全局上下文信息,能够更好地处理长文本数据,而循环神经网络处理长序列时会存在梯度消失、梯度爆炸等问题。
  2. 预训练方式:GPT采用了预训练的方式,通过大规模文本数据的预训练来学习语言的普适规律,然后在特定任务上进行微调。而传统的循环神经网络需要针对特定任务独立进行训练。

在文本生成方面,GPT具有以下优势:

  1. 更好的语言模型能力:GPT采用了预训练的方式,在大规模文本数据上进行了训练,能够更好地学习语言的规律,从而生成更流畅、自然的语言文本。
  2. 更高的生成效率:GPT采用了Transformer的结构,能够并行处理,从而在文本生成方面具有更高的生成效率和生成质量。而循环神经网络在处理长序列时会存在计算效率低下的问题。
  3. 更好的上下文理解:GPT能够对全局上下文信息进行建模,能够更好地理解文本的语义和语境,从而生成更加合理、连贯的文本。
  • LSTM (Long Short-Term Memory)
  1. 提出了门机制:遗忘门、输入门、输出门;
  2. 细胞状态:在RNN中只有隐藏状态的传播,而在LSTM中,引入了细胞状态。

LSTM 的结构有效地解决了 RNN 的短期依赖瓶颈。但是相较于 RNN,LSTM 含有更多的参数需要学习,从而导致 LSTM 的学习速度大大降低。

越接近输入层的 LSTM 层,更新速度越慢。LSTM 最大的优势是在时序上反向传播不容易出现梯度消失,但是它不能保证层与层之间传播过深不会出现梯度消失。

在很多次实验之后,还是一两层的 LSTM 能够更加快速地收敛,而在很多过深的 LSTM 网络训练中,几乎无一例外地出现了梯度消失,局部收敛,训练效果差的情况。

  • RNN (Recurrent Neural Network)

RNN不具备长期记忆,而只具备短期记忆。由于梯度弥散,导致在序列长度很长时,无法在较后的时间步中,按照梯度更新较前时间步的 ,导致无法根据后续序列来修改前向序列的参数,使得前向序列无法很好地做特征提取,使得在长时间步过后,模型将无法再获取有效的前向序列记忆信息。

梯度弥散,在 RNN 属于重要问题,为此便提出了以 LSTM、GRU 等结构的变种,来解决 RNN 短期记忆的瓶颈。同样,若初始参数较大时,将导致梯度爆炸,然而梯度爆炸相对于梯度弥散较容易解决,通常加入梯度裁剪即可一定程度缓解。