2023.9.24 机器学习周报

目录

摘要

一、文献阅读

1、题目 

2、Abstract

3、文献解读

1、研究背景

2、模型架构

2.1、Encoder and Decoder Stack

2.2、注意力机制

2.3、前向神经网络(FFN)

3、为什么使用self-attention

4、实验训练

5、结果

二、Self-attention

1、什么是self-attention

2、例子(x2→z2)

3、矩阵批量处理

总结

摘要

This week, I further studied self attention and learned in the literature "Attention Is All You Need" that attention mechanism has become a prominent component of sequence modeling and transduction models in various tasks and the reasons for its proposal. I have gained a deeper understanding of its implementation principles in its model architecture.

本周对self-attention进行了进一步的学习,在《Attention Is All You Need》文献中了解到注意力机制已经成为各种任务中引人注目的序列建模和转导模型的一个组成部分和提出的原因,在其模型架构中对其实现的原理有了更深入的理解。

一、文献阅读

1、题目 

文章链接:Attention Is All You Need

2、Abstract

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. 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,仅基于注意力机制,省去了重复和卷积完全在两个机器翻译任务上的实验表明,这些模型在质量上更优越,同时更可并行,并且需要显著更少的训练时间。我们的模型在WMT 2014英德语翻译任务中实现了28.4 BLEU,比现有的最佳结果有所改进,包括合奏,超过2 BLEU。在WMT 2014英法翻译任务中,我们的模型在在8个GPU上进行3.5天的培训,这只是最好的模型从文献。我们证明了Transformer很好地推广到其他任务,通过将其成功应用于英语选区解析大量且有限的训练数据。

3、文献解读

1、研究背景

在此之前,针对机器翻译任务,为了应对RNN网络无法并行问题,已经有过一些使用CNN的解决方案了,例如谷歌的ByteNet,Facebook的FairSeq等等,它们都使用了卷积神经网络作为基础模块,并行计算所有输入和输出位置的隐藏表示,但在学习远距离位置之间的依赖性这方面仍具有挑战。本文使用自注意力机制(Self-attention)将输入序列上不同位置的信息联系起来,然后计算出整条序列的某种表达,目前自注意力机制主要应用于阅读理解、提取摘要、文本推论等领域。Transformer是第一个完全依赖于self-attetion来计算其输入和输出表示,而不使用序列对齐的RNN或卷积的转换模型。

2、模型架构

模型总体架构如下图所示,整个网络架构中使用堆叠的self-attention层、point-wise和全连接层,分别用于encoder和decoder。

2.1、Encoder and Decoder Stack

Encoder:Transformer模型的Encoder(编码端)由6个基本层堆叠起来,每个基本层包含两个子层,第一个子层是一个注意力机制,第二个是一个全连接前向神经网络。对两个子层都引入了残差边以及layer normalization。

Decoder:Transformer模型的Decoder(解码端)也由6个基本层堆叠起来,每个基本层包含三个子层,第一个子层是一个注意力机制,第二个是一个cross-attention, 第三层全连接前向神经网络,同样引入残差边以及layer normalization。

其中,交叉注意力部分是指解码端的每一层与编码端的最后输层做cross-attention。

2.2、注意力机制

注意力机制(Attention)是给定一个查找(Query)和一个键值表(key-value pairs),将Query映射到正确的输入的过程。此处的query、key、value和最终的输出都是向量。输出往往是一个加权求和的形式,而权重则由query、key和value决定。

Scaled Dot-Product Attention:本文引入了一个特殊的attention,为Scaled Dot-Product Attention(上图2左)。输入由query、dk的key和dv的value组成。我们计算query和所有key的点积,我们计算query和所有key的点积,再除以,然后再通过softmax函数来获取values的权重。
 

Multi-Head Attention:在queries, keys和values的每个映射版本上,我们并行的执行attention函数,生成dv维输出值。它们被拼接起来再次映射,生成一个最终值,如上图中所示。Multi-head attention允许模型把不同位置子序列的表示都整合到一个信息中。如果只有一个attention head,它的平均值会削弱这个信息。

本文使用的注意力机制:

本文使用的是Multi-Head Attention,具体体现在两个方面。

(1)在encoder-decoder attention层中,query来自前一个decoder层,而key和value是encoder的输出。这允许decoder的每个位置都去关注输入序列的所有位置。

