学习人工智能:Attention Is All You Need-1-介绍;Transformer模型架构;编码器,解码器

Transformer模型是目前最成功的chatGPT,Sora,文心一言,LLama,Grok的基础模型。

《Attention Is All You Need》是一篇由Google DeepMind团队在2017年发表的论文,该论文提出了一种新的神经网络模型,即Transformer模型,该模型主要用于自然语言处理任务。

Transformer模型的创新点在于其使用了自注意力机制(self-attention mechanism)来取代传统的循环神经网络(RNN)和卷积神经网络(CNN)等结构。这使得模型在处理序列数据时具有更好的并行性和可扩展性,同时能够捕捉序列中各个位置之间的相对关系,进而更好地对序列进行建模。具体来说,自注意力机制允许模型同时计算输入序列中所有位置之间的关系权重,进而加权得到每个位置的特征表示。在Transformer模型中,自注意力机制被运用在了Encoder和Decoder两个部分中,分别用于编码输入序列和生成输出序列。

Transformer架构包含多层堆叠的编码器和解码器,其中编码/解码器内部包含了多头注意力机制(multi-head attention)、层级归一(layer norm)和残差结构(residual)。这种设计使得Transformer模型能够高效地处理序列数据,并且在机器翻译等序列转换任务中取得了优异的性能。此外,Transformer模型还具有广泛的应用前景,例如语音识别、图像处理和自然语言生成等任务。

Attention is all you needicon-default.png?t=N7T8https://arxiv.org/abs/1706.03762

论文摘要Abstract

目前主流的序列转换模型主要基于复杂的循环或卷积神经网络,其中包括编码器和解码器。表现最佳的模型还通过注意力机制连接编码器和解码器。我们提出了一种全新的简单网络架构——Transformer,该架构完全基于注意力机制,完全摒弃了循环和卷积。在两个机器翻译任务上的实验表明,这些模型不仅质量上乘,而且更易于并行化,所需的训练时间也大大减少。在WMT 2014英语至德语翻译任务中,我们的模型取得了28.4的BLEU评分,超过了现有最佳结果(包括模型集成)超过2个BLEU评分。在WMT 2014英语至法语翻译任务中,我们的模型在八个GPU上训练3.5天后建立了新的单一模型最高BLEU评分41.0,这仅仅是文献中最佳模型训练成本的一小部分。

1,介绍Introduction

循环神经网络,特别是长短时记忆网络(LSTM)和门控循环单元(GRU),已牢固确立为序列建模和转导问题(如语言建模和机器翻译)中的最先进方法。从那时起,人们付出了大量努力来不断推动循环语言模型和编码器-解码器架构的边界。

同等贡献。名单顺序是随机的。雅各布(Jakob)提出了用自注意力机制替换循环神经网络(RNNs)的想法,并开始着手评估这一想法。阿什什(Ashish)与伊利亚(Illia)一起设计和实现了第一个Transformer模型,并在这项工作的各个方面都发挥了至关重要的作用。诺姆(Noam)提出了缩放点积注意力、多头注意力和无参数位置表示,并成为了几乎参与每一项细节的另一个人。尼基(Niki)在我们的原始代码库和tensor2tensor中设计、实现、调优和评估了无数模型变体。利昂(Llion)也尝试了新颖的模型变体,负责我们最初的代码库,以及高效的推理和可视化。卢卡斯(Lukasz)和艾丹(Aidan)花费了无数漫长的时间设计和实现tensor2tensor的各部分,替换了我们早期的代码库,大大提高了结果,并极大地加速了我们的研究。

循环模型通常将计算分解为输入和输出序列中符号位置的因素。通过将位置与计算时间步骤对齐,它们会生成一个隐藏状态序列ht,这是前一个隐藏状态ht-1和位置t的输入的函数。这种固有的序列性质排除了训练示例内的并行化,这在序列长度较长时变得至关重要,因为内存限制会限制跨示例的批处理。最近的工作通过分解技巧[18]和条件计算[26]显著提高了计算效率,同时也在后者的情况下提高了模型性能。然而,顺序计算的基本约束仍然存在。
在各种任务中,注意力机制已成为引人注目的序列建模和转导模型不可或缺的一部分,它允许建模依赖关系,而不考虑输入或输出序列中的距离[2,16]。然而,除了少数情况[22]外,这种注意力机制都是与循环网络结合使用的。
在这项工作中,我们提出了Transformer,这是一种模型架构,它摒弃了循环,而是完全依赖注意力机制来绘制输入和输出之间的全局依赖关系。Transformer允许进行更多的并行化,并在八个P100 GPU上仅训练十二个小时后就能达到翻译质量的新水平。

2,背景Background

