《Attention is all you need》通俗解读,彻底理解版:part1

news2024/11/16 3:46:15

最近在更新 Transformer 的技术专栏,如果你关注我的公众号的话,会发现有不少文章都打上了“Transformer最后一公里”的标签。

打上标签的文章要么是介绍 Transformer 技术的,要么是介绍学习Transformer 所需要的背景知识的,比如这几篇:什么是token、编码器-解码器架构、RNN、注意力机制等。

有不少朋友可能听说过 Transformer,但是也仅限于听说过,并不太深入了解这个技术。

Transformer 中文可以翻译为变形金刚,可以说该技术顶起了现在大模型的半边天,非常的重要。

图片

接下来,我会用3-5篇文章的篇幅,通俗的解读提出 Transformer 这一技术的划时代论文《Attention is all you need》,论文链接在这里:https://arxiv.org/pdf/1706.03762

在解读过程中,我不会逐字逐句的进行翻译,而是会挑出重点来进行解读,以帮助你更好的理解提出 Transformer 时的背景以及当时作者的思路。

在解读过程中我会将原文一并放上,方便你阅读原文并理解原意。

本节解读论文的摘要/引言和背景部分。

1.摘要

论文的摘要写的非常简洁明了。主要介绍了当时论文写作的背景,并提出 transformer 这一架构,同时给出了基于 Transformer 架构的模型在一些经典任务中性能数据。

The dominant sequence transduction models are based on complex recurrent or convolutional neural networks that include an encoder and a decoder. The best performing models also connect the encoder and decoder through an attention mechanism.

这一段是说,在写这篇论文时,已经由很多序列模型了,比如之前介绍的Seq2Seq结构,这些模型都是基于复杂的循环神经网络或者卷积神经网络而来的,并且他们都包含一个编码器和解码器。

在一些表现好的模型中,还会在编码器和解码器之间引入注意力机制。

We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train. Our model achieves 28.4 BLEU on the WMT 2014 Englishto-German translation task, improving over the existing best results, including ensembles, by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature. We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.

基于第一段的背景,作者提出了一种全新的神经网络架构,叫做Transformer(变形金刚),该结构不再使用循环结构(RNN)和卷积结构(CNN),而是完全依赖注意力机制运行。

并且作者在一些典型的机器翻译任务上做了实验,实验结果显示基于 Transformer 结构的模型效果非常好(当然好,要不然也不会这么火🔥)。

2.引言

Recurrent neural networks, long short-term memory and gated recurrent neural networks in particular, have been firmly established as state of the art approaches in sequence modeling and transduction problems such as language modeling and machine translation. Numerous efforts have since continued to push the boundaries of recurrent language models and encoder-decoder architectures.

循环神经网络(RNN)、长短时记忆网络(LSTM)以及门控循环神经网络(GRU),这些经典的神经网络在处理序列任务(比如语言建模和机器翻译)中都已经表现出了非常好的效果。

论文中描述效果非常好一般用 state of the art 来描述,它有一个更为常见的缩写是 SOTA

你可以这样理解 SOTA:

某个模型在某项任务中表现最好,这是和其他的模型在相同的任务中进行横向对比之后得出的结论,一般而言如果你说你的模型在某个任务中 SOTA,那就可以说世界范围内数一数二了。

这些经典的神经网络在很多时序任务中表现好,但是对于学术界而言,只有更好没有最好。

因此,人们一直在不断地探索基于RNN 的 Encoder-Decoder 模型的创新,试图一步步的突破这种模型的使用边界,使其变得更好。

Recurrent models typically factor computation along the symbol positions of the input and output sequences. Aligning the positions to steps in computation time, they generate a sequence of hidden states ht, as a function of the previous hidden state ht−1 and the input for position t. This inherently sequential nature precludes parallelization within training examples, which becomes critical at longer sequence lengths, as memory constraints limit batching across examples. Recent work has achieved significant improvements in computational efficiency through factorization tricks and conditional computation, while also improving model performance in case of the latter. The fundamental constraint of sequential computation, however, remains.

接下来的这一段其实就表达了一个意思:循环神经网络(RNN) 在执行过程中是顺序执行的,无法进行并行计算,这是它的一个缺点。

怎么理解顺序执行的呢?

以编码器为例,当输入是一个句子时,基于RNN的编码器只有处理完第一个单词,才能继续编码处理第二个单词。

