我无法理解关于VGGNet的文章中的一段内容。或许有人能帮我解答。
在我看来,卷积层中的权重数量是
p=w*h*d*n+n
其中w是滤波器的宽度,h是滤波器的高度,d是滤波器的深度,n是滤波器的数量。
文章中写道:
假设一个三层3 × 3卷积堆栈的输入和输出都有C个通道,那么这个堆栈的参数化是3*(3^2*C^2) = 27C^2个权重;与此同时,一个单一的7 × 7卷积层将需要7^2*C^2 = 49C^2个参数。
我无法理解这里的“通道”是什么意思,以及为什么使用这个公式。
有人能解释一下吗?
提前感谢。
回答:
你的直觉是正确的;我们只需要稍微展开他们的解释。对于第一种情况:
w = 3 # 滤波器宽度h = 3 # 滤波器高度d = C # 滤波器深度(通道数量与输入滤波器数量相同;例如RGB是C=3)n = C # 输出滤波器/通道的数量
这使得whdn = 9C^2
个参数。然后,他们还说有三个这样的堆叠,所以是27C^2
。
对于单个7x7
滤波器,同样是7x7xCxCx1
。
最后的区别是你最初的帖子中额外加了一个n
;那是偏置项,在VGG中他们略过了(许多人会略过偏置项;在某些情况下它们的价值是有争议的)。