Transformer的前世今生 day10(Transformer编码器、解码器)

前情提要

ResNet(残差网络)

  • 由于我们加更多层,更复杂的模型并不总会改进精度,可能会让模型与真实值越来越远,如下:
    在这里插入图片描述
  • 我们想要实现,加上一个层把并不会让模型变复杂,即没有它也没关系,于是我们将残差块加入快速通道来实现,如下:
    • g(x)作为激活函数的输入,x作为模型的输入,f(x)为加上的层的输出,那么原本g(x) = f(x)
    • 加入残差块x后,g(x) = f(x) + x,表明即使f(x)没有得出很好的结果,那我也可以直接用x来作为激活函数的输入,绕过f(x)
      在这里插入图片描述
  • 残差块使很深的网络更加容易训练,因为我们总可以走快速通道让模型忽略掉某些层,即我们可以先训练容易的层

Transformer编码器

  • 编码器包括两个子层:Self-Attention、Feed Forward,缩略图如下:
    在这里插入图片描述
  • 每一个子层的传输过程中都会经过 残差网络 + 归一化,编码器详细图如下:
    在这里插入图片描述
  • 流程为:
    1. 从Thinking得到绿色的x1(通过one-hot、Word2Vec来得到简易版的词向量),
    2. 由于下一步的Self-Attention没有位置关系,所以要先叠加一个位置编码得到黄色的x1,
    3. 输入Self-Attention中,让 x1 与 x1、x2拼接起来的一句话做注意力,得到z1(x1做完自注意力后的词向量,表征的仍然是Thinking,z1拥有了位置特征、句法特征、语义特征),
    4. 经过残差网络+归一化,(残差网络可以避免梯度消失,当w3(w2(w1x+b1)+b2)+b3,如果w1、w2、w3特别小,那么w3(w2(w1x+b1)+b2) = 0,x就消失了,而经过一个残差网络后,w3(w2(w1x+b1)+b2)+b3+x,在最末尾加上x,就算前面的x消失了,还有最后一个x兜底。归一化可以避免梯度爆炸,类似softmax之前需要除一个数,防止结果不合理),得到了深粉色的z1
    5. 经过Feed Forward(前馈传播,通过Feed Forward中的激活函数做非线性变换),由于之前的每一步都在做线性变换(wx+b),而线性变换的叠加永远是线性变换,如果不加非线性变换,那么模型拟合不了复杂函数,
    6. 再经过残差网络+归一化,得到r1(Thinking的新的词向量)
  • 综上:Transformer编码器最终得到了一个更加优秀的词向量

Transformer解码器

  • 解码器会接收编码器生成的词向量,然后通过这个词向量去生成翻译的结果,缩略图如下:
    在这里插入图片描述
  • 解码器层的Self-Attention是masked Self-Attention,因为在训练阶段,我们知道真实的完整结果是什么,但是在测试阶段,我们的结果是一个一个生成的,如果不做masked,那么测试和训练阶段就不匹配,如下:
  • Encode-Decoder Attention是为了解决Self-Attention只能处理Q、K、V同源,而编码器-解码器注意力的Q、K、V不同源,且编码器提供K、V,解码器提供了Q,如下:
    在这里插入图片描述
  • 由于最后的Feed Forward只是生成词向量,所以还需要Linear层来转换词向量为词典维度,最后通过softmax层来得到最大概率的词
    在这里插入图片描述
    在这里插入图片描述

参考文献

  1. 16 Transformer 的编码器(Encodes)
  2. 17 Transformer 的解码器(Decoders)
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

丿罗小黑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值