- 作者:韩信子 @ShowMeAI,路遥 @ShowMeAI,奇异果 @ShowMeAI
- 教程地址:http://www.showmeai.tech/tutorials/36
- 本文地址:http://www.showmeai.tech/article-detail/251
- 申明:版权所有,转载请分割平台与作者并注明出处
- 珍藏 ShowMeAI 查看更多精彩内容
ShowMeAI 为 斯坦福 CS224n《自然语言解决与深度学习 (Natural Language Processing with Deep Learning)》课程的全副课件,做了 中文翻译和正文 ,并制作成了 GIF 动图!视频和课件等材料的获取形式见 文末。
引言
学习变长数据的示意
- 学习变长数据的示意,这是序列学习的根本组件
- 序列学习包含 NMT,text summarization,QA,···
1. 循环神经网络(RNN)
- 通常应用 RNN 学习变长的示意
- RNN 自身适宜句子和像素序列
- LSTMs, GRUs 和其变体在循环模型中占主导地位
- 然而序列计算克制了并行化
- 没有对长期和短期依赖关系进行显式建模
- 咱们想要对层次结构建模
- RNNs(程序对齐的状态)看起来很节约!
2. 卷积神经网络(CNN)
- 并行化 (每层) 很简略
- 利用部分依赖
- 不同地位的交互间隔是线性或是对数的
- 近程依赖须要多层
3.Attention 注意力
- NMT 中,编码器和解码器之间的 Attention 是至关重要的
- 为什么不把注意力用于示意呢?
3.1 自注意力
- 自注意力机制
4. 文本生成
4.1 自注意力
- 任何两个地位之间的门路长度都是常数级别的
- 门控 / 乘法 的交互
- 能够并行化(每层)
- 能够齐全代替序列计算吗?
4.2 既有成绩
-
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
- Transformer 构造
4.4 编码器与解码器的自注意力
- 编码器的自注意力
- 解码器的自注意力
4.5 Attention is Cheap!
- 因为计算只波及到两个矩阵乘法,所以是序列长度的平方
- 当维度比长度大得多的时候,十分无效
4.6 注意力:加权均匀
4.7 自注意力
- 上例中,咱们想要晓得谁对谁做了什么,通过卷积中的多个卷积核的不同的线性操作,咱们能够别离获取到 who, did what, to whom 的信息。
- 然而对于 Attention 而言,如果只有一个 Attention layer,那么对于一句话里的每个词都是同样的线性变换,不可能做到在不同的地位提取不同的信息
- {>> 这就是多头注意力的起源,灵感来源于 CNN 中的多个卷积核的设计 <<}
- Who,Did What,To Whom,别离领有注意力头
- 将注意力层视为特色探测器
- 能够并行实现
- 为了效率,缩小注意力头的维度,并行操作这些注意力层,补救了计算差距
4.8 卷积和多头注意力
- Different linear transformations by relative position.
- Parallel attention layers with different linear transformations on input and output.
5.Results
5.1 机器翻译: WMT-2014 BLEU
- 但咱们并不一定比 LSTM 获得了更好的示意,只是咱们更适宜 SGD,能够更好的训练
- 咱们能够对任意两个词之间构建连贯
6. 框架
6.1 残差连贯的必要性
- 残差连接结构
- 地位信息最后增加在了模型的输出处,通过残差连贯将地位信息传递到每一层,能够不须要再每一层都增加地位信息
6.2 训练细节
- 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?
6.4 Generating Wikipedia by Summarizing Long Sequences
7. 自类似度,图片与音乐生成
7.1 自类似度,图片与音乐生成
7.2 基于概率分布的图像生成
- 模仿像素的联结散布
- 把它变成一个序列建模问题
- 调配概率容许度量泛化
- RNNs 和 CNNs 是最先进的(PixelRNN, PixelCNN)
- incorporating gating CNNs 当初在成果上与 RNNs 相近
- 因为并行化,CNN 要快得多
- 图像的长期依赖关系很重要(例如对称性)
- 可能随着图像大小的减少而变得越来越重要
-
应用 CNNs 建模长期依赖关系须要两者之一
- 多层可能使训练更加艰难
- 大卷积核参数 / 计算成本相应变大
7.3 自相似性的钻研
- 自相似性的钻研案例
7.4 非部分均值
- A Non-local Algorithm for Image Denoising (Buades, Coll, and Morel. CVPR 2005)
- Non-local Neural Networks (Wang et al., 2018)
7.5 既有工作
-
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 自注意力
7.7 图像 Transformer
7.8 Attention is Cheap if length<<dim!
7.9 Combining Locality with Self-Attention
- 将注意力窗口限度为部分范畴
- 因为空间局部性,这在图像中是很好的假如
7.10 部分 1 维和 2 维注意力
7.11 图像 Transformer 层
7.12 Task
7.13 Results
- lmage Transformer
- Parmar , Vaswani”,Uszkoreit, Kaiser, Shazeer,Ku, and Tran.ICML 2018
7.14 无约束图像生成
7.15 Cifar10 样本
7.16 CelebA 超分辨率重建
7.17 条件图片生成
8. 绝对自注意力音乐生成
8.1 音乐和语言的原始表征
8.2 音乐语言模型
- 传统的 RNN 模型须要将长序列嵌入到固定长度的向量中
8.3 Continuations to given initial motif
8.4 音乐自类似度
- 给定一段音乐并生成后续音乐
- 不能间接去反复过来的片段
- 难以解决长距离
8.5 注意力:加权均匀
- 挪动的固定过滤器捕捉绝对间隔
- Music Transformer 应用平移不变性来携带超过其训练长度的关系信息,进行传递
- Different linear transformations by relative position.
8.6 近观绝对注意力
- 绝对注意力
- 地位之间的相关性
- 然而音乐中的序列长度通常十分长
8.7 机器翻译
8.8 既有成绩
8.9 Our formulation
- 将绝对间隔转化为相对间隔
8.10 Goal of skewing procedure
8.11 Skewing to reduce relative memoryfrom O(L2D) to O(LD)
8.12 AJazz sample from Music Transformer
8.13 Convolutions and Translational Equivariance
8.14 Relative Attention And Graphs
8.15 Message Passing Neural Networks
8.16 多塔构造
8.17 图工具库
8.18 自注意力
- 任意两个地位之间的门路长度是常数级的
- 没有边界的内存
- 易于并行化
- 对自相似性进行建模
- 绝对注意力提供了表白工夫、equivariance,能够天然延长至图表
8.19 热门钻研畛域
- 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. 迁徙学习
10. 优化 & 大模型
- 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. 自注意力其余钻研与利用
- 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. 将来的工作钻研方向
- Self-supervision and classification for images and video
- Understanding Transfer
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 与深度学习的将来