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

news2024/11/15 11:34:33

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的已知输出。

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

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

相关文章

001_measuretime_in_Matlab运行时间测量与时间复杂度分析

Matlab中测量时间 在使用Matalb时,经常需要考虑自己编写代码的效率。在这种情况下,我们需要测量程序运行的时间。Matlab提供了一些函数来测量程序运行的时间。 1. 函数简介 本文涵盖的函数包括: tic和toc函数cputime函数timeit函数 1.1 …

微信投票小程序源码系统:礼物道具投票盈利能力超强 带完整的安装代码包以及安装部署教程

近年来,微信小程序以其便捷性、轻量化等特点,迅速占据了移动应用市场的一席之地。投票小程序作为其中的一种应用类型,因其独特的互动性和社交性,成为了商家进行品牌宣传、活动推广的有力工具。然而,市场上的投票小程序…

【数据可视化】Echarts官方文档及常用组件

个人主页 : zxctscl 如有转载请先通知 文章目录 1. 前言2. Echarts官方文档介绍3. ECharts基础架构及常用术语3.1 ECharts的基础架构3.2 ECharts的常用术语3.2.1 ECharts的基本名词3.2.2 ECharts的图表名词 4. 直角坐标系下的网格及坐标轴4.1 直角坐标系下的网格4.2…

训练svm并部署树莓派

训练svm并部署树莓派 开发环境1. 准备数据集2. 训练模型3. 部署模型开发环境 vscode python 3.8 用到的库: scikit-learn==1.3.2 pickle torch pandas matplotlib 1. 准备数据集 数据为xls文件,如下格式 2. 训练模型 文件结构 执行训练 python代码 import pickle &…

基于Spring Boot的研究生志愿填报辅助系统

摘 要 二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一…

代码随想录day28(1)二叉树:二叉搜索树中的插入操作(leetcode701)

题目要求:给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。 思路:对于二叉搜索树来说&…

win10 chm文件打开空白怎么办 win10 chm文件打开空白解决办法

win10 chm文件打开空白怎么办 win10 chm文件打开空白解决办法 有的win10用户遇到chm文件在本地打开是正常的,但是一旦共享就会出现打开空白的情况,像这种情况怎么办呢?其实会出现这种情况基本是因为win10系统的安全防护功能,它…

verilog设计-CDC:单bit脉冲快时钟域到慢时钟域

一、前言 当单bit信号由快时钟域传递给慢时钟域时,快时钟域的异步信号最小可为快时钟信号的一个时钟周期脉冲,快时钟域的单时钟周期脉冲长度小于慢时钟域的时钟周期,很有可能该脉冲信号在慢时钟域的两个时钟上升沿之间,导致该脉冲…

MATLAB环境下基于振动信号的轴承状态监测和故障诊断

故障预测与健康管理PHM分为故障预测和健康管理与维修两部分,PHM首先借助传感器采集关键零部件的运行状态数据,如振动信号、温度图像、电流电压信号、声音信号及油液分析等,提取设备的运行监测指标,进而实现对设备关键零部件运行状…

C++面试宝典第36题:骑士游历

题目 在国际象棋的棋盘上,使一个骑士遍历所有的格子一遍且仅一遍。对于任意给定的顶点,输出一条符合上述要求的路径。骑士的走法和中国象棋的马的走法一样,走日。 解析 本题是一个经典的回溯搜索问题,具体来说是求解国际象棋棋盘上骑士的遍历问题,也称为骑士巡游问题(Kni…

新品发布 | Ftrans FIE文件安全导入导出系统

关于飞驰云联 飞驰云联是中国领先的数据安全传输解决方案提供商,长期专注于安全可控、性能卓越的数据传输技术和解决方案,公司产品和方案覆盖了跨网跨区域的数据安全交换、供应链数据安全传输、数据传输过程的防泄漏、FTP的增强和国产化替代、文件传输自…

SinoDB系统数据库

在SinoDB数据库的一个实例中,存在多个数据库,分为系统数据库和用户数据库。系统数据库在实例初始化时自动创建,存放实例级别上的监控信息、数据字典信息,用户能够访问而不能修改这些数据。用户数据库由用户根据需要创建&#xff0…

Ubuntu Desktop - lock screen (锁屏)

Ubuntu Desktop - lock screen [锁屏] 1. System Settings -> Security & Privacy (安全和隐私)2. System Settings -> Keyboard -> Shortcuts -> System3. LockReferences 1. System Settings -> Security & Privacy (安全和隐私) 使用 Putty 远程登录…

飞跃前端瓶颈:技术进阶指南精华篇

引言: 在互联网的快车道上,前端技术日新月异。对于前端工程师而言,技术水平达到一定高度后,往往会遭遇成长的天花板。本文将探讨如何识别并突破这些技术瓶颈,分享实用的进阶策略和实践案例。 一、技术等级概览&#xf…

WORD某一段格式调整,其他段落也调整

在编辑WORD文字格式时,有时候会出现WORD某一段格式调整,其他段落的格式直接就乱了,该如何修复? 答:问题的根源在于格式的自动更新,把自动更新前面的勾选框取消即可。

Google的MELON: 通过未定位图像重建精确3D模型的突破性算法

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【图解物联网】第1章 物联网的基础知识

1.1 物联网入门 1.1.1 物联网 物联网的英语是Internet of Things,缩写为IoT,这里的“物”指的是我们身边一切能与网络相连的物品。只要能与网络相连,就都是物联网说的“物”。 物联网就是“物”之间通过连接互联网来共享信息并产生…

九型人格测试适用于什么场景和群体?

九型人格起源于希腊的九和图,后来人们根据现实需求不断的进行改进,才形成了我们今天看到的九型人格测试。其理论基础源远流长,应用在生活中的各个领域,不同的群体不同的需求,都能从九型人格中获益。 九型人格理论把人格…

python 爬取杭州小区挂牌均价

下载chrome驱动 通过chrome浏览器的 设置-帮助-关于Google Chrome 查看你所使用的Chrome版本 驱动可以从这两个地方找: 【推荐】https://storage.googleapis.com/chrome-for-testing-publichttp://npm.taobao.org/mirrors/chromedriver import zipfile import os import r…

UE4 Json事件设置Asset值(Asset如果都在同一目录下)

通过Json事件来设置,比如骨骼网格体(换皮)等等