从 Word2Vec 到多模态:词嵌入技术的演进全景

从 Word2Vec 到多模态:词嵌入技术的演进全景

用直观的方式,讲清楚嵌入模型每一代是如何工作的,以及它们为什么被发明出来。


引言:把世界翻译成数字

想象你要向一个外星人介绍地球上的所有东西------桌子、苹果、音乐、悲伤的感觉。外星人听不懂中文或英文,它只懂数字

"嵌入"(Embedding)就是把人类理解的东西翻译成一组数字 ,让计算机能够处理它们。关键技巧是:意思相近的东西,它们的那组数字也要相近

整个嵌入模型的历史,就是"怎么把意思翻译成一串数字"的进化史。这篇文章将带你走过从 2013 年到 2026 年的技术演进路线。


第一阶段:静态词嵌入(2013-2018)

为什么需要词嵌入?

在词嵌入出现之前,文本用"独热编码"(One-Hot Encoding)表示:

复制代码
"猫" → [0, 0, 0, 1, 0, 0, ...]
"狗" → [0, 1, 0, 0, 0, 0, ...]

这种方式有三个致命问题:

  1. 维度灾难:词汇表通常是 10 万~300 万维,极其稀疏
  2. 语义鸿沟:任意两个词的向量正交,"猫"和"狗"的相似度为 0
  3. 无法泛化:模型无法从"猫吃鱼"泛化到"狗吃肉"

词嵌入将每个词映射为一个低维稠密向量(通常 100~300 维),语义相近的词在向量空间中距离更近。

Word2Vec --- 用上下文猜词

核心假设:一个词的含义由它的上下文决定(Distributional Hypothesis)。

Word2Vec 像一个用"放大镜"(滑动窗口)读书的学生。它用一个窗口从左到右扫描语料库,每次看几个词,任务是:给你中间的词,猜它周围是什么词

复制代码
"我每天早上喝一杯热 _____"

根据"我""每天""早上""一杯""热",猜出横线处应该是"咖啡"或"茶"。它读了几十亿个这样的句子,渐渐学会了:"咖啡"和"茶"经常出现在相似的场景中 → 所以它们的向量应该很接近。

Word2Vec 有两种架构:

方式 意思 训练速度 擅长
Skip-Gram 从中心词猜周围词 较慢 罕见词,向量质量高
CBOW 从周围词猜中心词 较快 常见词

训练完成后,我们把整个神经网络扔掉,只保留隐藏层那 300 个数字------那就是每个词的嵌入向量。

神奇的效果:词向量之间可以做数学运算:

复制代码
"国王" - "男人" + "女人" ≈ "女王"
"巴黎" - "法国" + "意大利" ≈ "罗马"

局限:每个词只有一张"名片"。"苹果"在水果摊和手机店里的意思完全不同,但 Word2Vec 给它们的向量完全一样。

GloVe --- 统计全班投票

GloVe(Global Vectors)的思路不同:它统计所有词在整个语料库中是怎么一起出现的

读完整本书后,GloVe 构建了一本"共现字典":

复制代码
        "冰"    "固体"    "液体"
"水"     568     120      340
"石头"   2       310       5

"GloVe 发现了一个规律:如果'水'和'冰'共现 568 次,而'石头'和'冰'才共现 2 次,那'水'和'冰'的关系就更近。"它调整每个词的向量,让向量之间的距离反映这些共现次数。

FastText --- 拼积木学单词

Word2Vec 遇到从未见过的词(比如拼写错误的 "wonderfull")就无计可施------这个词没有向量。

FastText 想了个聪明办法:不按词发名片,按"小积木"(字符 n-gram)发名片

复制代码
"running" = v(<ru) + v(run) + v(unn) + v(nni) + v(nin) + v(ing) + v(ng>)

词的向量 = 所有碎片向量的和。这带来三个好处:

  1. 拼错也不怕:"wonderfull" 和 "wonderful" 大部分碎片是一样的
  2. 学新词很快:包含见过的碎片就能猜出意思
  3. 形态丰富的语言也能处理:土耳其语一个词根能衍生出几百个词,但它们共享大量碎片

第二阶段:上下文词嵌入(2018-2020)

ELMo --- 同一个词,不同脸

ELMo 解决了早期词嵌入最大的问题:一词多义

