Transformer-学习记录

引入:本次学习内容基本来自于Ashish Vaswani ,Noam Shazeer等编写的的《Attention Is All You Need》,以及部分讲解视频,本学习记录仅为个人学习收获,部分内容存在纰漏烦请各位大佬批评指正。
(一)摘要:Transformer论文中提出,现在主流的序列转换模型都是基于复杂的循环神经网络或者卷积神经网络设计的,这样的设计难以并行,并且需要消耗过长的训练时间以及占用较高的内存,,因此,作者提出了一种新的网络结构,叫Transformer,完全的基于注意力机制设计而成,具有更好的并行性,训练的时间也更少,效果也好于其他的模型。

(二)发表时间:2017

(三)关键词:注意力机制,语言模型,encoder,decoder

(四)学习笔记:

因为之前的模型,例如RNN,GRU等都出现了当输入输出序列长度过大时,内存会限制样本批处理,而新引入的注意力机制解决了这个问题。

引入新的注意力机制,通过其把encoder的信息传递给decoder,可以不考虑输入输出的序列中的距离问题。并且根据此机制提出的模型—Transformer模型完全依赖于注意力机制来绘制输入与输出之间的全依赖关系,允许更显著的并行化,并且训练时间也更短。

Transformer结构由堆叠的自注意力机制,point-wise以及全连接的前反馈神经网络组成。由四个部分组成,输入部分,encoder部分,decoder部分,输出部分。

在第三章中,作者详细的论述了编码器和解码器的结构。两者的结构基本都相似,编码器由n(n=6)个相同的层构成,每一层有两个子层,一个是多头注意力机制层,一个是具有位置全连接的前反馈神经网络。并且子层中采用了残差连接,最后是正则化。而解码器也是如此,只是解码器多了一个第三层,多出的第三个子层会对输出结构再使用以此多头注意力机制。并且解码器还对自我注意力机制进行了部分修改,以防止当前位置信息中被添加进后续的位置信息,防止其被影响。

对于注意力机制,大概可以描述为Q(query)和一组K(key)的相关性,然后根据相关性找到最合适的V(value)。而作者使用多头注意力机制,它发现使用不同的学习到的线性映射将Q,K,V线性映射后是有益的,并且如果在每次线性映射后的结果再进行并行注意力机制,拼接后再次映射,就会得到一个最终值。

与其他模型类似,作者也使用了Embedding方法,即通过某种方式将词向量化,一个词对应一个向量输出,同时使用了softmax,将解码器输出转换为预测的下一个词符的概率。而由于transformer模型没有卷积,并且self-attention不能获取词语的位置信息,因此为了防止序列不被打乱,作者在encoder和decoder的embedding后插入了时序信息(位置编码)。

而为什么要使用自我注意力机制,作者在第四章进行了说明。

之所以采用SF注意力机制,是因为三个方面的考虑,第一是计算的复杂度,第二是可以并行化的计算量,第三是长距离依赖关系的路径长度。在与卷积,以及其他方法比较后,发现self-attention具有更强的解释能力,因此选用它。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值