斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI
  • 教程地址:http://www.showmeai.tech/tutorials/36
  • 本文地址:http://www.showmeai.tech/article-detail/251
  • 声明:版权所有,转载请联系平台与作者并注明出处
  • 收藏ShowMeAI查看更多精彩内容
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

ShowMeAI为斯坦福CS224n《自然语言处理与深度学习(Natural Language Processing with Deep Learning)》课程的全部课件,做了中文翻译和注释,并制作成了GIF动图!视频和课件等资料的获取方式见文末。
引言 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

学习变长数据的表示
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 学习变长数据的表示,这是序列学习的基本组件
  • 序列学习包括 NMT,text summarization,QA,···
1.循环神经网络(RNN) 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 通常使用 RNN 学习变长的表示
  • RNN 本身适合句子和像素序列
  • LSTMs, GRUs 和其变体在循环模型中占主导地位
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 但是序列计算抑制了并行化
  • 没有对长期和短期依赖关系进行显式建模
  • 我们想要对层次结构建模
  • RNNs(顺序对齐的状态)看起来很浪费!
2.卷积神经网络(CNN) 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 并行化(每层)很简单
  • 利用局部依赖
  • 不同位置的交互距离是线性或是对数的
  • 远程依赖需要多层
3.Attention 注意力 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • NMT 中,编码器和解码器之间的 Attention 是至关重要的
  • 为什么不把注意力用于表示呢?
3.1 自注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 自注意力机制
4.文本生成 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

4.1 自注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 任何两个位置之间的路径长度都是常数级别的
  • 门控 / 乘法 的交互
  • 可以并行化(每层)
  • 可以完全替代序列计算吗?
4.2 既有成果
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • Classification & regression with self-attention:
    • Parikh et al.(2016), Lin et al. (2016)
  • Self-attention with RNNs:
    • Long et al.(2016), Shao, Gows et al.(2017)
  • Recurrent attention:
    • Sukhbaatar et al.(2015)
4.3 Transformer
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • Transformer结构
4.4 编码器与解码器的自注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 编码器的自注意力
  • 解码器的自注意力
4.5 Attention is Cheap!
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 由于计算只涉及到两个矩阵乘法,所以是序列长度的平方
  • 当维度比长度大得多的时候,非常有效
4.6 注意力:加权平均
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

4.7 自注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 上例中,我们想要知道谁对谁做了什么,通过卷积中的多个卷积核的不同的线性操作,我们可以分别获取到 who, did what, to whom 的信息。


  • 但是对于 Attention 而言,如果只有一个Attention layer,那么对于一句话里的每个词都是同样的线性变换,不能够做到在不同的位置提取不同的信息
  • {>>这就是多头注意力的来源,灵感来源于 CNN 中的多个卷积核的设计<<}


  • Who,Did What,To Whom,分别拥有注意力头


  • 将注意力层视为特征探测器
  • 可以并行完成
  • 为了效率,减少注意力头的维度,并行操作这些注意力层,弥补了计算差距
4.8 卷积和多头注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • Different linear transformations by relative position.
  • Parallel attention layers with different linear transformations on input and output.
5.Results 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

5.1 机器翻译: WMT-2014 BLEU
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 但我们并不一定比 LSTM 取得了更好的表示,只是我们更适合 SGD,可以更好的训练
  • 我们可以对任意两个词之间构建连接
6.框架 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

6.1 残差连接的必要性
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 残差连接结构
  • 位置信息最初添加在了模型的输入处,通过残差连接将位置信息传递到每一层,可以不需要再每一层都添加位置信息
6.2 训练细节
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • ADAM 优化器,同时使用了学习率预热 (warmup + exponential decay)
  • 每一层在添加残差之前都会使用dropout
  • Layer-norm/层归一化
  • 有些实验中使用了Attention dropout
  • Checkpoint-averaging 检查点平均处理
  • Label smoothing 标签平滑
  • Auto-regressive decoding with beam search and length biasing 使用集束搜索和length biasing的自回归解码
  • ……
6.3 What Matters?
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

6.4 Generating Wikipedia by Summarizing Long Sequences
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.自相似度,图片与音乐生成 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.1 自相似度,图片与音乐生成
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.2 基于概率分布的图像生成
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 模拟像素的联合分布
  • 把它变成一个序列建模问题
  • 分配概率允许度量泛化
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • RNNs和CNNs是最先进的(PixelRNN, PixelCNN)
  • incorporating gating CNNs 现在在效果上与 RNNs 相近
  • 由于并行化,CNN 要快得多
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 图像的长期依赖关系很重要(例如对称性)
  • 可能随着图像大小的增加而变得越来越重要
  • 使用CNNs建模长期依赖关系需要两者之一
    • 多层可能使训练更加困难
    • 大卷积核参数/计算成本相应变大
