一、Embedding技术详解
1.1 什么是Embedding?
Embedding(嵌入)是一种将离散的、高维的数据(如文字、图像、音频等)转换为连续的、低维向量表示的技术。这些向量能够捕捉原始数据的语义信息和内在关系,使得计算机能够以数学方式理解和处理这些复杂数据。
核心特点:
-
维度压缩:将高维稀疏数据(如one-hot编码)转换为低维稠密向量
-
语义保留:语义相似的项目在向量空间中距离相近
-
连续性:使用实数向量表示,支持数学运算
-
可迁移性:预训练的嵌入可以在不同任务间共享
1.2 Embedding的工作原理
Embedding本质上是一个从离散空间到连续向量空间的映射函数:
f: X → R^n
其中X是原始数据空间,R^n是n维实数向量空间。这个映射通常通过机器学习模型自动学习得到。
学习过程:
-
定义目标函数(如预测上下文词)
-
通过神经网络等模型学习映射关系
-
优化参数使得相似输入产生相近输出
1.3 主要Embedding技术
1.3.1 词嵌入(Word Embedding)
方法 | 特点 | 典型维度 | 训练方式 |
---|---|---|---|
Word2Vec | 轻量高效 | 100-300 | 预测上下文/中心词 |
GloVe | 基于全局统计 | 50-300 | 词共现矩阵分解 |
FastText | 包含子词信息 | 100-300 | 类似Word2Vec |
1.3.2 句子/文档嵌入
-
Doc2Vec:扩展Word2Vec,增加段落向量
-
InferSent:基于监督学习的句子编码器
-
Universal Sentence Encoder:支持多任务训练的通用编码器
1.3.3 图嵌入
# Node2Vec示例
from node2vec import Node2Vec# 创建图
G = nx.karate_club_graph()# 初始化模型
node2vec = Node2Vec(G, dimensions=64)# 训练模型
model = node2vec.fit(window=10)
1.3.4 图像嵌入
常用预训练CNN模型的中间层作为嵌入:
-
VGG16的fc1层(4096维)
-
ResNet50的avg_pool层(2048维)
-
EfficientNet的top层(1280维)
1.4 Embedding评估方法
-
内在评估:
-
词类比任务(king - man + woman ≈ queen)
-
相似度计算(与人工标注比较)
-
-
外在评估:
-
在下游任务(如分类、聚类)中的表现
-
迁移学习效果
-
二、Embedding与大模型的关系
2.1 大模型中的Embedding层
现代大模型(如GPT、BERT)都包含Embedding层作为输入处理的第一阶段:
[输入文本] → [Tokenization] → [Embedding层] → [Transformer层] → [输出]
典型结构:
-
Token Embedding:词/子词级别的向量表示
-
Position Embedding:位置信息编码
-
Segment Embedding(BERT等):区分不同句子
2.2 Embedding在大模型中的作用
-
语义基础:
-
为模型提供初始的语义表示
-
影响模型对输入的理解能力
-
-
维度管理:
-
将高维离散输入转换为适合神经网络处理的格式
-
典型维度:GPT-3为12288维
-
-
知识载体:
-
预训练嵌入包含语言统计规律
-
微调时可以保持冻结或继续训练
-
2.3 大模型带来的Embedding革新
-
上下文相关嵌入:
-
传统嵌入是静态的(每个词固定向量)
-
Transformer产生动态嵌入(如BERT:"bank"在"river bank"和"bank account"中不同)
-
-
统一嵌入空间:
-
多模态模型(如CLIP)实现文本-图像统一嵌入
-
支持跨模态检索和生成
-
-
规模效应:
-
大模型的嵌入维度显著增加(GPT-3约12k维)
-
表征能力随模型规模提升
-
2.4 实践对比
传统NLP流水线:
原始文本 → 分词 → Word2Vec嵌入 → 特征工程 → 机器学习模型
大模型范式:
原始文本 → 子词切分 → 模型嵌入层 → Transformer处理 → 任务输出
关键区别:
-
端到端训练(嵌入与模型共同优化)
-
上下文敏感
-
减少特征工程
延伸阅读:
-
Attention Is All You Need
-
BERT: Pre-training of Deep Bidirectional Transformers
-
Efficient Estimation of Word Representations in Vector Space