大模型基础--从传统序列模型到基于Transformer的预训练模型(1)
1.1 概述
研究NLP模型的发展历史,可以从中学习到重要的经验,有助于理解大模型基础架构的设计.
1.2 模型的发展
1.2.1 Word2Vec
Word2Vec的设计理念源自“分布假设”——即一个词的含义由它周围的词决定。基于这一假设,Word2Vec构建了一个简洁的神经网络模型,通过学习词与上下文之间的关系,自动为每个词生成一个能够反映语义特征的向量表示。Word2Vec 不依赖人工标注,而是直接利用大规模原始文本(如书籍、新闻、网页等)作为数据源,从中自动构造训练样本。
Word2Vec提供了两种典型的模型结构,用于实现对词向量的学习:

优点:第一是基于“分布假设“思想提取词语义。第二是自监督的机器学习范式。第三是向量能够在高维空间中表达词与词在语义上的之间的关系。如果两个向量方向越一致(即越接近),它们的点积就越大,表示相关性越强。
不足的点:第一是Word2Vec只为每个词分配一个固定的向量表示,却忽略在不同语境下向量的变化。第二是模型的上下文窗口小,无法完全捕捉语义关系。第三是设计上是研究词,并未关注文本信息的表达,限制了自身的应用。
1.2.2 RNN(Recurrent Neural Network,循环神经网络)
RNN核心结构是一个具有循环连接的隐藏层,它以时间步(time step)为单位,依次处理输入序列中的每个 token。在每个时间步,RNN 接收当前 token 的向量和上一个时间步的隐藏状态(即隐藏层的输出),计算并生成新的隐藏状态,并将其传递到下一时间步(下图的水平方向箭头)。RNN 会逐个读取句子中的词语,并在每一步结合当前词和前文信息,不断更新对句子的理解。通过这种机制,RNN 能够持续建模上下文,从而更准确地把握句子的整体语义。

优点:第一是双向结构的RNN相对于Word2Vec,更加深入的实现“分布假设“思想,证明了词的语义关系和词本身以及词的上下文有关。第二是词语的顺序是对语义贡献的关键一环。
不足的点:第一是RNN中相邻时间步的隐层状态的计算具有依赖性,计算效率低。第二是RNN的核心结构类似一个多层的神经网络(上图中红框立起来看),受到激活函数的导数以及权重的影响,随着语句的增长,也就会有深层神经网络常见的问题梯度消失或梯度爆炸问题。第三在训练过程中,当输入序列很长时,只能学到短期依赖,而无法学到长期依赖。第四点首先我们需要研究生成ht的核心公式
,就会看出ht是xt和ht-1训练出来的,和xt之后词(xt+1,xt+2...xt+n)无关.也就是说每个时间步的h都会丢失两部分信息,一部分丢失未来词的信息,另一部分丢失的信息是过去时间步h丢失的信息。背离了“分布假设”原理。第五最后一个时间步ht是前面各个时间步h和Xt贡献的,而各个时间步的h在贡献ht的权重上随着时间步递增的,这种权重分布是不合理的。
数学证明早期输入对模型损失的影响:

![]()


总的来说早期输入对模型损失的影响:当权重>1时,激活函数导数与权重连乘的值出现了指数级增长,就会造成梯度爆炸.权重<1时,权重和激活函数的导数连乘的值出现指数级缩小,就会造成梯度消失。
1.2.3 LSTM(Long Short-Term Memory,长短期记忆网络)
LSTM 核心结构是一个记忆单元(Memory Cell),三个“门”,分别是遗忘门、输入门和输出门。
记忆单元负责在序列中长期保存关键信息。它相当于一条“信息通道”,在多个时间步之间直接传递信息(记忆单元是缓解梯度消失和梯度爆炸问题的核心)

遗忘门决定当前时间步要忘记多少过去的记忆。

输入门控制要从当前时间步的输入向记忆单元存入多少新的信息。

输出门控制从记忆单元中读取多少信息作为当前时间步的隐藏状态进行输出。

优点:LSTM提供了处理梯度的方法,通过引进一条比较稳定的梯度传播路径,缓解长期依赖问题。
不足的点:第一时间步之间具有强依赖性,无法并行计算。第二参数量大,计算开销高。第三虽然 LSTM 延缓了梯度消失问题,但并不能完全消除。当序列极长时,模型依然难以有效捕捉非常远距离的依赖关系。第四点首先我们需要研究生成ht的核心公式
,就会看出ht是xt和ht-1训练出来的,和xt之后词(xt+1,xt+2...xt+n)无关.也就是说每个时间步的h都会丢失两部分信息,一部分丢失未来词的信息,另一部分丢失的信息是过去时间步h丢失的信息。背离了“分布假设”原理。第五最后一个时间步ht是前面各个时间步h和Xt贡献的,而各个时间步的h在贡献ht的权重上随着时间步递增的,这种权重分布是不合理的。
LSTM为何能有效缓解梯度消失和梯度爆炸?
LSTM和RNN一样都有从ht->h0的传播梯度的通路和梯度传播路径Ct->C0。在RNN中得出的结论是激活函数导数与权重连乘是梯度爆炸或消失的原因。
先考虑ht->h0的梯度传播通路,为了解决梯度爆炸,LSTM通过增加门,在每个时间步的通路上面增加了激活函数sigmod。激活函数sigmod的导数取值范围(0,0.25),tanh的导数取值范围是(0,1),两种激活函数连乘的效果显著抑制了梯度爆炸的发生。为了解决ht->h0通路梯度消失,LSTM通过引入记忆单元(Memory Cell),提供了一条稳定的梯度传播路径Ct->C0。
数学证明Ct->C0梯度传播通路(涉及到遗忘门,输入门,记忆单元)中早期输入对模型损失的影响:






因为ft接近于1,缓解了Ct->C0梯度传播通路的梯度爆炸和消失的问题。
至此两条通路梯度消失和梯度爆炸的问题都得到极大缓解。
1.2.4 GRU(Gated Recurrent Unit,门控循环单元)
GRU是为了进一步简化 LSTM 结构、降低计算成本而提出的一种变体。GRU 保留了门控机制的核心思想,但相比 LSTM,结构更为简洁,参数更少,训练效率更高。
重置门由上一个时间步的隐藏状态和当前时间步的输入计算得到:


更新门也由上一时间步的隐藏状态和当前时间步的输入计算得到,如下图所示:


优点:GRU相对于LSTM训练效率提高。
不足的点:第一时间步之间具有强依赖性,无法并行计算。第二虽然 GRU延缓了梯度消失问题,但并不能完全消除。当序列极长时,模型依然难以有效捕捉非常远距离的依赖关系,效果比LSTM差。第三点首先我们需要研究生成ht的核心公式
,就会看出ht是xt和ht-1训练出来的,和xt之后词(xt+1,xt+2...xt+n)无关.也就是说每个时间步的h都会丢失两部分信息,一部分丢失未来词的信息,另一部分丢失的信息是过去时间步h丢失的信息。背离了“分布假设”原理。第四最后一个时间步ht是前面各个时间步h和Xt贡献的,而各个时间步的h在贡献ht的权重上随着时间步递增的,这种权重分布是不合理的。
GRU为何能有效缓解梯度消失和梯度爆炸?
GRU和RNN一样都有从ht->h0的传播梯度的通路。




参考RNN中的数学公式如下:

所以
=zt(简单起见按照标量计算),zt倾向于记得多,忘得少.因为Zt接近于1,缓解了ht->h0梯度传播通路的梯度爆炸和消失的问题。
- 点赞
- 收藏
- 关注作者
评论(0)