7.3 自相似性的研究
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 自相似性的研究案例
7.4 非局部均值
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • A Non-local Algorithm for Image Denoising (Buades, Coll, and Morel. CVPR 2005)
  • Non-local Neural Networks (Wang et al., 2018)
7.5 既有工作
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • Self-attention:
    • Parikh et al. (2016), Lin et al. (2016), Vaswani et al. (2017)
  • Autoregressive Image Generation:
    • A Oord et al. (2016), Salimans et al. (2017)
7.6 自注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.7 图像 Transformer
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.8 Attention is Cheap if length< 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.9 Combining Locality with Self-Attention
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 将注意力窗口限制为局部范围
  • 由于空间局部性,这在图像中是很好的假设
7.10 局部1维和2维注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.11 图像Transformer层
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.12 Task
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.13 Results
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • lmage Transformer
  • Parmar , Vaswani",Uszkoreit, Kaiser, Shazeer,Ku, and Tran.ICML 2018
7.14 无约束图像生成
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.15 Cifar10样本
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.16 CelebA超分辨率重建
【斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型】斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

7.17 条件图片生成
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.相对自注意力音乐生成 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.1 音乐和语言的原始表征
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.2 音乐语言模型
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 传统的 RNN 模型需要将长序列嵌入到固定长度的向量中
8.3 Continuations to given initial motif
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.4 音乐自相似度
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 给定一段音乐并生成后续音乐
  • 不能直接去重复过去的片段
  • 难以处理长距离
8.5 注意力:加权平均
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 移动的固定过滤器捕获相对距离
  • Music Transformer 使用平移不变性来携带超过其训练长度的关系信息,进行传递
  • Different linear transformations by relative position.
8.6 近观相对注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 相对注意力
  • 位置之间的相关性
  • 但是音乐中的序列长度通常非常长
8.7 机器翻译
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.8 既有成果
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.9 Our formulation
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 将相对距离转化为绝对距离
8.10 Goal of skewing procedure
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.11 Skewing to reduce relative memoryfrom O(L2D) to O(LD)
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.12 AJazz sample from Music Transformer
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.13 Convolutions and Translational Equivariance
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.14 Relative Attention And Graphs
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.15 Message Passing Neural Networks
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.16 多塔结构
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.17 图工具库
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

8.18 自注意力
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • 任意两个位置之间的路径长度是常数级的
  • 没有边界的内存
  • 易于并行化
  • 对自相似性进行建模
  • 相对注意力提供了表达时间、equivariance,可以自然延伸至图表
8.19 热门研究领域
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • Non autoregressive transformer (Gu and Bradbury et al., 2018)
  • Deterministic Non-Autoregressive Neural Sequence Modeling by lterative Refinement(Lee,Manismov, and Cho,2018)
  • Fast Decoding in Sequence Models Using Discrete Latent Variables (ICML 2018)Kaiser, Roy, Vaswani, Pamar, Bengio, Uszkoreit, Shazeer
  • Towards a Better Understanding of Vector Quantized AutoencodersRoy,Vaswani, Parmar,Neelakantan, 2018
  • Blockwise Parallel Decoding For Deep Autogressive Models (NeurlPS 2019)Stern, Shazeer,Uszkoreit,
9.迁移学习 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

10.优化&大模型 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • Adafactor: Adaptive Learning Rates with Sublinear Memory Cost(ICML 2018).Shazeer,Stern.
  • Memory-Efficient Adaptive Optimization for Large-Scale Learning (2019).Anil,Gupta, Koren, Singer.
  • Mesh-TensorFlow: Deep Learning for Supercomputers (NeurlPS 2019).
  • Shazeer, Cheng,Parmar,Tran, Vaswani, Koanantakool,Hawkins,Lee,Hong,Young, Sepassi, Hechtman) Code (5 billion parameters)
