列表

详情


50. 讲一下Transformer?以及它比RNN优势在哪里?

回答思路

(1)Transformer整体结构:

图1整体结构图

Transformer基于现有的seq-2-seq模型,使用编码器-解码器结构,编码器将输入序列(x1, x2, … , xn)转换为一个连续的表达z = (z1, z2, … , zn),然后解码器再基于该表达生成输出序列(y1, y2, … , yn)。

(2)编码器

图2编码器结构图

 

由6层组成,每一层包含两个子层,第一层是多头自注意层(multi-head self-attention),第二层是一个简单的全连接前馈网络。在每个子层后,都接了一个残差归一化层(LN)。为了方便残差链接,模型中的所有子层,包括嵌入层,输出向量维度均为512.。

(3)解码器

图3解码器结构图

 

解码器同样由6层组成,每一层包含3个子层,第一层是“masked multi-head self-attention”层,输入仅包含当前位置之前的词语信息,第二层是“multi-head self-attention”层,输入包含编码器的输出信息,第三层是全连接前馈网络,每个子层后同样加入了LN层。

(4)输出

解码器的输出被输入到一个线性层中,转化为一个超长向量,再输入到softmax层中转化为改了,最后运用如贪婪搜索等策略选择输出的词语。

(5)优势

现有的RNN相关模型只能够按方向依次计算,时刻t的计算依赖于时刻t-1的结果,限制了模型的并行能力且无法处理长期依赖,而LSTM的门机制结构虽然一定程度上解决了长期依赖的问题,但是对于特别长期的依赖仍然没有得到解决。Transformer方法首先使用Attention机制,将序列中的任意两个位置之间的距离值转为一个常量;另外其不是类似于RNN的顺序结果,所以能够具有好的并行性,符合现在的GPU框架。


上一题