Transformer——seq2seq的模型

内容来源于李宏毅2021/2022春机器学习课程p49-50

seq2seq一般由Encoder和Decoder组成

在Encoder进行输入,在Decoder输出结果
在这里插入图片描述

Encoder(给一排向量,输出一排向量)

在一个Encoder中会对右侧的模型循环N遍
在这里插入图片描述
右侧的模型展开后类似于下面的样子。输入一排向量后,进入self-attention后进入fully connected layers。最后得到输出。
在这里插入图片描述
Bolck中的细节:在输入得到的结果a进行于输入的b相加得到的结果在进行norm运算X,得到的结果进入fully connected layers形成Y,将X和Y相加得到的结果再进行一次norm计算后最后的结果就是一个Bolck的输出。
在这里插入图片描述

Decoder

我们在字典中设置号begin和end的值,Decoder一个一个读入Encoder的输出,然后自己在一个一个输出结果,当达到条件时候就会出END
在这里插入图片描述
Decoder会根据自己的是一个输出结果和Encoder的输入来觉得当前的输出结果。
在这里插入图片描述
在Decoder中我们不能简单的运用self-attention,因为我们需要根据前面的输入来一个一个进行当前的输出,而普通的self-attention会一次性的进行全部的输出,所以这边改用Mask self-attention,只考虑前面输入的值,不考虑后面的

在这里插入图片描述

Encoder和Decoder之间如何传递

Encoder和Decoder的模型,在Decoder的中间存在着俩个Encoder的数据传入
在这里插入图片描述
每次Decoder经过第一个norm后生成的一个q
将q于每个Encoder的结果的a形成的矩阵k计算,再乘上a形成的矩阵v,最后加起来得到V,将这个结果作为Decoder的fully connected的输入
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值