从 Word2Vec 到 Transformer:Attention 是如何被“逼出来的”?

在上一篇文章中,我们分析了 Word2Vec 的定位与三大核心缺点

  • 静态向量
  • 窗口限定
  • 上下文对称

这些缺点决定了:

Word2Vec 只能用于表示学习,而无法支撑真正高质量的文本生成。

那么问题来了:

👉 如果 Word2Vec 不行,下一步该怎么做?

👉 Attention 和 Transformer 是"灵光一现",还是一种必然演进?

本文将从 Word2Vec 的缺点出发,一步步推导出 Attention 的出现,并最终落到 Transformer。


一、问题重述:我们到底想要一个什么样的"词向量"?

在 Word2Vec 之后,人们逐渐意识到一个事实:

真正有用的词向量,必须依赖上下文动态生成。

换句话说:

  • "苹果"在"苹果手机"中
  • "苹果"在"我吃了一个苹果"中

👉 它们应该是两个不同的向量


举个直观例子

句子 A:

我买了一台 苹果,性能很强。

句子 B:

我吃了一个 苹果,味道很甜。

Word2Vec:

复制代码
embedding("苹果") = 固定

但我们真正希望的是:

复制代码
embedding("苹果" | 电子产品上下文)
embedding("苹果" | 食物上下文)

👉 词向量应该是"上下文的函数",而不是"词本身的属性"


二、第一次自然改进:让"上下文"参与计算

既然上下文很重要,那最直接的想法是:

让当前词,根据上下文重新计算自己的表示

假设当前词是 q,上下文是:

复制代码
c₁, c₂, c₃, ...

那我们是不是可以:

复制代码
new_q = f(q, c₁, c₂, c₃, ...)

问题是:

👉 上下文里的每个词,重要性真的一样吗?


三、关键转折点:上下文并不是"等权"的

来看一个例子:

虽然天气很差,但是我还是决定 出门,因为我已经和朋友约好了。

对于"出门"这个词:

  • "天气"
  • "但是"
  • "因为"
  • "约好了"

显然:

  • "约好了"比"天气"更重要
  • "但是"在逻辑上起转折作用

👉 不同上下文,对当前词的贡献是不同的


一个自然的问题出现了:

能不能给不同上下文词分配不同的权重?


四、加权求和:Attention 的雏形出现了

如果我们允许不同上下文有不同权重,那么一个非常自然的形式就是:

复制代码
new_q = α₁·c₁ + α₂·c₂ + α₃·c₃ + ...

其中:

  • αᵢ 表示上下文词 cᵢ 对当前词的重要性

这一步非常关键,因为它意味着:

词的表示,不再是"查表",而是"计算出来的"


五、权重 α 从哪来?------ Attention 的核心问题

接下来是最关键的问题:

αᵢ 应该如何计算?

显然:

  • 不能人工设定
  • 只能让模型自己学

那权重应该依赖什么?

👉 依赖当前词和上下文词之间的关系


回到 Word2Vec 的点积相似度

在 Word2Vec 中,已经有一个成熟做法:

复制代码
score(w, c) = embedding(w) · embedding(c)

这个点积本质上是在问:

"这两个词在语义上有多相关?"


六、从 Word2Vec 点积,到 Attention 打分函数

为了增强表达能力,我们对 Word2Vec 的点积做一次升级:

复制代码
score(q, cᵢ) = (Wq · q) · (Wk · cᵢ)

这里:

  • Wq:Query 投影
  • Wk:Key 投影

这一步非常重要,因为:

模型不再直接比较"词",
而是比较"在当前任务下的语义投影"

到这里为止:

  • Query(Q)
  • Key(K)

已经自然出现了。


七、Value 是怎么来的?

接下来再问一个问题:

我们真正想"加权汇总"的是什么?

不是 Key 本身,而是:

上下文词所携带的信息

于是引入第三个向量:

复制代码
V = Wv · cᵢ

最终,每个词的新表示来自:

复制代码
Attention(q) = Σ softmax(score(q, kᵢ)) · vᵢ

🎯 这就是 Attention 的完整思想来源


八、一个完整例子:Attention 如何区分"苹果"的语义?

句子:

我买了一台 苹果 手机

对于"苹果":

  • Query:来自"苹果"
  • Keys:来自"我 / 买 / 一台 / 手机"

Attention 计算后:

  • "手机"获得高权重
  • "我""一台"权重较低

最终:

复制代码
苹果的向量 ≈ 偏向"电子产品"

换一句话:

词的语义,由上下文决定,而不是由词本身决定


九、Transformer:把 Attention 变成"生成模型"

到目前为止,我们已经解决了:

  • 静态向量
  • 局部上下文
  • 上下文对称

Transformer 做的事情是:

在每一层、每一个位置,都使用 Attention 重新计算词的表示

并且:

  • 多层堆叠 → 从词法到语义
  • 自回归结构 → 直接预测下一个词

最终得到:

复制代码
Embedding
→ Transformer Blocks(Attention)
→ Softmax
→ 下一个词

👉 不再需要额外的生成模型


十、Word2Vec vs Transformer:本质差异总结

维度 Word2Vec Transformer
向量生成方式 查表 动态计算
是否上下文相关
上下文范围 局部窗口 全局
是否能生成文本
训练方式 表示学习 端到端语言建模

十一、写在最后:为什么说 Attention 是"必然产物"?

回头看这条演进路径:

复制代码
统计相似度
→ Word2Vec(预测上下文)
→ 静态向量的瓶颈
→ 上下文加权的需求
→ Attention
→ Transformer

你会发现:

Attention 并不是突然出现的技巧,
而是在 Word2Vec 的缺点下,被一步步"逼出来"的解决方案。

相关推荐
hit56实验室2 小时前
【易经系列】《屯卦》九五:屯其膏,小贞吉,大贞凶
人工智能
沃达德软件2 小时前
人脸模糊图像清晰化技术
人工智能·深度学习·神经网络·机器学习·计算机视觉
witAI2 小时前
**AI漫剧一键生成2025指南,解锁零门槛动画创作新体验*
人工智能·python
ktoking2 小时前
Stock Agent AI 模型的选股器实现 [七]
人工智能·python·django
witAI2 小时前
**AI漫剧制作工具2025推荐,解锁高效创作新体验**
人工智能·python
qinyia2 小时前
如何在服务器上查看网络连接数并进行综合分析
linux·运维·服务器·开发语言·人工智能·php
新缸中之脑2 小时前
构建一个论文学习AI助手
人工智能·学习
说私域2 小时前
私域流量生态重构:链动2+1模式S2B2C商城小程序的流量整合与价值创造
人工智能·小程序·流量运营·私域运营
圆奋奋2 小时前
让“小爱音箱PRO”智能起来:接入豆包AI
人工智能