网易首页 > 网易号 > 正文 申请入驻

transformer的细节到底是怎么样的?Transformer 连环18问!

0
分享至

https://www.zhihu.com/question/362131975/answer/3058958207

作者:爱问问题的王宸@知乎(已授权)

编辑:极市平台

为什么想通过十八个问题的方式总结Transformer?

有两点原因:

第一,Transformer是既MLP、RNN、CNN之后的第四大特征提取器,也被称为第四大基础模型;最近爆火的chatGPT,其最底层原理也是Transformer,Transformer的重要性可见一斑。

第二,希望通过问问题这种方式,更好的帮助大家理解Transformer的内容和原理。

1.2017年深度学习领域的重大突破是什么?

Transformer。有两方面的原因:

1.1一方面,Transformer是深度学习领域既MLP、RNN、CNN之后的第4大特征提取器(也被称为基础模型)。什么是特征提取器?大脑是人与外部世界(图像、文字、语音等)交互的方式;特征提取器是计算机为了模仿大脑,与外部世界(图像、文字、语音等)交互的方式,如图1所示。举例而言:Imagenet数据集中包含1000类图像,人们已经根据自己的经验把这一百万张图像分好1000类,每一类图像(如美洲豹)都有独特的特征。这时,神经网络(如ResNet18)也是想通过这种分类的方式,把每一类图像的特有特征尽可能提取或识别出来。分类不是最终目的,而是一种提取图像特征的手段,掩码补全图像也是一种提取特征的方式,图像块顺序打乱也是一种提取特征的方式。

图1 神经网络为了模仿大脑中的神经元

1.2另一方面,Transformer在深度学习领域扮演的角色:第3次和第4次热潮的基石,如下图2所示。

2. Transformer的提出背景是什么?

2.1 在领域发展背景层面:当时时处2017年,深度学习在计算机视觉领域火了已经几年。从Alexnet、VGG、GoogLenet、ResNet、DenseNet;从图像分类、目标检测再到语义分割;但在自然语言处理领域并没有引起很大反响。

2.2 技术背景层面:(1)当时主流的序列转录任务(如机器翻译)的解决方案如下图3所示,在Sequence to Sequence架构下(Encoder- Decoder的一种),RNN来提取特征,Attention机制将Encoder提取到的特征高效传递给Decoder。(2)这种做法有两个不足之处,一方面是在提取特征时的RNN天生从前向后时序传递的结构决定了其无法并行运算,其次是当序列长度过长时,最前面序列的信息有可能被遗忘掉。因此可以看到,在这个框架下,RNN是相对薄弱急需改进的地方。

3. Transformer到底是什么?

3.1Transformer是一种由Encoder和Decoder组成的架构。那么什么是架构呢?最简单的架构就是A+B+C。

3.2Transformer也可以理解为一个函数,输入是“我爱学习”,输出是“I love study”。

3.3如果把Transformer的架构进行分拆,如图4所示。

4. 什么是Transformer Encoder?

4.1从功能角度,Transformer Encoder的核心作用是提取特征,也有使用Transformer Decoder来提取特征。例如,一个人学习跳舞,Encoder是看别人是如何跳舞的,Decoder是将学习到的经验和记忆,展现出来

4.2从结构角度,如图5所示,Transformer Encoder = Embedding + Positional Embedding + N*(子Encoder block1 + 子Encoder block2);

子Encoder block1 = Multi head attention + ADD + Norm;

子Encoder block2 = Feed Forward + ADD + Norm;

4.3从输入输出角度,N个Transformer Encoder block中的第一个Encoder block的输入为一组向量 X = (Embedding + Positional Embedding),向量维度通常为512*512,其他N个TransformerEncoder block的输入为上一个 Transformer Encoder block的输出,输出向量的维度也为512*512(输入输出大小相同)。

4.4为什么是512*512?前者是指token的个数,如“我爱学习”是4个token,这里设置为512是为了囊括不同的序列长度,不够时padding。后者是指每一个token生成的向量维度,也就是每一个token使用一个序列长度为512的向量表示。人们常说,Transformer不能超过512,否则硬件很难支撑;其实512是指前者,也就是token的个数,因为每一个token要做self attention操作;但是后者的512不宜过大,否则计算起来也很慢。

5. 什么是Transformer Decoder?

