我正在浏览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/

10-12 23:05