我正在浏览Caffe prototxt for deep residual networks并注意到"Scale"
层的外观。
layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "scale2b_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
}
但是,该层在Caffe layer catalogue中不可用。有人可以解释该层的功能以及参数的含义,还是指向Caffe的最新文档?
最佳答案
您可以找到有关caffe here的详细文档。
具体来说,对于"Scale"
层的文档reads:
计算两个输入Blob的乘积,后者“广播”的Blob形状与前者的形状匹配。等效于平铺后面的Blob,然后计算元素乘积。
可以省略第二个输入,在这种情况下,第二个输入将作为图层的参数来学习。
在您的情况下(单个“底部”),该层似乎学习了乘以"res2b_branch2b"
的比例因子。此外,由于scale_param { bias_term: true }
表示该层不仅学习乘法比例因子,而且学习常数项。因此,前向通行计算:
res2b_branch2b <- res2b_branch2b * \alpha + \beta
在训练期间,网络会尝试学习
\alpha
和\beta
的值。关于neural-network - Caffe中的缩放层,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37410996/