BERT 和其他语言注意力模型是否仅在初始嵌入阶段共享交叉词信息?
Does BERT and other language attention model only share cross-word information in the initial embedding stage?
我研究视觉注意力模型,但最近一直在阅读 BERT 和其他语言注意力模型,以填补我知识上的严重空白。
我对我在这些模型架构中看到的东西感到有点困惑。给出一个像“猫追狗”这样的句子。我本以为每个词的嵌入之间会有交叉信息流。例如,我希望在模型中看到一个点,其中“猫”的嵌入与“狗”的嵌入相结合,以创建注意力掩码。
相反,我似乎看到的(如果我错了请纠正我)是像“猫”这样的词的嵌入最初设置为包含有关它们周围词的信息。这样每个词的每个嵌入都包括它们周围的所有其他词。然后这些嵌入中的每一个都并行地通过模型。这对我来说似乎很奇怪而且多余。他们为什么要这样建立模型?
如果我们要屏蔽猫。 “那……追狗。”那么我们是否会在推理过程中只需要通过模型发送“...”嵌入?
嵌入不包含关于它们周围其他嵌入的任何信息。 BERT 和 OpenGPT/GPT2 等其他模型没有上下文相关的输入。
上下文相关的部分稍后再说。他们在基于注意力的模型中所做的是使用这些输入嵌入来创建其他向量,然后这些向量相互交互并使用各种矩阵乘法、求和、归一化,这有助于模型理解上下文,进而帮助它做有趣的事情,包括语言生成等等
当你说“我本以为会在模型中看到一个点,其中“猫”的嵌入与“狗”的嵌入相结合,以创建注意力掩码。',你是对的.那确实发生了。只是不在嵌入级别。我们通过矩阵将嵌入与学习矩阵相乘来制作更多向量,然后相互交互。
我研究视觉注意力模型,但最近一直在阅读 BERT 和其他语言注意力模型,以填补我知识上的严重空白。
我对我在这些模型架构中看到的东西感到有点困惑。给出一个像“猫追狗”这样的句子。我本以为每个词的嵌入之间会有交叉信息流。例如,我希望在模型中看到一个点,其中“猫”的嵌入与“狗”的嵌入相结合,以创建注意力掩码。
相反,我似乎看到的(如果我错了请纠正我)是像“猫”这样的词的嵌入最初设置为包含有关它们周围词的信息。这样每个词的每个嵌入都包括它们周围的所有其他词。然后这些嵌入中的每一个都并行地通过模型。这对我来说似乎很奇怪而且多余。他们为什么要这样建立模型?
如果我们要屏蔽猫。 “那……追狗。”那么我们是否会在推理过程中只需要通过模型发送“...”嵌入?
嵌入不包含关于它们周围其他嵌入的任何信息。 BERT 和 OpenGPT/GPT2 等其他模型没有上下文相关的输入。
上下文相关的部分稍后再说。他们在基于注意力的模型中所做的是使用这些输入嵌入来创建其他向量,然后这些向量相互交互并使用各种矩阵乘法、求和、归一化,这有助于模型理解上下文,进而帮助它做有趣的事情,包括语言生成等等
当你说“我本以为会在模型中看到一个点,其中“猫”的嵌入与“狗”的嵌入相结合,以创建注意力掩码。',你是对的.那确实发生了。只是不在嵌入级别。我们通过矩阵将嵌入与学习矩阵相乘来制作更多向量,然后相互交互。