学习资料

视频:https://www.youtube.com/watch?v=ugWDIIOHtPA&list=PLJV_el3uVTsOK_ZK5L0Iv_EQoL1JefRL4&index=61&t=1s
课件:http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2019/Lecture/Transformer%20(v5).pdf

Transformer

Transformer是Seq2Seq with Self-Attention
BERT是unsupervised learning版本的Transformer

Seq2Seq Model的问题

Seq2Seq Model最大的问题就是慢,没法并行化。下图左侧是Seq2Seq的工作原理,右侧是使用CNN来做处理的过程。使用CNN最大的好处就是可以并行化处理。

相较于Seq2Seq Layer而言,可以直接使用Self-Attention Layer替代原先的RNN层,同时,可以引入并行化的作用。输入和输出保持不变。

Self-Attention

对每一个Input都做变换,生成q,k,v三种向量。然后,用q与每一个k做attention(所谓的attention,就是计算两个vector的相关性,或者相似度)。

attention有多种计算方法,下面使用的是scaled dot-product attention。

接着,将所有的attention value都做soft-max

将经过soft-max的值,与每一个v相乘,求和,求得b1b^1b1

对于b2b^2b2的计算方法,也是类似


下面来看看如何使用矩阵计算来做并行计算。
将输入的x1,x2,x3,x4x^1,x^2,x^3,x^4x1,x2,x3,x4做变换以后,变成a1,a2,a3,a4a^1,a^2,a^3,a^4a1,a2,a3,a4。将a1,a2,a3,a4a^1,a^2,a^3,a^4a1,a2,a3,a4作为矩阵的每一列,组成一个III,再分别乘以Wq,Wk,WvW^q, W^k, W^vWq,Wk,Wv,得到想相应的Q,K,VQ,K,VQ,K,V。每一列就是前面介绍的qi,ki,viq^i,k^i,v^iqi,ki,vi

再看一下计算α^\hat{\alpha}α^和bbb的过程。



最后,我们再回顾一下,整个self-attention的计算过程。

Multi-head Self-Attention



Positional Encoding


Seq2Seq with Attention

将原先的RNN层,用self-attention layer代替,就好了。

架构分析

下面是Transformer的完整架构,包括Encoder和Decoder。

下面是对架构中每个组成部分的详细介绍。
其中,Multi-Head Attention就是上面介绍的self-attention layer。
Add & Norn是下图左上黄色区域的解释。Add是将输入a与输出b相加。Norm是指Layer Norm。
这里将Layer Norm与Batch Norm进行对比,其中,Layer Norm是将一个样本中每个维度的值进行normaliztion,而Batch Norm是将一个batch中同一个dim的值做normalization。

论文实验



其他应用



李宏毅《Deep Learning》学习笔记 - transformer相关推荐

  1. 笔记 | 吴恩达Coursera Deep Learning学习笔记

    向AI转型的程序员都关注了这个号☝☝☝ 作者:Lisa Song 微软总部云智能高级数据科学家,现居西雅图.具有多年机器学习和深度学习的应用经验,熟悉各种业务场景下机器学习和人工智能产品的需求分析.架 ...

  2. 网上某位牛人的deep learning学习笔记汇总

    目录(?)[-] 作者tornadomeet 出处httpwwwcnblogscomtornadomeet 欢迎转载或分享但请务必声明文章出处 Deep learning一基础知识_1 Deep le ...

  3. CV视觉论文Deep learning学习笔记(一)

    论文介绍和监督学习(introduction of paper and supervision of learning) 1. 论文介绍和作者介绍 作者:论文作者是2018年图灵奖得主yoshua B ...

  4. 【Deep Learning学习笔记】Deep learning for nlp without magic_Bengio_ppt_acl2012

    看完180多页的ppt,真心不容易.记得流水账如下: Five reason to explore Deep Learning: 1. learning representation; 2. the ...

  5. 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.cpp

    模型实现代码,关键是train函数和predict函数,都很容易. #include <iostream> #include <string> #include <mat ...

  6. Deep Learning论文笔记之(一)K-means特征学习

    Deep Learning论文笔记之(一)K-means特征学习 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感 ...

  7. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  8. Deep Learning论文笔记之(七)深度网络高层特征可视化

    Deep Learning论文笔记之(七)深度网络高层特征可视化 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感 ...

  9. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

  10. Deep Learning论文笔记之(五)CNN卷积神经网络代码理解

    Deep Learning论文笔记之(五)CNN卷积神经网络代码理解 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但 ...

最新文章

  1. 安装openssl-devel
  2. asp.net面试的代码题目
  3. EF6 MySQL错误之“Specified key was too long; max key length is 767 bytes”
  4. java 向下转型_Java_向下转型
  5. SVM(支持向量机)综述
  6. 大学计算机上机实验指导与测试pdf,4大学计算机基础上机实验指导与习题--习题.pdf...
  7. Objective C学习总结(二)
  8. finding the way
  9. C#实现文件二进制存储
  10. MySQL 相关知识细节及解析
  11. 最新伯乐PHP个人在线自动发卡网源码V3.1
  12. 评价模型总结——个人学习笔记(二)
  13. Dell服务器的iDRAC虚拟控制台无法连接
  14. 学而思python分几个level_学而思数学分几个等级
  15. DHU Matlab Experiment【2】作业记录_第三章、第四章
  16. Rsync 备份服务:基本概述、应用场景、传输模式、注意事项、密码解决方案、服务实践、备份案例、结合inotify
  17. VUE+tinymce(富文本编辑器)
  18. leetcode 跳跃游戏系列 c++
  19. 对数据库某个字段进行去重
  20. MATLAB——画图(经典)

热门文章

  1. 根据word模板(书签)创建导出word
  2. 【经验篇】聊聊双非计算机硕士如何进大厂搞算法
  3. Do You Kown Asp.Net Core - 根据实体类自动创建Razor Page CURD页面模板
  4. 萨尔州大学计算机专业,萨尔大学介绍_QS世界排名_申请条件_优势专业-澳际留学网...
  5. 实验六(函数) 2.编写函数 int fac(int x)计算 x!的值。在主函数中输入 n 和 m 的值,通过调用函数 fac 计算Cnm 的值(要求分别用递归和非递归的方法编写函数 fac)。
  6. Springboot过滤xss
  7. 计算机专业课只考c语言的学校,【择校必看】十三所计算机专业课只考数据结构的985院校!...
  8. yocto编译linux,好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版
  9. 阅读 | 《娱乐至死》笔记 | Part1
  10. C# 二维码 和条形码生成