Attention Is All You Need阅读笔记

论文阅读笔记之Attention Is All You Need 前言 阅读笔记 前言   这是戊戌年的第一篇博客,先给各位读者拜个晚年。这篇博客是2017 NLP 十大paper阅读笔记系列的第一篇,当初我立下一个flag—要在2018读完这十篇paper,所以我会依次阅读这些paper,写出我的一些观点。出于各种原因,有些part我就不detail地去写,网上也有一些类似的阅读笔记可以学习。 阅读笔记   这一篇paper是google发... 阅读详情

本文提出了一种新的简单的网络结构——Transformer,它完全基于注意机制,而不需要递归(RNN)和卷积(CNN)。
文章链接:Attention Is All You Need
代码链接:Transformer
一、文章引入
主流的Seq-Seq的模型通常采用RNN或者是CNN,一般在网络结构中都会用到encoder和decoder, 效果比较好的模型会通过attention(注意力机制)连接encoder和decoder。但是这种网络结构也存在一些问题:
递归模型通常沿输入和输出序列的符号位置进行因子计算。将位置与计算时间中的步骤对齐,它们生成隐藏状态ht的序列,作为先前隐藏状态ht-1和位置t的输入的函数。这种固有的序列性质使得其难以并行化;缺乏对全局信息的理解, 尤其是长距离和层级化的依赖关系难以建立。
注意机制已成为各种任务中引人注目的序列建模和转导模型不可或缺的一部分,允许对依赖项进行建模,而无需考虑它们在输入或输出序列中的距离。但在大多数情况下,注意力机制仍然需要和递归网络结合使用。
本文提出的Transformer不需要任何递归网络,而完全依赖于注意机制来绘制输入和输出之间的全局依赖关系。
二、Background
1、在先前提出的模型中,关联来自两个任意输入或输出位置的信号所需的操作数在随着位置间距离的增加而增加,这使得学习远距离之间的依赖关系变得更加困难。 在Transform中,此操作被减少为恒定的操作次数,尽管由于平均注意力加权位置而导致有效分辨率降低,但作者使用了多头注意力来抵消这种效果。
2、Self-attention将单个序列的不同位置联系起来,以计算序列的表示。自注意在阅读理解、抽象概括、语篇蕴涵和学习任务无关的句子表征等任务中得到了成功的运用。
3、End-to-end memory networks 基于递归注意机制,而不是序列对齐的递归,并且已被证明在简单语言问答和语言建模任务中表现良好。
三、Model Architecture
大多数竞争性神经序列转导模型都具有编码器-解码器( encoder-decoder)结构。编码器将字符表示的输入序列(x1,…,xn)映射到连续表示的序列z=(z1,…,zn)。给定z,解码器一次生成一个字符的输出序列(y1,…,ym)。每一步模型都是自回归的,在生成下一步时,将先前生成的标签作为附加输入。
Transform遵循这种总体架构,对编码器和解码器使用堆叠式自注意力和逐点,全连接层,分别如图1的左半部分和右半部分所示。
在这里插入图片描述
图一:Transform模型架构
3.1 Encoder and Decoder Stacks
Encoder:编码器由N = 6个相同层的堆栈组成。 每层都有两个子层。 第一个是多头自注意机制,第二个是简单的位置全连接的前馈网络。在两个子层的每一层周围采用残差连接,然后进行层归一化。 也就是说,每个子层的输出是LayerNorm(x + Sublayer(x)),其中Sublayer(x)是由子层本身实现的功能。 为了促进这些残差连接,模型中的所有子层以及嵌入层均产生尺寸为dmodel = 512的输出。
Decoder:解码器同样是由N = 6个相同层的堆栈组成。 除了每个编码器层中的两个子层之外,解码器还插入第三子层,该第三子层对编码器堆栈的输出执行多头关注。 与编码器类似,在每个子层周围采用残差连接,然后进行层归一化。 还修改了解码器堆栈中的自注意子层,以防止位置关注后续位置。 这种掩盖,加上输出嵌入偏移一个位置,确保了对位置i的预测只能依赖于小于i位置的已知输出。
第一级decoder的key, query, value均来自前一层decoder的输出,但加入了Mask操作,即我们只能attend到前面已经翻译过的输出的词语,因为翻译过程我们当前还并不知道下一个输出词语,这是我们之后才会推测到的。而第二级decoder也被称作encoder-decoder attention layer,即它的query来自于之前一级的decoder层的输出,但其key和value来自于encoder的输出,这使得decoder的每一个位置都可以attend到输入序列的每一个位置。
在这里插入图片描述
3.2 Attention
注意力函数可以描述为将查询和一组键值对映射到输出,其中查询,键,值和输出都是向量。 输出计算为值的加权总和,其中分配给每个值的权重是通过查询与相应键的兼容性函数来计算的。
在这里插入图片描述
图二:(左)缩放点积注意。(右)由几个平行运行的注意层组成的多头注意力。
假如我们要翻译一个词组Thinking Machines,其中Thinking的输入的embedding vector用 x1 表示,Machines的embedding vector用 x2 表示。
在这里插入图片描述
当我们处理Thinking这个词时,我们需要计算句子中所有词与它的Attention Score,这就像将当前词作为搜索的query,去和句子中所有词(包含该词本身)的key去匹配,看看相关度有多高。我们用 q1 代表Thinking对应的query vector,k1 及 k2 分别代表Thinking以及Machines对应的key vector,则计算Thinking的attention score的时候我们需要计算 q1 与 k1,k2 的点乘,同理,我们计算Machines的attention score的时候需要计算q2 与 k1,k2 的点乘。如上图中所示我们分别得到了 q1 与 k1,k2 的点乘积,然后我们进行尺度缩放与softmax归一化,如下图所示:
在这里插入图片描述
显然,当前单词与其自身的attention score一般最大,其他单词根据与当前单词重要程度有相应的score。然后我们在用这些attention score与value vector相乘,得到加权的向量。
在这里插入图片描述

