开头:为什么要写这篇文章
在人工智能和深度学习的入门阶段,很多人都会被"向量、矩阵、张量"这几个词反复包围。它们频繁出现在论文、代码、框架文档和课程讲义中,看似只是数学概念,却决定了数据如何表示、模型如何计算、参数如何更新。
写这篇文章的原因很直接:如果不理解这三类数据结构的本质和分工,就很难真正看懂一个神经网络在做什么。本文将从实际应用出发,讲清向量、矩阵、张量在AI中的具体角色,并给出表格、示意和常见问题解答,帮助读者建立"形状思维"。
一、基本层级:从标量到张量
在AI系统中,数据通常被组织为不同维度的数字容器。标量、向量、矩阵、张量之间的关系,可以用下表概括:
张量是向量和矩阵的推广:向量是1维张量,矩阵是2维张量,标量是0维张量。下图可以直观展示这种层级关系:
text
标量:3.7
向量:0.2, 0.8, 0.1
矩阵:\[0.2, 0.8,
0.1, 0.5\]
张量:\[\[0.2, 0.8],
\[0.1\], \[0.5\]\]

标量、向量、矩阵、张量的维度关系
理解这个层级,是理解后续所有内容的前提。
二、向量:AI中最小的完整信息单元
向量在AI中通常表示一个样本、一个词、一个输出结果或一组偏置。
2.1 特征表示
一个样本往往被编码为一个向量。例如房价预测中,一套房子可以表示为:
text
面积, 卧室数, 房龄, 到地铁距离\] = \[98, 3, 10, 0.5
这个向量就是模型的输入。
2.2 词嵌入与语义表示
自然语言处理中,每个词或token会被映射为一个稠密向量,称为词嵌入。例如"猫"可能表示为:
text
0.12, -0.45, 0.78, ...
语义相近的词,其向量距离更近。这种向量表示让语言变得可计算。
2.3 输出与预测
分类模型的输出通常是一个向量,表示每个类别的概率或logits。例如三分类问题:
text
0.1, 0.7, 0.2 → 预测为第2类
2.4 偏置与梯度
神经网络每一层的偏置项b是一个向量;反向传播时,每个参数的梯度也是同形状的向量。向量因此贯穿前向与反向计算。
三、矩阵:模型参数与批量计算的核心
矩阵在AI中承担着更复杂的角色,尤其是权重存储和批量数据处理。
3.1 权重矩阵
全连接层或线性层本质上是一个矩阵乘法:
text
y = xW + b
其中:
- x:输入向量,形状 d_in
- W:权重矩阵,形状 d_in, d_out
- b:偏置向量,形状 d_out
- y:输出向量,形状 d_out
权重矩阵是模型可学习的核心参数,训练过程就是不断更新这些矩阵。
3.2 批量数据
实际训练时,通常一次处理多个样本,形成矩阵:
text
X.shape = batch_size, d_in
每一行是一个样本向量。这种批量矩阵运算可以充分利用GPU并行能力。
3.3 注意力矩阵
在Transformer中,注意力机制会计算一个矩阵:
text
Attention(Q,K,V) = softmax(QKᵀ / √d_k)V
其中QKᵀ得到一个 T,T 的矩阵,表示序列中任意两个token之间的相关性。矩阵因此成为捕捉上下文关系的核心结构。
3.4 嵌入表
词嵌入层通常用一个矩阵存储所有词的向量:
text
Embedding矩阵形状 = vocab_size, embedding_dim
查表操作就是从矩阵中取出一行。矩阵在这里是"词典"与"向量"之间的桥梁。
四、张量:高维数据的天然容器
当数据超过二维时,就需要张量来组织。
4.1 图像与视频数据
图像是天然的三维张量:高度 × 宽度 × 通道。批量图像则是四维张量:
text
batch_size, channels, height, width
例如32张RGB的224×224图像:
text
32, 3, 224, 224
视频则是五维张量:
text
batch_size, frames, channels, height, width

批量图像张量的形状示意
4.2 卷积核与特征图
卷积神经网络中的卷积核是四维张量:
text
out_channels, in_channels, kernel_height, kernel_width
特征图也是四维张量,经过多层卷积后形状不断变化。张量让局部特征提取在数学上变得统一。
4.3 序列数据与NLP
在Transformer中,一个批量的token序列经过嵌入后变成三维张量:
text
batch_size, sequence_length, embedding_dim
例如:
text
16, 128, 768 → 16句话,每句128个token,每个token 768维
4.4 多头注意力中的张量
多头注意力会将嵌入维度拆成多个头,形成四维张量:
text
batch_size, num_heads, seq_len, head_dim
这样可以在不同子空间并行计算注意力,提升模型表达能力。
五、张量运算:AI计算的基石
AI模型的前向传播和反向传播,本质上是一系列张量运算的组合:
在PyTorch、TensorFlow、JAX等框架中,张量是核心数据结构。所有输入、输出、参数、梯度都用张量表示,并且支持GPU/TPU并行加速。自动微分系统会跟踪张量运算,自动计算梯度。可以说,掌握张量的形状变化,就掌握了深度学习工程的一半。
六、总结与AI未来展望
总结来看,向量、矩阵、张量在AI中的分工非常明确:
它们是AI的"语言":数据用它们表示,模型参数用它们存储,计算用它们完成。
展望未来,随着大模型、多模态和科学计算的发展,张量的角色还会继续扩展。更高维度的张量将用于表示视频、点云、分子结构、气象场等复杂数据;稀疏张量和低精度张量会帮助降低训练成本;自动形状推导和编译优化会让张量运算更高效。与此同时,张量计算与硬件架构的协同设计,也将成为AI系统演进的重要方向。理解向量、矩阵、张量,依然是进入AI世界的必要入口。
FAQ
1. 标量、向量、矩阵、张量到底有什么区别?
标量是单个数字,向量是一维数组,矩阵是二维数组,张量是任意维数组。它们在AI中分别用于表示不同复杂度的数据:损失值是标量,样本特征是向量,权重是矩阵,批量图像是高维张量。
2. 为什么图像在深度学习里通常是4维张量?
单张彩色图像是高×宽×通道的三维张量。为了批量训练,需要把多张图像堆叠起来,增加一个批量维度,形成 batch_size, channels, height, width 的四维张量,便于GPU并行计算。
3. 神经网络中的权重矩阵具体起什么作用?
权重矩阵存储线性变换的参数。输入向量与权重矩阵相乘,再叠加偏置,就得到输出向量。训练的目标就是通过梯度下降不断调整权重矩阵,使模型预测更准确。
4. 词嵌入矩阵是如何表示语言信息的?
词嵌入矩阵形状为 词表大小, 嵌入维度,每一行对应一个词的向量。语义相近的词,其向量在空间中更接近。模型通过查表获取词向量,再将它们送入后续网络处理。
5. 学习AI必须精通张量运算吗?
不必先成为数学专家,但必须理解张量形状和基本运算。实际开发中,框架会自动完成大部分数学计算,但数据维度不匹配、形状错误是常见问题。掌握形状思维比手算张量更重要。