【发布时间】:2015-02-27 23:31:56
【问题描述】:
当输入层存在多个通道时,卷积操作是如何进行的? (例如 RGB)
在阅读了 CNN 的架构/实现之后,我了解到特征图中的每个神经元都引用了由内核大小定义的图像的 NxM 像素。然后每个像素由学习到的 NxM 权重集(内核/滤波器)的特征图分解、求和,然后输入到激活函数中。对于一个简单的灰度图像,我想该操作将遵循以下伪代码:
for i in range(0, image_width-kernel_width+1):
for j in range(0, image_height-kernel_height+1):
for x in range(0, kernel_width):
for y in range(0, kernel_height):
sum += kernel[x,y] * image[i+x,j+y]
feature_map[i,j] = act_func(sum)
sum = 0.0
但是我不明白如何扩展此模型以处理多个渠道。每个特征图是否需要三个单独的权重集,在每种颜色之间共享?
参考本教程的“共享权重”部分:http://deeplearning.net/tutorial/lenet.html 特征图中的每个神经元都引用第 m-1 层,其中颜色来自不同的神经元。我不明白他们在这里表达的关系。神经元是内核还是像素,为什么它们引用图像的不同部分?
根据我的示例,单个神经元内核似乎专属于图像中的特定区域。为什么他们将 RGB 分量拆分到多个区域?
【问题讨论】:
-
我投票结束这个问题,因为它属于 stats.stackexchange
标签: computer-vision artificial-intelligence neural-network convolution