美文网首页
Transformer笔记

Transformer笔记

作者: bobby96 | 来源:发表于2019-03-20 19:11 被阅读0次

1. 模型结构示意图:

transformer.gif

这显示transformer有以下特征:

  • encoder部分有一种堆叠的效果,可以堆叠多个layer,而且每一层layer的模式是一样的。
  • 每一层都有self attention的效果,而所谓的self attention就是让词两两之间产生作用,并进行sum求和。
  • 可以预想到,这样可以进行长距离依赖的捕捉。
  • 在decoder阶段,需要考虑最后一层的encoder的输出,以及之前时刻的decoder在当前layer的输出结果,来得到下一层的输入。

2. 如何进行self attention?

可以看图片的时候思考几个问题:

  1. transformer中是用什么方法进行的attention?dot product,biaffine etc?
  2. 进行attention的表示与词的原始的embedding之间有何关系?
  3. 计算attention时,一个词作为query或者是作为被attent的词,的表示是否有区别?如何做到这一点。
    what is q k v.jpg
    首先得到一个词的q,k,v的表示,作为query,key和最后的value都不一样。这样为之后的点积起效果打下了预备。
    self attention layer.jpg
    注意这里面有根据维度进行归一化的内容。然后要对value做加权。
    matrix manipulation.jpg
    这个式子代码里面应该能直接看到。很系统完整。描述了整个self attention layer的工作的流程。因为示例中有两个单词,所以Q的第一维是2。
    multi-head.jpg
    multihead的实质就是多搞几套。如果原来的输出的Z的维度是d,head的值为4,那么在multihead下最终的Z的维度就是4d,不过是将最终的结果concat一下罢了。将concat的结果与W^O乘一下得到本层输出。

相关文章

网友评论

      本文标题:Transformer笔记

      本文链接:https://www.haomeiwen.com/subject/pmgtvqtx.html