"bank"在 "river bank"(河岸)和 "bank account"(银行账户)中是完全不同的意思。ELMo 的做法是:同一个词,根据上下文,给出不同的向量

ELMo 像一个读书非常仔细的学生:

  1. 从左到右读一遍:看到"猫坐在_____上",猜后面是什么
  2. 从右到左读一遍:看到"_____坐在猫上",猜前面是什么
  3. 把两遍的结果合起来:综合左右信息,决定"猫"在这个句子里的向量

它是第一个做到"上下文相关"的大规模模型。

BERT --- 超级填空题高手

BERT 和 ELMo 的关键区别在于:它能同时看左边和右边的信息,而不是分开读两遍再合并。

核心训练方法:掩码语言建模(MLM)

复制代码
原句: "今天 [MASK] 真好,我们去 [MASK] 玩吧"
任务: 根据左右两边的词,猜出被遮住的两个词是"天气"和"公园"

BERT 随机把句子中 15% 的词遮住,让模型猜。它做了几十万道的"填空题"后,就变成了一个超级会理解语言的学生。

BERT 的嵌入:每一层都给每个词生成一个向量,我们通常取最后一层的输出作为词的最终嵌入。如果在另一个句子中遇到同一个词,BERT 会给出一个不一样的向量------因为它考虑了上下文。


第三阶段:句子嵌入(2019-至今)

Sentence-BERT --- 一句话的摘要数字

BERT 虽然聪明,但用它比较两个句子的相似度特别慢------1 万个句子需要两两比较 1 亿次,大约 65 小时。

SBERT 想了一个办法:先把每个句子变成一个"摘要名片"(一个向量),然后再比较就快了 。整个流程缩短到约 5 秒,快了超过 4 万倍

它怎么做

复制代码
句子A: "今天天气真好"  →  经过 BERT → 平均所有词的向量 → 句子向量A
句子B: "今天阳光明媚"  →  经过 BERT → 平均所有词的向量 → 句子向量B

然后用余弦相似度比较两个向量------数字越接近,意思越相似。

训练方法------对比学习

  • 正样本:意思相近的句子对("今天天气很好"和"今天阳光明媚")→ 拉近
  • 负样本:意思不同的句子对("今天天气很好"和"股票涨了很多")→ 推开

SentenceTransformers 框架让这个过程变得非常简单:

python 复制代码
from sentence_transformers import SentenceTransformer, util

model = SentenceTransformer('all-MiniLM-L6-v2')

sentences = [
    "The weather is lovely today.",
    "It's so sunny outside!",
    "The cat sits on the mat."
]
embeddings = model.encode(sentences)

cosine_scores = util.cos_sim(embeddings[0], embeddings[1])
# 输出: ~0.66

第四阶段:多语言嵌入(2021-至今)

E5 --- 一个模型学 100 种语言

E5 就像一个会说 100 种语言的翻译官------不管是中文、英文、阿拉伯文还是斯瓦希里语,它都能把它们变成同一种"语言"(向量空间)。

怎么做到的

  1. 先学"世界语":底座 XLM-RoBERTa 已经用 100 种语言训练过,学会了各种语言的基本模式
  2. 做配对游戏:把翻译对拉近("今天天气很好" ↔ "Today the weather is nice"),把无关对推开

经过上亿次训练,E5 学会了跨语言的语义对齐------中文的"猫"和英文的"cat"在向量空间中几乎在同一个位置。

关键创新:在输入前加一个"使用说明"(instruction):

复制代码
查询: "query: 猫吃什么?"    →  生成查询向量
文档: "passage: 猫是肉食动物" →  生成文档向量

这样模型就知道"这个是用来搜索的"vs"这个是用来被搜索的"。

现代多语言嵌入模型对比

模型 团队 特点
Multilingual E5-Large Microsoft/UXLing 开源最强之一,100+ 语言,95% 检索命中率
Qwen3-Embedding (0.6B/4B/8B) 通义千问 MTEB 多语言 No.1(70.58),embedding + reranking 一体
Qwen3-VL-Embedding (2B/8B) 通义千问 文本+图像+视频统一嵌入空间 (2026.01)
Voyage-multilingual-2 Voyage AI 2024 中文检索命中率 97%
Gemini Embedding 2 Google 2026 年推荐为 RAG 生产最优

第五阶段:多模态嵌入(2025-至今)

Qwen3-VL-Embedding --- 文字和图片说同一种语言

