找回密码
 注册

微信登录

微信扫一扫,快速登录

查看: 217|回复: 0

AI笔记06|自注意力机制,其实就是 AI 的“主角光环”

[复制链接]
发表于 2025-8-21 03:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

×
作者:微信文章
      About  Me   

新一的AI笔记|王彦新一

     我是王彦新一,一个尝试用“人话”聊AI的普通人。不贩卖焦虑,用人话带你理解AI底层逻辑,体验AI产品,掌握实用技巧,让AI真正成为你的生产力工具。

前几期内容从宏观角度谈了AI的发展路径、大模型的本质及为什么AI突然集中出现在我们这个时代。本期我打算聚焦大模型本体,深入聊聊大模型背后的运行机制,看看大模型们是如何生成内容的。

目前大模型都是基于Transfomer框架设计,而Transfomer的核心是自注意力机制(Self-Attention),因此我想先从自注意力机制谈起。大模型们之所以能按咱的要求回答问题而不跑题,就是靠自注意力机制来保证上下文的一致性。

1

什么是注意力

让我们先看一眼下面这张图片,请告诉我你看到了什么?

w1.jpg

对,你看到了一只蓝色的鸭子。

w2.jpg

我们大部分人第一眼注意到的一定是蓝色的鸭子,但图片中其实还有三只朝向侧面和其他朝正面的小黄鸭。

以上人类观察图像的例子,下面再举一个阅读的例子,请阅读下面这句话:"那只在花园里追逐蝴蝶的小猫突然停下了脚步。

"当你读到"停下了脚步"时,你的大脑会自动关联到前面的"小猫",而不是"蝴蝶"或"花园"。这种能力让你理解是"小猫"在停下脚步,而不是其他事物。

这就是注意力,注意力资源是有限的,我们只能选择关注最主要的东西,而下意识的忽略那些次要的东西,从而聚焦更重要的方面以获得对应的信息。

2

输入大模型的文本如何被表示

我们在和AI聊天时,输入的文本,计算机无法直接理解,它只是一个毫无感情的数值计算机器。因此,我们输入的文本会被按照特定的规则转换为数值,具体数值的形式是向量。

比如,我输入:“你好,王彦新一”,大模型会将句子先拆分为一个一个的词:“你”、“好”、“,”、“王”、“彦”、“新一”。并且为每个词转换为一个初始的多维向量,示例如下:

你 -> (0.2, 0.3, 0.1, 0, 0.5)

好 -> (-0.1, 0.2, 0.1, 0.4, 0.6)

......

向量的维度可以根据需求设置,一般维度越大,能够表达的语义信息越丰富。常用的维度为512-2096维不等,我们人类一般只能理解2维和3维的事物,再高维度就难以理解了。盆友,别被向量吓住,接下来要说的内容进行了简化,不会涉及向量计算。

那么这些词变成向量后,在空间中是怎样的分布状态呢,我们希望语义相近的词在空间中相互靠近,语义不同的词在空间中相互远离。

w3.jpg

上图以二维向量为例,进行解释。可以看到表示球类的词和表示水果类的词,在向量空间中分别同类聚集,异类远离。我想用星空举例可能更便于理解,每个星星表示一个词,相同的星星聚集在一起,形成一个星系。

w4.jpg

按照以上原则,如果现在又有一个词“苹果”,那么它的向量表示,在向量空间将会和其他水果向量靠近,也就是说同类词的向量相似。

w5.jpg

那么问题来了,当遇到一词多义时,词的向量应该怎么表示?

w6.jpg

仍然是“苹果”,其向量表示为右上角的水果类,还是左下角的电子产品类,这是一个问题。

3

自注意力机制

为了解决以上问题,设计了自注意力机制。自注意力机制,就是让计算机模仿人类的注意力分配特点,允许大模型考虑咱们输入的句子中每个词与上下文词的权重关系,从而只关注相关性大的词,帮助模型更好地理解句子中的上下文和语义信息。

下面让我们看两句话:

1.请买一个苹果和一个香蕉

2.苹果发布了一款新手机

为了更好的理解以上两句话,那么注意力机制是怎么做的呢?先以第1句话为例。

1. 打分:看那些词相关性高

句子中,每个词的向量与自己和其他词,都进行相关度计算,每个词和自己的相关度最高。以词“苹果”为例,我们看到除了自身外,“苹果”和“香蕉”的相关度最高(下图仅是模拟相关度计算原理)

w7.jpg

2. 归一化:注意力是有限的

注意力不可能平均给所有词,就像你一天只有 24 小时,不可能平均分给所有朋友。所以模型会把这些分数转成“权重”比例值,让它们加起来等于 1,仍以词“苹果”为例,关注它与各词的权重大小(下图仅是模拟归一化计算原理,计算方式是每个值除以其所在行的总和)。

w8.jpg

3.加权求和:合成新的向量表示

以“苹果”这个词为例进行加权求和,合成新的“苹果”向量

苹果 = 0x请 + 0.1x买 + 0.1x一个 + 0.4x苹果 + 0x和+ 0.1x一个 + 0.3x香蕉

经过以上3步的自注意力计算,“苹果”这个词的新向量,融合了整个句子的语义信息,其中和“香蕉”的相关度最高,因此在向量空间中,会向“香蕉”移动靠近。也就是说在这个语境中,“苹果”一词表示的是水果。

w9.jpg

同理,在“苹果发布了一款新手机”这句话中,经过自注意力计算,“苹果”这个词的新向量,融合了整个句子的语义信息,和“手机”的相关度最高,因此在向量空间中,会向“手机”移动靠近。也就是说在这个语境中,“苹果”一词表示的是苹果公司。

w10.jpg

通过注意力机制,大模型会将我们输入的文本中的每一个词由初始向量表示转换为新的向量表示,这种新向量表示融合了整个句子的上下文语义信息,并根据权重进行了向量调整。从而更加精准的理解每句话的语义,为接下来回答我们的问题做准备。

4

自注意力机制的问题

“请买一个苹果和一个香蕉”这句话有11个词,在注意力计算中,我们看到每个词都与其他词进行了计算,也就是说计算的次数(我们把次数称做复杂度):11 x 11 = 121

同理,如果一句话由100个词组成,那么计算的复杂度是:100 x 100 = 10000

如果一句话由1000个词组成,那么计算的复杂度是:1000 x 1000 = 1000000

如果一句话由n个词组成,那么计算的复杂度是:n x n = n2

可以看到,句子越长,自注意力计算的复杂度就越高,而且是呈指数爆炸上升, 这对计算机的性能是极大的挑战,因此很多大模型都限制了用户的提问字数和轮数。大模型的发展,也一直在优化自注意力计算的复杂度,想办法将指数计算降维调整为线性计算。

以上就是本期的分享,不知道我这样表达,是否能方便您理解。老实说解释AI核心原理非常有挑战,我在不断探索更好的表达方式,也期待您的反馈。AI的世界很大,但您不用一个人探索。关注新一的AI笔记,让咱一起摸索。喜欢这篇的话,欢迎点赞、转发!

END

编辑 | 王彦新一

邮箱 | archi_ybwang@163.com
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2025-10-4 06:25 , Processed in 0.127553 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表