5.1从功能角度,相比于Transformer Encoder,Transformer Decoder更擅长做生成式任务,尤其对于自然语言处理问题。

5.2从结构角度,如图6所示,Transformer Decoder = Embedding + Positional Embedding + N*(子Decoder block1 + 子Decoder block2 + 子Decoder block3)+ Linear + Softmax;

子Decoder block1 = Mask Multi head attention + ADD + Norm;

子Decoder block2 = Multi head attention + ADD + Norm;

子Decoder block3 = Feed Forward + ADD + Norm;

5.3从(Embedding+Positional Embedding)(N个Decoder block)(Linear + softmax) 这三个每一个单独作用角度:

Embedding + Positional Embedding:以机器翻译为例,输入“Machine Learning”,输出“机器学习”;这里的Embedding是把“机器学习”也转化成向量的形式。

N个Decoder block:特征处理和传递过程。

Linear + softmax:softmax是预测下一个词出现的概率,如图7所示,前面的Linear层类似于分类网络(ResNet18)最后分类层前接的MLP层。

5.4Transformer Decoder的输入、输出是什么?在Train和Test时是不同的。

在Train阶段,如图8所示。这时是知道label的,decoder的第一个输入是begin字符,输出第一个向量与label中第一个字符使用cross entropy loss。Decoder的第二个输入是第一个向量的label,Decoder的第N个输入对应的输出是End字符,到此结束。这里也可以看到,在Train阶段是可以进行并行训练的。

在Test阶段,下一个时刻的输入时是前一个时刻的输出,如图9所示。因此,Train和Test时候,Decoder的输入会出现Mismatch,在Test时候确实有可能会出现一步错,步步错的情况。有两种解决方案:一种是train时偶尔给一些错误,另一种是Scheduled sampling。

5.5Transformer Decoder block内部的输出和输出是什么?

前面提到的是在整体train和test阶段,Decoder的输出和输出,那么Transformer Decoder内部的Transformer Decoder block,如图10所示,的输入输出又是什么呢?

对于N=6中的第1次循环(N=1时):子Decoder block1 的输入是 embedding +Positional Embedding,子Decoder block2 的输入的Q来自子Decoder block1的输出,KV来自Transformer Encoder最后一层的输出。

对于N=6的第2次循环:子Decoder block1的输入是N=1时,子Decoder block3的输出,KV同样来自Transformer Encoder的最后一层的输出。

总的来说,可以看到,无论在Train还是Test时,Transformer Decoder的输入不仅来自(ground truth或者上一个时刻Decoder的输出),还来自Transformer Encoder的最后一层。

训练时:第i个decoder的输入 = encoder输出 + ground truth embedding。

预测时:第i个decoder的输入 = encoder输出 + 第(i-1)个decoder输出.

6. Transformer Encoder和Transformer Decoder有哪些不同?

6.1作用上,Transformer Encoder常用来提取特征,Transformer Decoder常用于生成式任务。Transformer Encoder和Transformer Decoder是两条不同的技术路线,Bert采用的前者,GPT系列模型采用的是后者。

6.2结构上,Transformer Decoder block包括了3个子Decoder block,而Transformer Encoder block 包括2个子Encoder block,且Transformer Decoder中使用了Mask multi-head Attention。

6.3从二者的输入输出角度,N个Transformer Encoder运算完成之后,它的输出才正式输入进Transformer Decoder,作为QKV中的K和V,给Transformer Decoder使用。那么TransformerEncoder最后层的输出是如何送给Decoder呢?如图11所示。

那么,为什么Encoder和Decoder必须要用这种交互的方式呢?其实也并不一定,后续有不同交互方式的提出,如图12。

7. 什么是Embedding?

7.1Embedding在Transformer架构中的位置如图13所示。

7.2 提出背景:计算机无法直接处理一个单词或者一个汉字,需要把一个token转化成计算机可以识别的向量,这也就是embedding过程。

7.3 实现方式:最简单的embedding操作就是one hot vector,但one hot vector有一个弊端就是没有考虑词语前后之间的关系,后来也就产生了WordEmbedding,如图13。

8. 什么是Positional Embedding?

8.1Positional Embedding在Transformer架构中的位置如图14所示。

8.2 提出背景:RNN作为特征提取器,是自带词的前后顺序信息的;而Attention机制并没有考虑先后顺序信息,但前后顺序信息对语义影响很大,因此需要通过Positional Embedding这种方式把前后位置信息加在输入的Embedding上。

