彩色图像卷积的Tensorflow权重?

6

目前,我正在使用一些网络对灰度图像进行分类。我想转向彩色(RGB)图像。

在Tensorflow的CIFAR-10教程中,我对卷积核的权重感到困惑。第一个卷积看起来像这样:

kernel = _variable_with_weight_decay('weights', shape=[5, 5, 3, 64],
                                         stddev=1e-4, wd=0.0)
conv = tf.nn.conv2d(images, kernel, [1, 1, 1, 1], padding='SAME')

因此,它是一个输入为3(每个颜色通道:红色、绿色和蓝色图像信息)的5x5卷积,并生成64个特征映射。

然而,第二个卷积层接受64个特征映射作为输入:

kernel = _variable_with_weight_decay('weights', shape=[5, 5, 64, 64],
                                         stddev=1e-4, wd=0.0)
conv = tf.nn.conv2d(norm1, kernel, [1, 1, 1, 1], padding='SAME')

那么,这个过程如何处理颜色信息?这是否意味着不同的颜色通道在卷积层1的64个特征映射上以某种方式“分散”?

我认为卷积层1为每个颜色通道生成64个特征映射,因此最终得到3 * 64 = 196个特征映射...但显然我错了。

颜色信息在卷积层1中是如何混合的?

1个回答

6
请参见CuDNN说明中的方程式3,链接在此处
基本上,对于单个示例(n)、单行(p)和单列(q),空间卷积的结果将是5x5x3值的加权和。因此,每个激活都包含来自所有三种颜色的信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接