分享

自注意力(Self-attention)清晰解释

 汉无为 2024-02-05 发布于广东

在我们开始之前,先来快速了解一下令牌化(Tokenization)!

原始文本 → 令牌化 → 嵌入(Embedding) → 模型

嵌入是使用一系列数字对每个令牌(大致上是一个单词)进行有意义的表示。

这种嵌入是我们提供给语言模型的输入。

图片


语言建模的核心思想是理解语言内部的结构和模式。

通过建模句子中单词(令牌)之间的关系,我们可以捕捉到文本的上下文和含义。

图片

现在,自注意力是一种沟通机制,帮助建立这些关系,以概率分数表示。

每个令牌都给自己分配最高分,并根据其他令牌的相关性分配额外分数。

你可以把它想象成一个有向图

图片


要理解这些概率/注意力分数是如何获得的:

我们必须理解3个关键术语:

- 查询向量(Query Vector)
- 键向量(Key Vector)
- 值向量(Value Vector)

这些向量是通过将输入嵌入乘以三个可训练的权重矩阵来创建的。

图片


现在,这里是一个关于如何将输入嵌入与键(Keys)、查询(Queries)和值(Values)结合以获得实际注意力分数的更广阔的图景。

在获取键、查询和值之后,我们将它们合并以创建一组新的、有上下文感知的嵌入。

图片


使用PyTorch实现自注意力,再简单不过了!

非常直观!

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多