8.3 实现方式:传统位置编码和神经网络自动训练得到。

9. 什么是Attention?

9.1介绍Transformer,为什么要介绍Attention呢?因为在Transformer中最多的multi head attention和Mask multi head attention来自Scaled dot product attention,而scaled dot product attention来自self attention,而self attention是attention的一种,因此首先需要了解Attention,如图15所示。

9.2Attention到底是什么意思呢?

对于图像而言,attention就是人们看到图像中的核心关注的区域,是图像中的重点,如图16所示。对于序列而言,Attention机制本质上是为了找到输入中不同token之间的相互关系,通过权重矩阵来自发地找到词与词之间的关系。

9.3Attention是如何实现的呢?

是通过QKV实现的。

那么什么是QKV呢?Q是query,K是keys,V是values。如图17所示,举例而言,Q是大脑发出的信号,我口渴了;K是环境信息,眼睛看到的世界;V是对环境中不同的物品赋予不同的比重,水的比重加大。

总之,Attention就是通过计算QK的相似度,与V相乘得到注意力数值。

9.4为什么必须要有QKV三者?

为什么不是只有Q?因为Q1与Q2之间的关系权重,不止需要a12,也需要a21。你可能会问?我们让a12=a21不行吗?也可以尝试,但从原理上讲效果应该没有a12和a21效果好。

为什么不是只有QK?求得的权重系数需要放到输入中,可以乘Q,也可以乘K,为什么要重新乘V呢?我觉得可能是多了一组可训练参数WV,使网络具有更强的学习能力。

10. 什么是Self attention?

10.1介绍Transformer,为什么要介绍self Attention呢?因为在Transformer中最多的multi head attention和Mask multi head attention来自Scaled dot product attention,而scaled dot product attention来自self attention,如图15所示。

10.2什么是self attention呢?self attention和local attention、stride attention都是attention的一种;self attention是每一个Q与每一个K依次计算注意力系数,如图18所示,而像local attention是Q只与相邻的K计算注意力系数,stride attention是Q通过跳连的方式与K计算注意力系数。

10.3Self attention为什么可以用于处理像机器翻译这种序列数据?

输入序列中的每一个位置的数据,可以关注其他位置的信息,由此通过Attention score来提取特征或者捕获输入序列每一个token之间的关系。

10.4Self attention是如何具体实现的? 总共分为4步,如图19所示

11. 什么是Scaled dot product attention?

11.1self attention最常见的有两种,一种是dot product attention、另一种是additive attention,如图20所示,前者的计算效率更高。

11.2什么是Scaled ?

scaled的具体实现方式如图21所示,这一操作的目的是为了防止内积过大,从梯度角度考虑,避免靠近1,易训练;与batch normalization有一些相似的功能。

12. 什么是Multi head attention?

12.1Multi head attention在Transformer架构中的位置如图15所示。

12.2 提出背景:CNN具有多个channel,可以提取图像不同维度的特征信息,那么Self attention是否可以有类似操作,可以提取不同距离token的多个维度信息呢?

12.3什么是group 卷积?如图22所示,将输入的特征多个channel分成几个group单独做卷积,最后再进行con c操作。

12.4Multi head attention的实现方式?与self attention根本不同是什么?

如图23所示,以2个head的为例,将输入的Q、K、V分成两份,每一小份的Q与对应的K、V分别操作,最后计算得到的向量再进行conc操作,由此可以看出,Multi head attention与group卷积有着相似的实现方式。

12.5如何从输入输出维度,角度来理解Multi head attention?如图24所示。

13. 什么是Mask Multi head attention?

13.1Mask Multi head attention在transformer架构中的位置如图15所示。

13.2为什么要有Mask这种操作?

Transformer预测第T个时刻的输出,不能看到T时刻之后的那些输入,从而保证训练和预测一致。

通过 Masked 操作可以防止第 i 个单词知道 i+1 个单词之后的信息,如图25所示。

13.3Mask操作是如何具体实现的呢?

Q1只跟K1计算,Q2只跟K1、K2计算,而对于K3、K4等,在softmax之前给一个非常大的负数,由此经过softmax之后变为0,其在矩阵上的计算原理实现如图26所示。

14. 什么是ADD?