3.2.1 Scaled Dot-Product Attention
输入包括维度为dk的查询和键以及维度为dv的值。使用所有键计算查询的点积,每个键都除以√dk,然后应用softmax函数获得值的权重。
在实际应用中,同时计算一组查询的注意函数,将它们组合成一个矩阵Q,并将键和值组合成矩阵K和V。将输出矩阵计算为:
在这里插入图片描述
3.2.2 Multi-Head Attention
与使用dmodel维的键,值和查询执行单个注意功能相比,我们发现使用不同的、可学习的线性投影将查询、键和值分别投影到dk、dk和dv维度h次是有益的。 然后,在每一个查询,键和值的投影上,并行执行注意函数,从而产生dv维的输出值。 将它们连接起来并再次投影,得到最终值,如图2所示。
在这里插入图片描述
3.2.3 Applications of Attention in our Model
Transform以三种不同的方式使用多头注意:
1、在“编码-解码器注意”层中,查询来自上一个解码器层,而内存键和值来自编码器的输出。这使得解码器中的每个位置都可以参与输入序列中的所有位置。
2、编码器包含自注意层。 在自注意层中,所有键,值和查询都来自同一位置,在本文中,是编码器中上一层的输出。 编码器中的每个位置都可以注意编码器上一层中的所有位置。
3、类似地,解码器中的自注意层允许解码器中的每个位置关注直到并包括该位置的解码器中的所有位置。 我们需要防止解码器中向左流动信息,以保留自回归属性。 通过屏蔽(设置为-∞)softmax输入中与非法连接相对应的所有值,从而在点积乘积内实现了这一目标。 参见图2。
3.3 Position-wise Feed-Forward Networks
除了注意力子层,编码器和解码器中的每一层都包含一个全连接的前馈网络,该前馈网络分别独立的应用于每个位置。包括两个线性转换,中间有一个ReLU激活。
在这里插入图片描述
虽然不同位置的线性变换是相同的,但它们在不同的层之间使用不同的参数。另一种描述方法是核大小为1的两个卷积。输入输出的维数为dmodel=512,内层的维数为dff=2048。
3.4 Embeddings and Softmax
与其他序列转导模型类似,使用学习的嵌入将输入标记和输出标记转换为dmodel维的向量。 还使用学习到的线性变换和softmax函数将解码器输出转换为预测的下一个字符概率。 在本文的模型中,在两个嵌入层和pre-softmax线性变换之间共享相同的权重矩阵。 在嵌入层中,将这些权重乘以√dmodel。
3.5 Positional Encoding
由于我们的模型不包含递归和卷积,为了使模型能够利用序列的顺序,必须注入一些关于字符在序列中的相对或绝对位置的信息。为此,将“位置编码”添加到编码器和解码器堆栈底部的输入嵌入中。位置编码与嵌入具有相同的维度dmodel,因此可以将两者相加。
在这项工作中,我们使用不同频率的正弦和余弦函数:
在这里插入图片描述
其中pos是位置,i是维度。也就是说,位置编码的每个维度对应于一个正弦。
四、实验结果
在这里插入图片描述
五、结论
• 区别于主导序列转导模型基于包括编码器和解码器的复杂递归或卷积神经网络,Transformer完全基于Attention机制,避免了重复和卷积,使得并行化成为可能,提高了时间性能。
• 本文提出用attention做翻译,不用RNN和CNN,attention计算快,并行度高,而且任何两个词的距离都是1,擅长抓长距离依赖。

