用什么来训练自注意力机制?

问题描述 投票:0回答:3

我一直在尝试理解自我注意力,但我发现的一切并不能很好地在高层次上解释这个概念。

假设我们在 NLP 任务中使用自注意力,所以我们的输入是一个句子。

然后可以使用自注意力来衡量句子中每个单词对于其他单词的“重要性”。

问题是我不明白这个“重要性”是如何衡量的。重要有什么用?

自注意力算法中的权重训练所针对的目标向量到底是什么?

machine-learning nlp artificial-intelligence attention-model
3个回答
0
投票

将语言与潜在含义联系起来称为接地。像“球在桌子上”这样的句子会生成一个可以通过多模态学习再现的图像。多模态意味着可以使用不同类型的单词,例如事件、动作词、主题等。自注意力机制将输入向量映射到输出向量,它们之间是一个神经网络。神经网络的输出向量参考接地情况。

让我们举一个简短的例子。我们需要一个 300x200 的像素图像,我们需要一个自然语言的句子,我们需要一个解析器。解析器在两个方向上工作。他可以将文本转换为图像,这意味着“The ball is on the table”这句话被转换为300x200的图像。但也可以解析给定的图像并提取出自然句子。自注意力学习是一种学习和使用扎根关系的引导技术。这意味着验证现有的语言模型、学习新的语言模型并预测未来的系统状态。


0
投票

这个问题现在已经很老了,但我遇到了它,所以我想我应该更新其他人,因为我自己的理解有所增加。

注意力只是指一些获取输出并将其与其他信息组合的操作。通常,这只是通过将输出与其他向量进行点积来实现,这样它就可以以某种方式“参与”它。

自注意力将输出与输入的其他部分结合起来(因此是 self 部分)。同样,组合通常通过向量之间的点积发生。

最后注意力(或自注意力)是如何训练的?
让我们称 Z 为我们的输出,W 为我们的权重矩阵,X 为我们的输入(我们将使用 @ 作为矩阵乘法符号)。

Z = X^T @ W^T @ X

在 NLP 中,我们会将 Z 与我们想要的结果输出进行比较。例如,在机器翻译中,它是另一种语言的句子。我们可以将两者与每个预测单词的平均交叉熵损失进行比较。最后我们可以通过反向传播来更新 W。

我们如何看待重要的事情?我们可以查看 Z 的大小,看看在注意力之后哪些单词最受“关注”。

这是一个稍微简化的示例,因为它只有一个权重矩阵,并且通常会嵌入输入,但我认为它仍然突出显示了一些有关注意力的必要细节。

这里是一个有用的资源,带有可视化效果,可获取有关 attention 的更多信息。 这是另一个带有可视化内容的资源,详细介绍了 Transformer 中的注意力,特别是自我注意力


0
投票

问题是我不明白这个“重要性”是如何衡量的。重要的是什么?

对于单词之间的语义相似性很重要。

自注意力算法中的权重训练所针对的目标向量到底是什么?

目标取决于任务并由训练数据中的目标定义。

© www.soinside.com 2019 - 2024. All rights reserved.