14.1Add就是残差连接,由2015年ResNet这篇文章发扬光大(目前引用量已超过16万),与Skip connection的区别在于需要大小维度全部相同。

14.2作为大道至简想法的极致,几乎每一个深度学习模型都会用到这个技术,可以防止网络退化,常用于解决多层网络难训练的问题。

15. 什么是Norm?

15.1Norm就是layer normalization。

15.2核心作用:为了训练更加稳定,和batch normalization有相同的作用,都是为了使输入的样本均值为零,方差为1。

15.3为什么不使用batch normalization,使用的是layer normalization呢?因为一个时序数据,句子输入长度有长有短,如果使用batch normalization,则很容易造成因样本长短不一造成“训练不稳定”。BN是对同一个batch内的所有数据的同一个特征数据进行操作;而LN是对同一个样本进行操作。

16. 什么是FFN?

16.1FFN就是feed forward networks。

16.2为什么有了Self attention层,还要有FFN?Attention已经有了想要的序列信息特征,MLP的作用是把信息投影到特定的空间里,再做一次非线性映射,和Self attention交替使用。

16.3结构上:包括两层MLP,第一层的维度为512*2048,第二层的维度为2048*512,且第二层MLP没有使用激活函数,如图29所示。

17. Transformer是如何训练出来的?

17.1数据上,在Transformer论文中有提到,用到了4.5M和36M的翻译句子对。

17.2硬件上,base模型是8个P100 GPU训练了12个小时,大模型是训练了3.5天。

17.3模型参数和调参层面:

第一,可训练的参数包括WQ、WK、WV、WO,换包括FFN层的参数。

第二,可调的参数包括:每一个token向量表示的维度(d_model)、head的头数、Encoder和Decoder中block重复的次数N、FFN中间层向量的维度、Label smoothing(置信度0.1)和dropout(0.1)。

18. Transformer为什么效果好?

18.1虽然题目是Attention is all you need,但后续一些研究表明,Attention、残差连接、layer normalization、FFN,这些因素共同成就了Transformer。

18.2Transformer优点包括:

第一,提出深度学习既MLP、CNN、RNN后的第4大特征提取器。

第二,一开始用在机器翻译,随着GPT和Bert彻底出圈;是一个转折点,在这个点之后,NLP领域快速发展,之后多模态、大模型、视觉Transformer等开始兴起。

第三,给人们信心,原来CNN和RNN之后,还可以有效果更好的特征提取器。

18.3Transformer的不足之处?

第一,计算量大,对硬件要求高。

第二,因为无归纳偏置,需要很多数据才可以取得很好的效果。

阅读最新前沿科技研究报告,欢迎访问欧米伽研究所的“未来知识库”

未来知识库是“ 欧米伽 未来研究所”建立的在线知识库平台,收藏的资料范围包括人工智能、脑科学、互联网、超级智能,数智大脑、能源、军事、经济、人类风险等等领域的前沿进展与未来趋势。目前拥有超过8000篇重要资料。每周更新不少于100篇世界范围最新研究资料。


截止到10月25日 ”未来知识库”精选的100部前沿科技趋势报告

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
于朦胧去世一天后,可怕一幕上演了,72岁李诚儒遭殃,评论区沦陷

于朦胧去世一天后,可怕一幕上演了,72岁李诚儒遭殃,评论区沦陷

史行途
2025-09-14 09:33:14
于朦胧坠亡:一对男女成重要嫌疑人,真实身份被扒,现场照片流出

于朦胧坠亡:一对男女成重要嫌疑人,真实身份被扒,现场照片流出

博士观察
2025-09-14 22:48:50
霍启刚:我敢不疼老婆吗?那可是拿3000亿继承权换的!

霍启刚:我敢不疼老婆吗?那可是拿3000亿继承权换的!

混沌录
2025-09-13 21:53:35
于朦胧事件终于迎来阳光!嫌疑人被公司切割,公众人物开始发声!

于朦胧事件终于迎来阳光!嫌疑人被公司切割,公众人物开始发声!

振华观史
2025-09-14 19:48:05
“幽灵男孩”:卧床被困14年遭护工非人虐待、性侵、非法灌肠,却没人知道他醒着......

“幽灵男孩”:卧床被困14年遭护工非人虐待、性侵、非法灌肠,却没人知道他醒着......