11.自注意力其他研究与应用 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • Generating Wikipedia by Summarizing Long sequences.(ICLR 2018). Liu,Saleh,Pot, Goodrich, Sepassi, Shazeer, Kaiser.
  • Universal Transformers (ICLR 2019). Deghiani, Gouws,Vinyals, Uszkoreit,Kaiser.
  • Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context(2019). Dai, Yang,Yang,Carbonell,Le, Salakhutdinov.
  • A Time-Restricted Self-Attention Layer for ASR (ICASSP 2018).Povey,Hadian,Gharemani,Li, Khudanpur.
  • Character-Level Language Modeling with Deeper Self-Attention (2018).Roufou, Choe, Guo, Constant , Jones*
12.未来的工作研究方向 斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

  • Self-supervision and classification for images and video
  • Understanding Transfer
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

13.视频教程 可以点击 B站 查看视频的【双语字幕】版本
[video(video-dC9CnK0a-1652090025277)(type-bilibili)(url-https://player.bilibili.com/p...)(image-https://img-blog.csdnimg.cn/i...)(title-【双语字幕+资料下载】斯坦福CS224n | 深度学习与自然语言处理(2019·全20讲))]
14.参考资料
  • 本讲带学的在线阅翻页本
  • 《斯坦福CS224n深度学习与自然语言处理》课程学习指南
  • 《斯坦福CS224n深度学习与自然语言处理》课程大作业解析
  • 【双语字幕视频】斯坦福CS224n | 深度学习与自然语言处理(2019·全20讲)
  • Stanford官网 | CS224n: Natural Language Processing with Deep Learning
ShowMeAI系列教程推荐
  • 大厂技术实现 | 推荐与广告计算解决方案
  • 大厂技术实现 | 计算机视觉解决方案
  • 大厂技术实现 | 自然语言处理行业解决方案
  • 图解Python编程:从入门到精通系列教程
  • 图解数据分析:从入门到精通系列教程
  • 图解AI数学基础:从入门到精通系列教程
  • 图解大数据技术:从入门到精通系列教程
  • 图解机器学习算法:从入门到精通系列教程
  • 机器学习实战:手把手教你玩转机器学习系列
  • 深度学习教程 | 吴恩达专项课程 · 全套笔记解读
  • 自然语言处理教程 | 斯坦福CS224n课程 · 课程带学与全套笔记解读
NLP系列教程文章
  • NLP教程(1)- 词向量、SVD分解与Word2vec
  • NLP教程(2)- GloVe及词向量的训练与评估
  • NLP教程(3)- 神经网络与反向传播
  • NLP教程(4)- 句法分析与依存解析
  • NLP教程(5)- 语言模型、RNN、GRU与LSTM
  • NLP教程(6)- 神经机器翻译、seq2seq与注意力机制
  • NLP教程(7)- 问答系统
  • NLP教程(8)- NLP中的卷积神经网络
  • NLP教程(9)- 句法分析与树形递归神经网络
斯坦福 CS224n 课程带学详解
  • 斯坦福NLP课程 | 第1讲 - NLP介绍与词向量初步
  • 斯坦福NLP课程 | 第2讲 - 词向量进阶
  • 斯坦福NLP课程 | 第3讲 - 神经网络知识回顾
  • 斯坦福NLP课程 | 第4讲 - 神经网络反向传播与计算图
  • 斯坦福NLP课程 | 第5讲 - 句法分析与依存解析
  • 斯坦福NLP课程 | 第6讲 - 循环神经网络与语言模型
  • 斯坦福NLP课程 | 第7讲 - 梯度消失问题与RNN变种
  • 斯坦福NLP课程 | 第8讲 - 机器翻译、seq2seq与注意力机制
  • 斯坦福NLP课程 | 第9讲 - cs224n课程大项目实用技巧与经验
  • 斯坦福NLP课程 | 第10讲 - NLP中的问答系统
  • 斯坦福NLP课程 | 第11讲 - NLP中的卷积神经网络
  • 斯坦福NLP课程 | 第12讲 - 子词模型
  • 斯坦福NLP课程 | 第13讲 - 基于上下文的表征与NLP预训练模型
  • 斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
  • 斯坦福NLP课程 | 第15讲 - NLP文本生成任务
  • 斯坦福NLP课程 | 第16讲 - 指代消解问题与神经网络方法
  • 斯坦福NLP课程 | 第17讲 - 多任务学习(以问答系统为例)
  • 斯坦福NLP课程 | 第18讲 - 句法分析与树形递归神经网络
  • 斯坦福NLP课程 | 第19讲 - AI安全偏见与公平
  • 斯坦福NLP课程 | 第20讲 - NLP与深度学习的未来
斯坦福NLP课程|斯坦福NLP课程 | 第14讲 - Transformers自注意力与生成模型
文章图片

    推荐阅读