为什么深度学习离不开矩阵计算?一篇看懂向量化与 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 循环是一小步一小步调度:

for i in range(batch_size):
    for j in range(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 训练和部署。想系统补深度学习基础,记得关注。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