Tensorflow 使用VGG16网络进行错误分类

Tensorflow 使用VGG16网络进行错误分类,tensorflow,deep-learning,conv-neural-network,caffe,Tensorflow,Deep Learning,Conv Neural Network,Caffe,我使用更快的RCNN对33个项目进行分类。但它们中的大多数都被错误地分类了。所有物品都是零食包和甜食包,如下面的链接所示 所以颜色和形状是相似的。 解决这个错误分类问题的最佳方法是什么?微调是在我们的问题中使用在一些大数据集上学习到的功能的一种方法,这意味着我们不再训练整个网络,而是冻结网络底层的权重,并在网络末端添加几层,按照要求。现在我们在数据集上再次训练它。因此,的优势在于,我们不需要对所有数百万个参数进行训练,只需要训练很少的参数。另一个是我们不需要大型数据集进行微调 你可以找到更

我使用更快的RCNN对33个项目进行分类。但它们中的大多数都被错误地分类了。所有物品都是零食包和甜食包,如下面的链接所示

所以颜色和形状是相似的。
解决这个错误分类问题的最佳方法是什么?

微调是在我们的问题中使用在一些大数据集上学习到的功能的一种方法,这意味着我们不再训练整个网络,而是冻结网络底层的权重,并在网络末端添加几层,按照要求。现在我们在数据集上再次训练它。因此,的优势在于,我们不需要对所有数百万个参数进行训练,只需要训练很少的参数。另一个是我们不需要
大型数据集
进行微调

你可以找到更多。这是参考资料,作者在这里详细解释了这一点(使用代码)


注意:这也被称为
迁移学习

,因为它们都有相同的形状,这会混淆您的模型。但是你可以通过收集一些数据来给这个项目一个微调的机会。@AnkishBansal你能再解释一下如何微调吗,这样我就有了一些线索。我现在要做的是,我分成两组,在两种不同的模式下进行训练。但我更喜欢使用单一型号。如果没有选择,我就得走那条路。有关于如何微调的解释吗?我的培训使用了预先培训过的VGG16模型。预训练的模型是用大数据集训练的,在这种情况下,我可以像您提到的那样进行调优。它是?我不需要训练整个网络,只需要微调网络的后面部分。是的,你理解得对。您可以使用VGG的预训练权重,这在tensorflow或keras中很容易找到,它是在
Imagenet
dataset上训练的,它有数百万张图像和1000个类别。此外,VGG拥有
数十亿个
参数,独自训练成本非常高。因此,微调有很大帮助。