大模型系列(二)---Attention is All you Need阅读笔记 2. self attention 和 multi head attention。4. positional encoding 和 word embedding。1. Transformer结构。 阅读详情

相关推荐

Attention Is All You Need 阅读笔记

在计算注意力分数后、Softmax之前,将所有"非法连接"(即当前词右边的未来词)对应的分数设置为一个极大的负数(如 -1e9)。在测试时,只能看到 t 时刻之前的输入来预测 t 的输出,然而训练时却能看到整个输出序列。通俗解释:对于序列中的每一个元素(例如一个词),找出序列中所有其他元素与它的相关程度,然后根据这些相关程度对所有元素的值(value)进行加权求和。将某一层的输入直接添加到其输出之后。较大时,点积结果也会很大,使得softmax进入绝对值较大的区域,造成梯度很小,梯度下降的速度就会很慢。

m0_74067337的博客 606

《Attention is all you need!》论文读后总结

这篇文章最初是应用于机器翻译的模型,在后来使用中发现作者提出的Transformer模型对于NLP、图片、音频、视频等也有较为不错的效果,可以说该模型是深度学习一个阶段性的成果。在文章中,作者完全摒弃了传统RNN和卷积网络,完全使用自注意力机制进行模型结构的搭建,且允许更高程度的并行化。

m0_50795649的博客 2031

【论文阅读笔记】Attention Is All You Need

这是17年的老论文了,Transformer的出处,刚发布时的应用场景是文字翻译。BLUE是机器翻译任务中常用的一个衡量标准。在此论文之前,序列翻译的主导模型是RNN或者使用编解码器结构的CNN。本文提出的Transformer结构不需要使用循环和卷积结构,是完全基于注意力机制的模型。Transformer在序列转换上具有高并行度,在两个机器翻译的任务上都得到了卓越的成果,且其训练时间显著减少。在WMT2024的英语转法语翻译任务上,本文的Transformer模型在8张P100 GPU上训练。

时光机 °的博客 2166

论文阅读:Attention is all you need

当前用来解决 seq2seq 问题的模型通常包含 CNN 和 RNN,并且整体架构通常形如 encoder-decoder。并且,时下(2017) 的 SOTA 结果通常会在 encoder 和 decoder 之间用 attention 联系起来。本文提出一个新的结构,transformer,仅依靠注意力机制,可以有效对长距离进行建模,是 CNN, RNN 的有力平替,实验表明效果好,并行度高,收敛快。

dilvx的博客 1188

论文Is Space-Time Attention All You Need for Video Understanding?阅读笔记

写在前面: 要从Transformer在NLP领域的一举成名说起,这种简单只使用注意力机制(attention)的结构在机器翻译等等方向都取得了不错的效果。顾名思义,这篇文章的方法基于Transformer提出了一种用于视频理解的框架,是Google提出的用于图像的Transformer-ViT(VisionTransformer)的扩展,将该方法命为TimeSformer(Time-Space Transformer)。 对于基本的Transformer不再赘述,对...

qq_60272314的博客 1661

文献阅读笔记—Attention is ALL You Need

本文主要是参考 https://yq.aliyun.com/articles/342508?utm_content=m_39938 https://mchromiak.github.io/articles/2017/Sep/12/Transformer-Attention-is-all-you-need/#positional-encoding-pe 将互相缺少的融合到一起,略微加了点其他东...

manmanxiaowugun的博客 3184

《Attention Is All You Need 》阅读笔记

