在学习transform的时候,很多视频上来就是一张图开始解释图里面残差网络,self-attention等等巴拉巴拉的意思,然后组装,看也看完了,但是还是不明白transformer和selfattention究竟扮演了甚么样的角色,尤其是transformer,我甚至一度在想这不就是别人做好的自己组装一下嘛。在不断的查询后我找出了以下解释:

一开始做机器翻译,搞出来了RNN这种可以根据单词出现的前后顺序来调整具体意思的网络模型,但是由于句子之间的单词数量并不能一一对应,然后人们就搞出来seq2seq,这样一种基于编码器和解码器的模型,他可以先由encoder提取句子的意思,再用decoder转换意义为目标输出,依靠意义这一本质中介,成功达成了不对等序列之间的转换。

但是意义单元存储的信息有限,如果输入的句子信息太长,就会有很多务必要输入的数据,翻译的精度就下降了,所以就有了注意力机制,它可以在生成每个单词时,有意识的从原始句子中提取生成该单词时最需要的信息,成功摆脱长度限制,但是由于这样的计算方式太慢了,RNN需要一个一个看过去句子里面的单词才能给出输出。人们就进一步给出了

self-attention,因为我attention都已经给句子中每个元素打过分了,那我还需要时间序列干啥呢?于是先提取每个单词的意义,再依据生产顺序选取所需要的信息,这样的话就可以支持并行运算,也很接近人类的翻译方式,到这里,一个基于self-attrntion的encoder和decoder模型,我们就叫他transformer

参考视频链接:

https://www.bilibili.com/video/BV1Zz4y127h1

https://www.bilibili.com/video/BV1MY41137AK

最新文章

  1. Java JDBC Thin Driver 连接 Oracle 三种方法说明(转载)
  2. HDU 1022 Train Problem I(栈模拟)
  3. Rendering Paths
  4. PowerDesigner里数据表里AUTO_INCREMENT(自增)的设置
  5. API爬虫--Twitter实战
  6. 关灯问题 dp
  7. Linux 网络编程 高级套接字
  8. asp.net mvc Remote远程验证
  9. 正则表达式匹配(python)
  10. Linux命令记录。
  11. win7 64位iis发生错误w3wp.exe解决方法
  12. ADO.net参数化查询陷阱
  13. VBS连接远程Oracle
  14. python 使用标准库连接linux实现scp和执行命令
  15. WebService短信网关配置
  16. Java经典编程题50道之四十四
  17. 增长java中数组的长度
  18. Sqlserver 计算两坐标距离函数
  19. appium 点击物理按键
  20. Windows 添加用户

热门文章

  1. 一张图进阶 RocketMQ - 消息发送
  2. git.exe pull --progress -v --no-rebase "origin" master
  3. MySQL--数据过滤(AND、OR、IN、NOT操作符)
  4. 02 MySQL_数据库相关的SQL
  5. 6 zookeeper实现分布式锁
  6. Linux系统安全与应用
  7. CentOS删除桌面环境
  8. 20220724-Java的继承
  9. 我又造了个轮子:GrpcGateway
  10. 海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js