这是因为编码第二个单词时(ht)依赖上一时刻编码的隐藏状态(ht-1),正是这种顺序执行的过程,才使得 RNN 可以学到一个句子的历史信息。

以下面的图为例,模型只有处理完“今天”这个词之后,才能处理“是”这个词,因此模型是顺序执行的。

图片

虽然顺序执行很有效,但同样缺点也十分明显:无法并行计算,也就无法发挥出 GPU 这种多核(多线程)架构处理器的并行计算能力,导致模型的计算性能较差。

尽管人们在基于RNN 的编码器-解码器结构上做了很多创新,但是依然改变不了这种顺序执行的本质。

Attention mechanisms have become an integral part of compelling sequence modeling and transduction models in various tasks, allowing modeling of dependencies without regard to their distance in the input or output sequences. In all but a few cases, however, such attention mechanisms are used in conjunction with a recurrent network.

这一段是说在 RNN 中引入了注意力机制的好处,主要就是解决了长文本输入导致的信息丢失的问题。

In this work we propose the Transformer, a model architecture eschewing recurrence and instead relying entirely on an attention mechanism to draw global dependencies between input and output.

The Transformer allows for significantly more parallelization and can reach a new state of the art in translation quality after being trained for as little as twelve hours on eight P100 GPUs.

在作者提出的 Transformer 架构中,不再使用 RNN 这种循环结构,转而仅依靠注意力机制来完成数据之间的特征捕捉。

作者在使用了8 个 P100 GPU,并且花费了12个小时的训练后,就在文本翻译任务中取得了 SOTA 的效果。

整体而言,论文的摘要和引言部分写的非常简单,主要就概括了传统RNN和编码器-解码器的缺点。这些缺点主要是有两个:

  • RNN 无法完成并行计算

  • RNN 无法解决长文本输入导致信息丢失的问题

既然RNN有那么多问题不好解决,那我不用不就行了,于是作者直接摒弃了 RNN,提出了新的 Transformer 架构,该架构仅依赖注意力机制,也就不存在上述两个问题了。

可以说,Transformer 架构是对于传统基于RNN的编码器-解码器架构的一次重大创新。

3. 背景

背景部分作者写的也非常简洁,只有3段内容。

The goal of reducing sequential computation also forms the foundation of the Extended Neural GPU , ByteNet and ConvS2S, all of which use convolutional neural networks as basic building block, computing hidden representations in parallel for all input and output positions. In these models, the number of operations required to relate signals from two arbitrary input or output positions grows in the distance between positions, linearly for ConvS2S and logarithmically for ByteNet. This makes it more difficult to learn dependencies between distant positions. In the Transformer this is reduced to a constant number of operations, albeit at the cost of reduced effective resolution due to averaging attention-weighted positions, an effect we counteract with Multi-Head Attention as described in section 3.2.

如果你刚开始阅读这一段的话,可能非常难以理解。

在引言部分作者不是提到了传统的 RNN 计算非常难以并行吗?而在常见的AI算法中,好并行计算的一个经典算法是卷积。事实上,人们使用卷积神经网络做了很多的工作,目的就是减少顺序计算的带来的开销,使计算变成并行计算。

但是卷积有个弊端,那就是卷积核一次只能处理局部范围内的数据。

对于一个长输入文本而言,卷积无法学到卷积核之外的数据之间的关系。因此,如果想处理序列数据(如文本)的话,使用卷积是不行的(效果不好)。

但是,卷积之所以可以很好的完成并行计算,是因为每个卷积核是独立在输入特征图上进行运算的,一个卷积核会输出一个通道,一个通道就代表了输入数据的一种特征。

那是否可以仿照卷积的这种特性,设计一种机制来模仿多个卷积核独立计算的这种特性呢?

当然可以,作者提出了一种多头注意力机制(Multi-Head Attention),模仿的就是多个卷积核的作用。

每个"头" 说白了就是一个独立的注意力小网络,每个小网络都会独立的学习到输入数据的某种特征,如此一来,多个"头"之间就可以并行进行计算了。

Self-attention, sometimes called intra-attention is an attention mechanism relating different positions of a single sequence in order to compute a representation of the sequence. Self-attention has been used successfully in a variety of tasks including reading comprehension, abstractive summarization, textual entailment and learning task-independent sentence representations . End-to-end memory networks are based on a recurrent attention mechanism instead of sequencealigned recurrence and have been shown to perform well on simple-language question answering and language modeling tasks.

