RNN、self-attention、transform的浅显或许错误的理解

  • 一、RNN的理解
  • 二、self-attention的理解
  • 三、Transform的理解
  • 四、结语

所有的理解都是基于我匮乏的数学知识,当成y = kx+b来理解

一、RNN的理解

刚开始学的时候看了很多文章,但是感觉都是云里雾里,要么是数学要么是各种没有说明白的图,但是看的多了以后看到《难以置信!LSTM和GRU的解析从未如此清晰(动图+视频)》 《难以置信!LSTM和GRU的解析从未如此清晰(动图+视频)》.之后,有了自己简单但可能错误的理解

rnn:遗忘门-前文信息相加,由其值的大小作为k输入门:将前文作为k,然后乘上当前输入输出门:输入门的结果与前文信息共同作为k,然后乘以当前输入作为输出

因而梯度爆炸、梯度消失就很好理解了,因为连续乘以k,若k大就会互相爆炸式增长,若k小就会爆炸式的小,导致梯度爆炸、梯度消失

二、self-attention的理解

我是看了这篇《浅谈Attention机制的理解》《浅谈Attention机制的理解》.才感觉理解的,

正如这篇文章结语所说“Attention机制说大了就一句话,分配权重系数。当然里面还有很深的数学道理和理论知识,我还是没搞懂滴。所以这点浅显的理解就当茶语饭后的笑谈吧。”

我的理解就是将原有的词向量作为x,重新训练了一个k的矩阵,
在decode的时候,将词向量与权重向量同时decode的作为输出



变为

与全连接层比较后的思考:
全连接层,将x作为自变量,y为因变量,求出xy直接的关系k

而预训练模型中的attention需要理解的是词语即x之间的关系,就要让x变成k,那就需要原来的k变为自变量也就是当前y=kx的x,那么在不断的训练中,词向量就出来了。让原来的k变为x,就可以kx=y(k),来完成。

三、Transform的理解

关于Transform我最不能理解的就是q、k、v这三个矩阵,在刚刚写理解的时候突然发现q、k竟然是self-attention中存在的,我之前一直以为是transform特有的
参考文章:
《transformer问题整理(参考知乎大佬内容)》《transformer问题整理(参考知乎大佬内容)》.
《transformer中为什么使用不同的K 和 Q, 为什么不能使用同一个值?》《transformer中为什么使用不同的K 和 Q, 为什么不能使用同一个值?》.

赤乐君认为:“我们知道K和Q的点乘是为了得到一个attention score 矩阵,用来对V进行提纯。”

我的理解就是kq就是计算k,只是这样kq计算可能更加具有泛化性,因为kq的矩阵方向不同。q即查询向量等于全文向量,k是q与当前字向量的相似度,kq即为输入字向量的k加权值,kv相乘就完成了当前输入字向量的加权。如下图


kq的矩阵并不一样,一个横向,一个纵向,代表的含义不一样,横向即自身,纵向即上文,相乘后得到全文相似度即k的值,更加具有泛化性。

四、结语

自我感觉能够解释,但是或许不那么对。

