Lecture 5(Preparation):Transformer

目录

Transformer

Seq2seq应用举例:

Seq2seq的结构如下:

Transformer的原始架构如下(后续也有很多改进的架构):

Encoder

Decoder

Encoder-Dncoder

Training


Transformer

——Sequence-to-sequence的model (Seq2seq)

Seq2seq: Input a sequence, output a sequence. The output length is determined by model.

Seq2seq model在NLP领域、natural language processing领域应用非常广泛。

各式各样的NLP的问题往往都可以看做是QA的问题,而QA的问题就可以用Seq2seq model来解。对多数NLP任务、语音相关任务而言,为这些任务客制化模型会得到更好的结果。

Seq2seq应用举例:

        ① Seq2seq for Chatbot:

        ② Seq2seq for Syntactic Parsing:

        ③ Seq2seq for Multi-lable Classification:

Seq2seq的结构如下:

Transformer的原始架构如下(后续也有很多改进的架构):

Encoder

        Transformer原始架构中Encoder的架构如下,Encoder由很多个block组成,每个block都是输入一排向量,输出一排向量:

        上图中每一个Block做的事情如下:

Decoder

        Decoder有两种,Autoregressive (AT)和Non-autoregressive (NAT),常见的是Autoregressive (AT)。

        下面以语音辨识为例,说明Autoregressive的Decoder的运作方式。

        Autoregressive的Decoder的架构如下:

        Decoder的架构有点像是Eecoder的架构的一个复杂版,不过Encoder中用的是Self-attention,而Decoder中用的是Masked Self-attention。Self-attention的每一个输出能看到整个输入资料,Masked Self-attention的输出只能看到当前及左边的输入资料(因为此时右边的资料还未输出,也无法看到)。下图第一张是Self-attention,第二张是Masked Self-attention。

AT v.s. NAT

        NAT不是像AT一样一次产生一个字,它是一次把整个句子都产生出来。

Encoder-Dncoder

这部分介绍Encoder和Decoder之间怎么传递资讯。

Cross attention是连接Encoder和Decoder之间的桥梁。Cross attention部分有两个输入来自Encoder,有一个输入来自Decoder。

Cross attention的运作过程如下:

Cross attention可以有不同的方式,即Encoder和Decoder之间可以有不同的连接方式,如下图,原始Transformer中Cross attention的连接方式如(a):

Training

训练的时候,每一个输出都有一个Cross Entropy,训练要做的,就是minimize这个Cross Entropy。

训练的时候,Decoder的输入是正确答案,把用正确答案作为输入这件事称做Teacher Forcing。

但是在测试的时候,Decoder看到的输入是自己前面的输出,而不是正确答案。所以在测试的时候,Decoder可能会看到一些错误的东西。

当前面输出了一个错误的答案,这个答案作为Decoder的输入,让它看到了一个错误的东西,可能会导致后面的答案全部出错。

解决方向:在训练的时候,给Decoder的输入加入一些错误的东西——Scheduled Sampling。

下面介绍一些训练Seq2seq model的Tips:

        ① Copy Mechanism

        对很多任务而言,Decoder不用自己创造输出,或只需要创造部分的输出,它需要从输入的东西中复制一些东西作为输出。

        ② Guided Attention

        以语音合成为例,输入一串文字,在合成声音的时候,机器应该从左到右去看输入的文字,而不是随机的去看输入的文字。Guided Attention可以给Training一个限制,让机器Attention的顺序是从左到右而不是随机的。

        ③ Beam Search

        如下图,在当前这一步,选择A比较好,但从整体来看,B才是最佳选择。在实际问题中,每一步的选择都很多,无法通过穷举来选择出最佳路径。可以用Beam Search这种演算法,通过估算找到一个不是完全精准的solution,找出一条不是完全精准的路径。

        Beam Search的效果取决于任务本身的特性。

        如果一个任务答案非常明确,比如语音辨识,输入一句话,只有一个固定的输出结果,Beam Search对这种任务比较有帮助。

        对于一个需要创造力的任务,比如输入故事的前半部,输出故事的后半部,这时在Decoder里面加入一些随机性效果会更好,Beam Search对这种任务比较没有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值