本来一直在介绍卷积,为什么突然出现一个矩阵乘法呢?
因为如果我们将卷积运算拆开,其中最核心的部分便是一个矩阵乘法。所以,卷积算法可以看做是带滑窗的矩阵乘法。
这里的滑窗,就是卷积运算中所示意的动图那样,所以,我们把滑窗固定,不看卷积核滑动这个动作,那么就是下面的样子。
以本次固定住的滑窗为例:计算过程为:
12.0 = 3x0 + 2x1 + 1x2 + 0x2 + 1x2 + 3x0 + 1x0 + 2x1 + 2x2
这种几个数字相乘并且加加在一起的操作,有点眼熟吗?没错就是两个向量的内积运算。
如果将矩阵乘法用公式写出来,那就是 [M,N] x [N,K] = [M,K],也就是由 MxK次向量内积组成。因此,卷积运算和矩阵乘法,本质上都是多次的向量内积运算,也就是数据的乘累加运算。
所以,这一节以矩阵乘法为例,说清楚这个最核心的算法的本质,就可以搞懂卷积算法的本质了。
本节虽短,但是重点,建议多看几遍