今天继续学习卷积神经网络的基础知识。
7.2.5 三维数据的卷积运算
卷积网络能够处理具有长宽高三个维度形状的数据,之前的例子都是只有长高两个维度的数据。图像是3维数据,除了高、长方向之外,还需要处理通道方向。这里,我们按 照与之前相同的顺序,看一下对加上了通道方向的3维数据进行卷积运算的例子。
图7-8是卷积运算的例子,图7-9是计算顺序。这里以3通道的数据为例, 展示了卷积运算的结果。和2维数据时(图7-3的例子)相比,可以发现纵深 方向(通道方向)上特征图增加了。通道方向上有多个特征图时,会按通道 进行输入数据和滤波器的卷积运算,并将结果相加,从而得到输出。

计算过程如下:

需要注意的是,在3维数据的卷积运算中,输入数据和滤波器的通道数 要设为相同的值。在这个例子中,输入数据和滤波器的通道数一致,均为3。 滤波器大小可以设定为任意值(不过,每个通道的滤波器大小要全部相同)。 这个例子中滤波器大小为(3,3),但也可以设定为(2,2)、(1,1)、(5,5)等任 意值。再强调一下,通道数只能设定为和输入数据的通道数相同的值(本例 中为3)。通道数如果不同,则无法完成相应的相乘。
7.2.6 结合方块思考
将数据和滤波器结合长方体的方块来考虑,3维数据的卷积运算会很 容易理解。方块是如图7-10所示的3维长方体。把3维数据表示为多维数组 时,书写顺序为(channel, height, width)。比如,通道数为C、高度为H、 长度为W的数据的形状可以写成(C,H,W)。滤波器也一样,要按(channel, height, width)的顺序书写。比如,通道数为C、滤波器高度为FH(Filter Height)、长度为FW(Filter Width)时,可以写成(C,FH,FW)。

在这个例子中,数据输出是1张特征图。所谓1张特征图,换句话说, 就是通道数为1的特征图。那么,如果要在通道方向上也拥有多个卷积运算的输出,该怎么做呢?为此,就需要用到多个滤波器(权重)。用图表示的话, 如图7-11所示。

图7-11中,通过应用FN个滤波器,输出特征图也生成了FN个。如果 将这FN个特征图汇集在一起,就得到了形状为(FN,OH,OW)的方块。将 这个方块传给下一层,就是CNN的处理流。
如图7-11所示,关于卷积运算的滤波器,也必须考虑滤波器的数量。因此,作为4维数据,滤波器的权重数据要按(output_channel,input_ channel, height, width)的顺序书写。比如,通道数为3、大小为5×5的滤 波器有20个时,可以写成(20,3,5,5)。


&spm=1001.2101.3001.5002&articleId=148685159&d=1&t=3&u=0d5e7b76237442c4b5a1b64caabb5b61)
2935

被折叠的 条评论
为什么被折叠?



