Transformer最全解析(attention is all you need)

作者&投稿:燕潘 (若有异议请与网页底部的电邮联系)
~

Transformer出自google,被广泛应用于NLP的各项任务中,在transformer基础上改进优化的BERT模型在2019年11项NLP任务中表现SOTA。
论文原文: https://arxiv.org/pdf/1706.03762.pdf 《attention is all you need》

在处理变长的序列问题时,一般的做法是利用卷积神经网络或循环神经网络。

无论卷积还是循环神经网络其实都是对变长序列的一种“局部编码”:卷积神经网络显然是基于N-gram的局部编码;而对于循环神经网络,由于梯度消失等问题也只能建立短距离依赖。

Attention可以理解为一种序列聚焦方法,基本思想是对序列分配注意力权重,把注意力集中在最相关的序列上。
Attention 机制实质上就是一个寻址过程,通过给定一个任务相关的查询 Query 向量 Q,通过计算与 Key 的注意力分布并附加在 Value 上,从而计算 Attention Value,这个过程实际上是 Attention 缓解神经网络复杂度的体现,不需要将所有的 N 个输入都输入到神经网络进行计算,而是选择一些与任务相关的信息输入神经网络,与 RNN 中的门控机制思想类似。

用X = [x_1, · · · , x_N ]表示N 个输入样本;通过线性变换得到为查询向量序列,键向量序列和值向量序列:

所谓self-attention自注意力机制,即其注意力概率分布来自网络自身的输入的变换,而传统attention的注意力概率分布来自外部。

Transformer模型中采用了 encoer-decoder 架构,论文中encoder层由6个encoder堆叠在一起,decoder层也一样。

每一层的encoder和decoder的结构如下图所示:

transformer模型中缺少一种解释输入序列中单词顺序的方法,它跟序列模型还不不一样。为了处理这个问题,transformer给encoder层和decoder层的输入添加了一个额外的向量Positional Encoding,维度和embedding的维度一样,这个向量采用了一种很独特的方法来让模型学习到这个值,这个向量能决定当前词的位置,或者说在一个句子中不同的词之间的距离。这个位置向量的具体计算方法有很多种,论文中的计算方法如下:

其中pos是指当前词在句子中的位置,i是指向量中每个值的index,可以看出,在偶数位置,使用正弦编码,在奇数位置,使用余弦编码。最后把这个Positional Encoding与embedding的值相加,作为输入送到下一层。

在每个编码器中的每个子层(自注意力、前馈网络)的周围都有一个残差连接,并且都跟随着一个“层-归一化”步骤。

Normalization有很多种,但是它们都有一个共同的目的,那就是把输入转化成均值为0方差为1的数据。我们在把数据送入激活函数之前进行normalization(归一化),因为我们不希望输入数据落在激活函数的饱和区。

mask 表示掩码,它对某些值进行掩盖,使其在参数更新时不产生效果。Transformer 模型里面涉及两种 mask,分别是 padding mask 和 sequence mask。其中,padding mask 在所有的 scaled dot-product attention 里面都需要用到,而 sequence mask 只有在 decoder 的 self-attention 里面用到。

原论文中说到进行Multi-head Attention的原因是将模型分为多个头,形成多个子空间,可以让模型去关注不同方面的信息,最后再将各个方面的信息综合起来。其实直观上也可以想到,如果自己设计这样的一个模型,必然也不会只做一次attention,多次attention综合的结果至少能够起到增强模型的作用,也可以类比CNN中同时使用 多个卷积核 的作用,直观上讲,多头的注意力 有助于网络捕捉到更丰富的特征/信息

seq2seq缺点 :这里用代替这个词略显不妥当,seq2seq虽已老,但始终还是有其用武之地,seq2seq最大的问题在于 将Encoder端的所有信息压缩到一个固定长度的向量中 ,并将其作为Decoder端首个隐藏状态的输入,来预测Decoder端第一个单词(token)的隐藏状态。在输入序列比较长的时候,这样做显然会损失Encoder端的很多信息,而且这样一股脑的把该固定向量送入Decoder端,Decoder端不能够关注到其想要关注的信息。

Transformer优点 :transformer不但对seq2seq模型这两点缺点有了实质性的改进(多头交互式attention模块),而且还引入了self-attention模块,让源序列和目标序列首先“自关联”起来,这样的话,源序列和目标序列自身的embedding表示所蕴含的信息更加丰富,而且后续的FFN层也增强了模型的表达能力,并且Transformer并行计算的能力是远远超过seq2seq系列的模型,因此我认为这是transformer优于seq2seq模型的地方




BEV+Transformer,为“无图大战”再添一把火
这两年,随着AI深度学习的兴起,Transformer被应用在BEV空间转换、时间序列上,形成了一个端到端的模型。Transformer强调注意力法则,在意数据之间的内在结构和相互关系,用于提取多模态数据中的特征,从而有效地识别和定位环境中的障碍物。有这么一个比喻,引入Transformer后,就像做饭请了一位资深的厨师,他就...

transformer是什么意思
n.变压器; 促使变化的(或人物),改革者;复数:transformers 以上结果来自金山词霸 例句:1.It has a transformer box, diesel driven generator, and a boiler-room.它有一个变压器箱,柴油发电机,还有一个锅炉房。.很高兴为你解答!如有不懂,请追问。 谢谢!

transformer是什么意思
transformer共有两个意思,一是指变压器;二是指促使改变的人,改革者。变压器 改革者 短语搭配:1.power transformer 电力变压器;功率变压器;电源变压器 2.current transformer 电流变压器;电流互感器;电流变换器 3.transformer substation 变电站 4.voltage transformer 电压互感器;变压器;电压变压器 5.t...

