5分钟理解transformer中的decoder

在这里插入图片描述
transformer中decoder和encoder是非常像的。
先假设decoder是一个独立的块,研究它的输入和输出。

一、Autoregressive(自回归)

在这里插入图片描述

如果把decoder当成一个黑匣子,这个黑匣子先接受一个特殊符号begin,说明预测开始,第一个输出的字符为“机”,那么A再输入进decoder在输出"器",以此类推。在最后的时候用另一个特殊符号end结尾。这样把输出当成输入的学习称为AT(自回归)。

二、ATvsNAT

在这里插入图片描述
非自回归,顾名思义,输入不再是上一时刻的输出。那么这时候就会引出一些思考。
1.如何确定非自回归的长度?
可以用一个预测网络预测输出的长度,再进行句子的输出。也可以一直进行输出,然后通过end来把句子截断。
2.非自回归有什么优势?
平行化的,也就是计算是可以并行的。如图所示,输入都是begin,完全可以一起输入,然后一起进行输出。它的输出长度也是可以控制的,输入几个begin就输出几个begin,如果我想让声音的输出变慢,我就可以多一倍的begin。
3.NAT效果往往没有AT好。这一点我认为非常直观,缺少了时间的信息,效果当然会差一些。

实际上decoder并不是一个独立的块,它是与encoder连起来的,下面研究它是怎么连接起来的。

三、与encoder的连接

在这里插入图片描述
可以看到,有两个箭头是来自于encoder,有一个箭头是来自于decoder自己的输入。具体细节如下。
在这里插入图片描述
所谓的两个箭头+一个箭头,实际上就是六个encoder输出之后的向量 k e y , v a l u e key,value key,value与带掩膜的self-attention的 q i q_{i} qi进行相似度计算(dot-product)得到 v i v_{i} vi。简单说一句带掩膜的self-attention就是每一次输入只看前面的信息不看后面的信息。当然事实上不一定要六个encoder再进入decoder,这个地方是flexible的,只不过这篇论文是这样做的
得到很多 v v v之后再通过全连接网络变成向量输入到下一个self-attention。

总结来讲,以语音转文字为例。transformer输入一段语音信号,然后转化为向量表示,通过encoder对这些向量进行编码(特征提取),然后输入进decoder好几次每次输出一个文字,最终的句子就是结果。

### Transformer 架构中的编码器-解码器连接机制 在 Transformer 模型中,编码器和解码器之间的交互是通过自注意力机制以及前馈神经网络实现的。具体来说: #### 自注意力机制 编码器处理输入序列并生成一系列键(Keys)、查询(Queries)和值(Values)。这些向量用于计算自注意力权重矩阵,在此过程中每个位置可以关注到其他所有位置的信息[^1]。 对于解码器而言,则不仅依赖于自身的先前输出来进行预测,还会接收来自编码器层产生的最终表示作为附加输入。这意味着解码器能够访问整个输入序列的信息,从而更好地理解上下文环境[^2]。 #### 多头注意力子层 为了增强模型捕捉不同类型的关联模式的能力,引入了多头注意力机制。它允许模型在同一层次上学习多个分布式的特征映射。当应用于跨模块通信时——即编解码间的互动——这使得解码过程可以在不同的抽象级别上利用源端口数据[^3]。 ```python import torch.nn as nn class MultiHeadAttention(nn.Module): def __init__(self, d_model, num_heads): super(MultiHeadAttention, self).__init__() assert d_model % num_heads == 0 self.d_k = d_model // num_heads self.num_heads = num_heads def forward(self, Q, K, V, mask=None): ... ``` 这种设计让每一层解码器都可以获取到来自对应层编码器输出的结果,并以此为基础构建更复杂的语义表达形式。同时,由于存在掩蔽操作(masking),所以在训练期间防止未见未来词项泄露给当前时间步长下的预测结果带来负面影响。 #### 前馈全连接网络 除了上述提到的关注力部分外,每层还包含了一个简单的线性变换加上ReLU激活函数组成的两层感知机(Feed Forward Network)。该组件负责进一步加工由前面步骤得到的数据流,确保信息能够在各维度间充分混合传播。 综上所述,Transformer 中的编码器与解码器之间主要依靠精心设计好的注意力建模方式完成高效而精准的消息传递任务;与此同时,借助残差链接(residual connections) 和 层规范化(layer normalization), 整体结构得以保持稳定收敛特性的同时具备强大的表征能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值