本教程详细解释了直接卷积计算与Img2Col卷积加速算法的实现原理。
1、直接卷积计算
直接卷积计算一定是很直接的,也是大多数人学习卷积神经网络时所直观了解的卷积计算方式。
直接卷积是按照卷积层的计算特性进行计算,卷积核中的权重矩阵在经过补零后的输入特征图中滑动,每次在输入特征图中会划出一个与权重矩阵大小一致的子矩阵与之进行对应元素的相乘并累加(点积运算)。
具体来讲,对于只有一个通道的输入特征图矩阵 X(5 x 5),现在共有两个卷积核,其中卷积核1的权重为 W1,b1偏置中的所有元素为0;卷积核2的权重为 W2,b2偏置中的所有元素为1;两个卷积核的权重都是 3 x 3 的矩阵,卷积核移动的步长为2,pad 为1。
进行卷积计算时,首先对于输入特征矩阵 X 进行pad补零,由于pad 为1,故将特征矩阵向外延伸一圈,得到矩阵 Xp。
正式计算时,权重 W1 在 Xp 矩阵中的初始位置 X1 开始计算,将权重元素与 Xp 中输入特征子矩阵 X1 处的所有元素进行对应的点积操作,再加上偏置后得到输出特征矩阵 Y1 的第一个元素的值 -2,其计算过程是:0 x 1 + 0 x 0 + 0 x 1 + 0 x 0 &