第二段主要就夸了一下作者使用的“自注意力机制“,该机制在很多已有工作中表现非常好。在写这篇论文时,自注意力实际上已经应用在了很多模型和任务中,也并非作者原创,但是作者感觉这个机制非常好用。

To the best of our knowledge, however, the Transformer is the first transduction model relying entirely on self-attention to compute representations of its input and output without using sequencealigned RNNs or convolution. In the following sections, we will describe the Transformer, motivate self-attention and discuss its advantages over models.

最后一段,作者继续夸自己的成果:Transformer 是第一个仅仅依赖自注意力机制,而不采用RNN和CNN的Seq2Seq模型。

它的优势非常多,你感兴趣的话就往下阅读吧,记得查看文章左下角的标签,阅读全部文章哦。

后续文章:

《Attention is all you need》通俗解读,彻底理解版:part2-CSDN博客

图片

我的技术专栏已经有几百位朋友加入了。

如果你也希望了解AI技术,学习AI视觉或者大语言模型,戳下面的链接加入吧,这可能是你学习路上非常重要的一次点击呀

CV视觉入门第三版(细化版)完成

我的Transformer专栏努力更新中

最后,送一句话给大家:生活不止眼前,还有诗和远方,共勉~

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

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

相关文章

typescript学习回顾(二)

今天来分享一下ts的基础,如何使用ts,以及ts具体的作用,如何去约束我们开发中常见的一些数据的,最后做一个小练习来巩固对ts基础的掌握程度。 类型约束 如何加类型约束呢 变量、函数的参数、函数的返回值位置加上:类型 比如 //约…

AI绘画Stable diffusion的SDXL模型超详细讲解,针不错!(含实操教程)

大家好,我是画画的小强 朋友们好,今天分享的是Stable diffusion的SDXL模型以及相关实操。 与之前的SD1.5大模型不同,这次的SDXL在架构上采用了“两步走”的生图方式: 以往SD1.5大模型,生成步骤为 Prompt → Base → …

时序分析(二):input delay分析

一、IO接口分析基本模型 数据按照同步方式可分为系统同步和源同步方式两种。所谓系统同步指发送端和接收端共用一个时钟源;源同步指发送端提供数据同步时钟,接收端根据该时钟进行数据接收。现在多数通信中使用源同步方式,例如以太网、ADC等。…

使用 C# 实现Windows桌面壁纸软件

一、设置Windows壁纸 将电脑上的图片设置为壁纸,代码如下: [DllImport("user32.dll", CharSet CharSet.Auto)] static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); const int SPI_SETDESKW…

DM达梦数据库分析函数整理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

从用户到粉丝,再到“裂变客户”:品牌忠诚度如何升级?

在竞争激烈的商业环境中,品牌忠诚度对于企业的成功至关重要。然而,如何将普通用户转化为忠实粉丝,并进一步升级为“裂变客户”,是每一个品牌都需要深思的问题。 从用户转变为粉丝,品牌需要建立与用户的情感连接 这不…

维吉尼亚密文解密小程序

维吉尼亚密文解密小程序 这几天在看CTF相关的课程,涉及到古典密码学和近代密码学还有现代密码学。自己编了一个解密小程序。 Vigenere 维吉尼亚密码 维吉尼亚是多表替换密码中比较典型的代表,维吉尼亚密码是在凯撒密码基础上产生的一种加密方法&#…

床上用品跨境电商:拥有沃尔玛1P特权的商家享有哪些显著优势?

在全球化的背景下,跨境电商对床上用品行业至关重要。沃尔玛因其品牌影响力、客户资源及物流体系在跨境电商平台中脱颖而出。拥有沃尔玛1P特权的商家享有更多曝光机会和独家优惠。那么,这些特权商家具体有哪些优势呢? 沃尔玛1P特权商家在曝光率上具有显著…

行业案例 | 智能终端设备的数据基础从哪儿来?

智能终端的快速发展让我们在许多科幻电影中看到的“未来场景”正在一步步变为现实:智能家居正在解放我们的双手,工业机器人让生产效率倍增,智能穿戴设备让我们便利地感知自身与外部的连结……然而,要想让万物“智联”,…

能力再升级 分贝通拥抱全场景数电票时代

