请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于mask

老师您好,关于实现缩放点积注意力这里mask这一步(如下代码),不是很理解,能麻烦您再讲解一下吗?谢谢

    
    if mask is not None:
        # 使得在softmax后值趋近于0
        scaled_attention_logits += (mask * -1e9)

正在回答

1回答

正十七 2020-05-08 22:57:06

这是一个trick,在mask里,应该被忽略的我们会设成1,应该被保留的会设成0,而如果mask相应位置上为1,那么我们就给对应的logits 加上一个超级小的负数, -1000000000, 这样,对应的logits也就变成了一个超级小的数。然后在计算softmax的时候,一个超级小的数的指数会无限接近与0。也就是它对应的attention的权重就是0了。

1 回复 有任何疑惑可以回复我~
  • 提问者 manbaneverout #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-05-12 10:49:16
  • 为什么设置mask的时候不直接把应该保留的设置成1 忽略的设置成0或者是0+eps呢
    回复 有任何疑惑可以回复我~ 2020-11-11 19:08:24
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信