Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在NLP中有效利用Deep Transformer?

如何在NLP中有效利用Deep Transformer?

作者头像
AI科技评论
发布于 2020-02-14 05:09:09
发布于 2020-02-14 05:09:09
9640
举报
文章被收录于专栏:AI科技评论AI科技评论

作者 | 王子扬

编辑 | Camel

2017年,谷歌在“Attention is all you need”一文中首次提出了完全基于self-attention(自注意力)机制的transformer模型,用于处理序列模型的相关问题,如机器翻译等。传统的神经机器翻译模型大都是采用RNN或者CNN作为encoder-decoder模型的基础,而Transformer模型则摒弃了固有的模式,采用完全并行化的结构,在提升了模型的性能的同时提高了训练的速度,目前已经被推广到多项自然语言处理的相关任务当中。

使用神经网络的方法解决自然语言处理的相关任务时,制约模型性能因素主要包括模型的表现力和用于进行模型训练的数据。然而在大数据时代背景下,对于很多自然语言处理的任务,我们已经能够获取到大量的高质量数据,结构简单的模型无法充分发挥海量数据的优势,不足以从数据中提取出潜在的信息和文本之间的规律,从而导致增大数据量并没有明显的性能提升,反而增加了训练的负担。因此往往需要增大模型容量来增强模型的表现力,主要的手段包括增加模型的宽度和深度。

人们广泛认知通过增加模型的隐层表示维度(宽度)即使用Transformer-Big能够有效地提高翻译的性能,但是近年来,深层网络越来越引起人们的注意,相比于增加宽度,增加模型深度具有对硬件要求低,模型收敛快等优点,本文将选取近年来有关于深层Transformer模型结构的工作进行介绍。

1、Deep Transformer在机器翻译中的应用(1) 论文标题:Learning Deep Transformer Models for Machine Translation

本文由东北大学小牛翻译团队发表于2019年ACL会议。本文的主要贡献包括:1)首次提出了transformer中的层正则化位置对于训练一个深层网络至关重要;2)提出了一种动态层信息融合的方式,提高了信息传递的效率,解决了深层网络信息传递效率差的问题,大大提高了深层网络的性能。

Pre-norm和Post-norm

文中指出transformer模型中层正则化的正确使用是学习深层编码器的关键。通过重新定位层正则化的位置将其置于每个子层的输入之前,便能够有效解决深层网络当中容易出现的梯度爆炸或者梯度消失现象,这对训练深层网络的影响在之前并未被研究过。

图1 post-norm和pre-norm

如图1(a)所示是传统的post-norm方式,即将层正则化位置放置在每一个子层的残差连接之后即通过对层输出进行归一化处理来防止参数漂移,增加模型训练的鲁棒性。具体的计算方式可以用如下流程表示:层输入->层计算->dropout->残差累加->层正则化。而将层正则化的位置提前,计算方式为如下流程:层输入->层正则化->层计算->dropout->残差累加。

如下图1(b)所示,通过pre-norm的方式网络在反向更新时,底层网络参数可以直接获得顶层梯度的信息,而不经过其他的变换,而传统的post-norm方式在进行梯度传递时底层的网络需要经过每一个正则化项,容易产生梯度爆炸和梯度消失的现象。

Dynamic Linear Combination of Layers

此外,pre-norm的方式已经能够帮助我们训练一个具有深层编码层的神经机器翻译系统。但随着编码端层数的加深,底层信息在传递过程中逐渐削弱,底层网络训练不充分,因此文中提出了一种动态线性聚合的方式在信息传递至下一层时对之前所有层的输出进行线性聚合。形式上为

,其中

是一个整合之前各层输出

的现象聚合函数。在文中被定义为:

其中

是一个权重,对每个输出层进行线性加权。DLCL的方法可以被视为一个具有普适性的方法,例如,标准的残差连接可以看做DLCL的一个特例,其中

,如下图a,稠密的残差连接则可以看做是一个标准加权的全连接网络如下图b,多层表示融合则可以表示为只在编码端的最顶层进行动态线性融合操作如下图c。DLCL的方法则为每个连续的编码层做一个单独的权重聚合。通过这种方式,可以在层之间创建更多的连接如图d

