在Transformer模型中解码器(Decoder)的详细解释(Attention Is All You Need)

在这里插入图片描述
在这里插入图片描述

解码器(Decoder)的详细解释

在Transformer模型中,解码器与编码器相似,由堆叠的 N = 6 N = 6 N=6个相同的层组成。但解码器比编码器多了一个子层:对编码器输出的多头注意力(Multi-Head Attention over the encoder’s output)。解码器的每一层有三个子层:

  1. 掩码多头自注意力机制(Masked Multi-Head Self-Attention Mechanism)
  2. 对编码器输出的多头注意力机制(Multi-Head Attention over the Encoder’s Output)
  3. 逐点全连接前馈神经网络(Positionwise Fully Connected Feed-Forward Network)

每个子层都使用残差连接,并在其后进行层归一化。这种设计确保了模型能够保持稳定的梯度,并能有效地进行训练。掩码机制和输出嵌入的位移确保了预测 i i i位置时,只能依赖于之前的位置。

解码器的结构和工作原理

1. 掩码多头自注意力机制(Masked Multi-Head Self-Attention Mechanism)

掩码多头自注意力机制确保在生成序列的过程中,当前时间步只关注之前的时间步,不会看到未来的信息。这通过掩码矩阵实现。

2. 对编码器输出的多头注意力机制(Multi-Head Attention over the Encoder’s Output)

这一子层使用编码器的输出作为键和值,解码器的自注意力输出作为查询。这允许解码器在生成每个输出时,参考编码器的所有隐藏状态,从而捕捉输入序列与输出序列之间的依赖关系。

3. 逐点全连接前馈神经网络(Positionwise Fully Connected Feed-Forward Network)

这一子层对每个位置独立应用两个线性变换和一个非线性激活函数,用于进一步特征提取和变换。

详细的处理步骤和示例

假设我们有一个输入序列 Input Sequence = [ 23.1 , 24.3 , 22.8 , 23.5 ] \text{Input Sequence} = [23.1, 24.3, 22.8, 23.5] Input Sequence=[23.1,24.3,22.8,23.5]以及一个部分输出序列 Generated Sequence = [ y 1 , y 2 , y 3 ] \text{Generated Sequence} = [y_1, y_2, y_3] Generated Sequence=[y1,y2,y3]

1. 输入嵌入和位置编码

对输入序列和部分输出序列进行嵌入和位置编码:

Input Embedding = [ 23.1 0 … 0 24.3 0 … 0 22.8 0 … 0 23.5 0 … 0 ] \text{Input Embedding} = \begin{bmatrix} 23.1 & 0 & \ldots & 0 \\ 24.3 & 0 & \ldots & 0 \\ 22.8 & 0 & \ldots & 0 \\ 23.5 & 0 & \ldots & 0 \end{bmatrix} Input Embedding= 23.124.322.823.500000000
Output Embedding = [ y 1 0 … 0 y 2 0 … 0 y 3 0 … 0 ] \text{Output Embedding} = \begin{bmatrix} y_1 & 0 & \ldots & 0 \\ y_2 & 0 & \ldots & 0 \\ y_3 & 0 & \ldots & 0 \end{bmatrix} Output Embedding= y1y2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值