Transformer及其变种

Transformer

RNN无法并行计算-》Self Attention,每一个输出都保证看过所有的输入。

Transformer及其变种

Attention: 吃两个向量,吐出这两个向量匹配的分数attention(q&k)=a。

Transformer及其变种

为什么容易实现并行化(parallel)

Transformer及其变种

Transformer及其变种

Transformer及其变种

Transformer及其变种

Mutihead Attention:每个head都关注不同的地方

Transformer及其变种

Transformer及其变种

但是,截至到目前为止,并没有考虑到输入序列顺序(位置参数)的问题!!!

为什么位置编码是直接加上而不是concatenate的呢??见下图!这个Wp是谷歌自己用式子算出来的,见图二(但我不知道为啥要这么算)。

Transformer及其变种

Transformer及其变种

架构详解:

Transformer及其变种

ELMO(Embedding from language Model):基于RNN,Decoder就是一个基于上下文的Embedding,可以使用双向RNN然后concat。

Transformer及其变种

Transformer及其变种

BERT:架构就是Transformer的Encoder,做的事情就是Sequence->输出每个单词的Embedding(Bert的每一层实际上是NLP的一些任务,例如词性分类,单词整合)

Transformer及其变种

train bert的几种方法:第一种,随机mask掉一些word

Transformer及其变种

第二种,判断输入是否是两个句子连接而成,CLS(YES|NO)放在开头或者尾部都一样,因为内部有Self-Attention

Transformer及其变种

如何使用Bert:第一种,情感分类任务(句子)

Transformer及其变种

第二种:单词词性分类任务(单词)

Transformer及其变种

第三种:句子终止问题(判断两个句子是否是相连的)

Transformer及其变种

第四种:QA问题(在文章中有直接出现的答案单词)

需要输出答案在文章中的位置。

Transformer及其变种

Transformer及其变种

当s和e矛盾的case,可以输出unknown

ERNIE:类似于Bert,不过一次是mask一个词汇

Transformer及其变种

GPT:是transformer的Decoder,预测下一个词汇。(无需label)

Transformer及其变种

Transformer及其变种
下一个词汇。(无需label)
Transformer及其变种