神经网络相关的向量嵌入,语义理解
一、为什么神经网络需要“向量嵌入”(Embedding)?
计算机最擅长处理数字。
但是人类语言是:
cat
dog
king
queen
apple
这些都是文字,计算机不能直接理解。
所以第一步:
把离散的符号(文字、图片、用户、商品等)转换成连续的数字向量。
这个过程叫:
简单说:
Embedding = 给每个东西分配一个数字坐标,让计算机可以用数学方式比较它们。
二、最简单的例子:把词变成数字
假设只有三个词:
cat
dog
car
最简单的方法:
编号:
cat = 1
dog = 2
car = 3
问题:
数学上:
计算机会认为:
dog 比 cat 大
但是:
数字大小没有任何语义意义。
所以不能简单编号。
三、One-hot 向量:早期方法
可以这样表示:
三个词:
cat
dog
car
建立三个维度:
| 词 | 向量 |
|---|---|
| cat | [1,0,0] |
| dog | [0,1,0] |
| car | [0,0,1] |
例如:
cat:
dog:
问题:
每个词互相完全独立。
计算:
cat 和 dog 的距离:
和:
没有关系。
但是人类知道:
cat 和 dog 很相似
所以需要更好的表示。
四、Embedding:让相似的东西靠近
Embedding 的思想:
不要给词一个编号。
而是给它一个坐标。
例如二维空间:
动物
|
|
dog cat
\ /
\ /
\ /
---------------- 食物
\
\
apple
数学表示:
cat:
dog:
apple:
现在:
cat 和 dog:
距离:
很小。
apple 和 cat:
距离:
很大。
于是:
数学距离反映语义相似程度。
五、但是词为什么会自动得到这种位置?
这是神经网络最关键的地方。
答案:
通过训练调整向量。
例如:
训练一句话:
The cat eats fish
模型看到:
cat
fish
经常一起出现。
于是训练过程中:
让:
靠近:
远离:
慢慢调整。
六、Embedding 本质是什么数学东西?
Embedding 本质就是一个矩阵:
叫:
假设:
10000 个词。
每个词:
300维。
那么:
形状:
例如:
第100个词:
就是:
这个词的位置
七、神经网络如何查找词向量?
假设:
cat 的编号:
输入:
实际上做:
查表:
得到:
这个300个数字:
就是 cat 的语义表示。
八、为什么向量可以表示“意思”?
关键:
向量之间可以计算关系。
1. 相似性
常用:
余弦相似度:
例如:
cat:
dog:
点积比较大:
说明方向接近。
2. 方向代表关系
这是 Embedding 最神奇的地方。
例如:
经典例子:
计算:
结果:
接近:
为什么?
因为模型学到了:
男性 -> 女性
这种语义方向。
数学:
king
|
|
man
queen
|
|
woman
两个关系方向类似。
九、进入 Transformer 后,Embedding 发生了什么变化?
传统 Word Embedding:
一个词:
永远一个向量。
例如:
bank:
银行
或者:
河岸
以前:
只有:
但是 Transformer:
会根据上下文改变。
例如:
句子1:
I deposited money in the bank
bank:
得到:
含义:
银行。
句子2:
I sat near the river bank
得到:
含义:
河岸。
这叫:
Contextual Embedding(上下文嵌入)
十、为什么 Transformer 可以做到上下文理解?
因为 Attention。
输入:
I deposited money in the bank
每个词先有初始 Embedding:
例如:
bank:
然后生成:
计算:
bank 的 Query 会寻找:
哪些词和我相关?
找到:
money
deposited
于是:
bank 的新向量融合这些信息。
变成:
它已经不是简单的 bank。
而是:
银行(bank)
+ 金钱(money)
+ 存款(deposit)
的综合表示。
十一、从数学角度看“理解”是什么?
神经网络没有像人一样理解。
它做的是:
建立高维空间中的关系。
例如:
二维:
动物区域:
cat
dog
lion
交通区域:
car
bus
train
真实模型:
不是二维。
GPT 的隐藏空间可能:
几千维。
例如:
一个词:
有:
4096个数字。
每个维度可能代表某种抽象特征。
例如:
某些维度可能:
动物性
某些:
时间关系
某些:
情感倾向
但是:
没有人工指定。
它们是训练自动形成的。
十二、把整个过程串起来
完整流程:
1. 文字
cat
↓
2. Token 编码
1234
↓
3. Embedding 查表
得到:
↓
4. Transformer 多层处理
每层:
↓
Attention:
↓
得到新的向量:
↓
5. 输出预测
根据最终向量:
预测下一个 token。
十三、最核心的几个概念总结
| 概念 | 通俗理解 | 数学形式 |
|---|---|---|
| Embedding | 给东西建立数字坐标 | 向量 |
| Vector | 一组描述特征的数字 | [0.2,0.8,...] |
| 距离 | 两个东西是否相似 | 欧氏距离 |
| 方向 | 关系模式 | 向量减法 |
| 训练 | 不断调整数字 | 梯度下降 |
| 语义理解 | 学习向量空间中的关系 | 高维几何 |
| Attention | 根据上下文重新组合信息 | Q,K,V |
一句话总结:
神经网络的“理解”不是把文字变成规则,而是把文字变成高维空间中的向量,通过数学关系(距离、方向、组合)表示意义,再通过训练不断调整这些向量,使它们能够完成预测任务。
而 Transformer 的突破在于:
它不再使用固定的词向量,而是根据上下文动态生成新的语义向量,因此同一个词在不同句子中可以拥有不同含义。

浙公网安备 33010602011771号