分类目录:《深入理解深度学习》总目录

相关文章:
·注意力机制(AttentionMechanism):基础知识
·注意力机制(AttentionMechanism):注意力汇聚与Nadaraya-Watson核回归
·注意力机制(AttentionMechanism):注意力评分函数(AttentionScoringFunction)
·注意力机制(AttentionMechanism):Bahdanau注意力
·注意力机制(AttentionMechanism):多头注意力(MultiheadAttention)
·注意力机制(AttentionMechanism):自注意力(Self-attention)
·注意力机制(AttentionMechanism):位置编码(PositionalEncoding)


Transformer中的编码器不止一个,而是由一组 N N N个编码器串联而成。一个编码器的输出作为下一个编码器的输入。在下图中有 N N N个编码器,每一个编码器都从下方接收数据,再输出给上方。以此类推,原句中的特征会由最后一个编码器输出。编码器模块的主要功能就是提取原始序列(图中为“I am good.”句子)中的特征。

需要注意的是,在Transformer原论文《Attention Is All You Need》中,作者使用了 N = 6 N=6 N=6,也就是说,一共有6个编码器叠加在一起。当然,我们可以尝试使用不同的 N N N值。这里为了方便理解,我们使用 N = 2 N=2 N=2。要进一步理解编码器的工作原理,我们可以将编码器再次分解。下图展示了编码器的组成部分。由下图可知,每一个编码器的构造都是相同的,并且包含两个部分:

  • 多头注意力层
  • 前馈网络层

其中多头注意力层即是我们在《深入理解深度学习——注意力机制(Attention Mechanism):多头注意力(Multi-head Attention)》中介绍的多头注意力。前馈网络由两个有ReLU激活函数的全连接层组成。前馈网络的参数在句子的不同位置上是相同的,但在不同的编码器模块上是不同的。除此之外,在编码器中还有一个重要的组成部分,即叠加和归一组件。它同时连接一个子层的输入和输出,如下图所示(虚线部分),它同时连接多头注意力层的输入和输出,也同时连接前馈网络层的输入和输出。

叠加和归一组件实际上包含一个残差连接与层的归一化。层的归一化可以防止每层的值剧烈变化,从而提高了模型的训练速度。

综上所述,我们将编码器1展开可以得到如下图所示结构:

从上图中我们可以总结出以下几点:

  • 将输入转换为嵌入矩阵(输入矩阵),并将位置编码加入其中,再将结果作为输入传入底层的编码器(编码器1)。
  • 编码器1接受输入并将其送入多头注意力层,该子层运算后输出注意力矩阵。
  • 将注意力矩阵输入到下一个子层,即前馈网络层。前馈网络层将注意力矩阵作为输入,并计算出特征值作为输出。
  • 把从编码器1中得到的输出作为输入,传入下一个编码器(编码器2)。
  • 编码器2进行同样的处理,再将给定输入句子的特征值作为输出。

这样可以将 N N N个编码器一个接一个地叠加起来。从最后一个编码器(顶层的编码器)得到的输出将是给定输入句子的特征值。让我们把从最后一个编码器(在本例中是编码器2)得到的特征值表示为 R R R。我们把 R R R作为输入传给解码器。解码器将基于这个输入生成目标句,这也是Transformer的编码器部分。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023

