首页 > 解决方案 > 在现实世界的项目中使用迁移学习是个好主意吗?

问题描述

设想

如果我的意图是训练医学图像数据集并且我选择了一个 coco 预训练模型,该怎么办?

我的疑惑

1由于我选择了医学图像,因此没有必要在 COCO 数据集上对其进行训练,对吧?如果是这样,有什么可能的解决方案来做同样的事情?

2向预训练模型添加更多层会破坏整个模型吗?有大约 10 多个和 10000 个训练数据集的类?

3没有从头开始训练有哪些可能的解决方案,比如微调模型?

PS - 让我们假设这个场景是基于为商业目的部署模型。

谢谢-

标签: tensorflowdeep-learningconv-neural-networktransfer-learning

解决方案


是的,在现实世界项目中重用预训练模型或迁移学习是一个好主意,因为它可以节省计算时间并且架构已经过验证。

如果您的用例是对医学图像进行分类,即图像分类,那么

  1. 因为我选择了医学图像,所以没有必要在 COCO 数据集上训练它,对吧?如果是这样,有什么可能的解决方案来做同样的事情?

是的,COCO 数据集对于图像分类不是一个好主意,因为它对目标检测很有效。您可以重复使用VGGNetorResNetInception Netor EfficientNet。有关更多信息,请参阅TF HUB 模块

  1. 向预训练模型添加更多层会破坏整个模型吗?有大约 10 多个和 10000 个训练数据集的类?

不可以。我们可以删除预训练模型的顶层并可以添加我们的自定义层,而不会影响预训练模型的性能。

  1. 如果没有从头开始训练,有哪些可能的解决方案,比如微调模型?

除了使用预训练模型外,您还可以使用Tensorboard 的 HParams调整模型的超参数(您添加的自定义层) 。


推荐阅读