论文地址:https://link.springer.com/chapter/10.1007/978-3-319-46493-0_37
代码:https://github.com/stony-hub/learning_without_memorizing
发表于:CVPR 19

Abstract

增量学习(IL)是一项重要的任务,旨在提高训练过的模型的能力,即模型可识别的类的数量。这项任务的关键问题是需要存储与现有类别相关的数据(如图像),同时指导分类器学习新的类别。然而,这是不切实际的,因为它在每一个递增的步骤中都会增加存储需求,这使得IL算法无法在内存有限的边缘设备上实施。因此,我们提出了一种新的方法,称为"无记忆学习(Learning without Memorizing, LwM)",以保留现有(基础)类的信息,而不存储它们的任何数据,同时使分类器逐步学习新类。在LwM中,我们提出了一种保存信息的惩罚:注意力蒸馏损失(LADL_ ADLA​D)。我们还证明了由于新的类被加入,对分类器注意力图的变化进行惩罚有助于保留基础类的信息。我们表明,在iILSVRC-small和iCIFAR-100数据集中,将LADL_ ADLA​D加入到蒸馏损失中,这是一种现有的信息保留损失,在基础类和增量学习类的整体准确性方面,一直优于最先进的性能。

Method

本文的亮点在于不依赖示例集的同时也能取得不错的性能。不过需要注意的是,文中所称的超过SOTA只是超过了iCaRL这种基于示例集的baseline(当然,当时确实针对类增量学习的研究也不多)。关于动机,本文从注意力图的角度出发,指出随着新类的加入,旧类预测的注意力图会发生偏移,从而导致性能的下降:

而有意思的一点是,传统的蒸馏损失并不能捕捉到这一注意力图偏移的过程。为此,本文设计了一个注意力蒸馏损失来解决这一问题。

基本的类增量学习框架如下所示:

可以看到,本文不仅仅是使用了蒸馏损失,而是直接把知识蒸馏的框架给搬了过来(Teacher-Student Network)。那么为什么要把这玩意搬过来呢?既然我们是要去让注意力图不去变化,首先面对的第一个问题就是拿什么去作为ground truth来监督。在这里,显然ground truth就是上一轮类增量流程中网络生成的注意力图,我们只需要设计一个损失去约束前后两轮的注意力图相近即可。可以发现,这一过程是得去同时维护新旧两轮的两个网络的,为此就引入了知识蒸馏的设计。

至于具体的损失,其实就是一个改进的L1 Loss:LAD=∑j=1l∥Qt−1,jIn,b∥Qt−1In,b∥2−Qt,jIn,b∥QtIn,b∥2∥1L_{A D}=\sum_{j=1}^{l}\left\|\frac{Q_{t-1, j}^{I_{n}, b}}{\left\|Q_{t-1}^{I_{n}, b}\right\|_{2}}-\frac{Q_{t, j}^{I_{n}, b}}{\left\|Q_{t}^{I_{n}, b}\right\|_{2}}\right\|_{1} LAD​=j=1∑l​∥∥∥∥∥∥∥​∥∥∥​Qt−1In​,b​∥∥∥​2​Qt−1,jIn​,b​​−∥∥∥​QtIn​,b​∥∥∥​2​Qt,jIn​,b​​∥∥∥∥∥∥∥​1​

[论文阅读] Learning without Memorizing相关推荐

  1. [论文阅读] Learning Loss for Active Learning

    论文地址:https://arxiv.org/abs/1905.03677 发表于:CVPR'19 Abstract 深度神经网络的性能随着更多的标注数据而提高.问题是用于标注的预算是有限的.解决这个 ...

  2. 论文阅读 Learning Motion in Feature Space: Locally-Consistent Deformable Convolution Networks

    Learning Motion in Feature Space: Locally-Consistent Deformable Convolution Networks for Fine-Graine ...

  3. 论文阅读 Learning Transferable Visual Models From Natural Language Supervisio

    Learning Transferable Visual Models From Natural Language Supervision Computer Vision and Pattern Re ...

  4. [2022_CVPR_LAV]论文阅读learning from all vehicles

    LAV: learning from all vehicles 这篇论文v2版本已经发布,待看 数据集太大暂时无法全部下载,具体的数据集内容查看mdb文件,待看 主要是大概看了一遍代码,跟以往IL-b ...

  5. [论文阅读] Learning a Unified Classifier Incrementally via Rebalancing

    论文地址:https://openaccess.thecvf.com/content_CVPR_2019/html/Hou_Learning_a_Unified_Classifier_Incremen ...

  6. [论文阅读] Learning Without Forgetting

    论文地址:https://link.springer.com/chapter/10.1007/978-3-319-46493-0_37 代码:https://github.com/lizhitwo/L ...

  7. 论文阅读-Learning Deep CNN Denoiser Prior for Image Restoration

    Zhang K, Zuo W, Gu S, et al. Learning Deep CNN Denoiser Prior for Image Restoration[J]. 2017. 1.引言 图 ...

  8. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](2)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  9. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

最新文章

  1. java课程实战培训,终获offer
  2. python爬虫的技能_python-爬虫技能升级记录
  3. DCMTK:DcmDecimalString类的测试程序
  4. Tensorflow动态seq2seq使用总结
  5. viewpage滑动查看图片并再有缩略图预览
  6. element 如何自定义svg图标_【第2018期】小图标,大学问
  7. Linux下DNS服务器的基本搭建
  8. paip.gui控件form窗体的原理实现以及easyui的新建以及编辑实现
  9. MIT molecular Biology 笔记8 RNA剪接
  10. Java微信公众平台开发(十一)——开发中微信公众平台/开放平台/商户平台的关联
  11. wps忘保存关闭,数据恢复步骤
  12. 从软件测试培训班出来之后找工作的经历,教会了我这五件事...
  13. 高效数字音频功率放大器NTP8928
  14. 企业如何搭建商业智能BI,过程中又需要注意哪些事项
  15. 机器学习——PCA(主成分分析)与人脸识别
  16. css通用命名大全,CSS的常用命名及规范
  17. 利用threading多线程爬取王者荣耀的高清壁纸
  18. 还记得星球大战里那个圆头圆脑的机器人吗
  19. Self-Supervised Learning 自监督学习中Pretext task的理解
  20. Android生物识别

热门文章

  1. 数据分析学习笔记—python数据类型与数据容器
  2. python选择日期控件_Python3 自己写了个DateCtrl日期控件 | 学步园
  3. nginx启动只有master没有worker_深入探索Nginx工作原理
  4. ssm mysql 例子_ssm入门级示例(mysql数据库)
  5. python遍历字典与for循环运用方法
  6. python实验指导书答案函数代码复用_#Python学习笔记(5)函数和代码重用,复用
  7. oracle密码锁屏时间,Oracle Linux OEL7 如何关闭屏保和锁屏功能
  8. hnu 暑期实训之最少钱币数
  9. [警告] multi-字符 character constant [-Wmultichar] ----字符+符号输出错误
  10. 用python进行数据分析——第十二章.高阶pandas