机器学习:Transformer

Transformer

sequence-to-sequence(seq2seq)

机器学习:Transformer_第1张图片
很大语音没有文本,7000种中超半数没有文字。
机器学习:Transformer_第2张图片
遇到的问题:
机器学习:Transformer_第3张图片
遇到问题时候可以先不管它,先出一个baseline看看效果,后续再进行提升。

tts: 文本转语音,语音合成
目前是两阶段:先用文本转成中文音标,再转成声音信号。
机器学习:Transformer_第4张图片


Seq2seq for chatbot

机器学习:Transformer_第5张图片
机器学习:Transformer_第6张图片

可以将大多数的NLP任务看做是Question Answering任务(QA),QA问题可以用seq2seq解决。定制化的模型比单一模型效果要好一点,但随着大模型的到来,效果可能会越好越好。感兴趣的可以继续学习下面课程。

机器学习:Transformer_第7张图片

Seq2seq for syntactic parsing

机器学习:Transformer_第8张图片


Seq2seq for Multi-label classification

机器学习:Transformer_第9张图片
机器自己决定输出多少个类别。


Seq2seq for object detection

机器学习:Transformer_第10张图片
硬解目标检测问题,输入是图像,输出是文本框及类别

Seq2seq 基本原理

包含两个部件,编码器encoder和译码器decoder
机器学习:Transformer_第11张图片
最早起源于14年,目前成熟结构是transformer结构。

Seq2seq’s Encoder

机器学习:Transformer_第12张图片
encoder的作用是将一个向量编码成另外一个向量,有很多部件都能完成该功能,比如self-attention,RNN,CNN,目前流行的是transformer。

机器学习:Transformer_第13张图片
机器学习:Transformer_第14张图片

block中的过程要更加复杂一点,将block的输出与输入叠加送到下一层,类似于残差结构,然后进行normalizaition,使用的是layer norm, 对每一层计算均值和标准差。

机器学习:Transformer_第15张图片
有很多变体:
机器学习:Transformer_第16张图片
在transformer中,batch normalization表现没有layer normalization表现好,作者又提出了PowerNorm。


Decoder-Autoregressive(AT)

机器学习:Transformer_第17张图片
机器学习:Transformer_第18张图片
机器学习:Transformer_第19张图片
begin是special token,然后经过softmax得到最大分数的结果“机”, 基于这两个输入输出“器”。以此类推,输入变多,再预测输出。decode的输入是前一个的输出。
机器学习:Transformer_第20张图片
中间有可能识别错误导致输出变错,但是会继续往下传下去。
机器学习:Transformer_第21张图片
机器学习:Transformer_第22张图片
机器学习:Transformer_第23张图片

将decoder中间状态遮盖起来后,encoder和decoder是差不多,只是multi-head上面加了mask。

机器学习:Transformer_第24张图片
之前的self-attention得到的时候需要考虑所有的信息。现在变成masked-self-attention, 就是不能考虑右边的信息。

机器学习:Transformer_第25张图片
机器学习:Transformer_第26张图片
机器学习:Transformer_第27张图片
为什么要加masked,是计算a2时候不知道a3,a4…,没法考虑右边的信息。
机器学习:Transformer_第28张图片
另外不知道输出的正确长度。
机器学习:Transformer_第29张图片
机器学习:Transformer_第30张图片
增加一个stop token 让其不一直无限推理下去。

机器学习:Transformer_第31张图片

Decoder-Non-autoregressive(NAT)

机器学习:Transformer_第32张图片

NAT不知道什么时候停,有两种方式:

  • 训练一个长度分类器
  • 直接输出,如果遇到end就忽略后续的结果

好处就是并行化,能一下子输出结果,比较能够控制输出的长度,但实际应用上一般而言NAT的效果比AT的效果要差,原因是Multi-modality。

Cross attention

机器学习:Transformer_第33张图片
encoder和decoder连接,通过cross attention进行连接
机器学习:Transformer_第34张图片
kv来自encoder,q来自decoder。
机器学习:Transformer_第35张图片
机器学习:Transformer_第36张图片
机器学习:Transformer_第37张图片


Train

机器学习:Transformer_第38张图片
每次decoder产生中文字时候做了一次分类问题。
机器学习:Transformer_第39张图片
每一个输出都会有cross entropy,所有的cross entropy的总和最小。
end也会参与计算。
机器学习:Transformer_第40张图片
输入的时候是给的正确答案,teacher forcing,正确答案当作decoder的输入。

Tips

Copy Mechanism

  • char-bot
    机器学习:Transformer_第41张图片
  • summarization
    机器学习:Transformer_第42张图片
    机器学习:Transformer_第43张图片

Guided Attention

机器学习:Transformer_第44张图片
可以通过monotonic attention等方式避免上述这种问题。

Beam Search

机器学习:Transformer_第45张图片
每次选最大的是贪心的方式,如红色所示;但是如果走绿色的是最优的方式。
可以用beam search方法找到一个不是完全精准的解决方法。
机器学习:Transformer_第46张图片
beam search有时候是有用的,有时候是无用的。可以加一些随机性在decoder里面。
tts的时候,decoder中加一点noise,可能效果会变好。模型训练好后,测试的时候也要加noise。
Accept that nothing is perfect, true beauty lies in the cracks of imperfection.

optimizing Evaluation Metrics

机器学习:Transformer_第47张图片
blue score不好计算,遇到无法优化的时候,使用reinforcement learning(RL)硬来训练。
机器学习:Transformer_第48张图片
给一些错误的输入。
机器学习:Transformer_第49张图片
机器学习:Transformer_第50张图片

你可能感兴趣的:(机器学习,transformer,机器学习,seq2seq)