关于卷积网络偏差的问题


11

我试图找出CNN需要多少权重和偏见。

假设我有一个(3,32,32)图像,并想应用(32,5,5)滤镜。对于每个功能图,我有5x5的权重,所以我应该有3 x(5x5)x 32的参数。现在,我需要添加偏见。我相信我只有(3 x(5x5)+ 1)x 32个参数,因此所有颜色(RGB)的偏差都一样吗?

它是否正确?当我使用不同的权重时,是否在每个图像的深度(在本例中为3)上保持相同的偏差?这是为什么?

Answers:


6

偏置针对每个虚拟神经元进行操作,因此在有单个输出的情况下拥有多个偏置输入没有任何价值-等同于将不同的偏置权重加到单个偏置中。

在作为第一隐藏层输出的要素地图中,颜色不再保持分离*。实际上,每个特征图都是下一层中的“通道”,尽管通常在将输入与通道组合在一起的情况下将它们分别可视化。另一种思考方式是,原始图像中的单独RGB通道是输入中的3个“功能图”。

上一层中有多少个通道或要素都没有关系,下一层中每个要素图的输出是该图中的单个值。一个输出值对应于单个虚拟神经元,需要一个偏置权重。

正如您在问题中所解释的,在CNN中,在输出要素图中的每个点共享相同的权重(包括偏置权重)。因此,每个特征图都有自己的偏差权重和previous_layer_num_features x kernel_width x kernel_height连接权重。

因此,是的,您的示例得出(3 x (5x5) + 1) x 32的第一层权重总计对于CNN来说是正确的,而CNN的第一隐藏层将RGB输入到32个单独的特征图中。


*您可能会看到CNN 权重的可视化而感到困惑,可以将CNN 权重分为可操作的颜色通道。


我以为每个过滤器都有一个偏见...我们对虚拟神经元有不同的定义吗?
查理·帕克

@CharlieParker就参数数量而言,每个过滤器一个偏差与每个神经元一个偏差相同。有几种等效的方法来查看CNN特征图的体系结构。一类是具有完全共享相同参数的大量神经元的“完全扩展”层。另一个可能是将每个卷积滤波器视为描述单个神经元的本地连接,并且该层会重复使用同一神经元。因此,我认为我们对神经元的定义可能相同,但是答案仅从一个角度描述了事物。
尼尔·斯莱特

有趣的是,我想您会想到每个过滤器的每个神经元,出于某种原因,我在思考每个神经元的每个激活,但是过滤器在图像中的许多地方都激活了,因此我当然会想到更多的神经元。
查理·帕克

1

CNN的特性是,它们使用共享的权重和偏差(同一层中所有隐藏神经元的权重和偏差相同)以检测相同的特征。与简单的神经网络相比,这导致了更深入的学习。您可以阅读此作为参考:

http://deeplearning.net/tutorial/lenet.html
http://neuralnetworksanddeeplearning.com/chap6.html#introducing_convolutional_networks


我在问另一个问题。我的问题是关于偏见的。从公式中可以看出,每个特征图都有不同的权重,但是所有特征图使用相同的偏差。
用户
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.