背景:听了李宏毅老师关于transformer的讲解,觉得有必要记录一下,里面的PPT都是李宏毅老师的内容(不喜勿喷)

1.self-attention

在介绍transformer之前,必须先了解self-attention

(1) 先将X输入Embedding(a = Wx), 然后a乘相关的权重,生成QKV

(2) q1*k1、q1*k2...,将q1*k1、q1*k2...通过soft-max,然后将通过soft-max的数值与V相乘,最后将相乘的结果相加生成b1、b2...

(3) 根据(1)和(2)就是self-attention的操作(这样说还是挺清楚的,公式也不复杂)

2.并行计算

(1) 矩阵的计算还是挺清楚的(QKV的计算)

(2) 计算b(softmax(K*Q)*V最后相加)

(3) 简化的就是这样,大块的清清楚楚!!!

3.多头注意力机制

(1) 多个QKV

4.TransFormer

5.注意点

关于这个图,理解的理解,不理解的还是不理解

  1. 从vit的onnx结构图来看transformer的输入

  1. 3*224*224经过768个16*16的卷积,输出768*14*14

  1. 将输出flatten,768*196(14*14)

  1. 调整通道196*768

  1. 添加class_num(分类信息)1*768,拼接196*768成197*768

  1. 添加位置信息pos,add(shape还是197*768)

  1. 关于outputs的解释

我的理解就是encoder的输出,如下图所示

  1. encoder从BOS(一个特殊的字符)开始,输出潮水

  1. decoder从BOS+潮水作为encoder的outputs,但是是decoder的inputs

  1. 重复几遍,知道潮水退了结束

3.VIT的onnx结构图

看看里面的结构,都是一些block的堆叠,也没有新的OP,我的感觉是transformer还是做的和CNN的工作是类似的,但是transformer的并行效果更好,同时这些计算密集型的OP,后续的性能优化也是一个方向(量化)

简单理解TransFormer相关推荐

  1. 【深度学习入门基础】二、简单理解 Transformer

    [深度学习入门基础]二.简单理解 Transformer 文章目录 [深度学习入门基础]二.简单理解 Transformer 自注意力层 多头注意力 Transformer 输入(输出)嵌入 位置编码 ...

  2. 10分钟带你深入理解Transformer原理及实现

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|深度学习这件小事 基于 Transformer<A ...

  3. Java Apache Commons Collection3.2.1 理解Transformer 接口

    Java Apache Commons Collection3.2.1 理解Transformer 接口 引言 Transformer 接口 InvokerTransformer MapTransfo ...

  4. 深入理解transformer源码

    参考资料: transformer原论文 深入理解transformer及源码 图解Transformer(完整版) The Annotated Transformer The Annotated T ...

  5. 十分钟理解Transformer

    本文转载于知乎文章:十分钟理解Transformer Transformer是一个利用注意力机制来提高模型训练速度的模型.关于注意力机制可以参看这篇文章,trasnformer可以说是完全基于自注意力 ...

  6. android 点击事件消费,Android View事件分发和消费源码简单理解

    Android View事件分发和消费源码简单理解 前言: 开发过程中觉得View事件这块是特别烧脑的,看了好久,才自认为看明白.中间上网查了下singwhatiwanna粉丝的读书笔记,有种茅塞顿开 ...

  7. 【转载】Deep learning:十九(RBM简单理解)

    Deep learning:十九(RBM简单理解) 这篇博客主要用来简单介绍下RBM网络,因为deep learning中的一个重要网络结构DBN就可以由RBM网络叠加而成,所以对RBM的理解有利于我 ...

  8. 学习:双机热备、集群、负载均衡、SQL故障转移群集简单理解(转)

    双机热备.集群.负载均衡.SQL故障转移群集简单理解平常,大家常提到几个技术名词:双机热备.集群.负载均衡.SQL故障转移群集.这里,就我的理解,和大家简单探讨下,有不足或错误之处还请各位指出! 这些 ...

  9. 字符串匹配算法Java_如何简单理解字符串匹配算法?

    这篇文章来说说如何简单理解KMP,BM算法.之前看过一些文章说,KMP算法很难理解. 可我并不觉得. 我反而觉得它容易理解.平时我们写java代码的时候, 判断一个字符串是否存在包含另一个字符串都是直 ...

最新文章

  1. java中properties作用,java中Properties类的使用
  2. 太阳直射点纬度计算公式_高中地理——每日讲1题(二十四节气、正午太阳高度、日出时间)...
  3. R语言包_manipulate
  4. 机器学习-回归之逻辑回归算法原理及实战
  5. Django Tips
  6. matlab 读取视频出现的问题
  7. mysql的area_GitHub - nszm/china_area_mysql: 中国5级行政区域mysql库
  8. 评论:我们该如何应对科技发展带来的失业
  9. require.js的AMD规范详解
  10. 台大李宏毅Machine Learning 2017Fall学习笔记 (8)Backpropagation
  11. 基因突变PHP6,基因突变中那些“披着狼皮的羊” 很多“致命性”基因突变正在被证实无害...
  12. javascript中replace的正则表达式语法
  13. bin mysql u root_MySQL安装后续步骤(修改root密码)
  14. linux 注册并配置
  15. vb查询mysql数据库_怎么在vb程序中查找数据库信息并显示
  16. 服务器虚拟化底层实现原理,虚拟化原理
  17. 微信小程序-各种跳转
  18. 组态王 6.55 启停plc_成套设备PLC编程深圳PLC编程
  19. 终于发现路由器里的广告秘密
  20. 程序员薪酬,未来的薪酬趋势

热门文章

  1. pythonopencv读取图像属性_2、OpenCV Python 图像属性获取
  2. RAC环境调整系统时间
  3. 碳纤维复合材料无损检测
  4. Java Stream Reduce
  5. 面向对象三大特征介绍
  6. android低码率mp3无法播放,低端android手机无法播放m3u8问题解决
  7. iApp跳转QQ名片界面
  8. 【前端学习】iconfont阿里字体使用
  9. Hadoop-hdfs 配置
  10. 贪心法求解磁盘驱动调度问题