为什么深度学习离不开矩阵计算?一篇看懂向量化与 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 课后自测
W(3×4)和X(4×5)能否相乘?- 输出 shape 是什么?
- Batch 维度表示什么?
- 为什么 batch 不是越大越好?
- 遇到 shape 报错应该先查什么?
答案核心:
可以相乘,输出 3×5。 Batch 表示一次并排处理多少个样本。 先查输入、输出、中间变量和广播规则。资料领取
第06讲 PPT、讲义、动画和 NumPy 代码练习可以无偿送给大家。
需要资料的同学,评论区或私信回复:
06向量化后面继续更新深层神经网络、CNN、YOLO26 训练和部署。想系统补深度学习基础,记得关注。
