卷积神经网络的每个过滤器中有多少个参数?我的书上说:
"在彩色图像中,每个滤镜本身就是一个3D滤镜。这意味着每个过滤器有许多参数:
(height x width x depth) = (3 x 3 x 3 = 27)
。你可以看到在处理彩色图像时网络的复杂性是如何增加的,因为它必须优化更多的参数…">
这听起来像是说2 X 2
过滤器实际上是2 X 2 X 3
,用于彩色图像。然而,Keras中的参数特征似乎第一次将过滤器计数为3D,但随后的次数仅将其计数为2D。
下面是我的输出数据:
图层(类型) | 输出形状 | 参数# | conv2d (conv2d) | (没有,32岁,32岁,16) | 208 |
---|---|---|
max_pooling2d (MaxPooling2D) | (16), 16日16日 | 0 |
conv2d_1 (Conv2D) | (32), 16日16日 | 2080 |
max_pooling2d_1 (MaxPooling2 | (没有8 8,32) | 0 |
conv2d_2 (Conv2D) | (64年没有8 8) | 8256 |
max_pooling2d_2 (MaxPooling2 | (64年没有4 4) | 0 |
在卷积中,当它们表示过滤器是(高度x宽度x深度)形状时,深度"是指来自前一个输入的通道数,它不一定是RGB图像(它可能来自前一个卷积)。
对于第二次卷积有2080个参数而不是6176个,输入深度实际上是16个通道而不是3个,因为你的第一次卷积将通道数量增加到16个,所以正确的计算将是(2 * 2 * 16 * 32)+ 32等于2080。
同样地,对于第三个卷积,由于它的输入从第二个卷积的输出有32个通道,它的参数数量将等于(2 * 2 * 32 * 64)+ 64,等于8256个参数。