transformer的分解

2020-02-26  本文已影响0人  不分享的知识毫无意义

本文尝试用一种通俗的语言来说明白transformer,也会加一些自己的理解。
transformer基于attention,解决的是seq2seq的问题。

0.先来回顾一下attention

如果让我用一句话来总结attetion我会说针对输入做一次矩阵运算,得到(q,k,v),k和v一般一样,然后针对q,k做矩阵乘法,再加一个softmax层之后我们就可得到权重,权重和v点乘之后就是一个输出,表示的是输入之间的相联系程度。

1.transformer整体结构

概览,其实transformer跟其他的seq2seq是一样的,怎么一样呢,都是encoder和decoder构成的。先来整体理解一下他的结构:


transfomer结构

encoder由2个单元构成,decoder由3个单元构成,其中的核心还是上文回顾的多头自注意力机制。其中encoder有6层,decoder也有6层,encoder的每一层输出都是下一层的输入,主要是多头的输出维度和输入是一样的。然后encoder最后一层的输出会分到decoder的各层中,当成输入之一。

2.encoder部分

先上图:


encoder部分

3.decoder

decoder没有encoder那么简单了,先看看啥样吧。


decoder格式

一看就是decoder要和encoder结合起来啊,

总结

基本逻辑理清了,接下来结合源码来分享一点知识点,先不更新了。

上一篇下一篇

猜你喜欢

热点阅读