在WMT16-en2de,NIST OpenMT’12-ch2en和WMT18-zh2en等任务上,应用了DLCL的深层Transformer模型(30/25层编码层)相比于Transformer-Big/Base提升了0.4~2.4个BLEU值,同时相比于Transformer取得了3倍的训练加速和1.6倍的模型压缩。

2、Deep Transformer在语音识别中的应用

论文标题:Very Deep Self-Attention Networks for End-to-End Speech Recognition

这篇工作将深层的transformer 结构用于了语音识别任务,语音识别任务与机器翻译相似,采用的均是端到端的模型结构。文中分析表明,具有强大学习能力的深层Transformer网络能够超越以往端到端模型的性能。此外,为编码器和解码器结合随机残差连接训练了具有48层编码层的深层网络模型。

文中在训练深层网络时为了解决梯度消失和梯度爆炸的问题,使深层网络能够稳定训练,采用了与之前相同的pre-norm方法,同时作者认为残差网络时transformer能够多层训练,但是随着层数的加深,残差连接同样存在冗余,所以作者设计了类似drop的方式,在训练的过程中随机跳过某些子层,在图像领域中,曾有类似的方法如Stochastic Depth,随着NLP领域中深层网络的不断发展,这也是该方法首次被应用于NLP任务中,并作出了针对性的调整。

将pre-norm的子层计算定义为

为对应的子层运算,比如自注意力子层,前馈神经网络子层,或者编码解码注意力子层。随机残差连接的方式则是应用一个掩码M在子层的运算

上,如下:

掩码M为1或0,产生于类似于dropout的伯努利分布,当M=1时子层运算被激活,而当M=0时则跳过子层的运算。随机的残差连接是模型在训练阶段创造出更多的子网络结构,而在推理阶段,则使用整个网络,产生了类似模型集成的效果。

针对跳过每个层的概率p,作者认为,越底层p的概率应该越小,所以作者设置p的策略为:1)同一层内的子层共享相同的mask;2)浅层具有更低的概率:

,其中p是一个全局变量,用于控制模型随机残差的力度。

此外对于每个子层的输出,作者对其进行了类似于drop的放缩操作,放缩系数

3、Deep Transformer在机器翻译中的应用(2) 论文标题:Improving Deep Transformer with Depth-Scaled Initialization and Merged Attention

在这篇文章中,作者同样认为对于自然语言处理任务发展中的总体趋势所示通过更深层的神经网络来提高模型的容量和性能。同时随着transformer模型层数的加深,也使得模型难以收敛,训练成本增加,甚至出现梯度爆炸或者梯度消失的问题。作者通过分析说明了由于禅茶连接和层正则化操作之间的相互作用导致了深层网络中出现的梯度消失或爆炸问题,不同于前面调整层正则化的位置解决该问题,作者从参数初始化的角度,提出了根据深度缩放进行初始化(DS-Init),在初始化阶段减少参数之间的方差,同时减少了残差连接输出的方差,有效缓解了梯度消失或爆炸的问题。

同时作者为了节约计算成本提出了一种基于自注意力和编码解码自注意力的注意力子层融合方法(MAtt)。

DS-Init

传统的Transformer模型中所有的参数,通过从一个标准正太分布中进行随机采样,公式如下:

其中

代表输入和输出的维度。这种初始化具有维持激活方差和反向传播方差的优点,因此能够帮助训练深层神经网络。

针对在增加Transformer的层数会导致梯度消失或爆炸的问题,作者经过分析认为这是残差连接(RC)和层正则化(LN)之间的相互作用导致的。针对输入向量

常规的计算是:

是中间的运算结果,

是神经网络的操作,作者假设在反向传播过程中LN的输出的误差信号为

,RC和LN对误差信号的贡献如下:

作者定义误差信号的变化为

,

,

分别代表模型,LN,和RC操作的一个比率,这个值越大,越容易发生梯度爆炸或者梯度消失的问题,一个神经网络应该为之层之间的梯度范数

,才能够稳定训练一个深层网络。作者通过实验计算发现LN操作能够削弱误差信号(

),RC则会增强(

),而削弱的强度小于增强的强度,则会导致

,残差连接的输出的方差变大,增加梯度爆炸或者梯度消失的风险,从而提出DS-Init,原始初始化方法进行如下修改:

是一个介于0,1之间的超参数,

代表的是第

层,这样做可以使较高的层拥有更小的RRC输出方差,可以使更多的梯度回流。具体的结果如下表

