李宏毅 Transformer 学习笔记


  其中PPT下载地址为 https://download.csdn.net/download/herosunly/16811638

1. self-attention

1.1 为什么要引入self-attention

  基于RNN(LSTM)的序列模型来说,计算每个cell的输出无法进行并行化。而且单向的RNN无法很好的利用全局的信息。其中下面中的a和b均为向量。
在这里插入图片描述
  self-attention的出现恰好解决了以上两大问题。
在这里插入图片描述
其中x->a这一步貌似在论文中并没有体现。在求每一个output的时候,对应的q会对所有的k求内积(除以 d \sqrt d d ,其中d为向量的维度),然后通过softmax进行归一化,得到对应每个v的权重 α ^ \hat \alpha α^,最终加权v计算得到b。

1.2 self-attention的基本原理

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

1.3 self-attention的矩阵表示

  矩阵表示是为了体现可使用GPU进行加速。其中这一部分涉及到了矩阵的几种乘法。除了常规的乘法以外,还有列操作和行操作。

  列操作是指矩阵的 C C C的第j列是通过矩阵 A A A乘以矩阵 B B B第j列的列向量得到的。这表明矩阵 C C C 的列向量是矩阵 A A A列向量的线性组合,组合的“权”就是矩阵 B B B 第j列的各个分量。
在这里插入图片描述
  行操作是指矩阵 C C C 的第 i 行是通过矩阵 A A A 的第 i 行乘以矩阵 B B B得到的。这表明矩阵 C C C的行向量是矩阵 B B B行向量的线性组合。

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

在这里插入图片描述
对于每个输出b来说,权重是一个列向量。
在这里插入图片描述
在这里插入图片描述

1.4 Multi-head self-attention

  为什么要设置不同的head,不同的head关注的信息可能是不同的,有的head关注的是局部信息,有的关注的是较长距离的信息。
在这里插入图片描述
  得到Multi-head的两个result b i , 1 b^{i,1} bi,1 b i , 2 b^{i,2} bi,2,可直接进行concat得到 b i b^i bi,或者乘以 W 0 W^0 W0(降维)得到 b i b^i bi
在这里插入图片描述

2. Positional Encoding

  在self-attention中并没有位置信息,所以需要添加上位置信息。在词嵌入后添加one-hot向量 p i p^i pi(维度为 p i p^i pi的维度)。
W X = [ W I W p ] [ x i p i ] WX=[W^I \quad W^p] \left[ \begin{array} { l } { x^i } \\ { p^i } \end{array} \right] WX=[WIWp][xipi] W X = W I x i + W p p i = a i + e i WX=W^I x^i+W^p p^i=a^i+e^i WX=WIxi+Wppi=ai+ei
在这里插入图片描述
http://jalammar.github.io/illustrated-transformer/
在这里插入图片描述

3. seq2seq

seq2seq的复习视频为:https://www.youtube.com/watch?v=ZjfjPzXw6og&feature=youtu.be
在这里插入图片描述
https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html ,在decoder阶段输出不仅是由encoder的输出有关,还和decoder之前的输出有关。如图中绿色的部分不仅要收到上一行的4个输入,还有接收同一行前面的3个输入,才能生成绿色部分。
在这里插入图片描述

4. Transformer

在这里插入图片描述
  Batch Norm: https://www.youtube.com/watch?v=BZh1ltr5Rkg, Layer Norm:https://arxiv.org/abs/1607.06450, 其中Add层指的是把输出和输入相加。其中Batch Norm是让在Batch Size中的样本同一个维度的均值为0,方差为1。Layer Norm是让同一样本的不同维度的均值为0,方差为1。

  Masked:关注已经产生的部分。
在这里插入图片描述
每个词两两之间都有attention,https://arxiv.org/abs/1706.03762。
在这里插入图片描述
it在不同的句子中代表的不同的含义。
在这里插入图片描述
Multi-head Attention的例子,红色的更关注local信息,绿色的更关注长距离信息。
在这里插入图片描述
https://arxiv.org/abs/1801.10198,机器阅读了多篇文章,检索生成对应词汇的维基百科。
在这里插入图片描述
https://ai.googleblog.com/2018/08/moving-beyond-translation-with.html
在这里插入图片描述

  • 24
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
李宏毅是一位著名的机器学习和深度学习专家,他在教学视频中也提到了Transformer模型。下面是一些关于李宏毅关于Transformer笔记总结: 1. Transformer 是一种基于注意力机制(attention mechanism)的序列到序列(sequence-to-sequence)模型。它在自然语言处理任务中取得了很大的成功。 2. Transformer 模型的核心思想是完全摒弃了传统的循环神经网络(RNN)结构,而是采用了自注意力机制(self-attention mechanism)来建模输入序列之间的依赖关系。 3. 自注意力机制能够将输入序列中的每个位置与其他位置建立联系,从而捕捉到全局上下文的信息。它能够解决传统的RNN模型在处理长序列时的梯度消失和梯度爆炸问题。 4. Transformer 模型由编码器(Encoder)和解码器(Decoder)两部分组成。编码器负责将输入序列表示为高维向量,解码器则根据编码器的输出生成目标序列。 5. 编码器和解码器由多个层堆叠而成,每一层都包含了多头自注意力机制和前馈神经网络。多头自注意力机制可以并行地学习输入序列中不同位置之间的关系。 6. Transformer 模型还引入了残差连接(residual connection)和层归一化(layer normalization)来帮助模型更好地进行训练和优化。 这些是李宏毅关于Transformer的一些主要笔记总结,希望对你有所帮助。注意,这些总结仅代表了我对李宏毅在其教学视频中所讲述内容的理解,如有误差请以李宏毅本人的观点为准。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

herosunly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值