向量(Vector)
同时具有大小和方向的数学对象,用一组有序数字表示。比如"向东 300 米、向北 400 米"写成 $(300, 400)$,既说明了走多远,又说明了往哪走。在机器学习中,文字、图片等数据都会被转化为向量来计算。
向量(Vector)
一句话理解
向量是一个 既有大小又有方向 的量——几何上是一个箭头,代数上是一组有序数字。
直觉
导航软件说"向东走 500 米"——这就是一个向量:500 米是大小,东是方向。如果只说"走 500 米"但不给方向,那只是一个标量。
表示方式
一个 n 维向量就是一组 n 个数字:
v=[v1,v2,...,vn]- 二维向量 [3,4]:平面上的箭头
- 三维向量 [255,128,0]:一个 RGB 颜色
- 768 维向量:一个词在 Transformer 中的 Embedding
前端类比:向量就是一个定长数组。[3, 4] 是 number[],维度就是 length。
基本运算
| 运算 | 公式 | 含义 |
|---|---|---|
| 加法 | a+b=[a1+b1,a2+b2,...] | 对应位置相加(CSS 多次 translate 就是向量加法) |
| 标量乘法 | kv=[kv1,kv2,...] | 放大/缩小/反转箭头 |
| 点积 | a⋅b=∑aibi | 衡量两个向量的方向一致性 |
| 模长 | ∥v∥=∑vi2 | 箭头的长度(勾股定理推广) |
为什么 AI 中处处是向量
神经网络只能做数学运算,不能直接处理文字和图片。向量是将一切数据转化为数字的统一接口:
- 文本 → Token → Embedding → 向量
- 图片 → 像素矩阵 → CNN/ViT → 特征向量
- 音频 → 频谱 → 编码器 → 向量
Transformer 里的每一步操作——Embedding、Attention、FFN——本质上都是向量的变换。理解向量运算,就理解了大模型的数学底座。
高维向量的直觉
768 维画不出来,但关键认知是:前面学的所有运算在任意维度上都一模一样地工作。二维的加法、点积、余弦相似度,和 768 维的完全相同——只是数组更长了。
js
// 二维
dot([1, 2], [3, 4]); // 1*3 + 2*4 = 11
// 768 维 —— 逻辑完全一样
dot(Array(768), Array(768)); // Σ a_i * b_i
引用本术语的文章