Merged Attention Model

该方法是AAN(Average Attention Network)一种简化,去除了出了线性变换之外所有的矩阵运算:

是AAN中的mask矩阵,我们通过如下方式将其与编码解码注意力机制结合:

在SAAN和ATT中共享,

是编码端的输出,ATT 则是编码解码注意力机制,通过这种方式,MAtt允许AAN和编码解码注意力并行,如下图:

4、Deep Transformer在语言模型中的应用 论文标题:Character-Level Language Modeling with Deeper Self-Attention

使用截断的反向传播方法训练的基于LSTM和RNN的各种变体的语言模型已经表现了强大的性能,这主要归功于其对于长期上下文的强大的记忆能力,但是在这篇文章中,作者使用了一个深度达到了64层的基于transformer的字符级语言模型,再次展现了深层模型强大的性能。

作者认为对于字符级这种长序列的语言建模,transformer模型由于能够在任意长度距离上快速的传递信息,而循环的结构则需要一步一步的传递,因此能够取得更好的效果。此外作者为了加快模型收敛,使能够稳定训练一个深层的模型,额外增加了三个辅助的损失函数辅助训练。

深层的Transformer语言模型采用与编码层相同单端的结构,此外额外应用了attention mask机制,限制信息只能从左到右流入,如下图。

Auxiliary Losses

作者发现在训练一个超过十层的Transformer网络时,容易产生收敛速度慢,精度变低的问题,通过增加辅助的损失,可以更好的优化网络,显著加快模型训练和收敛的速度。作者设计了三种类型的辅助损失,分别应用于中间位置,中间层和不相邻层,辅助了训练的同时提升了模型的性能。

Multiple Positions loss

相比于只预测最后一个位置出现的词,额外增加了在最后一层,每个位置的预测任务,扩展了预测目标为L(序列长度),由于在transformer模型语言模型中在batch之间没有信息传递,这种方式强制在一个小的上下文内进行预测,虽然不确定是否在整个上下文的预测上有帮助,但是这种辅助损失加快了训练,并且取得了更好的效果,下图展示了这种损失的添加方式:

Intermediate Layer Losses

除了在最终层进行预测之外,作者还在模型的中间层增加了预测目标。与最后一层一样,在序列中添加了所有中间位置的预测(如下图)。如果总共有n层,那么第l层在完成l/2n的训练阶段后将停止预测,不在计算额外的辅助损失。即在完成一半的训练后,模型不在产生中间层损失。

Multiple Targets

在序列的每个位置,模型对未来的字符进行两次(或多次)预测。对于每个新目标,引入一个单独的分类器。额外目标的损失在加入相应的层损失之前,用0.5的乘数来加权。

在辅助损失的帮助下,成功训练了一个深度达到64层的基于transformer结构的语言模型,并且性能远远优于基于RNN的结构,并在两个text8和enwik8任务上达到了当时的最佳性能。

5、总结

本文列举了当前具有代表性的四篇基于transformer结构的深层网络工作,可以看到在transformer结构上单纯的通过堆叠网络结构会产生梯度消失/爆炸等造成训练不稳定的问题。

但是通过多种方式的调整,例如,调整层正则化的位置,改变初始化方式或是重新设计损失函数等方式,都能有效提高深层网络训练的稳定性。同时我们也可以观测到,随着网络层数的加深,给模型的容量和性能的提升也是巨大的。

相比于传统的同样采用增加模型容量来提升模型性能的transformer-big模型,增加模型的深度,带来的性能提升更大,同时具有对设备要求低,模型收敛快速的优点。

目前来说,深层网络在NLP任务上的发展还处于初期,相信未来在NLP领域会有更多关于深层网络的工作。

作者介绍:

王子扬,东北大学自然语言处理实验室研究生,研究方向为机器翻译。

