5

我训练了一个深度学习模型,将给定的图像分为三类。现在我想在我的模型中再添加一个类。我试图查看“在线学习”,但它似乎是针对现有课程的新数据进行训练。我是否需要在所有四个课程上再次训练我的整个模型,或者有什么办法可以在新课程上训练我的模型?

4

3 回答 3

3

您可能在架构末尾的 3 个神经元密集层之后使用了 softmax 来分类为 3 个类别。添加一个类将导致在 4 个神经元密集层上进行 softmax,因此无法在当前图中使用冻结权重来容纳额外的神经元,基本上你正在修改图,因此你必须训练整个从零开始的模型

- - -或者 - - -

一种方法是加载模型并删除最后一层,将其更改为 4 个神经元并再次训练网络!这基本上会从头开始训练最后一层的权重。我认为在添加新类时无论如何都不能保持这些(最后一层的权重)权重不变。

于 2019-12-08T15:32:46.343 回答
2

您必须移除最终的全连接层,冻结特征提取层中的权重,添加具有四个输出的新全连接层,并使用原始三类和新的第四类图像重新训练模型。

于 2020-03-01T03:43:29.437 回答
1

我试图查看“在线学习”,但它似乎是针对现有课程的新数据进行训练。

在线学习是一个术语,用于指代在训练时采用连续或顺序输入数据流的模型,与离线学习(也称为批量学习)相反,其中模型在静态预定义数据集上进行预训练。

持续学习(也称为增量、持续、终身学习)是指在在线学习环境中工作的 ML 的一个分支,其中模型旨在学习新任务,同时保持历史任务的性能。它可以应用于多个问题范式(包括类增量学习,其中每个新任务为不断扩展的超分类问题呈现新的类标签)。

我是否需要在所有四个课程上再次训练我的整个模型,或者有什么办法可以在新课程上训练我的模型?

在更新的数据集上天真地重新训练模型确实是一种解决方案。持续学习旨在解决无法访问历史数据(即原始 3 类)的情况,或者在越来越大的数据集上重新训练不切实际(出于效率、空间、隐私等问题)的情况。已经提出了多个使用不同底层架构的此类模型,但几乎所有示例都专门处理图像分类问题。


相关q:

于 2020-11-02T17:42:45.380 回答