Transformer学习

self-attention

来源:李宏毅课程:https://www.bilibili.com/video/BV1Xp4y1b7ih/?spm_id_from=333.788.videocard.3
1.输入和输出长度相同task(sequence labeling):POS tagging,语音识别
2.输入一个句子输出一个label:sentiment analysis,语者辨认
3.机器决定输出多少:seq2seq翻译,语音辨识
sequence labeling问题
一种方法是全连接网络加window,问题是参数两太大,另一种技术就是
Self-attention
考虑整个Sequence输出每个向量。请添加图片描述

全连接和FC交替使用,多次考虑一个sequence内关系。
self-attention工作原理:
输入可能是一个hidden layer或者input,输出是考虑了所有的input sequence.请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
multi-head self-attention请添加图片描述
请添加图片描述
Positional Encoding:
之前的方法没有考虑位置关系,为每一个位置设置ei,ei加到ai上,有很多的做法。
很有趣的一个观点:
请添加图片描述
self-attention和RNN:都是seq2seq,RNN每个output只考虑了左边的输入(也可以是双向),RNN处理是没法平行化的,必须要按照顺序,self-attention是同时计算出来的。请添加图片描述

Transformer

seq2seq:分为encoder,decoder

Encoder:

请添加图片描述
residual:直接把input和output加起来,layer normalization把输入向量不同dimension计算mean和方差(相比batch normalization)请添加图片描述

Decoder:

autoregressive
Decoder把前一时刻的输出当作这时候的输入,
相比encoder:self-attention变成了masked-self-attention,b2不考虑a3,a4,因为对decoder来说还没有a3,a4,一个一个产生的不是parallel
请添加图片描述
输入和输出长度是不知道的
要输出“stop token" END和BEGIN
non-autoregressive (NAT)
请添加图片描述
NAT is usually worse than AT

Encoder-Decoder:

cross-attention工作机制:将encoder的最后一层所有输出和decoder的每一时刻输入做计算
请添加图片描述

训练Encoder-Decoder:

所有cross entropy总和(四个字,END的one hot相加)越小越好,每一次decoder产生一个中文字就类似于一个分类问题
请添加图片描述
decoder的输入是ground truth,teacher-forcing:把正确答案当作输入。

Embedding from Language Model(ELMO)

featured-based而不是finetunning,RNN-based language models:预测下一个token是什么,可以学到contexualized embedding,但是只能triain到前文。ELMO每一个hidden layer的embedding加权乘加
请添加图片描述

Bert=Encoder of Transformer

bidirectional encoder representation from transformers
训练bert不需要annotation, 给一个sequence,每一个token吐出来一个embedding
Approach1; masked LM
盖住15%词汇请添加图片描述
approach2:next sentence prediction请添加图片描述
为什么不放在句末?因为内部是sef-attention, 不是RNN,token的顺序不影响,天涯若比邻。
两个方法是要同时学的。
BERT和downstream(从头学)一起训练:请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
学两个向量决定s和e
请添加图片描述
有的时候s>e可能就是没有答案。

Enhanced representation through knowledge integration(ERNIE)

遮住中文的一个词

Generative pre-training(GPT)

=decoder of transformer,预测下一个token
请添加图片描述

GTP2不需要训练资料的情况下就可以做reading comprehension(bert也可以做但需要一些训练资料), summarization, translation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值