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 的核心组件。

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

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

相关推荐
库森学长4 小时前
一文带你 "看见" MCP 的过程,彻底理解 MCP 的概念
llm·ai编程·mcp
MrSYJ5 小时前
Chat Memory你知道怎么用吗
llm·openai·ai编程
Baihai_IDP6 小时前
AI Agents 能自己开发工具自己使用吗?一项智能体自迭代能力研究
人工智能·面试·llm
大模型教程20 小时前
8GB显存笔记本能跑多大AI模型?这个计算公式90%的人都不知道!
程序员·llm·agent
大模型教程21 小时前
大模型应用开发到底有多赚钱?看完这5个真实案例,你会惊掉下巴
程序员·llm·agent
AI大模型21 小时前
别乱装!Ollama×DeepSeek×AnythingLLM一键本地AI知识库,快人10倍
程序员·llm·agent
聚客AI1 天前
🌟大模型为什么产生幻觉?预训练到推理的漏洞全揭秘
人工智能·llm·掘金·日新计划
302AI1 天前
302.AI 实战指南丨将任意 API 转为 MCP Server,释放 AI 生产力
llm·api·mcp
花酒锄作田1 天前
[MCP][06]持久化记忆
llm·mcp