【问题标题】:attn_output_weights in MultiheadAttention [closed]MultiheadAttention 中的 attn_output_weights [关闭]
【发布时间】:2021-07-20 10:11:54
【问题描述】:

我想知道attn_output_weight 的矩阵是否可以展示输入序列中每个单词对之间的关​​系。 在我的项目中,我根据此输出绘制热图,它显示如下:

但是,我几乎无法从这张热图中看到任何信息。 我参考别人的工作,他们的热图是这样的。至少矩阵的对角线应该有深色。

那我想知道我绘制热图的方法是否正确(即直接使用attn_output_weight的输出)如果这不是正确的方法,请告诉我如何绘制热图?

【问题讨论】:

    标签: python deep-learning nlp pytorch attention-model


    【解决方案1】:

    您的值范围似乎相当有限。在目标示例中,值的范围在[0, 1] 之间,因为每一行都代表 softmax 分布。这从注意力的定义中可以看出:

    我建议你对每一行/列进行归一化(根据你使用的注意力实现),最后可视化[0, 1] 范围内的注意力图。您可以在 matplotlib 绘图中分别使用参数 vminvmax 来做到这一点。

    如果这不能解决问题,可以添加一段包含您正在使用的模型和可视化脚本的代码。

    【讨论】:

      猜你喜欢
      • 2021-09-16
      • 2021-08-20
      • 2021-03-07
      • 1970-01-01
      • 2021-05-16
      • 2021-12-30
      • 1970-01-01
      • 2019-10-27
      • 2023-04-01
      相关资源
      最近更新 更多