RNN、self-attention、transform的浅显或许错误的理解相关推荐

  1. 循环神经网络RNN 2—— attention注意力机制(附代码)

    attention方法是一种注意力机制,很明显,是为了模仿人的观察和思维方式,将注意力集中到关键信息上,虽然还没有像人一样,完全忽略到不重要的信息,但是其效果毋庸置疑,本篇我们来总结注意力机制的不同方 ...

  2. 快速串联 RNN / LSTM / Attention / transformer / BERT / GPT

    参考: 李宏毅2021/2022春机器学习课程 王树森 RNN & Transformer 教程 Transformer 详解 文章目录 0. 背景:序列数据及相关任务 1. 早期序列模型 1 ...

  3. 从RNN到Attention

    上次我们讲到,传统神经网络无法获取时序信息,但时序信息在自然语言处理任务中非常重要! 例如 "我吃了一个苹果"这一句话,"苹果" 的词性和意思,取决于前面词的信 ...

  4. mmc检测到此管理单元发生一个错误_理解这八大优势,才算精通单元测试

    什么是单元测试 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元以确定它们是否适合使用. 单元是最小的可测试软件组件, 它通常执行单个内聚功能.单元测试就是是指对这个最小 ...

  5. A Cuboid CNN Model with an Attention Mechanism for Skeleton-based Action Recognition---论文理解

    翻译 一个有注意力的长方体CNN模型基于骨架的动作识别机制 摘要 深度传感器(如微软Kinect)的引入推动了人类动作识别的研究.深度传感器收集的人体骨骼数据为动作识别传递了大量的信息.虽然在动作识别 ...

  6. 从实际业务出发,浅显的聊聊如何理解领域驱动设计

    前言 什么是领域,我习惯描述的是制药领域.环境领域.建筑领域.金融领域等,而在领域内,各种业务规则.业务知识盛行,如何有效的把控规则的变化,应对复杂知识,有一个很关键的四字词语,分而治之.分治法在很多 ...

  7. 关于linux内存管理

     Linux的内存管理主要分为两部分:物理地址到虚拟地址的映射,内核内存分配管理(主要基于slab). 物理地址到虚拟地址之间的映射 1.概念 物理地址(physical address) 用于内存芯 ...

  8. 【基础整理】attention:浅谈注意力机制与自注意力模型(附键值对注意力 + 多头注意力)

    划水休息两天不看论文了 ~ 来重新复习一下基础qaq 以下讲解参考大名鼎鼎的 nndl 邱锡鹏 <神经网络与深度学习> 部分内容(详见第八章,注意力与外部记忆)是对于不太行的初学者也比较友 ...

  9. attention seq2seq transformer bert 学习总结 _20201107

    https://blog.csdn.net/weixin_44388679/article/details/102575223 Seq2Seq原理详解 一文读懂BERT(原理篇) 2018年的10月1 ...

最新文章

  1. Zbrush2021写实人物肖像雕刻学习教程
  2. centos 6.8 源码安装 erlang/otp 19.0.2
  3. James Fee’s 5 Predictions Geo for 2010 and 5 Things That Won’t Happen
  4. 使用双指针可能只需要遍历一趟哦(洛谷P1147题题解,Java语言描述)
  5. 常用SQL语句实例 11
  6. Visio实用技巧总结
  7. 新零售到家O2O 和到店O2O的区别?
  8. 不积跬步,无以至千里 small tips
  9. cocos2d-x太空大战小游戏
  10. nodejs websocket 聊天应用
  11. 世界上首位程序员Ada
  12. 如何让ipad成为电脑的扩展屏
  13. RTX3070Ti和RTX2080Ti哪个强 RTX3070Ti和RTX2080Ti参数对比哪个好
  14. 数字PID控制算法原理及Matlab仿真
  15. 马云思考阿里下一个15年:大数据是未来核心
  16. 腾讯云服务器1M带宽下载速度怎么样?慢不慢?
  17. 【HSJFramework】Unity时间管理TimeManger计时器
  18. C# 微信网页协议 代码记录
  19. 面向初学者程序员的五门Udemy 课程。
  20. 4.25晚间黄金最新行情分析及多空交易策略

热门文章

  1. 打开HFSS出现Unable to detect installed products的报错,要求make sure that config/admin.xml exists
  2. people are able to buy the same products anywhere in the world
  3. 美图手机怎么投屏到电脑
  4. SDN网络下有哪些SDN交换机选择?
  5. 神器——写Markdown来画流程图、时序图
  6. heu oj 1011 square
  7. 华硕ASUS RT-AC66U无线路由器部署NTP Server最佳实践
  8. pion最简单webrtc例子
  9. (补基础)数据分析系列:假设检验的基础知识
  10. 设备树文件里的aliases和chosen