为什么深度学习离不开矩阵计算?一篇看懂向量化与 Batch

为什么深度学习离不开矩阵计算?一篇看懂向量化与 Batch

视频来源:B站 @Ai学术叫叫兽
视频链接:https://www.bilibili.com/video/BV1VjKd6hEun/

很多同学学到这里都会问:

为什么深度学习到处都是矩阵?

答案很简单:

模型不是在算一个样本、一个神经元,而是在同时算大量样本、大量特征、大量神经元。矩阵计算就是把重复劳动打包,一次性交给高效底层库和 GPU。


01 核心公式

Z = W X + b
符号含义
X一个 batch 的输入样本
W一层网络的权重矩阵
b偏置,会沿 batch 维度广播
Z当前层输出

比如:

W(3×4) × X(4×5) = Z(3×5)

中间维度4对上,所以能乘;输出取外侧3×5


02 六个关键词

概念小白记法
向量一维数字列表
矩阵二维数字表
张量三维及以上数组
向量化用矩阵运算替代显式循环
并行计算大量相似运算同时执行
Shape 检查用维度规则判断计算能否成立

记住一句话:

看不懂模型时,先别看名字,先看 shape。


03 Batch 是什么?

Batch 不是改变模型含义,而是把多个样本并排计算。

如果一个样本是4×1,5 个样本并排就是:

X(4×5)

权重是:

W(3×4)

那么输出:

Z(3×5)

Z的每一列对应一个样本的输出。

04 为什么向量化更快?

显式 Python 循环是一小步一小步调度:

foriinrange(batch_size):forjinrange(num_neurons):...

向量化写法是:

Z=W @ X+b

底层会调用高效矩阵运算库,并利用硬件并行。

所以向量化不只是代码短,而是执行方式更适合深度学习。


05 课后自测

  1. W(3×4)X(4×5)能否相乘?
  2. 输出 shape 是什么?
  3. Batch 维度表示什么?
  4. 为什么 batch 不是越大越好?
  5. 遇到 shape 报错应该先查什么?

答案核心:

可以相乘,输出 3×5。 Batch 表示一次并排处理多少个样本。 先查输入、输出、中间变量和广播规则。

资料领取

第06讲 PPT、讲义、动画和 NumPy 代码练习可以无偿送给大家。

需要资料的同学,评论区或私信回复:

06向量化

后面继续更新深层神经网络、CNN、YOLO26 训练和部署。想系统补深度学习基础,记得关注。