从身份证到性格画像:一文搞懂 one‑hot、Word2Vec 和大模型 Embedding

张开发
2026/4/20 5:58:24 15 分钟阅读

分享文章

从身份证到性格画像:一文搞懂 one‑hot、Word2Vec 和大模型 Embedding
我会用讲故事 类比 面试考点的方式把one‑hot → Word2Vec → Word Embedding → 大模型中的 Embedding这条线彻底讲透。一、问题起源计算机不认识“意思”计算机只懂数字不懂“苹果”“香蕉”是什么。所以第一步把单词变成数字。最直接的想法给每个单词一个编号。比如苹果1香蕉2汽车3。但问题来了2 1难道香蕉比苹果大模型会误学出大小关系。于是有了one‑hot 编码。二、One‑hot 编码每个词一个“身份证号”怎么做的假设词汇表有 5 个词[苹果, 香蕉, 橘子, 汽车, 飞机]每个词用一个5 维向量表示只有一位是 1其余是 0苹果 →[1, 0, 0, 0, 0]香蕉 →[0, 1, 0, 0, 0]汽车 →[0, 0, 0, 1, 0]优点简单公平没有强加大小关系。缺点致命维度太高词汇表有 10 万词向量就有 10 万维太稀疏存储和计算浪费。没有语义任意两个 one‑hot 向量的点积为 0余弦相似度为 0。→ 模型认为“苹果”和“香蕉”的距离 “苹果”和“汽车”的距离学不到相似性。类比one‑hot 就像每个人的身份证号——唯一但不告诉你任何性格、爱好、长相信息。三、隐藏层Embedding 层存放画像的画册隐藏层也叫 Embedding 层是一个可训练的权重矩阵W大小 (词汇表大小, 嵌入维度)。它的每一行对应一个词的Word Embedding。你可以把它想象成一本画册每一页是一张“性格画像”。训练前画册里是随机乱画的草稿无意义的向量。训练后画册里是精美的性格画像有语义的向量。四、Word Embedding把词压缩成“性格画像”我们希望向量维度小比如 300 维。语义相似的词向量在空间里离得近。不同维度可以代表词的某种特征比如性别、时态、类别。什么是 Word Embedding定义把一个词映射到一个d 维的实数向量d 远小于词汇表大小这个向量是通过训练自动学习出来的。例如苹果 →[0.12, -0.34, 0.78, ...]香蕉 →[0.11, -0.32, 0.80, ...]相近汽车 →[0.91, 0.23, -0.45, ...]较远核心原理分布式假设语义相似的词会出现在相似的上下文中。比如“苹果”和“香蕉”都会出现在“我吃了一个____”里。模型为了能准确预测上下文就会把相似词的向量拉近。作用计算相似度找近义词。做向量运算国王 - 男人 女人 ≈ 女王。作为下游任务情感分析、翻译的输入特征。Word Embedding 就是从隐藏层矩阵 W 中取出的某一行向量。类比 Word Embedding 就像给每个人做一份详细的性格画像身高、爱好、职业、星座……相似的人画像也相似。五、Word2Vec画出“性格画像”的经典方法Word2Vec 是 Google 2013 年提出的训练词向量的算法。它有两种模式CBOW 和 Skip‑gram。5.1 共同结构输入层词的 one‑hot长度 V。隐藏层一个V × d的权重矩阵W。因为 one‑hot 只有一个1隐藏层输出 W 的第 i 行。这个就是当前词的词向量。输出层另一个d × V的矩阵W乘以词向量后 softmax 得到每个词的概率用来预测上下文或中心词。训练完成后W 就是词向量表Embedding 层。5.2 CBOW连续词袋模型任务用上下文词预测中心词。例如用[Bereft, of, life, in, peace]预测rests。过程把上下文词的词向量求和或平均再预测中心词。特点训练快对高频词效果好但对低频词效果差。比喻给你“吃”、“甜的”、“水果”你猜中间是“苹果”。5.3 Skip‑gram跳字模型任务用中心词预测上下文词。例如用rests预测[Bereft, of, life, in, peace]。过程中心词的向量分别去预测每个上下文词。特点训练慢因为每个样本要预测多个词但对低频词效果更好能捕捉更丰富的语义。比喻给你“苹果”你猜它周围会出现“吃”、“甜的”、“水果”。5.4 训练技巧面试常考负采样把 softmax需要计算所有词改成二分类正样本 几个随机负样本极大加速。层次 softmax用哈夫曼树输出复杂度从 O(V) 降到 O(log V)。下采样随机丢弃高频词如“的”“是”减少噪音。5.5 CBOW vs Skip‑gram 对比表特性CBOWSkip‑gram输入上下文词中心词输出中心词上下文词训练速度快慢2‑3倍对低频词效果差好典型场景大语料、高频词为主小语料、罕见词重要六、one‑hot、Word2Vec、Word Embedding 完整流程图训练阶段 使用阶段阶段一训练过程中Word2Vec 在更新隐藏层随机初始化的隐藏层 W画册每页是乱画的草稿 ↓ 输入一个 one‑hot比如“苹果”的身份证号 ↓ 隐藏层查表取出 W 的第 i 行 → 得到当前词的 Word Embedding当前画像还很丑 ↓ 输出层用该 embedding 预测上下文CBOW或输出上下文概率Skip‑gram ↓ 计算损失预测错误 → 损失大 ↓ 反向传播 梯度下降 → 更新 W 的行修改画册里的画像 ↓ 回到“随机初始化的隐藏层 W” → 重复无数遍 ↓ 训练好的隐藏层 W画册每页是精美的性格画像训练过程反复迭代前向传播输入一个词的 one‑hot → 隐藏层查表取 W 的第 i 行→ 得到当前词的 Word Embedding → 输出层预测上下文或中心词→ 计算损失预测错误则损失大。反向传播根据损失计算梯度 → 更新W的行即修改画册里的画像。重复无数遍直到损失收敛。结果W 从随机乱画的草稿逐渐变成有语义的、精美的性格画像。本质Word2Vec 就是一个画像师通过观察词的上下文来“画”出每个词的向量。核心Word2Vec 算法就是上面从“输入 one‑hot”到“更新 W”的整个循环。隐藏层 W 在训练中不断被优化。阶段二训练完成后使用词向量时训练好的隐藏层 W画册每页是精美的性格画像 ↓ 输入一个 one‑hot比如“苹果”的身份证号 ↓ 隐藏层查表取出 W 的第 i 行 ↓ 得到该词的 Word Embedding最终的性格画像 ↓ 用于下游任务相似度计算、聚类、分类等一句话one‑hot 是索引隐藏层是存储所有向量的矩阵Word Embedding 是被取出的那一行。训练前后对比阶段隐藏层 W画册Word Embedding画像训练前随机初始化乱画无意义向量训练中不断被更新逐渐获得语义训练后固定不再改变有语义的、静态的向量七、大模型中的 EmbeddingGPT、BERT大模型如 GPT、BERT的第一层也是Embedding 层查找表但有以下不同对比项Word2Vec大模型BERT/GPT输入单位单词子词如 BPE 切出的 “un”、“happi”向量维度100300768、1024、4096…动态性静态一个词一个向量不随上下文改变动态初始 Embedding 经过多层 Transformer 后每个词的向量会融合上下文信息同一词在不同句子中向量不同训练方式独立预训练然后作为特征输入端到端训练随整个模型一起优化多义词问题无法区分如“bank”是银行还是河岸可以区分上下文决定比喻大模型也画画像但画得更细子词而且画像会随环境上下文改变。八、面试高频问题 回答要点问题回答要点one‑hot 有什么缺点维度高、稀疏、无语义相似性Word Embedding 的本质从 one‑hot 到低维密集向量的映射通过训练得到Word2Vec 的两种模式区别CBOW上下文猜中心快Skip‑gram中心猜上下文对低频词好为什么 Skip‑gram 对低频词更好低频词作为中心词时每次更新会同时优化多个上下文信息利用率高负采样是什么为什么有用把多分类转为二分类只更新少量负样本极大加速训练怎么评估词向量质量相似度任务、类比推理“国王‑男人女人≈女王”大模型的 Embedding 层和 Word2Vec 有何异同同都是查找表异输入是子词、动态上下文相关、端到端训练什么是静态词向量 vs 动态词向量静态Word2Vec一个词一个向量动态BERT同一词不同上下文不同向量九、一句话总结one‑hot 是身份证号隐藏层Embedding 层是画册Word Embedding 是画册里的性格画像Word2Vec 是画画像的师傅。大模型也画画但画得更细子词而且画像会随环境上下文变化。

更多文章