Seq2seq
图1-NLP在问答的例子
自然语言处理可以解决:
-
实体识别
-
机器问答
-
语法剖析
mutiply label classify VS mutiply class classify
图2-多标签分类
多标签分类是指对于一篇文章来说,可能一段话属于多个class,属于结果应该是多标签的。
多级别分类是指对于一篇文章或者一段话,只属于一个class
图3-目标检测类似与端到端分类
Transformer基础架构
图4-Transformer基础架构
Transformer:transformer的基础架构是由端到端生成的,由输入的文字全部输入进去,但是由于我们输出的数据是未知的,所以outputs的结果也是未知的,因此是按照和gpt生成方式一样,先输出一个结果,然后将输出的结果也输入进去,依次进行循环,类似于成语接龙一样,逐个输出,最后以end结尾。
图5-encoder结构
图6-Self-attention机制
总体:分别输入进去多个x,输出对应维度的结构。内部的架构师将输出的每个值,加一个位置标签,这样能识别出每个token的位置信息,之后维度+1后输入到多头注意力机制中,代表的是q,k,v。之后利用残差机制,将输入的和输出的向量相加,之后再进行一个前向传播,再进行相加后norm操作。
Encoder:其中的norm操作为
图7—创新内容
去修改原Transformer的框架,可以将norm或者其他结构提前,效果会比原来的更好
两篇文章的摘要:
-
学习率预热阶段:训练Transformer通常需要一个学习率预热阶段,这是实现稳定训练的关键。这个预热阶段逐渐增加学习率,以防止优化过程中的不稳定,尤其是在后层归一化(Post-Layer Normalization,Post-LN)Transformer模型中。Post-LN Transformer将层归一化放置在残差块之后,这导致初始化时输出层附近的梯度较大,使得使用大学习率进行训练时不稳定。
前层归一化(Pre-LN)Transformer:论文探索了一个替代的Transformer变体,其中层归一化放置在残差块内部(即前层归一化Transformer)。通过平均场理论的理论分析表明,与Post-LN Transformer不同,Pre-LN Transformer中的梯度在初始化时表现良好。这使得Pre-LN Transformer可以在不需要学习率预热阶段的情况下进行训练,从而显著减少了训练时间和超参数调整的需求。
实验证明:作者在多个自然语言处理任务上进行了实验,包括机器翻译和BERT预训练。结果表明,去掉预热阶段的Pre-LN Transformer可以在较短的训练时间内实现与Post-LN Transformer相当的性能。这表明Pre-LN Transformer更高效,且更容易训练。
对超参数调整的影响:通过移除预热阶段,Pre-LN Transformer减少了超参数调整的复杂性,这通常是一个耗时且代价高昂的过程,尤其是在像BERT或XLNet这样的大规模模型中。
-
BN在NLP中的挑战:
-
BN在计算机视觉(CV)中是标准的归一化方法,但当直接应用于NLP任务时表现不佳。主要原因是NLP训练过程中批统计量的大幅波动,导致了训练不稳定和性能下降。
功率归一化(PN):
-
PN通过以下方式解决了BN的局限性:
-
放宽了零均值归一化的约束。
-
使用运行中的二次均值代替每批次的统计量,从而稳定了训练过程。
-
实施了一种近似的反向传播方法,以便在前向传播中整合运行统计量。
-
理论与实验证明:
-
理论上,PN被证明可以导致损失函数的Lipschitz常数更小,从而有助于更好的收敛行为。
-
在包括机器翻译(MT)和语言建模(LM)在内的多个NLP任务中进行的实验证明,PN显著优于BN和LN(层归一化)。
-
特别是,PN提高了翻译任务的BLEU分数,并降低了语言建模任务的困惑度(perplexity),表明模型性能得到了改善。
与其他技术的比较:
-
PN与多种归一化技术进行了比较,包括BN、LN和其他变体如RMSNorm。结果表明,在训练稳定性和模型性能方面,PN始终优于这些方法。
结论:
-
论文总结道,功率归一化为NLP中的Transformer模型提供了一种更有效和稳定的归一化方法,解决了BN的缺点,并为LN提供了一个有前景的替代方案。
-