Attention Is All You Need 阅读笔记 Introduction   这是谷歌发表的文章,针对nlp里的机器翻译问题,提出了一种被称为”Transformer”的网络结构,基于注意力机制。文章提出,以往nlp里大量使用RNN结构和encoder-decoder结构,RNN及其衍生网络的缺点就是慢,问题在于前后隐藏状态的依赖性,无法实现并行,而文章提出的”Transfo...

songbinxu的博客 3万+

《Attention Is All You Need》论文及代码阅读笔记

本文对Ashish Vaswani等人在2017年发表的经典论文《Attention Is All You Need》及代码进行解析,并记录自己的理解与体会,形成一篇论文及代码阅读笔记。

zsggyyds的博客 418

小白总结Transformer模型要点

本文总结了Transformer模型的要点:模型架构,包括背景知识、整体架构、Embedding和位置编码、多头注意力机制、残差连接、LayerNorm和Decoder;疑问汇总,包含常见的Attention计算方法、为什么可以用正弦曲线表示位置编码、序列转导模型概念、原文3个评价指标;模型实现,包含实现思路和实现过程;延伸学习,包含残差连接、KL散度和contiguous。Transformer是Seq2Seq模型中一个跨时代的模型,使用自注意力代替了LSTM,实现了效果和效率的提升,地位十分重要。...

CUFEECR的博客 3004

Attention is all you need阅读笔记

(一) Title 前言:我又来看老论文了,Transformer去年就在图像领域很火了,当时没有怎么了解这方面的内容,想着有时间的话,看看这方面的内容,要跟得上发展的步伐才行啊!首先先整理下Transformer原始论文中的内容(课上讲过),但是遗忘太多了。打算重新整理下再! (二) Summary dominant sequence transduction models(显性序列显性转导模型)往往基于复杂的循环神经网络,或者卷积神经网络。并且包含着一个编码器和一个解码器。而注意力机制在编码器和解码器

风行 1612

论文阅读-Attention Is All You Need阅读报告-机器翻译

1 Introduction 本文是2017年底谷歌大脑发表的文章,针对自然语言处理领域的经典问题-机器翻译,提出了一个只基于attention的结构来处理序列模型相关的问题,该模型被称为“Transformer”。文中提到,主流的序列转换模型都是基于复杂的循环神经网络(RNN)或卷积神经网络(CNN),且都包含一个encoder和一个decoder。RNN及其衍生网络的缺点就是慢,问题在于前后隐藏状态的依赖性,无法实现并行。截至“Transformer”提出前,表现最好的机器翻译模型是通过at...

一位不是很硕的鉴伪方向硕士 1738

论文阅读笔记:Attention Is All You Need

论文阅读笔记:Attention Is All You Need

HollowKnightz的博客 3492

基于Coze平台从零构建AI智能体:以测试用例生成为例的实战指南

在人工智能技术快速发展的今天,大语言模型(LLM)和提示词工程(Prompt Engineering)已成为构建智能应用的核心技术。其原理在于通过自然语言指令引导模型完成特定任务,其技术价值在于极大地降低了AI应用开发的门槛,使非专业开发者也能快速实现想法。这一技术广泛应用于自动化办公、智能客服、内容生成等场景。本文聚焦于字节跳动旗下的Coze平台,该平台通过可视化工作流编排和预置技能,将上述技术封装为易用的工具。文章以“根据产品需求文档(PRD)自动生成测试用例”这一具体场景为例,详细拆解了从需求分析、工

weixin_30617695的博客 339

Attention Is All You Need论文阅读笔记

摘要中提到序列传导模型中性能最好的是用注意力机制连接编码器和解码器的框架,但该框架仍基于复杂的递归和卷积神经网络,故文章提出了一种完全基于注意力机制,无需递归和卷积网络的框架。实验结果显示模型的质量上乘,并且训练时间明显减少。由前置知识中的注意力模型我们知道,RNN网络虽然解决了元素相关依赖的问题,但是其输入取决于上一轮状态,训练过程的效率较低。“这种固有的 Sequences 性质排除了训练样本中的并行化,这在较长的序列长度下变得至关重要,因为内存约束限制了样本之间的批处理。

写代码的小阿帆的博客 2107

速腾聚创激光雷达复现FAST-LIO

记录复现FAST-LIO算法的过程和,代码梳理和理解。FAST-LIO的简化版、注释版。速腾激光雷达

abanchao的博客 2932