深入理解深度学习——Transformer:编码器(Encoder)部分相关推荐

  1. 深入理解深度学习——Transformer:整合编码器(Encoder)和解码器Decoder)

    分类目录:<深入理解深度学习>总目录 相关文章: ·注意力机制(Attention Mechanism):基础知识 ·注意力机制(Attention Mechanism):注意力汇聚与Na ...

  2. 深入理解深度学习——Transformer:解码器(Decoder)部分

    分类目录:<深入理解深度学习>总目录 相关文章: ·注意力机制(Attention Mechanism):基础知识 ·注意力机制(Attention Mechanism):注意力汇聚与Na ...

  3. 深入理解深度学习——Transformer:解码器(Decoder)的多头注意力层(Multi-headAttention)

    分类目录:<深入理解深度学习>总目录 相关文章: ·注意力机制(Attention Mechanism):基础知识 ·注意力机制(Attention Mechanism):注意力汇聚与Na ...

  4. 深入理解深度学习——GPT(Generative Pre-Trained Transformer):基础知识

    分类目录:<深入理解深度学习>总目录 相关文章: · GPT(Generative Pre-Trained Transformer):基础知识 · GPT(Generative Pre-T ...

  5. 深入理解深度学习——BERT派生模型:BART(Bidirectional and Auto-Regressive Transformers)

    分类目录:<深入理解深度学习>总目录 UniLM和XLNet都尝试在一定程度上融合BERT的双向编码思想,以及GPT的单向编码思想,同时兼具自编码的语义理解能力和自回归的文本生成能力.由脸 ...

  6. 深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-3与Few-shot Learning

    分类目录:<深入理解深度学习>总目录 相关文章: · GPT(Generative Pre-Trained Transformer):基础知识 · GPT(Generative Pre-T ...

  7. 深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-2与Zero-shot Learning

    分类目录:<深入理解深度学习>总目录 相关文章: · GPT(Generative Pre-Trained Transformer):基础知识 · GPT(Generative Pre-T ...

  8. 深入理解深度学习——预训练模型

    分类目录:<深入理解深度学习>总目录 近些年基于深度学习的NLP技术的重大进展主要包括NNLM(2003).Word Embedding(2013).Seq2Seq(2014).Atten ...

  9. 深入理解深度学习——BERT派生模型:XLM(Cross-lingual Language Model)

    分类目录:<深入理解深度学习>总目录 BERT本应在语义理解上具有绝对优势,但其训练语料均为英语单语,受限于此,早期的BERT只在英语文本理解上有优势.随着全球化进程的加速,跨语言的预训练 ...

最新文章

  1. 【OpenCV 4开发详解】图像卷积
  2. python培训骗局-python 无良培训忽悠骗局知多少?
  3. 单林多域群集环境中将Exchange 2003迁移到Exchange 2010之二
  4. mysql表恢复报错binlog_mysqlbinlog 恢复报错ERROR at line 24826643: Unknown command '\'汗血宝马...
  5. 服务器不稳定 如何让百度重新收录网站,教你如何让百度重新收录首页
  6. 【论文学习】Spatially Variant Linear Representation Models for Joint Filtering
  7. ubuntu 下安装和启动SSH 服务
  8. WTL -- 常用功能
  9. java中的各个数据结构区别
  10. 小腹下面是什么部位_产后新妈妈去掉大肚腩,恢复平坦小腹,不妨试试这4个动作...
  11. eclipse svn 分支合并到主干
  12. 数学三角形的所有定理!所有!
  13. 发链(FAB)技术有望突破区块链交易瓶颈
  14. 微信小程序云开发之实时监听数据库某集合数据条数
  15. PMP - 活动持续时间估算题
  16. AE导出JSON数据用CSS做前端交互---kalrry
  17. 爬虫教程:如何批量采集知乎
  18. 代码本色——雪梨的Processing探索·Chapter 0:随机游走
  19. 基于云原生的政务云解决方案,为高效政务加码
  20. 修改XP开机画面最简单办法

热门文章

  1. Java基础篇 Map循环的方式
  2. mysql哨兵模式_3台服务器Redis高可用哨兵模式实现
  3. 点击不同的统计类型重载layui表格
  4. Java 随机数生成器 Random SecureRandom
  5. python输入一个英文句子、求其中最长的单词的changd_corbyliu
  6. 图像中的目标检测学习笔记(一)
  7. 【维生素C语言】第十章 - 指针的进阶(下)
  8. python docx提取word中的目录及文本框中的文本
  9. 将数组分成两部分,使这两部分和的差最小
  10. 2023年谷歌seo排名优化指南