Transformer Decoder详解
这两天在学习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详解相关推荐
- Transformer模型详解(图解最完整版)
前言 Transformer由论文<Attention is All You Need>提出,现在是谷歌云TPU推荐的参考模型.论文相关的Tensorflow的代码可以从GitHub获取, ...
- 一文看懂Transformer(详解)
文章目录 Transformer 前言 网络结构图: Encoder Input Embedding Positional Encoder self-attention Padding mask Ad ...
- Transformer(二)--论文理解:transformer 结构详解
转载请注明出处:https://blog.csdn.net/nocml/article/details/110920221 本系列传送门: Transformer(一)–论文翻译:Attention ...
- Transformer代码详解: attention-is-all-you-need-pytorch
Transformer代码详解: attention-is-all-you-need-pytorch 前言 Transformer代码详解-pytorch版 Transformer模型结构 各模块结构 ...
- ViT( Vision Transformer)详解
文章目录 (一)参考博客和PPT原文件下载连接 (二)VIT原理详解 2.1.self-attention 2.2.sequence序列之间相关性 α \boldsymbol{\alpha} α的求解 ...
- Transformer原理详解
Transformer原理详解 一.前言 在学习Transformer之前,需要掌握Attention机制.Encoder-Decoder.Self-Attention机制的基础知识,可以参考本人的博 ...
- Transformer 模型详解
Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,现在比较火热的 Bert 也是基于 Transformer.Transformer 模型使用了 Self- ...
- Transformer结构详解(有图,有细节)
文章目录 1. transformer的基本结构 2. 模块详解 2.1 模块1:Positional Embedding 2.2 模块2:Multi-Head Attention 2.2.1 Sca ...
- 分享本周所学——Transformer模型详解
大家好,欢迎来到<分享本周所学>第二期.本人是一名人工智能初学者,最近一周学了一下Transformer这个特别流行而且特别强大的模型,觉得非常有收获,就想用浅显易懂的语言让大家对这个超级 ...
最新文章
- 用 PHP 和 MySQL 保存和输出图片
- 【传智播客】Javaweb程序设计任务教程 黑马程序员 第四章 课后答案
- lightswitch 添加 TreeView 控件
- python中的tkinter模块
- python requests cookies请求_python+requests实现接口测试 - cookies的使用
- (4.28)for xml path 在合并拆分上的作用演示
- asp.net findcontrol html控件,findcontrol-在ASP.NET中查找控件的更好方法
- ABBYY PDF Transformer+功能概述
- java 开发规约插件_阿里巴巴Java开发规约IDE插件
- linux ubi代码分析,linux ubi文件系统
- C/C++ 解决sizeof求结构体大小(结构体内存对齐)
- 超级玛丽java_超级玛丽java实现源码
- 计算机专硕毕业论文写什么,关于学姐写硕士毕业论文的一些经验,分享给大家...
- Java获取电脑外网ip地址方法
- Android中Home键的监听和拦截
- 单片机上电后没有运转,需要从这些方面考虑
- php本地文件包含 截断,php远程文件包含截断问题
- STM32学习之I2C协议(读写EEPROM)
- 追寻着最初的梦想,我们上路吧
- 思科三层交换机路由配置
热门文章
- pyqt开发新浪微博粉丝聊天软件v1(图形界面)
- Qualcomm messaging Interface(QMI)消息定义概述
- myeclipse2017下载安装 破解以及汉化
- Centos7 安装 机器学习环境(PIP + Python3.7 + Cython + Jupyter Notebook + Docker + 虚拟机网络环境)
- 2023网安面试题(附答案)
- bzoj4179: B
- 插值函数总结(上篇)
- 自己整理的一张图,关于新个税专项附加扣除
- TP5之页面跳转样式
- FFmpeg 代码实现流媒体推流(RTSP)