在词嵌入上使用自我注意仅在一个方向上改进了上下文

问题描述

我正在尝试使用 pytorch (https://www.youtube.com/watch?v=yGTUuEx3GkA) 在此视频中实现对注意力的解释。主要思想可以在 12:38 的幻灯片上看到

只关注“银行”这个词:

我们的想法是得到单词“Bank of a river”的glove embeddings,然后将bank的词嵌入与它本身和其他每个词的点积,得到一个4个权重的张量。然后对权重进行归一化,并使用它们为单词“bank”获得一个新的词嵌入,它现在是所有词嵌入的总和,按相应的归一化权重进行缩放。

之前,我试图找到单词“bank”和“river”之间的余弦相似度,结果为 0.33,重新称重后,我得到了 0.59,即有效。

我还检查了“水”和“银行”之间的相似度为 0.49,并在使用新嵌入时变为 0.57。

但是,“money”和“bank”之间的相似度是之前的 0.57 和之后的 0.64!因此,在我提供上下文后,“银行”向量与“金钱”接近。

因此,虽然我对原始“银行”向量所做的工作使其更接近“水”(这是我试图做的)之类的事情,但它并没有像我预期的那样摆脱“金钱”。

为什么变化只发生在一个方向?

您可以在此处查看代码输出 https://github.com/VishakBharadwaj94/transformers/blob/master/transformers_tmp.ipynb

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)