欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 【王树森】Transformer模型(2/2): 从Attention层到Transformer网络(个人向笔记)

【王树森】Transformer模型(2/2): 从Attention层到Transformer网络(个人向笔记)

2025/5/12 13:35:00 来源:https://blog.csdn.net/hxdxiaoming/article/details/141754111  浏览:    关键词:【王树森】Transformer模型(2/2): 从Attention层到Transformer网络(个人向笔记)

Single Head Self-Attention

上节课讲到的属于单头注意力:
在这里插入图片描述


Multi-Head Self-Attention

  • 使用 l l l 个单头注意力层堆叠成一个多头注意力层,注意它们之间不共享参数
  • 一个单头注意力有 3 个参数矩阵,所以多头注意力有 3 l 3l 3l 个参数矩阵
  • 我们把多个单头注意力的输出做concatenation,就能得到多头注意力的输出
    在这里插入图片描述

Multi-Head Attention

和上面讲到的类似,我们把单头注意力堆叠起来,就能得到一个多头注意力
在这里插入图片描述


Stacked Self-Attention Layers

  • 在上面的多头自注意力层上的输出再接一个全连接层,对于每个输出的全连接层共享参数,将它们和 W U W_U WU 进行计算后丢到一个激活函数ReLU里面
    在这里插入图片描述
  • 在此基础上可以网上堆多头自注意力层,这个的道理和多层RNN是一样的:
    在这里插入图片描述
  • Transformer一个Block的encoder的输入和输出都是一个 512 × m 512×m 512×m 的矩阵,其中 512 512 512 是向量的维度, m m m 是向量的个数,用符号可以这样表示,其中 X \boldsymbol{X} X 表示矩阵: X ∈ R 512 × m \boldsymbol{X} \in \mathbb{R}^{512×m} XR512×m
    在这里插入图片描述
  • 这样我们就可以把Block堆叠起来,Block之间不共享参数,Transformer里面一共堆叠了6个Block
    在这里插入图片描述

Blocked Attention Layers

  • decoder需要先堆叠一个Self-Attention层:
    在这里插入图片描述
  • 之后堆叠一个多头注意力层
    在这里插入图片描述
  • 最后对所有的输出都映射到 s s s 向量:
    在这里插入图片描述
  • 对于decoder的一个Block是这样的:其中需要输入两个序列,都是512维的向量,长度分别为 m m m t t t ,如果是英译德的话,那么 m m m 就是英语单词的数量, t t t 就是已经生成的德语单词的数量:
    在这里插入图片描述
  • 堆叠decoder层:图的左边是刚刚堆叠的encoder层,右边是堆叠的decoder层,其中decoder层接受两个输入,一个输入来自encoder,一个输入来自 X X X 或自身decoder的输出,最后输出和输入 X X X 的维度一样
    在这里插入图片描述
  • 与RNN的Seq2Seq模型的输入大小完全一致,所以以前RNN的Seq2Seq模型能做的,Transformer也能做

Summary

把单头多个attention堆叠起来就能得到多头注意力,其中参数是独立的,不共享:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词