您现在的位置是:首页 > 编程 > 

深度学习11:Transformer

2025-07-28 21:19:12
深度学习11:Transformer 什么是 Transformer?transformer结构图​ 和经典的 seq2seq 模型一样,Transformer 模型中也采用了 encoer-decoder 架构。上图的左半边用 X 框出来的,就代表一层 encoder,其中论文里面的 encoder 一共有6层这样的结构。上图的右半边用 X 框出来的,则代表一层 decoder,同样也有6

深度学习11:Transformer

什么是 Transformer?

transformer结构图

​ 和经典的 seq2seq 模型一样,Transformer 模型中也采用了 encoer-decoder 架构。上图的左半边用 X 框出来的,就代表一层 encoder,其中论文里面的 encoder 一共有6层这样的结构。上图的右半边用 X 框出来的,则代表一层 decoder,同样也有6层。

定义输入序列首先经过 word embedding,再和 positional encoding 相加后,输入到 encoder 中。输出序列经过的处理和输入序列一样,然后输入到 decoder。

最后,decoder 的输出经过一个线性层,再接 Softmax。

于上便是 Transformer 的整体框架,下面先来介绍 encoder 和 decoder。

Encoder

encoder由 6 层相同的层组成,每一层分别由两部分组成:

  • 第一部分是 multi-head self-attention
  • 第二部分是 position-wise feed-forward network,是一个全连接层

两个部分,都有一个残差连接(residual connection),然后接着一个 Layer ormalization。

Decoder

和 encoder 类似,decoder 也是由6个相同的层组成,每一个层包括以下个部分:

  • 第一个部分是 multi-head self-attention mechanism
  • 第二部分是 multi-head context-attention mechanism
  • 第三部分是一个 position-wise feed-forward network

和 encoder 一样,上面三个部分的每一个部分,都有一个残差连接,后接一个 Layer ormalization

decoder 和 encoder 不同的地方在 multi-head context-attention mechanism

Attention

我在以前的文章中讲过,Attention 如果用一句话来描述,那就是 encoder 层的输出经过加权平均后再输入到 decoder 层中。它主要应用在 seq2seq 模型中,这个加权可以用矩阵来表示,也叫 Attention 矩阵。它表示对于某个时刻的输出 y,它在输入 x 上各个部分的注意力。这个注意力就是我们刚才说到的加权。

Attention 又分为很多种,其中两种比较典型的有加性 Attention 和乘性 Attention。加性 Attention 对于输入的隐状态 ht 和输出的隐状态 st 直接做 concat 操作,得到 [st;ht] ,乘性 Attention 则是对输入和输出做 dot 操作。

在 Google 这篇论文中,使用的 Attention 模型是乘性 Attention。

我在之前讲 ESIM 模型的文章里面写过一个 soft-align-attention,大家可以参考体会一下。

Self-Attention

上面我们说attention机制的时候,都会说到两个隐状态,分别是 hi 和 st。前者是输入序列第 i个位置产生的隐状态,后者是输出序列在第 t 个位置产生的隐状态。所谓 self-attention 实际上就是,输出序列就是输入序列。因而自己计算自己的 attention 得分。

Context-Attention

context-attention 是 encoder 和 decoder 之间的 attention,是两个不同序列之间的attention,与来源于自身的 self-attention 相区别。

不管是哪种 attention,我们在计算 attention 权重的时候,可以选择很多方式,常用的方法有

  • additive attention
  • local-base
  • general
  • dot-product
  • scaled dot-product

Transformer模型采用的是最后一种:scaled dot-product attention。

什么是 Transformer(微软研究院笨笨)

Transformer是一个完全基于注意力机制的编解码器模型,它抛弃了之前其它模型引入注意力机制后仍然保留的循环与卷积结构,而采用了自注意力(Self-attention)机制,在任务表现、并行能力和易于训练性方面都有大幅的提高。

在 Transformer 出现之前,基于神经网络的机器翻译模型多数都采用了 R的模型架构,它们依靠循环功能进行有序的序列操作。虽然 R 架构有较强的序列建模能力,但是存在训练速度慢,训练质量低等问题。

R和Transformer区别

与基于 R 的方法不同,Transformer 模型中没有循环结构,而是把序列中的所有单词或者符号并行处理,同时借助自注意力机制对句子中所有单词之间的关系直接进行建模,而无需考虑各自的位置。

具体而言,如果要计算给定单词的下一个表征,Transformer 会将该单词与句子中的其它单词一一对比,并得出这些单词的注意力分数。注意力分数决定其它单词对给定词汇的语义影响。之后,注意力分数用作所有单词表征的平均权重,这些表征输入全连接网络,生成新表征。

由于 Transformer 并行处理所有的词,以及每个单词都可以在多个处理步骤内与其它单词之间产生联系,它的训练速度比 R 模型更快,在翻译任务中的表现也比 R 模型更好。除了计算性能和更高的准确度,Transformer 另一个亮点是可以对网络关注的句子部分进行可视化,尤其是在处理或翻译一个给定词时,因此可以深入了解信息是如何通过网络传播的。

之后,Google的研究人员们又对标准的 Transformer 模型进行了拓展,采用了一种新型的、注重效率的时间并行循环结构,让它具有通用计算能力,并在更多任务中取得了更好的结果。

改进的模型(Universal Transformer)在保留Transformer 模型原有并行结构的基础上,把 Transformer 一组几个各异的固定的变换函数替换成了一组由单个的、时间并行的循环变换函数构成的结构

相比于 R一个符号接着一个符号从左至右依次处理序列,Universal Transformer 和 Transformer 能够一次同时处理所有的符号

Universal Transformer和Transformer 区别

但 Universal Transformer 接下来会根据自注意力机制对每个符号的解释做数次并行的循环处理修饰。Universal Transformer 中时间并行的循环机制不仅比 R 中使用的串行循环速度更快,也让 Universal Transformer 比标准的前馈 Transformer 更加强大。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-12-1,如有侵权请联系 cloudcommunity@tencent 删除模型网络深度学习架构连接

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1264843.html

相关标签:无
上传时间: 2025-07-28 15:29:06
留言与评论(共有 15 条评论)
本站网友 黄健华
26分钟前 发表
注意力分数用作所有单词表征的平均权重
本站网友 石嘴山市人民议政网
21分钟前 发表
本文参与 腾讯云自媒体同步曝光计划
本站网友 信心
10分钟前 发表
除了计算性能和更高的准确度
本站网友 智能家居功能
18分钟前 发表
Decoder和 encoder 类似
本站网友 仙人掌果实
10分钟前 发表
它抛弃了之前其它模型引入注意力机制后仍然保留的循环与卷积结构
本站网友 泉州金改
25分钟前 发表
与来源于自身的 self-attention 相区别
本站网友 济南出版社
13分钟前 发表
而是把序列中的所有单词或者符号并行处理
本站网友 收费视频
26分钟前 发表
时间并行的循环变换函数构成的结构
本站网友 海米冬瓜
23分钟前 发表
之后
本站网友 合阳二手房
17分钟前 发表
而无需考虑各自的位置
本站网友 s3we
22分钟前 发表
具体而言
本站网友 香港电话
14分钟前 发表
Universal Transformer 和 Transformer 能够一次同时处理所有的符号Universal Transformer和Transformer 区别但 Universal Transformer 接下来会根据自注意力机制对每个符号的解释做数次并行的循环处理修饰
本站网友 阳光香蜜湖
22分钟前 发表
我们在计算 attention 权重的时候
本站网友 黑客吧
26分钟前 发表
最后