第四章: 大模型(LLM)
第一部分:Embedding is all you need
第二节:如何直觉理解Embedding
一、什么是 Embedding?
Embedding(嵌入) 是一种将高维、稀疏或非结构化数据(如文本、图像、图结构等)映射到低维稠密向量空间的技术。
通俗理解,它是将“概念”转换为“数字表达”,便于计算机理解和操作。
二、直觉类比与类比思维
抽象概念 | 类比方式 |
---|---|
词语/图像/节点 | 坐标点 |
语义相似度 | 距离远近 |
向量维度 | 特征描述空间(如颜色、语气、句法、上下文等) |
举例类比
-
“北京”和“上海”可能距离较近,而“北京”和“足球”可能距离较远。
-
类似于地图上城市的位置,你可以测量城市之间的“距离”,从而推断关系。
三、为何 Embedding 有用?
-
传统的 One-Hot 编码不能表达词与词之间的相似性(每个词向量正交)。
-
Embedding 则能通过训练表达“王 - 男 + 女 ≈ 皇后”这样的语义变换。
-
嵌入向量能用于:
-
分类(输入变得连续可区分)
-
聚类(类似含义的样本聚合)
-
检索(相似向量快速查找)
-
四、数学层面如何实现?
通常通过神经网络进行学习(如 word2vec、BERT 的词嵌入层):
-
输入:离散 ID(如词或节点)
-
输出:稠密向量(如 300 维)
-
优化目标:相似语境的词映射到相近向量
# PyTorch 伪代码
embedding = nn.Embedding(num_embeddings=10000, embedding_dim=300)
word_vector = embedding(torch.tensor([word_id]))
五、常见 Embedding 类型
类型 | 应用领域 | 举例 |
---|---|---|
Word Embedding | NLP词语向量化 | Word2Vec、GloVe |
Node Embedding | 图神经网络 | DeepWalk、Node2Vec |
Image Embedding | 图像检索/识别 | CNN提取中间层特征 |
Sentence Embedding | 语义理解 | BERT, Sentence-BERT |
六、可视化理解(见图)
-
相近词汇在二维平面上聚集(如 king、queen、man、woman)
-
距离代表语义相似度,方向代表语义关系
-
PCA 或 t-SNE 可用于高维嵌入的可视化降维展示
七、小结
-
Embedding 是将语义、结构信息编码为向量的桥梁
-
直觉理解方式:类似地图坐标、几何空间,距离和方向都具含义
-
在大模型中,Embedding 层是理解语言、图像等信息的第一步