我想弄清楚CNN需要多少重量和偏见。
假设我有一个(3,32,32)-image,并且希望应用一个(32,5,5)-filter。对于每个特征映射,我有5x5的权重,所以我应该有3x (5x5) x32参数。现在我要加上偏见。我相信我只有(3x (5x5) + 1) x32参数,那么所有颜色(RGB)的偏差都一样吗?
这是正确的吗?在使用不同的权重时,是否对每幅图像的深度保持相同的偏差(在本例中为3)?为什么会这样呢?
发布于 2020-05-10 18:10:29
这里有一个简单的例子:
如果您的输入是I X I X C (例如,带有I X I = 10 x 10像素的图片),则灰度,因此只有1 Channel = C结果输入= 10 X 10 x 1。您的过滤器是F X F,然后应用K过滤器,例如3 X 3、X、10 Filters,然后输出为(F X F X C +1) X K,其中+1表示每个过滤器有一个偏差。(3 X 3 X 1 + 1) X 10 = 100参数训练。如果您有RGB,那么您需要训练(3 X 3 X 3 + 1) X 10 = 280参数。对于每个频道,你都有另外一个过滤器。每个过滤器都有一个偏差。
阅读完后,这里再检查一遍:
Input I x I x C
Filter F x F (x K) // K times applied
Parameters (F x F x C + 1) x K // where +1 bias per filter, and K is the number of filters现在检查一下来自斯坦福大学这里的这张很棒的备忘单。
发布于 2020-09-07 15:07:00
因为在CNN中,我们使用一个过滤器来表示一个特征。我们引入一个变量(B)来合并来自该特定滤波器的偏差。因此,每个过滤器都会考虑到它可能造成的偏差。偏差不是由于单个滤波器的权重,而是由整个滤波器本身造成的。我希望这能回答你的问题。
发布于 2016-05-20 21:04:52
为了检测出相同的特征,CNN的特性是使用共享的权重和偏差(对一层中的所有隐神经元都使用相同的权重和偏差)。与简单的神经网络相比,这导致了更深入的学习。您可以将其作为参考来阅读:
http://deeplearning.net/tutorial/lenet.html
http://neuralnetworksanddeeplearning.com/chap6.html#introducing_卷积_网络
https://datascience.stackexchange.com/questions/11853
复制相似问题