【发布时间】:2021-09-14 09:12:26
【问题描述】:
我正在研究图像检测,我正在检测图像并将其分类为 14 种不同的胸部疾病之一(多标签分类问题)。
该模型在NIH dataset 上进行训练,我得到80% AUC。现在我想通过在第二个数据集上进行训练来改进模型。但主要问题是两个数据集的类都不匹配。
第二个数据集包含 10 个类,与我用来训练模型的第一个数据集重叠。
问题:
-
是否可以在更少的类上重新训练模型。
-
在新数据集上重新训练我的模型会影响其他非相似类的 AUC 吗?
-
改进模型的机会有多大?
型号和代码基于fast.ai和PyTorch。
【问题讨论】:
-
如果你想为新的数据集训练一个新的分类器,那么你可以尝试保持特征提取器冻结并训练一个 10 类分类器。如果您想要两个数据集的单个分类器,则使用两个数据集交替训练可能会更好。因为仅在新数据集上进行训练可能会导致其他类的信息丢失。
-
您想使用包含 10 个类别的数据集作为额外的训练数据吗?一个数据集的 10 个类是否也是另一个数据集的 14 个类的一部分?您绝对可以制作一个在一个数据集上训练的管道,重新初始化分类器并继续在另一个数据集上进行训练。或交替,如建议的那样。它是否有所改进取决于我对数据集的问题。
-
谢谢,@akshayk07 我的项目分为两个模块,有两个不同的模型: 1- 分类模块 2- 检测模块 我知道我会先训练分类模型,然后加载这些权重以继续训练检测模块。只是我很困惑,如果我减少其他课程 AUC 会影响的课程数量?我不能为每个类训练一个模型,因为这个问题是一个多标签类和检测问题,所以我正在考虑准备一个组合数据集。值得吗?
标签: python pytorch object-detection