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输出为每个词的预测向量,概率最大对应词表查找对应单词

encoder-decoder实现过程
encoder阶段
embedding+position作为整体输入即embedding+position=Q=K=V,通过8个head的multi-attention(self-attention)后,8个输出矩阵concat后,乘以矩阵W得到特征编码z(注意输入序列的不同部位),经过feed forward和Add&Norm得到encoder输出,block=6,经过6层,得到最终encoder特征编码。
decoder阶段
首先上一步decoder输出(Y1…Yi-1)+position经过masked multi-attention(self-attention)之后,作为Q输入到multi-head attention(cross-attention),encoder的输出z作为K和V,z=K=V一起输入到decoder multi-head attention(cross-attention)中,经过feed forward和Add&Norm,Linear输出神经元个数=词汇表大小,softmax之后得到的是词汇表大小的向量,对应概率值,取概率最大值索引到对应单词token,即decoder的结果。
transformer训练中encoder和decoder都是并行训练,推理时decoder采用auto-regression逐步输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/59237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象的需求分析和设计(一)

[toc] 1. 引言 前一篇文章《我对需求分析的理解》提到了面向对象分析和设计,正好最近又重新有重点的读了谭云杰著的《Think in UML》,感觉有必要写把书中一些核心内容观点以及自己的想法整理出来,一是方便自己日后的复习,另外也…

Window下PHP安装最新sg11(php5.3-php8.3)

链接: https://pan.baidu.com/s/10yyqTJdwH_oQJnQtWcwIeA 提取码: qz8y 复制这段内容后打开百度网盘手机App,操作更方便哦 (链接失效联系L88467872) 1.下载后解压文件,将对应版本的ixed.xx.win文件放进php对应的ext目录下,如图所示 2.修改ph…

基于Spring Boot与Redis的令牌主动失效机制实现

目录 前言1. 项目结构和依赖配置1.1 项目依赖配置1.2 Redis连接配置 2. 令牌主动失效机制的实现流程2.1 登录成功后将令牌存储到Redis中2.2 使用拦截器验证令牌2.3 用户修改密码后删除旧令牌 3. Redis的配置与测试4. 可能的扩展与优化结语 前言 在现代Web系统中,用…

Linux学习笔记之组管理和权限管理

组管理 文件/目录 所有者 一般文件所有者是文件的创建者,谁创建了该文件,就自然成为该文件的所有者 ls -ahl (查看文件的所有者) chown 用户名 文件名 (修改文件所有者) 文件/目录 所在组 当某个用户…

『黄河遗韵』数字非遗馆的守护之旅

创意定位 腾讯云推出的以“守护黄河文明,探索数字非遗馆”为主题的创意H5作品,通过长卷寻宝VR展馆形式,描绘了黄河文明中的非物质文化遗产,旨在唤起公众对黄河文明的保护意识,并邀请大家参与互动,深入了解…

前端监控与埋点 全总结

一、概念 前端埋点是指在网页或者应用程序中插入特定的代码,用于收集用户的行为数据并发送给服务器进行分析。这些数据可以包括用户的点击、浏览、输入等操作,帮助开发者了解用户的在其网站中的行为,从而进行针对性的优化和改进。 前端埋点…

全面介绍软件安全测试分类,安全测试方法、安全防护技术、安全测试流程

一、软件系统设计开发运行安全 1、注重OpenSource组件安全检查和版本更新(black duck) 现在很多云、云服务器都是由开源的组件去搭成的,对于OpenSource组件应该去做一些安全检查和版本更新,尤其是版本管理,定期对在运…

十、文件上传和下载

文章目录 1. 文件下载2. 文件上传 1. 文件下载 使用ResponseEntity实现下载文件的功能 2. 文件上传

Springboot整合Prometheus+grafana实现系统监控

前言 Prometheus是一个开源的服务监控系统和时序数据库,它提供了强大的功能和灵活的架构,是目前主流的监控和管理应用系统的工具。 而Grafana是一个开源的数据可视化工具,与Prometheus集成,就可以可视化地监控系统的各个指标。 …

