卷积层的卷积操作
概述
我们通过一个具体的例子来详细解释卷积操作的过程。假设我们有一个简单的输入图像(二维矩阵)和一个卷积核(滤波器),并展示每一步的计算过程。
输入图像
1 2 3 0 1
4 5 6 1 2
7 8 9 0 1
1 2 3 4 5
6 7 8 9 0
卷积核
1 0 1
0 1 0
1 0 1
说明:每次移动的步长为1,不使用填充,即不在输入图像的边缘添加额外的像素。
卷积操作过程
第一步:卷积核与输入图像的左上角对齐
1 2 3 0 1
4 5 6 1 2
7 8 9 0 1
卷积核覆盖的区域
1 2 3
4 5 6
7 8 9
卷积计算
(1*1 + 2*0 + 3*1) + (4*0 + 5*1 + 6*0) + (7*1 + 8*0 + 9*1) = 1 + 3 + 5 + 7 + 9 = 25
第二步:卷积核向右移动一个步长
2 3 0
5 6 1
8 9 0
卷积计算
(2*1 + 3*0 + 0*1) + (5*0 + 6*1 + 1*0) + (8*1 + 9*0 + 0*1) = 2 + 0 + 6 + 8 = 16
第三步,卷积核继续向右移动一个步长
3 0 1
6 1 2
9 0 1
卷积计算
(3*1 + 0*0 + 1*1) + (6*0 + 1*1 + 2*0) + (9*1 + 0*0 + 1*1) = 3 + 1 + 1 + 1 + 9 + 1 = 15
回到第二行
卷积核移到下一行,回到左边
4 5 6
7 8 9
1 2 3
卷积计算
(4*1 + 5*0 + 6*1) + (7*0 + 8*1 + 9*0) + (1*1 + 2*0 + 3*1) = 4 + 6 + 8 + 1 + 3 = 22
继续计算
得到特征图
通过上述步骤,得到的输出特征图(3x3矩阵)如下:
25 16 15
22 21 16
32 27 22