——接收、入帐、归档,一个平台管理更轻松 分贝通上线机票数电票行程单,从开票、接收、对账入账和归档,全流程无纸化、线上化,告别了诸多麻烦,全面拥抱全场景数电票时代。 开票,告别麻烦沟通:一…

封装图片占位图组件

<laze-image class="image" :url="item.image" :game_name="item.game_name" :placeholder="require(@/static/images/common/placeholder.png)"></laze-image> 1.通过调用组件实现 先加载预览图片,再加载真实的图片 2…

【python】python入门day1

python入门 Python解析器Python注释Python中的变量&#xff08;重点&#xff09;练习&#xff1a;1、用python的print函数描述一段对话2、与计算机模拟一段对话&#xff0c;并且最终计算机需要将输入的内容全部输出3、模拟两个对话场景(根据提示输入内容&#xff0c;并且在后续…

提升红色展厅内容质量,讲好红色故事新篇章!

在当今数字化技术浪潮的推动下&#xff0c;借助多媒体技术的展厅&#xff0c;将红色文化的魅力推向了新的高度。然而&#xff0c;技术的运用仅仅是展厅设计方案中的冰山一角&#xff0c;内容制作作为方案落地的核心环节&#xff0c;其质量直接决定了红色文化展厅的展示效果和观…

说点智驾领域的实话!感知|定位|规划控制|就业……

你们有没有一种感觉&#xff0c;近几年自动驾驶技术栈迭代太快&#xff0c;自己稍不留神就与当下主流技术产生脱节了。 其实说实话&#xff0c;并非只有你如此&#xff0c;行业内的工程师都有类似感受。 智能驾驶行业交流群&#xff1a;点击进 分享几个我们最近聊天中的几位朋…

机票、火车票,YonSuite让企业支出笔笔可控

在数字化浪潮的推动下&#xff0c;企业的商旅管理正迎来一场深刻变革。传统的手动预订、报销模式已无法满足现代企业对效率和成本控制的双重要求。YonSuite商旅费控&#xff0c;作为一款领先的企业商旅管理平台&#xff0c;正以其独特的优势&#xff0c;帮助企业实现机票、火车…

2021年12月电子学会Python编程等级考试一级真题及答案

2021年12月Python一级真题 一、选择题 1.昨天的温度是5摄氏度&#xff0c;今天降温7摄氏度&#xff0c;今天的温度是多少摄氏度&#xff1f;( D ) A.12 B.7 C.2 D.-2 2.分析下面程序&#xff0c;关于程序说法正确的是&#xff1f;( D ) x1"11" x2"12…

什么牌子的开放式耳机质量好?五大优质机型,新手必看!

耳机的应用场景越来越多&#xff0c;各种类型的耳机开石出现&#xff0c;开放式耳机就是其中一种。从最初的单一音效到现在的高清晰度解析&#xff0c;开放式耳机已经是非常成熟的产品。耳机不仅音质纯净&#xff0c;佩戴起来也极为舒适&#xff0c;无论你身在何处&#xff0c;…

msvcp120.dll丢失的7种解决方法,教你如何快速修复msvcp120.dll文件

一、msvcp120.dll 缺失的具体表现 应用程序启动失败 当系统中缺失 msvcp120.dll 文件时&#xff0c;最直接的后果是依赖该文件的程序无法正常启动。据不完全统计&#xff0c;超过70%的基于 Visual C 2013 开发的应用程序在启动时会检查 msvcp120.dll 的存在。缺失此文件会导致…

安卓免费短剧大全v1.0.2/全部无需VIP实时更新全平台短剧

在当今社会&#xff0c;时间成为了许多人最为宝贵的资源。忙碌的工作与繁重的日常事务&#xff0c;常常让我们难以拨出时间沉浸于长篇大幅的影视作品中。对于那些热爱剧情、渴望在生活中点缀一抹戏剧色彩的朋友们而言&#xff0c;这无疑是一种挑战。 然而&#xff0c;随着免费…

独立接口面向对象设计

使用面向对象的编程思想&#xff0c;来进行独立接口面向对象的设计&#xff0c;一个接口测试对应一个类&#xff0c;这样后面做框架也比较规范一些。 类定义包含类的属性和类的方法。 类属性包含接口访问地址和接口测试数据 类方法包含测试方法 1、V1.0 实现一组正常注册数据…