鱼C论坛

 找回密码
 立即注册
查看: 1012|回复: 0

[学习笔记] Transformer中带掩码的注意力机制

[复制链接]
发表于 2023-8-23 09:39:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Handsome_zhou 于 2023-8-23 16:28 编辑

Transformer的译码器中使用带掩码的注意力机制(Masked Self-Attention)的主要目的是确保在生成序列时,模型只能依赖已生成的标记,而不会依赖未来标记,以避免信息泄露和生成不合理的结果。这是因为在生成任务(如文本生成)中,我们必须逐步生成输出序列,而不能在生成某个标记时使用后面的标记的信息。
mask.png
如图所示:译码器在输出"永"时,依赖的是编码器的输出信息和<bos>编码信息。然后再把永作为输入,与前面的信息一起生成"不"。依次类推,往后生成。

Transformer中Mask的应用方式:
1、自注意力机制中的Mask:在译码器的每个位置,自注意力机制会使用一个Mask来防止当前位置的标记注意到未来位置的标记。这是通过将未来位置的注意力权重(Q乘以K的转置)设为负无穷大来实现的,这样在softmax计算中,这些未来位置的权重会变为零,因此不会对当前位置产生影响。

2、掩码的生成:在生成译码器的每个标记时,都会生成一个掩码,该掩码将确保该标记之后的所有位置都不会被用于计算注意力权重。这个掩码是通过在每个时间步骤上设置一个Mask来实现的,确保未来的信息不会被泄露到当前的生成步骤。

3、生成的顺序:译码器按顺序生成输出标记,每次生成一个标记后,将其添加到已生成的标记序列中,然后使用带掩码的自注意力机制来计算下一个标记。这确保了在生成每个标记时只使用了已生成的标记信息,而不使用未来标记。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-9 17:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表