【深度学习】编码器专题(02)

前文见: 【深度学习】编码器专题(01) 

六、为什么选择Mask填充

        在上面的示例中,src_mask设置为“无”。如第三篇文章所述,可选的掩码可以通过多头注意力层传递。对于编码器,此掩码通常是根据序列的填充创建的。本文中使用的三个序列的长度均为 6。但是,不同长度的序列更有可能是一批。填充将添加到序列中,以确保批处理中的所有序列具有相同的长度。发生这种情况时,模型无需注意填充令牌。为每个序列创建一个掩码向量,以反映应注意的值。

        此蒙版的形状为 (batch_size、1、1、seq_length)。这是在每个头部的序列表示中广播的。

        例如,下面的三个序列具有不同的长度:

  • “接下来会发生什么?” → [21, 22, 5, 15]
  • “这是一个基本的段落。” → [20, 13, 0, 3, 17]
  • “接下来将进行基本的分裂!” → [0, 3, 18, 22&#x

猜你喜欢

转载自blog.csdn.net/gongdiwudu/article/details/131766833
今日推荐