0


与传统RNN相比,AI模型当红大神Transformer有什么新魔法呢?

  在上一篇文章“AI模型大宗师Transformer的Encoder工具”里面提到“自注意力机制”,有些伙伴可能不太理解,今天我再用个例子细说一下。

  下面,我们用一个实际的文本处理例子来看看传统的循环神经网络(RNN)和引入自注意力机制的Transformer模型在处理长距离依赖关系上的差异。

  假设我们有以下句子:“去年我去了西湖,那里的风景美丽极了。我决定明年再回去。”

  传统循环神经网络(RNN)在处理这个句子时,会按顺序逐个处理单词。RNN将努力记忆“去年我去了西湖”这一信息,以便在处理后续的“我决定明年再回去”时能够关联起来。然而,由于RNN在处理序列时是一步一步进行的,它可能会遇到短距离信息的覆盖问题,即所谓的“遗忘”问题。当句子很长或者有多个嵌套的句子结构时,RNN可能难以捕捉到“西湖”和“再回去”之间的长距离依赖关系。

  引入自注意力机制的Transformer模型在处理这个句子时,会使用自注意力机制来同时考虑句中的所有单词。在处理“我决定明年再回去”这一小部分时,自注意力机制允许模型直接关联到“去年我去了西湖”中的“西湖”,从而建立了一个直接的联系。这是因为在计算注意力分数时,每个单词的表示(查询)会与所有其他单词的表示(键)进行比较,从而直接捕捉到它们之间的相关性,无论它们在文本中的距离如何。

   当Transformer处理“再回去”这个词组时:
  1. 查询、键、值向量:每个词被转换为查询(Query)、键(Key)、值(Value)向量。

  2. 计算注意力分数:对于“再回去”的查询向量,模型计算与句中每个词的键向量(包括“西湖”的键向量)的点积,得到分数。

  3. 应用Softmax函数:这些分数经过Softmax处理,转换为概率分布,表示对“再回去”而言,句中每个词的相关重要性。

  4. 加权求和:根据上述概率分布,对应的值向量进行加权求和,形成“再回去”的新表示。

  5. 输出:这个新表示捕捉到了“再回去”与“西湖”之间的关联,使得后续的模型部分能够正确解释这两个词之间的关系,即使它们在文本中相隔较远。

    Transformer模型通过自注意力机制能够更有效地捕捉长距离依赖关系,因为它能够在处理每个单词时考虑到整个句子的上下文。这使得Transformer特别适合处理包含复杂结构和长距离依赖的文本数据。


本文转载自: https://blog.csdn.net/jstar1823/article/details/140158207
版权归原作者 jstar1823 所有, 如有侵权,请联系我们删除。

“与传统RNN相比,AI模型当红大神Transformer有什么新魔法呢?”的评论:

还没有评论