【摘要】 当前主流的目标检测器模型在训练时即确定了需要检测的物体种类,如果想要增加新的类别,只能重新训练。本文介绍了一种增量式的物体检测模型,可以随时增加新的类别,更符合实际场景。
文章信息:Konstantin Shmelkov, Cordelia Schmid, Karteek Alahari. Incremental Learning of Object Detectors without Catastrophic Forgetting. ICCV 2017.
文章主要介绍一种针对深度学习中物体检测任务的增量式学习方法。具体来说,问题的设置为:假设在一开始的时候已经有了一个用一些数据训练得到的物体检测模型;之后又有一批新的数据,这批数据上只标注了新的、未见过的类别的 bounding box 和类别,增量式物体检测方法的目标是在已有模型的基础上,学习一个新的模型,可以同时检测之前的类别和新类别的物体。
这个设置的难点在于,如果不对方法进行特殊的设计,而只使用新的数据更新模型,则模型在原来的类别上的表现会非常差,这个现象被称作“灾难性遗忘”。为了解决这个问题,作者提出将原始模型中的知识“蒸馏”出来,并在更新模型的时候既对新类别进行学习,也对这部分蒸馏出来的知识进行学习,从而保证模型不会遗忘已有的知识。
具体来说,该方法的模型设计如上图所示。本文中,为了保证候选的 region proposal 不是针对原有模型中特定的类别,而是针对通用的物体,方法的基本架构基于 Fast RCNN。当更新模型的时候,需要两个版本的模型,其中上路的 Network A 为原始的模型(模型参数完全固定,不进行调整),下路的 Network B 为可以更新的模型。模型的整体流程如下:
以新类别的图像作为 Network A 的输入,从背景得分最低(即物体得分最高)的 128 个 RoI 中随机选取 64 个,并在 Network B 中计算这 64 个 RoI 的预测输出(包括分类预测的 logits 和 bounding box regression 输出),约束 Network B 的预测输出和相应的 Network A 的预测输出相同(使用 L2 损失进行约束,忽略 Network B 中对应新类别的输出项)。通过约束新模型在已有类别上的输出和旧模型在已有类别上的输出相同,保证旧类别的知识可以迁移到新模型上;
针对新增的类别,使用标准的 Fast RCNN 损失进行训练。
从实验结果来看,相比于在具有完整标注的全部数据上的模型训练的方式来说,增量式物体检测方法在性能上有一定的下降,但是相比于不考虑“灾难性遗忘”问题的方案有明显的提升。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论