Transformer

Sequence to Sequence

输入是一个序列,输出是一个序列。输出序列的长度取决你的模型。
对应的,其可以应用在语音识别、机器翻译和语音翻译等场景。
在这里插入图片描述

Is it a sequence?

在这里插入图片描述
如上图可知,我们可以看到模型输入的是 deep learning is very powerful。
在处理时,deep 与 learning组合起来是一个名词,very 与 powerful组合起来是一个形容词,而 is 与 very powerful 组合起来是一个动词。最后将 deep learning is very powerful 进行组合,当作模型的输出。因此这就可以看作一个树的形状,根据得到单词间的关系,利用 Seq2Seq 模型对其进行输出。
在这里插入图片描述

Multi-label Classification

对于一篇文章,他可能是属于多个类别的。这时我们利用 Seq2Seq 模型进行处理,输入为一篇文章,输出为所属种类。至于它是符合哪种类型的文章,这件事情让机器去做决定。
在这里插入图片描述

Transformer

流程图

在这里插入图片描述
将上述流程图简化,我们会看到,输入一个sequence,经过 encoder 和 decoder,得到一个输出的 sequence。如下图所示。
在这里插入图片描述

Encoder

在 Encoder 阶段,你可以使用 RNN 或者CNN 对输入的序列进行处理,但更好的方式时使用 seq2seq 模型。
在这里插入图片描述
当使用 self-attention模型 进行处理时,在 Encoder 内,每一个block就相当于做了一次 self-attention 并将输出的结果通过全连接层进行输出。
在这里插入图片描述
在 self-attention 之后,将原来输入对应的信息加到对应的输出上,这一步成为 residual,完成这一步之后,对输出进行layer norm处理,而不是bacth norm处理。将处理之后的输出通过Fully Connection层后,重复上述步骤再做一次。这一整个流程可以做N次。
在这里插入图片描述
在这里插入图片描述

Decoder

在 Encoder 完成之后,将得到的结果传输给 Decoder,传输过程后面在讨论。在 Decoder 之前,我们要先给其一个输入 start,表示从此刻开始将进行解码。将得到的 Encoder 的结果进行 Decoder 时,我们会得到第一个词的输出,如下图,此时对应的“机”字的概率最大,则首先将其输出。
在这里插入图片描述
将得到“机”字作为 Decoder 的输入,得到后面字的输出。
在这里插入图片描述

Masked Self-attention

在 Decoder 中,Masked Self-attention 表示在 Decoder 时,你的每一字的输出只与你前面的那个字有关系,而与后面的字联系不大。举个例子,在得到开始解码的指令后,先输出“机”,在“机”没有输出出来时,不会输出“器”,依次往后类推。
在这里插入图片描述
当然在输出时,我们有可能会看见其中的某个字可能会输出错误。这该怎么解决呢?
在这里插入图片描述

Adding “Stop Token”

在解码完成后,我们希望有一个指令来让机器停止预测。此时就要在预测结束后输出一个 END 的输出,代表这一次的预测已经停止。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值