Representation Compensation Networks for Continual Semantic Segmentation

论文地址
github code
很久没有更新paper reading的内容了,最近发现Continual Semantic Segmentation这个领域有点意思,在这里记录一下。

Abstract

这篇工作研究Continual Semantic Segmentation问题,持续学习的意思是,以语义分割为例,我们经常训练好一个模型后,在后期 的使用中又添加了新的类别信息,这时如果重新和先前的类别一起训练,会耗费大量的时间和资源;如果直接用新的类别的数据集继续训练,会造成catastrophic forgetting的情况,也就是说old knowledge会被遗忘,new knowledge也学不好。本文提出了representation compensation (RC) module,这个模块由两个分支组成,其中一个是冻结的,另一个是可训练的。本文的另一个contribution是设计了一个pooled cube knowledge distillation strategy,在spatial和channel维度上对知识进行蒸馏,提高模型的鲁棒性。

1. Introduction

大概介绍一下Continual Semantic Segmentation,这里解释一些名词,比如Joint Training,也就是在拿到新的类别的训练数据时和先前的老类别训练数据融合在一起重新做训练。模型所具有的能力是,在得到新的类别的训练数据时,模型能很好地分辨旧类别和新类别,同时为了节省花费,新类别的训练数据只标注了新类别,其他类别(包括旧类别)都被归为背景。
本文的网络有两个branch,一个被frozen,保存old knowledge,另一个用来做训练,然后两个分支融合。

2. Related Work

3. Method

3.1. Preliminaries

对于本文一些符号的描述,大家可以阅读原文,这里不再赘述。

3.2. Representation Compensation Networks

对于常规的网络而言,结构都是一个3×3的卷积接一个normalization和激活函数,本文网络添加了一个平行的3×3卷积层+normalization结构,然后两个平行的层最后经过一个融合,然后再经过一个激活函数。
在这里插入图片描述
从图中可以看出,作者的意思是在step t-1,把平行的两个卷积层merge到一起,然后在step t中把merge的这部分冻结,用来保留old knowledge,然后用另外一个分支去学习new knowledge,那么这两个部分是怎么merge到一起的呢?文中给出了公式:
在这里插入图片描述
同时作者也用了一个drop-path策略:
在这里插入图片描述
在训练的时候, η \eta η随机取0,0.5,1,对两个分支在激活函数前做融合,在测试的时候 η \eta η设置为0.5。

3.3. Pooled Cube Knowledge Distillation

知识蒸馏策略,用average pooling在空间和channel维度上对每个stage的特征图做处理,最终要求一个teacher model和student model的loss,说实话这里我不是很理解他的作用机理,可能要看看代码他的细节是如何的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值