(2)decoder包含self-attention层,在self-attention层中所有的key、value和query都来自前一层的encoder。这样decoder的每个位置都能去关注前一层encoder输出的所有位置。

2.3、前向神经网络(FFN)

这是一个 Position-wise 前向神经网络,encoder和decoder的每一层都包含一个前向神经网络,激活函数顺序是线性、RELU、线性。

位置编码: 由于本文的模型结构没有使用任何递归结构或卷积结构,为了让模型能利用输入序列的顺序信息,必须引入某种能表达输入序列每个部分的绝对或相对位置的信息才行。文章采取的方法是位置编码(positional encoding),在送入encoder和decoder之前,先对输入进行编码,编码后的向量维度是dmodel。具体来说,采用正弦和余弦函数进行编码。


 

3、为什么使用self-attention

从三个方面去对比self-attention和递归结构、卷积结构的优劣性,首先是每一层的计算复杂度,self-Attention layer用一个常量级别的顺序操作,将所有的positions连接起来,Recurrent Layer需要O(n)个顺序操作,其次是能够被并行的计算量,最后是网络中长期依赖的路径长度。对比显示,self-attention表现最好。

4、实验训练

训练数据使用WMT English-German数据集,包含450w对语句。句子都被编码过了,使用了一个大小约37000个token的字典。样本被分为若干个batch,每个batch大概25000个token,每个batch中的句子长度保持基本一致。硬件上使用了8块GPU。Optimizer使用了Adam。过拟合方面使用了dropout和Label Smoothing。

Hardware and Schedule(硬件和时间)

本文模型训练在一台具有8个 NVIDIA P100 gpu的机器上训练我们的模型。对于paper中描述的使用超参数的基础模型,每个训练步骤大约需要0.4秒。对基础模型进行了总共100000步或12小时的训练。

Optimizer(优化器)

我们使用Adam优化器,其中β1=0.9, β2=0.98及ϵ=10-9。我们根据以下公式在训练过程中改变学习率:

Regularization(正则化,本文使用三种)

Residual Dropout 我们在对每个子层的输出上执行dropout操作,这个操作在additive操作(子层的输出加上子层的输入)和 normalized操作之前。此外,在编码器和解码器堆栈中,我们将丢弃应用到嵌入和位置编码的和。对于基础模型,我们使用Pdrop=0.1丢弃率。

5、结果

不论是英语-德语还是英语-法语的翻译任务,对比之前的一些模型,本文提出的模型都达到更好的BLEU值,同时Training Cost也最低

本文提出的模型十分成功。本文中提出的Transformer模型抛弃了传统的CNN和RNN进行机器翻译的架构,整个网络结构完全是由Attention机制组成。更准确地讲,Transformer由且仅由self-Attenion和Feed Forward Neural Network组成。一个基于Transformer的可训练的神经网络可以通过堆叠Transformer的形式进行搭建,作者的实验是通过搭建编码器和解码器各6层,总共12层的Encoder-Decoder,并在机器翻译中取得了BLEU值得新高,而且从模型的图片来看,该模型很可能是在尝试“理解”句子

二、Self-attention

1、什么是self-attention

是NLP中很广法的模型,由Transformer应用到CV领域,该模型的主要作用就是捕获长序列中向量之间的相关性,输入是一个长的序列,输出是包含了向量相关的相关性。由下图示例,输入是一个长的句子,输出得到了每一个词的词向量信息。

2、例子(x2→z2)

以x2为输入例子,x2分别和x1,x2,x3,x4,x5做内积,用来衡量其他子向量的相关性,内积得到的数值通过{w}'来表示,这里表示两个向量的相似性通过内积的操作。由下图所示,x1,x2是两个向量,越相似,向量的夹角会越小。得到的数值{w}'后通过softmax将权重标准化,得到w在0到1之间,并且加起来的和等于1,权重w和向量x相乘的和就是输出z

3、矩阵批量处理

上述是对于其中一个子向量的操作,self-attention更大的优势是可以并行计算,这里通过矩阵来实现批量的处理,首先将子向量拼接得到了矩阵,根据其矩阵转置内积的操作得到了相似度矩阵{W}'{W}'矩阵按行进行softmax标准化操作得到了W矩阵,W矩阵再与原来的向量矩阵相乘,就得到输出的模型Z。

总结

本周对self-attention进行了更深入的学习,在上周的学习内容的基础上对文献的阅读以及自注意力机制原理和实现的理解有了进一步的加强。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值