Guhongjie

Seq2Seq、Transformer、Bert

Seq2Seq(2014年)

属于 Encoder-Decoder,只不过input 和 output一般都不一致

data -> Encoder -> vec ->Decoder ->output

 

其中Encoder 是任意的RNN网络,有一点不同的是,当前Cell的输出还依赖于上一个Cell的输出

<PAD>填充同一批次中,过小的input

<EOS>结束符号

<UNK><GO>

 

Seq2Seq Attention(2015)

《Seq2Seq、Transformer、Bert》

由于Seq2Seq中,Decoder阶段只用到了Encoder最终的输出,Decoder中的Cell和Encoder中的Cell不包含对应信息。

因此,在Seq2Seq基础上,加入了Attention机制。即在Decoder模块,cell引入了Encoder的所有隐状态权重(概率)输出(softmax)的加权平均,作为输入。其中权重(概率)大小是反向传播训练得到的。

1)以上Seq2Seq Attention 是Soft Attention,也就是使用Encoder 所有的隐状态计算Attention

2)Hard Attention 相比区别,随机选取一个隐层来计算Attention,在计算梯度是使用蒙特卡洛采样(一种负采样?mark)

3)Local Attention ,匹配一个隐层作为中心pt,选取[pt-D,pt+D]的隐层计算Attention。匹配方式

 

Transfomer

由于Seq2Seq是序列结构也就是并行的,训练较慢。在实时的场景,或者较长输出序列会出现很大延迟。

因此出现了Transformer

特点:

1)Self Attention

注:在Decoder处,self Attention在input过程中不可能与后面还未输入的元素计算相关性,因此后面的元素设置为0

2)Multi-headed Attention

分若干次进行self Attention计算

3)Position Encoding

4)Residuals

5)Layer Norm

6)Masked

参考:https://zhuanlan.zhihu.com/p/47282410

 

Bert

 

XLNet

 

 

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注