Chapter 02

矩阵乘法

两个矩阵的积由前矩阵的行与后矩阵的列做内积填满新矩阵。

按章节的深度学习图示

每完成一章,下方图示会逐步填满。这是目前的结构。

X1X2X3Y1Y2Y3权重A·B矩阵积结果

左侧是矩阵 A 的一行,右侧 Y1~Y3 是与矩阵 B 各列的内积结果,合起来就是 A·B 矩阵积。

深度学习中的矩阵乘法

矩阵乘法把两个数表(矩阵)合并成一个新数表。取前矩阵的某一行与后矩阵的某一列内积,得到的数填入结果矩阵对应位置。

所有「行×列」的组合重复上述过程,结果矩阵就填满了。例如 2×3 矩阵乘以 3×2 矩阵,得到 2×2 的结果。

能做矩阵乘法的条件:前矩阵的列数必须等于后矩阵的行数。记住这一点,就能判断任意两个矩阵能否相乘。

深度学习中的线性层用权重矩阵乘输入——这就是矩阵乘法。假设有 10 个神经元,本需做 10 次内积,矩阵乘法一次就能全部算完

GPU 专门为大规模并行矩阵乘法而设计。正因如此,数百万次乘法能在瞬间完成,才有了实时图像识别和聊天机器人。

深度学习中几乎所有操作都可以归结为矩阵乘法——注意力、卷积、循环网络无一例外。理解矩阵乘法就是理解深度学习的骨架。

图像识别:像素值排成矩阵,与权重矩阵相乘来提取「是狗还是猫?」等特征。这个过程在多层中反复进行。

聊天机器人与翻译:ChatGPT 和 Google 翻译将句子转为数值矩阵,再与庞大的权重矩阵相乘数十到数百次来生成回答。计算量中大部分就是矩阵乘法。

推荐系统与自动驾驶:Netflix 一次性为数千用户算推荐分数,自动驾驶汽车从摄像头画面识别障碍物——背后都是大规模矩阵乘法。

求某个元素:结果的 (i, j) 元素 = A 的第 i 行B 的第 j 列的内积。逐元素相乘再求和即可。

填空策略:如果空白在结果中,只需算对应行与列的内积。如果空白在 A 或 B 中,利用已知的结果值和其他元素反推即可。

检查维度:相乘前确认 A 的列数等于 B 的行数。结果矩阵大小为 (A 的行数) × (B 的列数)。

A的一行 × B的一列(内积)→ 结果矩阵的一个元素

A
1
2
3
4
×
B
5
6
7
8
=
ABA \cdot B
19
22
43
50

该元素A 第2行 · B 第2列(一次内积)

A 第2行[3, 4], B 第2列[6, 8]
3×6 = 18
4×8 = 32
ABA \cdot B [1,1] = 18 + 32 = 50
ABA \cdot B [0,0]191×5 + 2×7 = 19
ABA \cdot B [0,1]221×6 + 2×8 = 22
ABA \cdot B [1,0]433×5 + 4×7 = 43
ABA \cdot B [1,1]503×6 + 4×8 = 50

题目

求下列矩阵积 ABA \cdot B 中空格(?)处应填的数。

A
0
2
-2
1
×
B
-2
-3
2
-1
=
ABA \cdot B
4
-2
5
1 / 20