新增支持Elasticsearch数据源,支持自定义在线地图风格,DataEase开源BI工具v2.10.2 LTS发布

2024年11月11日,人人可用的开源BI工具DataEase正式发布v2.10.2 LTS版本。 这一版本的功能变动包括:数据源方面,新增了对Elasticsearch数据源的支持;图表方面,对地图类和表格类图表进行了功能增强和优化,增…

常用数字器件的描述-时序逻辑器件的描述

目录 锁存器与触发器 寄存器与移位寄存器 分频器及其应用 偶分频器 奇分频器 半整数分频器 分频器的应用 锁存器与触发器 锁存器与触发器是两种最基本的存储电路。 锁存器是电平敏感器件,而触发器是边沿触发器件。 为了使用灵活方便,商品化的锁…

今天出了10个4声母 .com

价格蛮低的 ,VJ.VT.Q.Q 十个 遥想当年6.5万收的5个四声母.com,上面有2个就在下图中呀,赔大发了

【JAVA】使用IDEA创建maven聚合项目

【JAVA】使用IDEA创建maven聚合项目 1.效果图 2.创建父模块项目 2.1删除父模块下面的src目录以及不需要的maven依赖 3创建子模块项目 3.1右击父模块项目选择Module… 3.2创建子模块 3.3删除子模块下不需要的maven依赖 4.子模块创建完成后引入SpringBoot依赖启动项目

OKG Research:用户意图驱动的Web3应用变革

出品| OKG Research 作者|Samuel QIN 当前加密市场的快速演变中,用户增长成为行业可持续发展的基石。目前主流观点在推动行业前进的路上,从单纯的技术探索在向更注重应用价值的方向转变。尽管近年来Web3生态系统发展迅速&#xf…

云渲染与云电脑,应用场景与技术特点全对比

很多朋友问,你们家一会宣传云渲染,一会宣传云电脑的,我到底用哪个?今天,渲染101云渲染和川翔云电脑就来对比下两者的区别! 渲染101&川翔云电脑,都是我们的产品,邀请码6666 一、…

鸿蒙进阶篇-属性动画-animateTo转场动画

大家好啊,这里是鸿蒙开天组,今天我们来学习属性动画-animateTo&转场动画,咱们先来学习属性动画-animateTo 属性动画-animateTo 属性动画 animation是作为属性使用,而animateTo显示动画是一个系统的内置函数,可以…

我谈正态分布——正态偏态

目录 pdf和cdf参数 标准正态分布期望和方差分布形态 3 σ 3\sigma 3σ原则 正态和偏态正态偏态瑞利分布偏度 (Skewness)峰度 (Kurtosis) 比较 正态分布的英文是Normal Distribution,normal是“正常”或“标准”的意思,中文翻译是正态,多完美的…

从无音响Windows 端到 有音响macOS 端实时音频传输播放

以下是从 Windows 端到 macOS 端传输音频的优化方案,基于上述链接中的思路进行调整: Windows 端操作 安装必要软件 安装 Python(确保版本兼容且已正确配置环境变量)。安装 PyAudio 库,可通过 pip install pyaudio 命令…

AI知识库在行业应用中的未来趋势与案例分析

在数字化转型的浪潮中,AI知识库正成为企业提升效率和创新能力的关键工具。本文将探讨AI知识库在不同行业的应用案例,并分析其未来发展趋势。 一、汽修行业的AI知识库应用 汽修行业正通过构建内部知识库来提升服务质量和工作效率。一个完善的内部知识库能…

STM32 BootLoader 刷新项目 (九) 跳转指定地址-命令0x55

STM32 BootLoader 刷新项目 (九) 跳转指定地址-命令0x55 前面我们讲述了几种BootLoader中的命令,包括获取软件版本号、获取帮助、获取芯片ID、读取Flash保护Level。 下面我们来介绍一下BootLoader中最重要的功能之一—跳转!就像BootLoader词汇中的Boot…