学习人工智能: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 编码器和解码器堆叠

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

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

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

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

相关文章

个人可以做知识付费网站吗

个人可以做知识付费网站吗 个人能够做学问付费网站吗?答案是肯定的!如今个人做学问付费网站并不需求太多的资金和技术支持,我们只需求购置一台效劳器或虚拟主机,然后在该主机空间上搭建一个WordPress网站,最后运用带有…

0基础学习VR全景平台篇第146篇:为什么需要3D元宇宙编辑器?

一.什么是3D元宇宙编辑器? 3D元宇宙编辑器是全新3DVR交互渲染创作工具,集3D建模、虚拟展厅、AI数字人等能力,渲染和虚拟现实技术于一身的生产力工具。 具有跨平台和随时随地编辑等特点,可广泛应用于展会、展厅、博物馆、可视化园…

基于python+vue的幼儿园管理系统flask-django-php-nodejs

随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建幼儿园管理系统。本文通过课题背景、课题目的及意义相关技术,提出了一种活动信息、课程信息、菜谱信息、通知公告、家…

MySQL索引(图文并茂)

目录 一、索引的概念 二、索引的作用 三、创建索引的原则依据 四、索引的分类和创建 1、索引的分类 2、索引的创建 2.1 普通索引 2.1.1 直接创建索引 2.1.2 修改表方式创建 2.1.3 创建表的时候指定索引 2.2 唯一索引 2.2.1 直接创建唯一索引 2.2.2 修改表方式创建 …

机器学习——决策树(三)预剪枝

观前提示:这是本人机器学习决策树内容的第三篇博客,沿用了之前相关的代码,包括信息增益计算函数、结点类、预测函数和分类精度计算函数 完整代码指路 DrawPixel/decisionTree.ipynb at main ndsoi/DrawPixel (github.com) 前两篇博客详见…

水泥领域智慧工厂物联网解决方案

水泥领域智慧工厂物联网解决方案 在水泥生产行业中,构建智慧工厂物联网解决方案已经成为推动产业升级、实现智能制造的关键路径。该方案深度融合了先进的信息技术与传统的水泥生产工艺,通过全面感知、可靠传输、智能处理等环节,实现了对整个…

Macos docker安装达梦数据库

官网下载达梦docker镜像安装包 导入安装包 docker load -i /Users/yeungsinsin/Downloads/dm8_20230808_rev197096_x86_rh6_64_single.tar查看导入的镜像 docker images4. docker run 启动容器 docker run -d -p 30236:5236 --restartalways --name dm8 --privilegedtrue -e…

是德科技keysight N9917A微波分析仪

181/2461/8938产品概述: N9917A 是一款使用电池供电的便携式分析仪;基本功能是电缆和天线分析;配置还包括频谱和网络分析仪、可选的内置功率计和矢量电压表。 N9917A FieldFox 手持式微波分析仪 主要特性和功能 18 GHz 最大频率&#xfef…

基于Springboot的闲置图书分享(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的闲置图书分享(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

MySQL的基础操作与管理

一.MySQL数据库基本操作知识: 1.SQL语句: 关系型数据库,都是使用SQL语句来管理数据库中的数据。 SQL,即结构化查询语言(Structured Query Language) 。 SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控…

Sora底层技术原理:Stable Diffusion运行原理

AIGC 热潮正猛烈地席卷开来,可以说 Stable Diffusion 开源发布把 AI 图像生成提高了全新高度,特别是 ControlNet 和 T2I-Adapter 控制模块的提出进一步提高生成可控性,也在逐渐改变一部分行业的生产模式。惊艳其出色表现,也不禁好…

[BT]BUUCTF刷题第3天(3.21)

第3天(共4题) Web [极客大挑战 2019]LoveSQL Payload:/check.php?username1 union select 1,(select group_concat(password) from l0ve1ysq1),3%23&password1 看到登录页面,先尝试万能密码: 用户名&#xff…

Hive和Hadoop版本对应关系

通过 Downloads (apache.org) 即可查看

Java算法总结之插入排序(详解)

程序代码园发文地址:Java算法总结之插入排序(详解)-程序代码园小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,Java算法总结之插入排序(详解)http://www.byqws.com/blog/3148.html?sourcecsdn 插入排…

鸿蒙Harmony应用开发—ArkTS-全局UI方法(菜单)

在页面范围内关闭通过bindContextMenu属性绑定的菜单。 说明: 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ContextMenu.close 方法描述close(): void可以通过该方法在页面范围内关闭通过bindContextMenu给…

回归预测 | Matlab基于SAO-BiLSTM雪融算法优化双向长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SAO-BiLSTM雪融算法优化双向长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SAO-BiLSTM雪融算法优化双向长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SAO-B…

Linux课程五课---Linux调试器-gdb使用

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

Django日志(一)

一、概念与配置 1.1、概述 日志是程序员经常在代码中使用快速和方便的调试工具。它在调试方面比print更加的优雅和灵活 而且日志记录对于调试很有用,可以提供更多,更好的结构化,有关应用程序的状态和运行状况的信息 Django框架的日志通过python内置的logging模块实现的,可…

【JavaScript 漫游】【040】Blob 对象

文章简介 本篇文章为【JavaScript 漫游】专栏的第 040 篇文章,对浏览器模型中的 Blob 对象进行了总结。 概述 Blob 对象表示一个二进制文件的数据内容,比如一个图片文件的内容就可以通过 Blob 对象读写。它通常用来读写文件,它的名字是 Bi…

BS4提取chrome.webdriver方法和属性以及描述并输出到Excel

BS4网络提取selenium.chrome.WebDriver类的方法及属性 chrome.webdriver: selenium.webdriver.chrome.webdriver — Selenium 4.18.1 documentation class selenium.webdriver.chrome.webdriver.WebDriver 是 Selenium 中用于操作 Chrome 浏览器的 WebDriver 类。WebDriver 类…