【发布时间】:2015-11-21 17:13:35
【问题描述】:
我已修改 Caffe MNIST example 以对 3 类图像进行分类。我注意到的一件事是,如果我将输出层数指定为 3,那么我的测试准确度会急剧下降 - 降至 40% 的低范围。但是,如果 I +1 并且有 4 个输出层,则结果在 95% 范围内。
我在我的数据集中添加了一个额外的图像类(所以 4 个类)并注意到同样的事情 - 如果输出层的数量与类的数量相同,那么结果很糟糕,如果它是相同的 +1,然后效果非常好。
inner_product_param {
num_output: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
有人知道这是为什么吗?我注意到,当我在测试集的图像上使用我用C++ example code 训练的模型时,它会抱怨我已经告诉它存在 4 个类并且我只提供了 3 个类的标签我的标签文件。如果我发明了一个标签并将其添加到文件中,我可以让程序运行,但是无论我给它什么图像,它都只会返回概率为 1.0 的类之一。
【问题讨论】:
-
在训练期间,您使用什么标签? 1,2,3 还是 0,1,2 ?
-
在第一组中,我使用 1、2、3 对其进行训练,当我添加额外的图像类别时,我将其设为 0,因此它是 0、1、2、3。
-
您必须使用 0,1,2 进行训练 - 因为标签用作输出概率向量的索引。因此,如果您有 3 个输出,则标签必须是 0、1、2。
-
啊,问题解决了,再次感谢!
标签: machine-learning computer-vision neural-network deep-learning caffe