IT 论文精读 · PAPER 4
Mikolov 等 · Google · ICLR Workshop 2013
2013 年,Google 的 Tomas Mikolov 团队发布了 Word2Vec:一种让计算机自己读海量文章、然后给每个词发一个「意义坐标」的方法。神奇之处在于,这些坐标居然能做算术:「国王 − 男人 + 女人 ≈ 女王」。今天你用的搜索、推荐,以及 ChatGPT 读懂你每个字的第一步——「把词变成向量」——都是从它这里普及开的。
在这之前,计算机眼里的词只是编号:「猫」是 4102 号,「狗」是 9527 号,「冰箱」是 233 号。在它看来,「猫」和「狗」的关系,跟「猫」和「冰箱」的关系一模一样——毫无关系。想让它知道「猫和狗都是宠物」,只能靠人一条条编词典:编不完、跟不上新词,还搬不到别的语言去。
Word2Vec 的想法可以叫「物以类聚」:一个词的意思,就藏在它常跟哪些词待在一起。「猫」和「狗」都常出现在「喂」「掉毛」「宠物医院」旁边,所以它们意思近;「冰箱」的邻居则是「保鲜」「插电」。既然如此,就给每个词在一张巨大的「意义地图」上安个家——让邻居相似的词住得近。这张地图不用人来画,机器自己读文章就能画出来。
靠一场做了亿万次的「完形填空」。把一句话里的某个词遮住,让机器根据周围的词去猜;猜错了,就把相关的词在地图上挪一挪位置,让下次更容易猜对。就这么一句句读、一次次挪,读完几十亿个词之后,用法相似的词自然被推到了一起。更妙的是,地图上的「方向」也有了意义:从「男人」走到「女人」的那段路,跟从「国王」走到「女王」的那段路,方向和长短几乎一样——所以才算得出开头那道著名的算术。
从此「把任何东西变成坐标」成了 AI 的通用招式:词、句子、商品、用户、歌曲……都能安进各自的地图,「找相似」变成了「量距离」。搜索、翻译、推荐系统都靠它上了一个台阶,它也是后来 BERT、ChatGPT 这条路线的起点。诚实说一句短板:每个词在地图上只有一个固定位置,「苹果」是水果还是公司,它分不开——这得等后来的模型来解决。
让机器读海量文章做「完形填空」,给每个词在意义地图上安个家:意思近的住得近、语义关系变成方向,连「国王 − 男人 + 女人 ≈ 女王」都算得出来。「万物皆可变坐标」的时代由此开始。
想看 CBOW / Skip-gram 结构图、负采样和实验数字? → 切到精读版
Word2Vec 提出两个砍掉隐藏层的极简模型——CBOW(用上下文猜中心词)和 Skip-gram(用中心词猜上下文)——配上层次 softmax、负采样等高效近似,让单机一天就能从十几亿词的语料里学出高质量词向量(word embedding):意思相近的词在空间里彼此靠近,语义/句法关系变成稳定的方向,支持 king − man + woman ≈ queen 式的向量算术。它把「embedding」变成了整个 AI 领域的通用积木。
作者是 Tomas Mikolov、Kai Chen、Greg Corrado、Jeff Dean,来自 Google,2013 年发在 ICLR Workshop;同年的 NIPS 姊妹篇《Distributed Representations of Words and Phrases and their Compositionality》补上了负采样等关键加速。它上承 Bengio 2003 年的神经语言模型与语言学的分布假说(distributional hypothesis,「观其伴、知其词」),下启 GloVe、fastText,把「预训练词向量」变成 NLP 标配,直到被 BERT 一代的上下文向量接棒。
当时主流 NLP 把词当作原子符号(one-hot):词表一百万,每个词就是一百万维、只有一位是 1 的向量。这种表示里任何两个词都互相垂直——「猫」与「狗」的距离和「猫」与「冰箱」完全一样。想要相似性,只能靠人工词典(如 WordNet)或简单的共现统计,又稀疏又难维护,也没法泛化:模型在「猫很可爱」上学到的东西,一点都帮不上「狗很可爱」。
神经语言模型(Bengio 等 2003)已经证明:让网络在预测下一个词的过程中顺便学出一套稠密词向量,质量很好。但它太贵——每一步都要过非线性隐藏层、再对整个词表做 softmax 归一化,训练几亿词就要数周,几十亿词想都别想。所以当时的词向量普遍只能在几亿词的语料上训练、维度只有 50–100。
Mikolov 等的判断很直接:词向量的质量瓶颈在数据量,不在模型复杂度。与其用复杂模型啃小语料,不如把模型砍到极简、让它吞得下数量级更大的语料——押注「简单模型 × 海量数据」赢过「复杂模型 × 少量数据」。整篇论文就是围绕这个押注做的设计与验证。
分布假说是语言学的老结论:一个词的意思由它出现的上下文决定。Word2Vec 把它落地成自监督任务:扫过语料,对每个位置做「完形填空」——要么用周围的词猜中间的词,要么反过来。不需要任何人工标注,几十亿词就是几十亿道免费练习题。
关键在于为什么做填空就能逼出语义:模型想把这道题答好,最省参数的办法就是把上下文分布相似的词映射到相近的向量——「猫」「狗」既然总出现在相似的语境里,共享相近的坐标就能一份知识两用。语义不是被教出来的,是被「预测要省力」逼出来的。
论文给了两个架构(图 1)。CBOW(continuous bag-of-words,连续词袋):把窗口内几个上下文词的向量取平均,用这个平均向量预测中心词。Skip-gram:反过来,用中心词的向量去逐个预测窗口内的每个上下文词。共同点是激进的减法:没有隐藏层、没有非线性,一次预测就是查一次表、做一次点积再过 softmax:p(o|c) ∝ exp(u_o · v_c)——白话:两个词的向量点积越大,模型就越相信它们该出现在同一个窗口里。
为什么敢砍掉非线性?因为目标不是把语言模型做准,而是把向量学好——作者的经验是:向量质量对模型复杂度不敏感、对数据量敏感。模型「笨」到只会量方向,但正因为笨,单步训练极快,快到能用海量数据喂饱。取舍上:CBOW 更快(一个窗口只做一次预测);Skip-gram 对低频词更友好(每个词都会作为中心词被反复训练),语义题上更强。
模型再简单,softmax 仍要对整个词表(百万级)归一化——每一步都算一遍,等于没省。论文用两招绕过。层次 softmax(hierarchical softmax):把词表挂成一棵二叉树,预测一个词变成从树根走到叶子的一连串「二选一」,代价从「整个词表」降到「树的深度」(百万词表约 20 步)。负采样(negative sampling,NIPS 姊妹篇提出):干脆不做归一化,把任务改成二分类——给定中心词,把真正的邻居和随机抽来的几个「假邻居」区分开,每步只更新这十来个词的向量。再配一招高频词下采样:「的」「是」这类信息量低的词按概率跳过,省下无效练习。三招合力,单机一天能训完 16 亿词——对当时的神经方法是数量级的飞跃。
学出的空间不只「近 = 相似」,还出现了线性规律:vector("King") − vector("Man") + vector("Woman") 最接近 vector("Queen");Paris − France + Italy ≈ Rome;复数、时态、比较级也各自对应稳定的方向(图 2)。直觉是:「男 → 女」这个关系,在成千上万对词(king/queen、uncle/aunt、actor/actress)的上下文里造成的是同一种系统性差异,模型最省参数的编码方式,就是把这种共同差异压成同一个位移向量——关系被编码成了几何。
作者自建了一个语义-句法类比测试集(共 19,544 道「雅典之于希腊,如奥斯陆之于?」式的题目),它后来成了词向量的标准评测。同语料、同 640 维向量的对照下:Skip-gram 的语义类比准确率约 55%,是此前前馈神经语言模型(约 23%)的两倍多,也远超循环网络模型;CBOW 在句法题上最强(约 64%)且训练最快。效率上,训练成本从旧模型的「数周」降到「一天内训完 16 亿词」。NIPS 姊妹篇进一步显示负采样比层次 softmax 又快又好;Google 随代码放出的、在约千亿词 Google News 语料上训练的 300 维、300 万词与短语的向量包,成了此后多年整个社区的默认起点。
它把「embedding」从论文里的概念变成了工业标配。「一切皆可向量」:词之后是句子、文档、商品、用户、图节点、蛋白质——「找相似」统一变成「量距离」,这正是今天搜索、推荐、以及大模型 RAG 里向量检索的通用范式。
它也是「预训练 + 复用」思路的先声:在无标注大语料上白捡一套通用表示,再搬到任何下游任务。GloVe(2014)、fastText(2016)是直接后继;ELMo、BERT 把「一词一向量」升级成「一词随句变」,但「用向量表示语义、靠自监督预测来学」这条主线正是从这篇确立的——今天每个大模型输入端的词嵌入层,都是它的直系后代。
① 一句话:两个砍掉隐藏层的浅模型(CBOW / Skip-gram)+ 高效近似,从海量无标注文本里自学出高质量词向量。
② 痛点:one-hot 把每个词当孤岛、看不出远近;神经语言模型能学好向量但贵到训不动大语料。
③ 押注:向量质量吃数据量、不吃模型复杂度——「简单模型 × 海量语料」赢。
④ 机制:完形填空式自监督;预测 = 查表 + 点积(p(o|c) ∝ exp(u_o·v_c));「预测要省力」逼着用法相似的词共享相近坐标。
⑤ 提速:层次 softmax(整表归一化 → 树上约 20 次二选一)、负采样(只区分真邻居与几个随机假邻居)、高频词下采样——单机一天 16 亿词。
⑥ 现象:空间出现线性结构,king − man + woman ≈ queen,语义关系变成稳定方向。
⑦ 结果与影响:自建 19,544 题类比测试集上数倍于旧模型;embedding 成为 AI 通用积木,直通 GloVe / fastText / BERT 与今天的向量检索。
⑧ 局限:一词一向量装不下多义;类比成绩部分靠评测惯例;复制语料偏见;不识新词、不看语序——由上下文化模型接棒。