Transformer之词嵌入 | 为什么要做词嵌入?

在自然语言处理(NLP)的发展历程中,如何有效地表示词语是构建智能语言系统的关键基础。

传统的符号化表示方法难以捕捉语义信息,而现代深度学习模型依赖于连续、低维且富含语义的向量表示。

本文围绕"为什么要做词嵌入"这一核心问题,系统阐述One-Hot编码的局限性,介绍词嵌入(Word Embedding)的基本原理与优势。

并进一步探讨位置嵌入(Position Embeding)在序列建模中的必要性,逻辑清晰地呈现词表示技术的演进路径。

一、为什么要做词嵌入?

语言的本质是意义的传递,而机器理解语言的前提是将文本转化为可计算的数学形式。

早期方法将词语视为离散符号,但这种表示方式无法反映词语之间的语义关系。例如,"医生"和"护士"在语义上相关,但在符号层面彼此孤立。

词嵌入的核心目标就是为了解决这一问题:

实现语义表示:通过将词语映射到连续向量空间,使语义相近的词在向量空间中距离更近(如"国王"与"王后")。

支持泛化能力:模型可通过向量运算捕捉类比关系(如"巴黎 - 法国 + 意大利 ≈ 罗马")。

提升计算效率:相比高维稀疏表示,低维稠密向量显著降低存储与计算开销。

适配深度学习框架:为神经网络提供可微、可学习的输入表示,支持端到端训练。

因此,词嵌入不仅是技术手段,更是连接语言学与机器学习的桥梁,构成了现代 NLP 系统的基石。

二、One-Hot Encoding:简单但低效

One-Hot编码是一种最基础的词表示方法。

1. 原理

给定一个大小为 V 的词汇表,每个词用一个 V 维向量表示,其中仅对应位置为1,其余为0。

例如,词汇表为 ["猫", "狗", "鸟"],则"狗"的 One-Hot 向量为 [0, 1, 0]。

2. 优点

实现简单,逻辑清晰。

每个词有唯一、明确的标识。

3. 缺陷

高维稀疏:当词汇表庞大时(如10万词),向量维度极高,99%以上为零值,造成资源浪费。

无语义信息:任意两个不同词的向量正交(余弦相似度为0),无法体现"猫"与"狗"比"猫"与"石头"更相近的事实。

无法泛化:模型难以从已知词推断未知词的语义,缺乏迁移能力。

不支持相似性计算:无法回答"与'快乐'最接近的词是什么"。

由于上述局限,One-Hot 编码仅适用于教学演示或极简系统,无法满足现代 NLP 需求。

三、Word Embedding:语义向量

词嵌入(Word Embedding)将每个词映射为一个低维实数向量(如128或300维),通过在大规模语料上训练获得,使得向量空间能够反映词语的语义和语法特性。

1. 核心思想

"一个词的含义由其上下文决定"------分布假说(Distributional Hypothesis)。

词嵌入正是这一思想的数学实现:频繁共现的词在向量空间中距离更近。

主要方法

Word2Vec(Mikolov et al., 2013)

包括 CBOW(根据上下文预测中心词)和 Skip-gram(根据中心词预测上下文),通过浅层神经网络学习词向量,高效且效果显著。

GloVe(Pennington et al., 2014)

基于全局词共现统计矩阵进行因子分解,结合了全局统计与局部上下文优势。

FastText(Bojanowski et al., 2017)

将词分解为 n-gram 子词单元,支持未登录词(OOV)的表示,尤其适合形态丰富的语言。

2. 优势

向量稠密、维度低,适合大规模计算。

捕捉语义相似性(如"汽车"≈"轿车")和语法规律(如动词时态、复数形式)。

可预训练、可迁移,广泛用于文本分类、命名实体识别、机器翻译等任务。

3. 局限

静态表示:每个词只有一个固定向量,无法处理一词多义(如"苹果手机" vs "吃苹果")。

对低频词表示效果较差。

注:后续发展如 ELMo、BERT 等动态嵌入模型通过上下文感知解决了多义性问题,但其输入层仍依赖基础词嵌入机制。

四、Position Embedding:为序列注入顺序信息

尽管词嵌入成功表达了语义,但它本身不包含词序信息。而语言是序列性的,"我爱你"与"你爱我"语义完全不同。

在 RNN、LSTM 等时序模型中,顺序通过时间步隐式建模;但在 Transformer 等并行架构中,必须显式引入位置信息。

1. 为什么需要位置嵌入?

Transformer 模型通过自注意力机制并行处理所有词,失去了天然的顺序感知能力。

若无位置信息,模型将无法区分句子中词的排列顺序,导致语义混乱。

2. 实现方式

(1)学习式位置嵌入(Learned Position Embedding)

为每个位置(如第1位、第2位......)分配一个可训练的向量。

在 BERT、RoBERTa 等模型中采用。

优点:灵活,可适应任务需求。

缺点:受限于训练时的最大长度,难以外推到更长序列。

(2)函数式位置嵌入(Sinusoidal Position Embedding)

使用正弦和余弦函数生成固定位置编码,定义如下:

其中 pos 为位置索引,i 为维度索引,d 为嵌入维度。

在原始 Transformer 中使用。

优点:可泛化到比训练更长的序列;能隐式表示相对位置。

3. 与词嵌入的融合

最终输入表示为两者的逐元素相加:

Input Embedding=Word Embedding+Position Embedding

这一设计使得模型既能理解"谁在说什么",也能知道"谁先说、谁后说"。

4. 发展趋势

近年来,相对位置编码(Relative Position Encoding)、旋转位置编码(RoPE)等改进方法被提出,进一步提升了长序列建模能力。

五、总结与对比

词表示技术的演进反映了 NLP 从符号化到分布式、从静态到动态、从局部到全局的发展趋势。

One-Hot 编码是词表示的起点,但因缺乏语义和效率低下而被淘汰。

词嵌入实现了语义的连续化表达,是现代 NLP 的核心组件。

位置嵌入弥补了词嵌入对顺序不敏感的缺陷,使非循环结构也能处理序列数据。

在实际系统中,词嵌入与位置嵌入协同工作,共同构成语言模型的输入表示。

相关推荐
chaofa用代码打点酱油1 天前
RAG 进化之路:传统 RAG 到工具与强化学习双轮驱动的 Agentic RAG
算法·llm
山顶夕景1 天前
【MLLM】Qwen3-Omni全模态模型源码解读
大模型·llm·多模态·mllm
阿福Chris1 天前
Dify本地初始化后安装模型供应商瞬间失败控制台报错401
大模型·llm·dify·大模型工具
镰刀韭菜2 天前
【AI4S】DrugChat:迈向在药物分子图上实现类似ChatGPT的功能
llm·图神经网络·预训练·gnn·ai4s·drugchat·药物分子图谱
山顶夕景3 天前
【LLM-RL】GSPO算法Group Sequence Policy Optimization
llm·强化学习·rlhf·gspo
余衫马3 天前
llama.cpp:本地大模型推理的高性能 C++ 框架
c++·人工智能·llm·llama·大模型部署
yaocheng的ai分身3 天前
A16Z 大佬 Alex Rampell《Software Is Eating Labor》演讲
llm
utmhikari3 天前
【测试人生】LLM赋能游戏自动化测试的一些想法
自动化测试·游戏·ai·大模型·llm·游戏测试
智泊AI3 天前
突然发现:大模型RAG优化思路真的好清晰!
llm
玩转AGI3 天前
【必收藏】12-Factor Agents:让大模型Agent从能跑起来到能用起来的企业级设计指南
人工智能·程序员·llm