以前的嵌入模型只能处理文字。Qwen3-VL-Embedding 把文字、图片、视频全部变成了同一种"语言"。

三个组件

  1. 视觉编码器(眼睛):把图片变成一组数字
  2. 语言模型(大脑):把文字变成一组数字
  3. 连接器(桥梁):把视觉嵌入"翻译"成语言模型能懂的语言

训练方法:对比学习

复制代码
配对1(正): 图片[一只猫的照片] + 文字"一只可爱的橘猫在睡觉" → 拉近
配对2(负): 图片[一只猫的照片] + 文字"一辆红色的汽车"       → 推开

训练完成后,猫的照片和"猫"的文字 → 向量很近,可以实现用文字搜图片、用图片搜视频


技术演进全景

复制代码
时期           模型              核心思想                       能做什么
─────────────────────────────────────────────────────────────────────────────
2013           Word2Vec          用上下文猜词                  词相似度、类比
2014           GloVe             统计全班投票                  更好的类比关系
2016           FastText          拼积木学单词                  处理没见过的新词
                    ↓
2018           ELMo              同一个词,上下文不同→向量不同    解决一词多义
2018           BERT              超级填空题高手                全面理解语言
                    ↓
2019           SBERT             一句话变一张名片              快速比较句子
                    ↓
2022+          E5                100种语言共享同一个向量空间     跨语言搜索
                    ↓
2025+          Qwen3-VL-Embed    文字+图片+视频→统一语言        跨模态搜索

关键演进逻辑

阶段 解决的问题 引入的新能力
静态嵌入 离散符号 → 稠密向量 语义相似度计算
上下文嵌入 一词多义 上下文感知的词表示
句子嵌入 句子级语义比较 固定维度句子向量、快速相似度检索
多语言嵌入 跨语言场景 多语言统一语义空间
多模态嵌入 跨模态检索 文本/图像/视频统一表示

评测:MTEB 基准

衡量嵌入模型好坏,最权威的基准是 MTEB(Massive Text Embedding Benchmark),由 Hugging Face 维护。


总结

从 Word2Vec 给每个词发一张固定"名片",到 ELMo/BERT 让同一个词在不同语境中有不同"脸",到 SBERT 把一句话变成一个向量,到 E5 让 100 种语言共享同一个向量空间,再到 Qwen3-VL 把文字、图片、视频统一到同一种语言------嵌入模型的演进方向非常清晰:

从孤立到关联,从单一到多元,从静态到动态

每一次突破,都让计算机离真正"理解"人类的信息更近了一步。


参考来源

  1. Mikolov et al., 2013 - Word2Vec (arXiv)
  2. Pennington et al., 2014 - GloVe (PDF)
  3. Bojanowski et al., 2016 - FastText (arXiv)
  4. Devlin et al., 2018 - BERT (arXiv)
  5. Reimers & Gurevych, 2019 - Sentence-BERT (arXiv)
  6. Wang & Yang, 2022 - E5 (arXiv)
  7. Qwen3-Embedding (官方 GitHub)
  8. Qwen3-VL-Embedding (官方博客)
  9. SentenceTransformers 官方文档 (sbert.net)
  10. MTEB Leaderboard (Hugging Face)
相关推荐
上海云盾第一敬业销售5 小时前
生成式AI催生深度伪造攻击,WAF如何识别“假流量“?
人工智能
ykjhr_3d5 小时前
数字工具AI智能学伴,助力教育数字化转型
大数据·人工智能·ai·ai人工智能·华锐视点·华锐云空间
海参崴-5 小时前
AVL树完整实现与深度解析
算法
LIUAWEIO5 小时前
鸽鸽工具网:免费在线工具大全,打开网页即用
人工智能·安全·ai·json
动恰客流管家5 小时前
动恰3DV3丨客流统计系统:旺季人手不够淡季闲人太多?客流统计帮你科学优化人力成本
大数据·运维·人工智能·3d
一个爱编程的人5 小时前
一个数是不是素数
数据结构·算法
吻等离子5 小时前
机器学习基本概念篇(含思维导图)
人工智能·机器学习
乐维_lwops5 小时前
智变2026:中国IT运维管理软件行业全景洞察——从AI重塑到信创深水区
运维·人工智能
Hui_AI7205 小时前
基于RAG的农产品GEO溯源智能问答系统实现
开发语言·网络·人工智能·python·算法·创业创新