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

Attention is all you need详细解读

transformer目的是解决NLP中使用RNN不能并行计算问题。
Encoder-Decoder, Attention, Transformer 三者关系
1.基础储备
(1)CV基础知识
1.首先拿CV中的分类任务来说,训练前我们会有以下几个常见步骤:
2.获取图片
3.定义待分类的类别,用数字标签或者one-hot向量标签表示
4.对图片进行类别的标注
5.图片预处理(翻转、裁剪、缩放等)
6.将预处理后的图片输入到模型中
7.对于分类任务来说,模型的输入为预处理过的图片,输出为图片的类别(一般为预测的向量,然后求argmax获得类别)
(2)NLP基础知识
在NLP中,拿翻译任务(英文翻译为中文)来说,训练模型前存在下面步骤:
1.获取英文中文对应的句子
2.定义英文词表(常用的英文单词作为一个类别)和中文词表(一个字为一个类别)
3.对中英文进行分词
4.将分好的词根据步骤2定义好的词表获得句子中每个词的one-hot向量
5.对每个词进行embedding(输入one-hot输出与该词对应的embedding向量)
6.embedding向量输入到模型中去
7.输出为当前预测词的类别(一般为词表大小维度的向量)
(3)tokenize
tokenize:分词 token:标记
text2token:单词 (word) 、字符 (character) 、子词 (subword)
(4)query、key、value
2.Transformer结构
在这里插入图片描述

典型的seq2seq结构(encoder-decoder结构)
transformer结构包含input、encoder、decoder、output
Input:输入是单词的Embedding+位置编码
Encoder:循环N次,N层。每一层又可以分成Attention层和全连接层,跳跃连接,加入Normalization层
Decoder:循环N次,第一次输入是前缀信息BOS(Begin of Sentence)标志,之后是上一次产出的embedding+位置编码,进入一个重复多次的模块,直到输出EOS(End of Sentence)。该模块可以分成三块:a.Attention层;b.Cross Attention,不是Self Attention;c.全连接层。也用了跳跃连接和Normalization。
Output:通过Linear层(全连接层),再通过Softmax输出为每个词的预测向量,概率最大对应词表查找对应单词


http://www.kler.cn/a/390738.html

相关文章:

  • AcWing 302 任务安排 斜率优化的dp
  • gdb编译教程(支持linux下X86和ARM架构)
  • 修改yolo格式的labels类别、删除yolo格式的labels类别
  • 机器学习——损失函数、代价函数、KL散度
  • Vue7种组件之间通信方式
  • Java基础-组件及事件处理(下)
  • STM32问题集
  • ES5 和 ES6 数组的操作方法
  • ISAAC SIM踩坑记录--ubuntu 22.04操作系统安装
  • 小水电远程集控运维系统简介及应用价值
  • Unity WebGL交互通信
  • 【数字静态时序分析】复杂时钟树的时序约束SDC写法
  • 视觉SLAM数学基础
  • 《重学Java设计模式》之 原型模式
  • K8资源之endpoint资源EP资源
  • 2024年计算机视觉与图像处理国际学术会议 (CVIP 2024)
  • (十)Python字典基本操作
  • Netty实现WebSocket Server是否开启压缩深度分析
  • 6. ARM_ARM指令寻址
  • 【MongoDB】MongoDB的存储引擎及Wiredtiger的读/写缓存、数据结构设计、Page生命周期等实现原理(超详细)
  • 数字化转型实践:金蝶云星空与钉钉集成提升企业运营效率
  • 刘艳兵-DBA028-您可以在 ORCL1 和 ORCL2 数据库都运行其实例的主机上安装“独立服务器的 Oracle 网格基础结构“。哪两个陈述是正确的?
  • Day106:代码审计-PHP原生开发篇文件安全上传监控功能定位关键搜索1day挖掘
  • 力扣 二叉树的最大深度-104
  • 【qt】控件篇(Enable|geometry)
  • ubuntu20.04 ROS 临时修改功能包名并作一系列对应修改 (ubuntu20.04)