矩阵乘法为什么这么算?一个不太正经的解释

线性代数 Aug 22, 2021

用“奶茶订单”来理解

假设你开了一家奶茶店,有三种产品:珍珠奶茶(10元)、杨枝甘露(15元)、椰椰拿铁(12元)。

今天来了三个顾客:小明(2杯珍珠,1杯杨枝,0杯椰椰)、小红(1杯珍珠,3杯杨枝,2杯椰椰)、小刚(0杯珍珠,2杯杨枝,4杯椰椰)

小明的账单 = 2×10 + 1×15 + 0×12 = 35元

这不就是矩阵乘法吗?

[2 1 0]   [10]    [35]
[1 3 2] × [15] =  [85]
[0 2 4]   [12]    [78]

为什么不能反过来乘?

左矩阵的列数必须等于右矩阵的行数。说白了:维度要对齐。就像你不能把“奶茶杯数”和“气温”加在一起一样。

矩阵乘法在实际中有什么用?

  • 神经网络:ChatGPT 底层全是矩阵乘法
  • 3D 游戏:你打《原神》的时候,每个角色背后都是一堆 4×4 矩阵在狂飙相乘
  • 图片处理:美颜滤镜、PS 里的各种效果,全是拿矩阵和“卷积核”做乘法

两个 1000×1000 的矩阵相乘,要做 10 亿次乘法。这就是为什么 GPU 比 CPU 更适合做矩阵运算

Tags