这两天在学习Transformer,看了李沐的论文解读和NLP从入门到放弃,看完这两个视频算是大致明白了Transformer的结构。

关于Self-Attention、Multi-Head Attention以及Poisitonal Encoding强烈建议看一下这篇文章:详解Transformer中Self-Attention以及Multi-Head Attention

但是对于Decoder部分,依然是有点模糊,不知道Decoder的输入到底是什么,也不知道Decoder到底是不是并行计算,还有Encoder和Decoder之间的交互也不是很清晰,于是去看了李宏毅的讲解视频:强烈推荐!台大李宏毅自注意力机制和Transformer详解!,才算是明白了Decoder的运行机制,于是想着总结一下。

1. Decoder的输入到底是什么

在train模式下和在test模式下Decoder的输入是不同的,在train模式下Decoder的输入是Ground Truth,也就是不管输出是什么,会将正确答案当做输入,这种模式叫做teacher-forcing。但是在test模式下根本没有Ground Truth去teach,那只能将已经出现的词的输出(注意这里的输出是走完整个Decoder计算得到预测结果而不是走完一层Decoder的输出)当做下一次Decoder计算的输入,我想这也是论文中shifted right的意思,一直往右移。

2. Decoder到底是不是并行计算的

在Transformer中,最被人津津乐道,也是他相较于RNN类型模型最大的优点之一就是他可以并行计算,但是这个并行计算仅限于在Encoder中,在Encoder中是将所有的词一起输入一起计算,但是在Decoder中不是的,在Decoder中依然是像RNN一样一个一个词输入,将已经出现的词计算得到的Q与Encoder计算得到的K,V进行计算,经过了全部Decoder层再经过FC+Softmax得到结果之后再把结果当做Decoder的输入再走一遍整个流程直到得到END标签。

3. Encoder与Decoder之间的交互

Encoder与Decoder之间的交互不是每一层一一对应的,而是Encoder 6层全部计算完得到K和V之后再将K和V传给Decoder的每一层与其计算得到的Q进行计算。但是看了李宏毅老师的视频,发现这是不一定的,可以自己发挥想象力自定义Encoder和Decoder之间的连接方式。

参考资料

Transformer中的Decoder详解_CuddleSabe的博客-CSDN博客_transformer的decoder//与本文互补

Transformer Decoder详解相关推荐

  1. Transformer模型详解(图解最完整版)

    前言 Transformer由论文<Attention is All You Need>提出,现在是谷歌云TPU推荐的参考模型.论文相关的Tensorflow的代码可以从GitHub获取, ...

  2. 一文看懂Transformer(详解)

    文章目录 Transformer 前言 网络结构图: Encoder Input Embedding Positional Encoder self-attention Padding mask Ad ...

  3. Transformer(二)--论文理解:transformer 结构详解

    转载请注明出处:https://blog.csdn.net/nocml/article/details/110920221 本系列传送门: Transformer(一)–论文翻译:Attention ...

  4. Transformer代码详解: attention-is-all-you-need-pytorch

    Transformer代码详解: attention-is-all-you-need-pytorch 前言 Transformer代码详解-pytorch版 Transformer模型结构 各模块结构 ...

  5. ViT( Vision Transformer)详解

    文章目录 (一)参考博客和PPT原文件下载连接 (二)VIT原理详解 2.1.self-attention 2.2.sequence序列之间相关性 α \boldsymbol{\alpha} α的求解 ...

  6. Transformer原理详解

    Transformer原理详解 一.前言 在学习Transformer之前,需要掌握Attention机制.Encoder-Decoder.Self-Attention机制的基础知识,可以参考本人的博 ...

  7. Transformer 模型详解

    Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,现在比较火热的 Bert 也是基于 Transformer.Transformer 模型使用了 Self- ...

  8. Transformer结构详解(有图,有细节)

    文章目录 1. transformer的基本结构 2. 模块详解 2.1 模块1:Positional Embedding 2.2 模块2:Multi-Head Attention 2.2.1 Sca ...

  9. 分享本周所学——Transformer模型详解

    大家好,欢迎来到<分享本周所学>第二期.本人是一名人工智能初学者,最近一周学了一下Transformer这个特别流行而且特别强大的模型,觉得非常有收获,就想用浅显易懂的语言让大家对这个超级 ...

最新文章

  1. 用 PHP 和 MySQL 保存和输出图片
  2. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第四章 课后答案
  3. lightswitch 添加 TreeView 控件
  4. python中的tkinter模块
  5. python requests cookies请求_python+requests实现接口测试 - cookies的使用
  6. (4.28)for xml path 在合并拆分上的作用演示
  7. asp.net findcontrol html控件,findcontrol-在ASP.NET中查找控件的更好方法
  8. ABBYY PDF Transformer+功能概述
  9. java 开发规约插件_阿里巴巴Java开发规约IDE插件
  10. linux ubi代码分析,linux ubi文件系统
  11. C/C++ 解决sizeof求结构体大小(结构体内存对齐)
  12. 超级玛丽java_超级玛丽java实现源码
  13. 计算机专硕毕业论文写什么,关于学姐写硕士毕业论文的一些经验,分享给大家...
  14. Java获取电脑外网ip地址方法
  15. Android中Home键的监听和拦截
  16. 单片机上电后没有运转,需要从这些方面考虑
  17. php本地文件包含 截断,php远程文件包含截断问题
  18. STM32学习之I2C协议(读写EEPROM)
  19. 追寻着最初的梦想,我们上路吧
  20. 思科三层交换机路由配置

热门文章

  1. pyqt开发新浪微博粉丝聊天软件v1(图形界面)
  2. Qualcomm messaging Interface(QMI)消息定义概述
  3. myeclipse2017下载安装 破解以及汉化
  4. Centos7 安装 机器学习环境(PIP + Python3.7 + Cython + Jupyter Notebook + Docker + 虚拟机网络环境)
  5. 2023网安面试题(附答案)
  6. bzoj4179: B
  7. 插值函数总结(上篇)
  8. 自己整理的一张图,关于新个税专项附加扣除
  9. TP5之页面跳转样式
  10. FFmpeg 代码实现流媒体推流(RTSP)