扩展神经网络以对新对象进行分类

机器算法验证 神经网络 深度学习 卷积神经网络 迁移学习
2022-04-15 09:43:12

假设一个模型M对苹果和橙子进行分类。可以M扩展到对第三类对象进行分类,例如梨,这样“再训练”的新图像只对梨进行了注释,而忽略了苹果和橙子?也就是说,既然M已经对苹果和橙子进行了分类,那么是否可以以某种方式保留旧的权重并让再训练专门专注于学习梨?

微调和不忘记学习等方法似乎需要对新图像中的所有对象进行注释。

3个回答

我不知道有什么方法可以完全按照您的要求进行操作,但总的来说,您可能想看看Transfer Learning在深度学习中。该技术包括加载一个经过训练的网络,用于在 ImageNet 等大型数据集上预测图像,并用您自己的替换最后一个完全连接的层,然后在您的图像上进行训练。此类网络的示例是AlexNetVGGNet

这样,卷积层提取的特征将被保留,但您可以使用这些特征来预测不同的任务。

这是一个解释 pytorch 细节的实用教程,您可以在此处阅读有关它的更多信息

这个一般领域被称为“持续”、“增量”或“终身”学习,是一个相当活跃的研究领域。

持续学习有很多方法,包括惩罚遗忘的不同形式的正则化、动态扩展架构和显式模型记忆。有关更多详细信息,请参阅这篇调查论文:使用神经网络进行持续终身学习:回顾

微调和不忘记学习等方法似乎需要对新图像中的所有对象进行注释。

好吧,情况并非总是如此。让我给出一个明确的持续学习方法来说明这一点:您可以训练一个具有二进制输出的分类器,以判断图像是否有梨,以及是否有苹果。您可以添加一个新的二进制输出来判断它是否有橙色。然后,当您开始对橙色数据集进行训练时,施加正则化损失,以惩罚梨和苹果的预测发生很大变化(在开始对橙子进行训练之前冻结模型的副本,并惩罚旧的 MSE 或交叉熵以及新的梨和苹果预测)。

编辑:现在我更好地理解了你的问题。我没有足够的代表发表评论,所以使用回复。

因此,您拥有的数据集上的标签是二进制的,pear = 1/0。no 类包含你已经有模型的橙子和香蕉。

如果您采用两步方法将对象分类为梨与否,然后将冷冻的预训练橙色/香蕉模型应用于未分类为梨的图像,该怎么办?这将使您对每个对象的预测为梨/香蕉/橙色,并且您将保留原始模型权重,因为它已冻结。