在讨论一个明显的 XY 问题之前,我将向您解释我正在尝试做什么。
我正在训练一个使用 Imagenet 预训练的简单 MobileNet 以进行多类分类。我所做的是冻结所有卷积部分,然后创建一个新的预测层(conv2D 1x1xN,其中 N 是类数)。
假设我训练了 5 个类,然后我得到了 5 个新类的一组新图像。我想保留上次培训的知识,并且只能在新课程中进行培训。
我所做的是用相同的冻结预训练权重训练一个新模型,但只使用新的 5 个类,然后将旧模型和新模型的权重连接到最后一层,输出 10 个类。
串联工作完美,但是当我运行评估时,我得到了可怕的准确性(就像它是随机预测的一样)。例如,对于在 5 个“集合”中训练的 30 个班级,我的准确率为 0.03。
我正在做的事情可行吗?我认为可能导致这种情况的一个问题是,每个预测的“标签”没有保持相同的顺序或其他东西,因此即使我复制权重,预测也可能是无序的。