transformer中文名
transformer中文名:n.变压器 网络 互感器;变形金钢;变换器 读音:美 [trænsˈfɔrmər] 英 [trænsˈfɔː(r)mə(r)]例句:1.Bay, who has directed both of the immensely popular Transformer movies said he was working on a thir...

Bert和Transformer有什么不同?
Bert是基于Transformer编码器结构的模型,只有Encoder部分。而Transformer是由Encoder和Decoder组成的完整序列到序列结构的模型。Bert的模型结构更简单,主要用于上下文语义理解任务,如文本分类、文本相似度计算等。Transformer可以应用于更复杂的任务,如机器翻译、摘要生成等需要生成语言序列的任务。2. 预训练语料...

transformer用中文怎么读
transformer 音标:英[trænsˈfɔ:mə(r)] 美[trænsˈfɔ:rmə(r)]意思:n. 变压器; 促使变化的(或人物),改革者;复数:transformers

小鹏的bev+transformer算法方案是在哪一年正式发布?
小鹏的BEV+Transformer算法方案是在2022年正式发布的。关于该算法的背景,首先要了解小鹏汽车是一家致力于智能电动汽车研发与制造的创新型公司。在自动驾驶领域,小鹏汽车一直在进行前沿技术的探索和应用。BEV(Bird's Eye View)指的是鸟瞰图视角,这种视角在自动驾驶中非常重要,因为它可以帮助车辆更好地...

transformer与cnn相比优缺点
transformer与cnn相比优缺点如下:Transformer优点:(1)突破了RNN模型不能并行计算的限制。(2)相比CNN,计算两个位置之间的关联所需要的操作次数不会随着距离的增长而增加。(3)attention机制可以产生更具可解释性的模型,可以从模型中检查attention分布,各个attention head可以学会执行不同的任务。(4)...

变压器用英语怎么说
变压器的英语说法1:transformer 变压器的英语说法2:voltage changer 变压器相关英语表达:mains transformer;电源变压器 step-down transformer;降压变压器 step-up transformer;升压变压器 output transformer;输出变压器 input transformer 输入变压器 变压器的英语例句:1. He switched off the transformer and the...

大模型都是基于Transformer堆叠,采用Encoder或者Decoder堆叠,有什么...
大模型架构之争:Transformer的Encoder与Decoder之差异解析 Transformer架构的崛起,已经超越了CNN、RNN、LSTM和GRU的传统界限,引发了深度学习领域的广泛关注。如今,LLM领域正围绕encoder-only、encoder-decoder与decoder-only三种设计展开激烈的讨论。BERT曾引领encoder-only的热潮,然而,T5和GPT系列,特别是GPT...

尚义县13486061894: transformer是什么意思 -
赵科蛇胆:[答案] transformer [英][trænsˈfɔ:mə(r)][美][trænsˈfɔrmɚ] n.变压器; 促使变化的(或人物),改革者;

尚义县13486061894: transformer是什么意思 -
赵科蛇胆: transformer 英 [trænsˈfɔ:mə(r)] 美 [trænsˈfɔ:rmə(r)] n.变压器; 促使变化的(或人物),改革者 复数: transformers 1. He switched off the transformer and the buzzing stopped. 他关掉变压器,嗡嗡声就消失了.来自柯林斯例句2. Keep ...

尚义县13486061894: Transformer是什么,有什么用 -
赵科蛇胆: 变压器,调节电压的作用

尚义县13486061894: Transformer的作用请问transformer,也就是变
赵科蛇胆: 变压器一般有四个作用. 1,用在电源部分是电压变换.高电压变成低电压,偶然也有低变高的.2,用于功放输出己时是起阻抗匹配的作用,将高阻抗的输出转化为低阻抗和扬声器匹配. 3,是前级和后的级间耦合作用,将信号递级相送. 4,隔离作用,特别是用于对后级有保护作用.

尚义县13486061894: multi - winding transformer是什么意思 -
赵科蛇胆: multi-winding transformer 多绕组变压器 transformer[英][trænsˈfɔ:mə(r)][美][trænsˈfɔ:rmə(r)] n.变压器; 促使变化的(或人物),改革者; 复数:transformers 例句:1.A voltage measuring transformer decreases voltage from 330 kv to 100 kv for protective circuit. 电压测量变压器将电压从300千伏降低到100千伏以保护电路.

尚义县13486061894: transformer的意思是怎么????
赵科蛇胆: 变压器

尚义县13486061894: transformer -
赵科蛇胆:[答案] transformer room 变压器间,变压器室 网络释义 1.配电站 2.变压器舱 3.电力变压房

尚义县13486061894: 英语翻译翻译”变形金刚”成英语.究竟是”Advanced ”还是”Transformer ”Transformer ”不是变压器吗? -
赵科蛇胆:[答案] transform 作动词的时候意思是变形,加了er表示可以变形的人,同时加了表示复数s,大写首字母T,意思也就变成了 特指会变形的一类人,意译一下就是变形金刚“Transformers” 你所提到的变压器英文是“transformer”首字母不大写,也不加复数

尚义县13486061894: abbyy pdf transformer +有什么功能 -
赵科蛇胆: abbyy pdf transformer主要的功能1、根据pdf文档的内容,在软件“文档语言”项下选择对应的语言种类.pdf文档中有哪种语言,就要选择哪种,否则,转换出来就是乱码.语言种类可以多选.选好后,点“确定”保存.2、打开要转换的pdf文...

尚义县13486061894: flux transformer是什么东西? -
赵科蛇胆:[答案] 你是问意思呢?还是东西? 如果是意思的话!那就是:"流出变压器" 如果是东西的话..那我就不知道了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网