光栅衍射有入射角时_偏振光栅的衍射角度及衍射效率测量

偏振光栅是一种基于入射光的偏振态实现选择性分光的衍射光学元件,衍射角度取决于光栅线数。通过控制入射光的偏振态,偏振光栅能够调控正一阶和负一阶之间的能量分布。当入射光束偏振态不同时,偏振光栅具有不同的衍射特性。理想的偏振光栅:当入射光为右旋圆偏振光时,只有+1级衍射光,衍射光为左旋圆偏振光。当入射光为左旋圆偏振光时,只有-1级衍射光,衍射光为右旋圆偏振光。当入射光为非圆偏振光时,偏振光栅同...

weixin_39552768的博客 6005

【NLP】《Attention Is All You Need》的阅读笔记

背景 在深度学习领域,如果你连Transformer都不知,那就太out了。现如今基于Transformer的模型,如Bert在NLP的下游的很多任务中都达到了sota。而这个Transformer就出自于这篇论文。虽然是2017年发表的,但是已经被称作是非常经典的论文了。下面继续像以往一样阅读,或者是原文的翻译吧。原文地址:Attention Is All You Need。在了解这个模型时也看到原文和译文的对照:https://yiyibooks.cn/yiyibooks/Attention_Is_Al

让算法融入生活,改变生活! 1686

轴承故障诊断领域的论文到底有多水

这个是最让人困惑的,就好像你说自己证明了某个方法更好,但是你却没有交代自己怎么做的,或者说你交代的过程有外行话或者逻辑上的缺陷,但是你就这么给出个结果完事了。由于自己没有足够大的学术交流圈子,为了尽量避免误判,我在原来13篇论文的基础上又读了18篇,这些论文至少都出自中文核心,有一些还有EI的title,事实上近几年能找到的文章也不算多,这些基本能说明问题了。当然,还有更多细节,比如说损失函数你得交代吧,模型超参数得介绍全吧,至少数据集是哪个工况下的得说吧,当你想复现这些论文,关注点在这些地方的时候。

weixin_50642818的博客 3053

《Attention Is All You Need》阅读笔记

在如今的神经网络中,我们大量讨论的莫过于Transformer架构,这个2017年由《Attention Is All You Need》带来的变革之作。在这篇具有突破意义的论文中首次提出了Transformer这种神经网络架构,其完全基于注意力机制,摒弃了传统的卷积操作。在自注意力机制下,Transformer能够有效捕捉输入序列中的长距离依赖关系,使得模型在处理长文本时更为高效和准确。而Transformer逐渐也从翻译走向了问答任务,我们所熟知的GPT就是根源于Transformer架构。

weixin_54616888的博客 391

#systemverilog# 之 event region 和 timeslot 仿真调度(二)例子

由于疫情的关系,一时半会回不了学校了。今天开始,哪怕在家也要克服惰性开始学习了。今天来个的想了很久但都犯懒而没动手的内容,就是关于仿真软件在跑systemverilog的时候,是如果通过将HDL代码分成5个区域来编译,从而实现用软件模拟硬件的运行结果的思想。 首先,是基础概念,systemverilog标准划分了仿真软件的5个跑仿真所要执行的区域,说白了就是规定了软件在跑代码的时候要把代码分成5类,放到5个堆栈里面分别跑,这样才能:明明在软件上是以顺序方式来执行代码的,却能“看似”像在硬件中那样的实现并行

那么菜的博客 1765

基于 YOLOv26 的 PCB 板缺陷检测:工业级视觉实战

本文提出了一种基于YOLOv26的PCB板缺陷检测系统,通过深度学习技术实现对PCB板缺陷的自动化检测。系统能够识别短路、开路、焊点不良等8种常见缺陷,具有高精度、多类别分类和实时推理等优势。文章详细介绍了系统架构,包括数据采集、预处理、YOLOv26模型检测和后处理模块。在代码实现部分,给出了环境配置、数据预处理与增强的具体方法,使用Albumentations库进行图像增强处理。该系统为电子制造业提供了高效、准确的PCB质量检测解决方案,显著提升了检测效率和准确性。

一键难忘的博客 339
上一篇: SnowNLP安装
下一篇: Straight to the Facts: Learning Knowledge Base Retrieval for Factual Visual Question Answering心得体会
untitled713
博客等级 码龄7年 19粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值