与传统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特别适合处理包含复杂结构和长距离依赖的文本数据。

  • 29
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值