小牛翻译,核心成员来自东北大学自然语言处理实验室,由姚天顺教授创建于1980年,现由朱靖波教授、肖桐博士领导,长期从事计算语言学的相关研究工作,主要包括机器翻译、语言分析、文本挖掘等。团队研发的支持187种语言互译的小牛翻译系统已经得到广泛应用,并研发了小牛翻译云(https://niutrans.vip)让机器翻译技术赋能全球企业。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从零开始入门——Transformer模型简介
Transformer是2017年由Google团队在论文《Attention Is All You Need》中提出的一种全新的神经网络架构,主要用于自然语言处理领域,后也广泛应用在计算机视觉等领域。本文将系统地介绍Transformer的背景、结构设计、训练方法以及应用,让大家从零开始了解这一划时代的新型网络结构。
Paulette
2023/07/12
2.7K0
解决训练难题,1000层的Transformer来了,训练代码很快公开
机器之心报道 机器之心编辑部 1000 层的 Transformer,深得吓人。 昨日出炉的论文《DeepNet: Scaling Transformers to 1,000 Layers》在研究社区引起了热议,作者来自微软亚洲研究院。 该研究直接把 Transformer 深度提升到 1000 层! 下面让我们看下这篇研究说了什么。 近年来,大规模 Transformer 模型出现了这样一种趋势:随着模型参数从数百万增加至数十亿甚至数万亿,性能相应地实现了显著提升。大规模模型在一系列任务上都取得了 SOT
机器之心
2022/03/04
8450
原创 | 一文读懂Transformer
作者:陈之炎 本文约3500字,建议阅读7分钟Transformer 是第一个完全依赖于自注意力机制来计算其输入和输出的表示的转换模型。 主流的序列到序列模型是基于编码器-解码器的循环或卷积神经网络,注意力机制的提出,优化了编解码器的性能,从而使得网络性能达到最优。利用注意力机制构建出新的网络架构Transformer, 完胜了循环或卷积神经网络。Transformer 是第一个完全依赖于自注意力机制来计算其输入和输出的表示的转换模型。Transformer可以并行训练,训练时间更短。 1 Transfor
数据派THU
2022/07/12
4.4K0
原创 | 一文读懂Transformer
千层Transformer问世!多语种机器翻译水准刷新多项SOTA
---- 新智元报道   编辑:David 拉燕 【新智元导读】近日,微软研究院的研究人员搞出了一个1000层的Transformer,在多语种机器翻译任务上刷新多项SOTA 近年来,追求大规模的Transformer模型成为了一种潮流。 从一开始的百万级的模型参数,到十亿级,再到万亿级,参数规模极大增加。大规模的模型可以在大量任务中可以有更棒的表现,在小样本和零样本学习的情况下也展现出了出色的能力。尽管参数的数量越来越大,参数的深度却一直在被Transformer训练的不稳定性所局限。2019年,科
新智元
2022/03/09
4700
千层Transformer问世!刷新NMT多项SOTA!
点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 ---- 新智元报道   近日,微软研究院的研究人员搞出了一个1000层的Transformer,在多语种机器翻译任务上刷新多项SOTA 从一开始的百万级的模型参数,到十亿级,再到万亿级,参数规模极大增加。大规模的模型可以在大量任务中可以有更棒的表现,在小样本和零样本学习的情况下也展现出了出色的能力。尽管参数的数量越来越大,参数的深度却一直在被Transformer训练的不稳定性所局限。2019年,科学家Nguyen和Salaz
昱良
2022/03/08
3500
【调研】详解Transformer结构——Attention Is All You Need
        Transformer是一个完全依赖自注意力的面向sequence to sequence任务的NLP模型,由谷歌大脑在17年的论文《Attention is all you need》中首次提出。它抛弃了传统的CNN和RNN神经网络,整个网络结构完全由Attention机制以及前馈神经网络组成,它解决了RNN长期依赖和无法并行化以及CNN缺失全局特征等问题。(尽管LSTM等门机制的结构一定程度上缓解了长期依赖的问题,但是对于特别长期的依赖现象,LSTM依旧无能为力。)
小锋学长生活大爆炸
2022/10/28
1.3K0
从欧几里得到双曲空间,融入视觉 Transformer 增强层次关系建模 !
现代机器学习的基础是表示学习,使得模型能够从原始数据中提取有意义特征(Bengio等人,2014年)。尽管传统上欧几里得空间被用来模拟数据关系,但许多实际数据集(包括图像)表现出比欧几里得空间更好的层次结构,这种结构在非欧几里得空间中更易捕捉(Bronstein等人,2017年)。
未来先知
2024/11/05
6780
从欧几里得到双曲空间,融入视觉 Transformer 增强层次关系建模 !
硬货 | 一文了解深度学习在NLP中的最佳实践经验和技巧
编译 | AI科技大本营(rgznai100) 参与 | JeyZhang,鸽子 在NLP社区中曾流行着这样一个玩笑,说是一个带注意力机制的LSTM模型在任何的NLP任务上的表现都是最好的。虽然这在过去的两年中确实如此,但这个模型已经成为了现在标准的baseline,随着NLP社区的逐步发展,大家开始转向使用其他更加有趣的模型。 不过,本文作者不想独自花费2年的时间去发掘下一个带注意力机制的LSTM模型,也不想去推翻现有效果好的一些技巧或方法。虽然许多现有的深度学习库已经考虑了神经网络实践方面的最佳实践
AI科技大本营
2018/04/26
8630
硬货 | 一文了解深度学习在NLP中的最佳实践经验和技巧
万字长文带你入门Transformer
Transformer在许多的人工智能领域,如自然语言处理(Natural Language Processing, NLP)、计算机视觉(Computer Vision, CV)和语音处理(Speech Processing, SP)取得了巨大的成功。因此,自然而然的也吸引了许多工业界和学术界的研究人员的兴趣。到目前为止,已经提出了大量基于Transformer的相关工作和综述。本文基于邱锡鹏[1]老师团队近日所发表的一篇综述[2]为基础,详细的解读Transformer的来龙去脉,同时为大家介绍近期一些相关工作,中间也会穿插一些笔者的见解。最后,本文也将列出一些可探索的未来研究方向,希望能给予读者一些启发。
AIWalker
2021/07/05
2.3K0
万字长文带你入门Transformer
Overfitting And Underfitting
过拟合和欠拟合是机器学习模型性能评估的核心问题,体现了模型在训练数据与真实数据分布之间的匹配程度。这两个概念共同构成了机器学习中的"偏差-方差困境"(Bias-Variance Tradeoff),反映了模型对数据规律的捕获能力与泛化能力的矛盾关系。
jack.yang
2025/04/05
1120
Overfitting And Underfitting
微软提出DeepNet:把Transformer提升到了1000层,目标检测领域新的希望(附源代码)
关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/pdf/2203.00555.pdf 源代码:https://github.com/microsoft/unilm 计算机视觉研究院专栏 作者:Edison_G 提出了一种简单而有效的方法来稳定(训练和解码)极深的Transformer。具体来说,引入了一个新的归一化函数(DEEPNORM),修改Transformer中的残差连接
计算机视觉研究院
2022/03/30
6850
NLP界最强特征提取器--Transformer
前面介绍NLP领域词向量技术的时候提到了目前最炙手可热的语言模型BERT,而BERT之所以能取得这样的瞩目成就,离不开其采用的超强特征提取器Transformer。
流川枫
2020/04/24
5.1K0
想研究BERT模型?先看看这篇文章
序列转换方式由基于复杂递归神经网络(RNN)和卷积神经网络(CNN)的编码器和解码器模型主导。表现最佳的模型也只是通过一个注意力机制来连接了编码器和解码器。我们提出一个新的简单网络架构——Transformer。相比表现最佳的模型,该架构仅仅基于注意力机制,完全摒弃了递归和卷积。从两个机器翻译任务的实验结果显示,Transformer的效果更优秀,同时有更好的并行性,显著的减少了训练的时间。我们的模型在WMT2014年发布的“英-德”翻译任务上达到了28.4 BLEU【注解1】,超越了该任务上现有的最好的记录2个BLEU,包括总体效果。在英-法翻译任务上,我们的模型在8块GPU上训练了3.5天,并创造了单模型最好BLEU分数——41.8。相比文献中的最佳模型,这个训练成本不高。Transformer在其它任务上也有好的泛化能力,我们将其应用于English constituency parsing(英语成分句法分析),无论在大量的训练数据上还是有限的训练数据上都获得了成功。
AI粉嫩特工队
2019/09/23
8250
想研究BERT模型?先看看这篇文章
一些NLP的面试问题
练习NLP是一回事,破解面试是另一回事。对NLP人员的面试与一般的数据科学非常不同。在短短几年内,由于迁移学习和新的语言模型,这些问题已经完全改变了。我个人经历过,随着时间的推移,NLP面试变得越来越艰难,因为我们取得了更多的进步。
石晓文
2020/02/24
1K0
一些NLP的面试问题
《基于 C++的神经机器翻译模型:训练与优化之道》
在当今全球化的时代,语言障碍的突破成为了促进国际交流与合作的关键。神经机器翻译(NMT)作为一项前沿技术,在自动翻译领域展现出了卓越的性能。而 C++以其高效性和对系统资源的精准掌控,在构建和优化神经机器翻译模型方面有着独特的地位。本文将深入探讨基于 C++的神经机器翻译模型的训练和优化方法。
程序员阿伟
2024/12/13
1130
《基于 C++的神经机器翻译模型:训练与优化之道》
这篇论文让你无惧梯度消失或爆炸,轻松训练一万层神经网络
深度学习在计算机视觉、自然语言处理等领域取得了很多重大突破。神经网络的表达能力通常随着其网络深度呈指数增长,这一特性赋予了它很强的泛化能力。然而深层的网络也产生了梯度消失或梯度爆炸,以及模型中的信息传递变差等一系列问题。研究人员使用精心设计的权值初始化方法、BatchNorm 或 LayerNorm 这类标准化技术来缓解以上问题,然而这些技术往往会耗费更多计算资源,或者存在其自身的局限。
机器之心
2020/03/25
1.1K0
【NLP】Transformer理论解读
Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,目前已经在目标检测、自然语言处理、时序预测等多个深度学习领域获得了应用,成为了新的研究热点。
zstar
2022/09/16
6140
【NLP】Transformer理论解读
一文理解透Transformer
"Attention Is All You Need"是一篇于2017年发表的开创性论文,首次介绍了Transformer模型。
double
2024/04/11
2.5K0
一文理解透Transformer
通俗理解ChatGPT中Transformer架构
Transformer架构是由Vaswani等人在2017年提出的一种深度学习模型,它在自然语言处理(NLP)领域取得了革命性的进展。Transformer的核心思想是使用自注意力(Self-Attention)机制来捕捉输入序列中的长距离依赖关系,而无需依赖于循环神经网络(RNN)或卷积神经网络(CNN)。 以下是Transformer架构的详细介绍和实现原理: 1. 多头自注意力机制(Multi-Head Self-Attention) 自注意力机制是Transformer的核心,它允许模型在处理序列的每个元素时,同时考虑序列中的所有其他元素。这种机制通过计算每个元素对其他元素的注意力权重来实现,这些权重表明了在生成当前元素时,其他元素的重要性。 多头自注意力机制进一步扩展了自注意力的概念,它包含多个注意力“头”,每个头学习序列的不同方面。这增加了模型的表达能力,因为它可以从多个角度理解数据。 2. 位置编码(Positional Encoding) 由于Transformer模型没有循环结构,它需要一种方式来理解单词在序列中的位置。位置编码通过向输入添加额外的信息来解决这个问题,这些信息指示了单词在序列中的位置。位置编码通常使用正弦和余弦函数的组合来生成,这允许模型学习到序列中元素的相对位置。 3. 编码器和解码器层(Encoder and Decoder Layers) Transformer模型由编码器和解码器组成,每个部分包含多个层。编码器用于处理输入序列,解码器用于生成输出序列。 - **编码器**:由多个相同的层堆叠而成,每层包含自注意力机制和前馈神经网络。自注意力机制用于捕捉输入序列内部的依赖关系,而前馈网络则对每个位置的表示进行独立处理。 - **解码器**:也由多个相同的层堆叠而成,每层包含自注意力机制、编码器-解码器注意力机制和前馈神经网络。编码器-解码器注意力机制允许解码器关注输入序列中的相关部分。 4. 层归一化和残差连接 为了稳定训练过程,Transformer模型在每个子层(自注意力和前馈神经网络)的输出上应用层归一化。此外,每个子层的输出都会通过一个残差连接,然后将结果传递给下一个子层。这种设计有助于缓解梯度消失问题,使得模型可以更有效地学习。
用户7353950
2024/04/03
7410
通俗理解ChatGPT中Transformer架构
【Pre-Training】Transformer:Attention Is All You Need
今天阅读的来自谷歌大脑的同学于 2017 年发表的论文《Attention Is All You Need》,目前论文被引次数高达 6100 次。
阿泽 Crz
2020/07/21
5390
推荐阅读
相关推荐
从零开始入门——Transformer模型简介
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档