Caffe在二分类基准数据集上表示负例的方法

我想知道如何定义或表示一个负训练集,如果我想从预训练模型(例如在ILSVRC12或ImageNet数据集上的AlexNet)训练一个二分类器。我目前的想法是选择一个不相关的类作为负训练集,而相关的类作为正训练集。是否有更优雅的方法?


回答:

在ILSVRC数据集上训练的卷积神经网络已经能够区分1000个图像类别。是的,你可以使用这些拓扑结构来训练一个二分类器,但我建议你从一个未训练的模型开始,并让它通过你选择的两个类。如果你从一个已训练的模型开始,你需要“忘记”很多东西,而且你的结果仍然试图在1000个类别中区分:最后的全连接层会给你带来麻烦。

有办法绕过1000个类别的问题。如果你的应用已经与一个或多个已训练的类别重叠,那么只需添加一个层,将这些类别映射到标签“1”,将所有其他类别映射到标签“0”。

如果你坚持保留已训练的核,那么尝试用一个2类全连接层替换最后的全连接层(1000)。然后选择你的两个类(适用的图像与其他所有图像)并进行训练。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注