P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分

目录

大概运作模式

 Encoder与Decoder对比

那为什么要用masked Self-attention呢 

怎么让输出停下来

AT vs NAT

cross-attention

Decoder接受的输入


大概运作模式

将Encoder的输出丢入到Deconder中,每一个输出会有一个distribution对应概率表,其中得分最高的即是现在的输出

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第1张图片

当在第二步时我们既有BEGIN作为输入也有机作为输入

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第2张图片 然后以此类推,但是有可能接受到错误的信息导致一步错步步错的结果(这个问题怎么解决最后再讲)

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第3张图片

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第4张图片

 Encoder与Decoder对比

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第5张图片

 通过这个图我们会发现,如果我们把Decoder中间这块遮住,那么Encoder与Decoder就差不多

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第6张图片

这里加了个mask,这个mask是什么意思呢

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第7张图片 

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第8张图片

 

原来的self attention,b1会考虑所有a1到a4而,masked self-attention,b1只关心a1,而b2只关心a1和a2

那为什么要用masked Self-attention呢 

Deconder用self-attention是因为Decoder常常可以拿到一大批数据,而Encoder拿得是Decoder的输出,而Decoder的输出是一个一个产生的,现有a1才有a2

怎么让输出停下来

在distruibution里面加入end,它可以和begin是同一字符也可以是不同字符P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第9张图片

 P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第10张图片

AT vs NAT

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第11张图片

 P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第12张图片

AT是一个一个丢进去,而Nat是一堆丢进去要判断结束要设置一个分类器。当然AT的效果好但是NAT速度快(并行处理)

cross-attention

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第13张图片其中两个输入来自decoder,一个输入来自encoder

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第14张图片

 其中q来自decoder,k和v来的encoder这个就是cross attention

Decoder接受的输入

 在原始paper里,Encoder有好多层,都是拿Encoder最后一层的输出去给Decoder。但是也不一定这样,下图指出了可能性

 

P11机器学习--李宏毅笔记(Transformer Decoder)Testing部分_第15张图片

到这里讲的都是训练好的模型怎么做testing,而没有讲怎么训练,下一章我们会将怎么训练

你可能感兴趣的:(机器学习李宏毅,transformer,深度学习,人工智能,pytorch,机器学习)