向量(Vector)

同时具有大小和方向的数学对象,用一组有序数字表示。比如"向东 300 米、向北 400 米"写成 $(300, 400)$,既说明了走多远,又说明了往哪走。在机器学习中,文字、图片等数据都会被转化为向量来计算。

向量(Vector)

一句话理解

向量是一个 既有大小又有方向 的量——几何上是一个箭头,代数上是一组有序数字。

直觉

导航软件说"向东走 500 米"——这就是一个向量:500 米是大小,东是方向。如果只说"走 500 米"但不给方向,那只是一个标量。

表示方式

一个 nnn 维向量就是一组 nnn 个数字:

v=[v1,v2,...,vn]\vec{v} = [v_1, v_2, ..., v_n]v=[v1,v2,...,vn]
  • 二维向量 [3,4][3, 4][3,4]:平面上的箭头
  • 三维向量 [255,128,0][255, 128, 0][255,128,0]:一个 RGB 颜色
  • 768 维向量:一个词在 Transformer 中的 Embedding

前端类比:向量就是一个定长数组。[3, 4]number[],维度就是 length

基本运算

运算公式含义
加法a+b=[a1+b1,a2+b2,...]\vec{a} + \vec{b} = [a_1+b_1, a_2+b_2, ...]a+b=[a1+b1,a2+b2,...]对应位置相加(CSS 多次 translate 就是向量加法)
标量乘法kv=[kv1,kv2,...]k\vec{v} = [kv_1, kv_2, ...]kv=[kv1,kv2,...]放大/缩小/反转箭头
点积ab=aibi\vec{a} \cdot \vec{b} = \sum a_i b_iab=aibi衡量两个向量的方向一致性
模长v=vi2\|\vec{v}\| = \sqrt{\sum v_i^2}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

引用本术语的文章