向量(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。
基本运算
为什么 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