当前位置: 首页 > news >正文

深入理解Transformer的笔记记录(精简版本)---- Transformer

自注意力机制开启大规模预训练时代

1 从机器翻译模型举例

1.1把编码器和解码器联合起来看待的话,则整个流程就是(如下图从左至右所示):

1.首先,从编码器输入的句子会先经过一个自注意力层(即self-attention),它会帮助编码器在对每个单词编码时关注输入句子中的的其他单词

2.接下来,自注意力层的输出会传递到前馈(feed-forward)神经网络中,每个位置的单词对应的前馈神经网络的结构都完全一样(仅结构相同,但各自的参数不同)

3.最后,流入解码器中,解码器中除了也有自注意力层、前馈层外,这两个层之间还有一个编码-解码注意力层,用来关注输入句子的相关部分(和seq2seq模型的注意力作用相似)

1.2把编码器和编码器联合起来看待的话,则整个流程就是(如下图从下至上所示):

1.最底下的编码器接收的是嵌入向量,之后的编码器接收的是前一个编码器的输出

2.输入序列中每个位置的单词都各自单独的路径流入编码器,即各个单词同时流入编码器中,不是排队进入.

3.在自注意力self-attention层中,这些路径两两之间是相互依赖的,而前馈层(feed-forward)则没有这些依赖性,所以这些路径在流经前馈层(feed-forward)时可以并行计算

1.1 自注意力机制计算

在Transformer中,自注意力机制则将对其他单词的“理解”融入到当前处理的单词中。当模型处理每个位置的词时,self-attention允许模型看到句子中其他位置有关联或相似的单词/信息作为辅助线索,以更好地编码当前单词。

重要程度便用所谓的权重表示(权重来自于该词/向量本身跟其他各个词/向量之间的相似度),权重越大的单词代表与『该词』越相关(某种意义上可以认为是越相似),从而对理解『该词』越重要,然后把该词编码为包括该词在内所有词的加权和

计算自注意力有两种方式:一种通过向量,一种通过矩阵。

1.3.1 计算自注意力第一步:生成查询向量、键向量和值向量

从每个编码器的输入向量(即每个单词的词向量)生成三个向量:查询向量query-vec、键向量key-vec、值向量value-vec ,这三个向量的生成方法是把输入的向量分别乘以三个不同的权重矩阵W^{Q}W^{K}W^{V},得到Q、K、V,而这些权重矩阵是在模型训练阶段中训练出来的「最后通过反向传播不断优化学习得出」。举例说明,在我们有了权重矩阵后,对于单词X_{1}X_{2}分别而言

http://www.lryc.cn/news/457483.html

相关文章:

  • Ubuntu 更换内核版本
  • 博士找高校教职避坑指南:史上最全的避坑秘籍
  • Study-Oracle-11-ORALCE19C-ADG集群搭建
  • 【C++】map详解(键值对的概念,与multimap的不同)
  • 私域电商新纪元:消费增值模式引领百万业绩飞跃
  • AAA Mysql与redis的主从复制原理
  • 结合大语言模型的机械臂抓取操作学习
  • 数据结构-二叉树_堆
  • Vscode+Pycharm+Vue.js+WEUI+django火锅(三)理解Vue
  • 溯变:守护天使 | OPENAIGC开发者大赛企业组优秀作品
  • android中byte[] buf没有结束符,new String(buf)会不会出错?
  • 鸿蒙harmonyos next flutter混合开发之开发plugin(获取操作系统版本号)
  • 介绍一款开源的 Modern GUI PySide6 / PyQt6的使用
  • 【大模型】AI数据基础设施的对象存储
  • 【前端工程解耦】使用事件中心实现系统解耦,注册,触发,删除事件
  • 计算机网络803-(4)网络层
  • java速成指南
  • 【Unity】双摄像机叠加渲染
  • web网页项目--用户登录,注册页面代码
  • 国外火出圈儿的PM御用AI编程工具Bolt.new效果干不过国产的CodeFlying?号称全新定义全栈开发流程?
  • 爸妈总说着学门技术,学机器视觉技术确实是一条踏实的生活道路,这条路你走得下去走得通吗?
  • 2024互联网下载神器IDM6.42你值得拥有
  • 基于H3C环境的实验——OSPF
  • java线程池详解
  • 五、创建型(建造者模式)
  • CPU超线程技术是什么,怎么启用超线程技术
  • vba学习系列(7)--考勤表制作
  • Java学习第九天
  • 【算法系列-链表】链表相交 环形链表II
  • 使用 Go 和 Gin 框架构建简单的用户和物品管理 Web 服务