减少顺序计算的目标也构成了扩展神经GPU(Extended Neural GPU)[20]、ByteNet[15]和ConvS2S[8]的基础,它们都使用卷积神经网络作为基本构建块,为所有输入和输出位置并行计算隐藏表示。在这些模型中,将两个任意输入或输出位置的信号关联起来所需的操作数量随着位置之间的距离而增长,对于ConvS2S是线性增长,对于ByteNet是对数增长。这使得学习远距离位置之间的依赖关系变得更加困难。在Transformer中,这被减少到固定数量的操作,尽管由于平均了注意力加权的位置而降低了有效分辨率,但我们通过第3.2节描述的多头注意力来抵消这一影响。


自注意力,有时称为内部注意力,是一种注意力机制,用于关联单个序列中不同位置,以计算序列的表示。自注意力已成功用于各种任务,包括阅读理解、抽象摘要、文本蕴含和学习任务无关的句子表示。


端到端记忆网络基于循环注意力机制,而不是序列对齐的循环,并已被证明在简单语言问答和语言建模任务上表现良好。


然而,据我们所知,Transformer是第一个完全依赖自注意力来计算其输入和输出的表示,而不使用序列对齐的RNN或卷积的转导模型。在以下部分中,我们将描述Transformer,解释自注意力的动机,并讨论其相对于其他模型的优势。

3,模型架构Model Architecture

大多数具有竞争力的神经序列转导模型都具有编码器-解码器结构[5,2,29]。在这里,编码器将符号表示(x1,...,xn)的输入序列映射为连续表示(z1,...,zn)的序列。给定z,解码器则逐个元素地生成符号的输出序列(y1,...,ym)。在每个步骤中,模型都是自回归的[9],在生成下一个符号时,将先前生成的符号作为额外输入。

Transformer遵循这种总体架构,对编码器和解码器都使用了堆叠的自注意力和逐点全连接层,分别如图1的左半部分和右半部分所示。

3.1 编码器和解码器堆叠Encoder and Decoder Stacks

编码器:编码器由N=6个相同的层堆叠而成。每个层都有两个子层。第一个是多头自注意力机制,第二个是简单的、位置敏感的全连接前馈网络。我们在每个子层周围都使用了残差连接[10],然后是层归一化[1]。也就是说,每个子层的输出是LayerNorm(x + Sublayer(x)),其中Sublayer(x)是子层本身实现的函数。为了便于这些残差连接,模型中的所有子层以及嵌入层都产生维度为dmodel=512的输出。

解码器:解码器也是由N=6个相同的层堆叠而成。除了每个编码器层中的两个子层外,解码器还插入了第三个子层,该子层对编码器堆叠的输出执行多头注意力。与编码器类似,我们在每个子层周围使用残差连接,然后进行层归一化。我们还修改了解码器堆叠中的自注意力子层,以防止位置关注到后续位置。这种掩蔽操作,结合输出嵌入位置偏移一个位置的事实,确保了位置i的预测只能依赖于位置小于i的已知输出。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT 信号(Signal)与槽(Slot)机制

一、信号(signal)与槽(slot) 在QT中,信号(signal)与槽(slot)机制是一种用于对象间通信的重要机制。它允许一个对象发出信号,而其他对象可以通过连接到该信号…

电容笔品牌排行榜:2024五款便宜好用的电容笔极力推荐!

iPad作为我们最常使用的平板,我们想体验iPad的高效使用,丝滑体验,电容笔已经成为许多人的必备工具之一。Apple Pencil适用于专业绘图,一千的售价着实太高,如果普通学生党,用户使用选一款好的电容笔平替&…

多进程编程及相关函数

文章目录 查看系统中的进程进程标识进程创建进程终止僵尸进程守护进程和孤儿进程wait函数exec函数system函数 程序是存放在磁盘文件中的可执行文件。程序的执行实例被称为进程,进程具有独立的权限与职责。 每个进程运行在其各自的虚拟地址空间中,进程之间…

数智赋能|智慧变电站数字孪生解决方案

当今世界,绿色发展已经成为一个重要趋势,中国、欧盟、北美纷纷发布了通过低碳化、电气化、网络化、智能化全面进行能源结构变革,推进碳达峰、碳中和进程的战略举措。落实绿色发展目标,能源是主战场,电力是主力军&#…

用DataGrip连接hive时报错:User: root is not allowed to impersonate plck5,解决方法

你可以尝试关闭主机校验 修改hive安装目录下conf/hive-site.xml,将hive.server2.enable.doAs设置成false <property><name>hive.server2.enable.doAs</name><value>false</value><description>Setting this property to true will have H…

python 处理png图片无损压缩

代码利用了Pillow库来处理图片的压缩&#xff0c;并使用了 glob 模块来搜索所有的 .png 文件。这个脚本应该能够按照当前的编写来完成预期的工作。 请注意&#xff0c;compress_level9 指定了Pillow保存PNG图片时采用的最大压缩等级。这确保了每张图片都被以可能的最小文件大小…

二叉搜索树(二叉排序树,二叉查找树)(附图详解+代码实现+应用分析)