超级数学建模
2025-09-11 23:05:31
知名车评人宣称永不碰小米,曝小米汽车众多问题,更多车主参战

知名车评人宣称永不碰小米,曝小米汽车众多问题,更多车主参战

云景侃记
2025-09-14 11:28:13
恭喜!彩票大奖砸中华人家庭,华人爸爸房贷清零乐开怀

恭喜!彩票大奖砸中华人家庭,华人爸爸房贷清零乐开怀

华人生活网
2025-09-14 00:50:03
螳螂捕蝉黄雀在后!释永信“倒台”一个多月后,最大的受益人出现

螳螂捕蝉黄雀在后!释永信“倒台”一个多月后,最大的受益人出现

聚合大娱
2025-09-13 16:07:41
佟丽娅离婚4年喜讯官宣,41岁再婚,陈思诚已无法企及

佟丽娅离婚4年喜讯官宣,41岁再婚,陈思诚已无法企及

何嗀爱捕渔
2025-09-13 18:16:33
乾隆写给英国国王的信,全文976字愚昧无比,今藏于大英博物馆

乾隆写给英国国王的信,全文976字愚昧无比,今藏于大英博物馆

诗词中国
2025-09-14 14:20:54
徐文龙,被查

徐文龙,被查

新京报
2025-09-14 10:40:03
加热15分钟出三菜一汤!预制菜比外卖便宜一半,有人用来待客

加热15分钟出三菜一汤!预制菜比外卖便宜一半,有人用来待客

娱乐白名单
2025-09-13 22:06:48
追梦:乐福被针对了一辈子 却在总决赛G7最后30秒突然决定防一次

追梦:乐福被针对了一辈子 却在总决赛G7最后30秒突然决定防一次

直播吧
2025-09-14 10:30:08
车臣将军曝俄军惨状!50公里内难存活

车臣将军曝俄军惨状!50公里内难存活

知兵
2025-09-12 21:25:20
以色列心目中的六大军事强国:第一不是美国,中国排名垫底?

以色列心目中的六大军事强国:第一不是美国,中国排名垫底?

卷史
2025-08-09 18:17:48
记者:亚马尔模仿詹姆斯庆祝动作引发争议,本人对此并不在意

记者:亚马尔模仿詹姆斯庆祝动作引发争议,本人对此并不在意

雷速体育
2025-09-14 11:22:15
《灼灼韶华》韶华到死不知,大顺有多防她,陈先魁对她算计有多狠

《灼灼韶华》韶华到死不知,大顺有多防她,陈先魁对她算计有多狠

阿讯说天下
2025-09-14 12:40:05
扫地出门!阿森纳正式驱逐“8000万先生”!塔帅钦点法鹰“头牌”

扫地出门!阿森纳正式驱逐“8000万先生”!塔帅钦点法鹰“头牌”

头狼追球
2025-09-14 10:08:46
美国国会挑战川普团伙,乌克兰对俄发动大规模无人机袭击

美国国会挑战川普团伙,乌克兰对俄发动大规模无人机袭击

近距离
2025-09-12 20:47:16
实惠!南欧名帅确认加盟中超球队,年薪仅5百万!徐正源尴尬了

实惠!南欧名帅确认加盟中超球队,年薪仅5百万!徐正源尴尬了

国足风云
2025-09-14 09:18:21
2025-09-14 23:39:00
人工智能学家 incentive-icons
人工智能学家
人工智能领域权威媒体
4185文章数 37276关注度
往期回顾 全部

科技要闻

L3级车型要来了!辅助驾驶迎重大利好

头条要闻

王毅表态:中国是负责任大国 中方不参与、不策划战争

头条要闻

王毅表态:中国是负责任大国 中方不参与、不策划战争

体育要闻

利物浦1-0绝杀十人伯恩利 萨拉赫95分钟点射

娱乐要闻

花泽香菜官宣离婚 结束与老公5年婚姻

财经要闻

西贝贾国龙,“错”得离谱

汽车要闻

混动狂潮 835马力V12 阿斯顿·马丁的最后浪漫

态度原创

本地
旅游
艺术
公开课
军事航空

本地新闻

云游中国 | 草原驭秋风 祁连山邂逅黑河源头

旅游要闻

热闻|清明假期将至,热门目的地有哪些?

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

俄无人机飞入波兰 美国务卿:不可接受

无障碍浏览 进入关怀版