最近学习了有关搜索二叉树的相关知识&#xff0c;在此特意将该知识进行总结分享&#xff0c;希望对大家有所帮助。 文章目录 一.二叉搜索树1.1二叉搜索树的概念1.2二叉搜索树的操作&#xff08;含思路分析代码实现&#xff09;1.2.1二叉搜索树的查找&#xff08;递归实现看最后…

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接

文章目录 前言1. 安装Docker2. 使用Docker拉取MongoDB镜像3. 创建并启动MongoDB容器4. 本地连接测试5. 公网远程访问本地MongoDB容器5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主要介绍如何在Linux Ubuntu系统使用Docker快速部署Mon…

城市排涝与海绵城市规划设计中的水文水动力模拟技术应用

随着计算机的广泛应用和各类模型软件的发展&#xff0c;将排水系统模型作为城市洪灾评价与防治的技术手段已经成为防洪防灾的重要技术途径。本次培训将聚焦于综合利用GIS及CAD等工具高效地进行大规模城市排水系统水力模型的建立&#xff0c;利用SWMM实现排水系统水力模拟。讲解…

如何本地部署Imagewheel并实现无公网IP远程连接打造个人云图床

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

Linux文件系列:磁盘,文件系统,软硬链接

Linux文件系列:磁盘,文件系统,软硬链接 一.磁盘相关知识1.磁盘机械构成2.磁盘物理存储3.磁盘逻辑存储1.LBA地址2.磁盘的分区和分组 二.文件系统和inode1.inode结构体2.文件系统1.Super Block(超级块)2.Group Descriptor Table(块组描述表GDT)3.inode Table4.Data Blocks5.Block…

vue3+threejs新手从零开发卡牌游戏(八):关联卡组和手牌区、添加初始化卡组和初始化手牌逻辑

首先我们优化下之前的代码&#xff0c;先加载游戏资源&#xff0c;然后再初始化场景&#xff0c;由于目前只有一个font字体需要加载&#xff0c;所以我们将之前game/deck/p1.vue中的font相关代码迁移到game/index.vue下&#xff0c;同时使用async和await处理异步加载&#xff0…

基于Scapy国内城市空气质量数据采集系统设计与实现

代码和完整的报告在文章最后 城市空气质量数据采集系统设计与实现 &#x1f3d9;️ 研究背景 &#x1f32c;️ 城市化与环境挑战&#xff1a;随着城市化进程的加快&#xff0c;环境污染问题&#xff0c;尤其是空气质量问题&#xff0c;已成为公众关注的焦点。数据监测的重要性…

Windows安装配置国产达梦数据库、配置Python接口

文章目录 前言1.下载安装达梦数据库2.配置达梦环境变量3.安装Microsoft Visual C 14.04.安装达梦Python接口dmpython5.测试验证 总结 前言 达梦数据库&#xff08;Dameng Database&#xff09;是由武汉达梦数据库股份有限公司开发的一款高性能的关系型数据库管理系统。该数据库…

关于短群签名论文阅读

参考文献为2004年发表的Short Group Signatures 什么群签名&#xff1f; 群签名大致就是由一组用户组成一个群&#xff0c;其中用户对某条消息的签名&#xff0c;改签名不会揭示是哪一个用户签署的&#xff0c;签名只能表明该消息确实是来自该群的签名。对于群还有一个群管理者…

蓝桥杯算法 - DP

上一篇&#xff1a;[[蓝桥杯算法-排序、递归、全排列]] 动态规划&#xff08;dp&#xff09; dp即动态规划&#xff0c;常用于&#xff1a;数学&#xff0c;计算机科学&#xff0c;管理学&#xff0c;经济和生物信息学。 dp在生活中也很常见&#xff0c;如&#xff1a;你今天…

【随笔】oh-my-posh(Windows power shell为例)

Oh My Posh 是一个适用于任何 shell 的自定义提示引擎&#xff0c;能够使用函数或变量调整提示字符串。 文章目录 一、安装oh-my-posh二、安装Nerd 字体三、oh-my-posh 初始化四、更换主题 一、安装oh-my-posh GitHub repo&#xff1a;https://github.com/JanDeDobbeleer/oh-m…

情感视频素材怎么来的?(情感语录的视频素材在哪里找)

很多小伙伴觉得情感类型的短视频账号用户多&#xff0c;都想要进入分一杯羹&#xff0c;那么这些创作素材去哪里找呢&#xff0c;下面分享几个非常使用的找情感短视频素材的办法。 1&#xff0c;蛙学网 说到情感视频素材的短视频&#xff0c;作为一个专业的短视频素材网站&am…

2024年云服务器ECS价格表出炉——腾讯云

腾讯云服务器多少钱一年&#xff1f;61元一年起。2024年最新腾讯云服务器优惠价格表&#xff0c;腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…

nodeJs中实现连表查询

nodeJs中实现连表查询 router.post(/getOrder, async function(req, res, next) {let userId req.body.phone;let sql select * from orders where userId?;let orders await new Promise((resolve, reject) > {connection.query(sql, [userId], function(error, resul…