【连续学习之LwM算法】2019年CVPR顶会论文:Learning without memorizing

1 介绍

年份:2019

期刊: 2019CVPR

引用量:611

Dhar P, Singh R V, Peng K C, et al. Learning without memorizing[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019: 5138-5146.

本文提出的“Learning without Memorizing (LwM)”算法原理是通过结合知识蒸馏损失(LD)和注意力蒸馏损失(LAD)来实现增量学习,关键技术步骤是在训练过程中,利用注意力机制(Grad-CAM)生成的注意力图来保持对基础类别的知识,同时学习新类别,而无需存储任何基础类别的数据。本文算法属于基于正则化的算法。

2 创新点

  1. 无需存储数据的增量学习(Learning without Memorizing)
    • 提出了一种新颖的增量学习方法,能够在不存储任何关于现有类别数据的情况下,保持对现有类别的知识,同时学习新类别。
  2. 注意力蒸馏损失(Attention Distillation Loss, LAD)
    • 引入了一种基于注意力图的信息保持惩罚项LAD,通过惩罚分类器注意力图的变化来保留基础类别的信息。
  3. 注意力图的利用
    • 使用Grad-CAM技术生成注意力图,这些图能够更精确地编码模型的表示,并用于约束学生模型和教师模型之间的表示差异。
  4. 信息保持的全面提升
    • 通过结合LAD和LD,不仅考虑了类别分数的分布,还考虑了模型梯度流信息,从而更全面地保持了对基础类别的知识。
  5. 增量学习中的类特异性解释
    • 通过类特异性的注意力图,强化了教师模型和学生模型之间类特异性解释的一致性,这对于没有基础类别数据的增量学习设置尤为重要。
  6. 实验验证
    • 在多个数据集上进行了实验验证,包括iILSVRC-small、iCIFAR-100、Caltech-101和CUBS-200-2011,证明了LwM方法在增量学习中的有效性和优越性能。

3 算法

3.1 算法原理

  1. 增量学习(Incremental Learning, IL)背景
    • 增量学习的目标是在不遗忘已学习类别(基础类别)的情况下,使模型能够识别新的类别。这是通过在模型上逐步添加新类别并更新模型来实现的。
  2. 信息保持惩罚(Information Preserving Penalty, IPP)
    • 在增量学习中,为了保持对基础类别的知识,需要一种机制来惩罚模型在新类别学习过程中对基础类别知识造成的遗忘。LwM通过IPP实现这一点。
  3. 注意力蒸馏损失(Attention Distillation Loss, LAD)
    • LwM提出了一种新的IPP,即注意力蒸馏损失(LAD),它通过比较教师模型(Mt-1)和学生模型(Mt)生成的注意力图来工作。注意力图是通过Grad-CAM技术从模型的卷积层特征图中生成的,它们能够显示模型在做出预测时哪些区域是重要的。
  4. 类特异性注意力图
    • LwM使用类特异性的注意力图来强制教师模型和学生模型之间的类特异性解释保持一致。这意味着模型需要对特定类别的视觉特征保持一致的关注。
  5. L1距离约束
    • LAD通过计算教师模型和学生模型生成的注意力图之间的L1距离来约束它们的差异,迫使学生模型在学习新类别时保持与教师模型对基础类别的相似响应。
  6. 损失函数组合
    • LwM的总损失函数是分类损失(LC)、知识蒸馏损失(LD)和注意力蒸馏损失(LAD)的组合,即LLwM = LC + βLD + γLAD,其中β和γ是用于平衡两种损失的权重。
  7. 增量学习过程
    • 在每个增量步骤中,学生模型Mt被初始化为前一个教师模型Mt-1,并在新类别的数据上进行训练。同时,通过LAD和LD来惩罚Mt与Mt-1之间的差异,以保持对基础类别的知识。
  8. 无需存储基础类别数据
    • LwM的一个关键特点是在学习新类别时不需要存储任何关于基础类别的数据,这使得该方法在内存受限的边缘设备上特别有用。

3.2 算法步骤

图中展示了应用三种损失函数来训练学生模型$ M_t < f o n t s t y l e = " c o l o r : r g b ( 6 , 6 , 7 ) ; " > ,而教师模型 < / f o n t > <font style="color:rgb(6, 6, 7);">,而教师模型</font> <fontstyle="color:rgb(6,6,7);">,而教师模型</font> M_{t-1} $保持冻结状态。

算法步骤总结:

  1. 初始化教师模型$ M_0 :使用分类损失 :使用分类损失 :使用分类损失 LC 训练 训练 训练 M_0 在 在 N $个基础类别上。
  2. 对于每个增量步骤$ t = 1 到 到 k : a . 使用 : a. 使用 a.使用 M_{t-1} 初始化学生模型 初始化学生模型 初始化学生模型 M_t 。 b . 将新类别的数据输入到 。 b. 将新类别的数据输入到 b.将新类别的数据输入到 M_{t-1} 和 和 M_t 中。 c . 计算 中。 c. 计算 中。c.计算 M_t 和 和 M_{t-1} 的输出,包括类特异性注意力图和分数。 d . 应用信息保持惩罚( I P P ),包括注意力蒸馏损失( L A D )和知识蒸馏损失( L D )。 e . 对 的输出,包括类特异性注意力图和分数。 d. 应用信息保持惩罚(IPP),包括注意力蒸馏损失(LAD)和知识蒸馏损失(LD)。 e. 对 的输出,包括类特异性注意力图和分数。d.应用信息保持惩罚(IPP),包括注意力蒸馏损失(LAD)和知识蒸馏损失(LD)。e. M_t 应用分类损失 应用分类损失 应用分类损失 LC ,基于其对新类别的输出。 f . 联合应用分类损失和 I P P ,训练 ,基于其对新类别的输出。 f. 联合应用分类损失和IPP,训练 ,基于其对新类别的输出。f.联合应用分类损失和IPP,训练 M_t 进行多个周期。 g . 将 进行多个周期。 g. 将 进行多个周期。g. M_t $作为下一个增量步骤的教师模型。
  3. 在每个增量步骤后评估$ M_t $的性能。

损失函数计算公式:
总损失函数$ LLwM 是分类损失 是分类损失 是分类损失 LC 、知识蒸馏损失 、知识蒸馏损失 、知识蒸馏损失 LD 和注意力蒸馏损失 和注意力蒸馏损失 和注意力蒸馏损失 LAD $的组合:

$ LLwM = LC + \beta \cdot LD + \gamma \cdot LAD $

其中:

  • $ LC 是分类损失,用于训练 是分类损失,用于训练 是分类损失,用于训练 M_t $学习新类别。
  • $ LD 是知识蒸馏损失,用于保持 是知识蒸馏损失,用于保持 是知识蒸馏损失,用于保持 M_t 和 和 M_{t-1} $对基础类别预测的一致性:

$ LD(y, \hat{y}) = -\sum_{i=1}^{N} y_{0i} \cdot \log(\hat{y}_{0i}) $

其中$ y 和 和 \hat{y} 分别是 分别是 分别是 M_{t-1} 和 和 M_t 对基础类别的预测向量, 对基础类别的预测向量, 对基础类别的预测向量, y_{0i} = \sigma(y_i) 和 和 \hat{y}_{0i} = \sigma(\hat{y}_i) ( ( \sigma(\cdot) $是sigmoid激活函数)。

  • $ LAD 是注意力蒸馏损失,用于保持 是注意力蒸馏损失,用于保持 是注意力蒸馏损失,用于保持 M_t 和 和 M_{t-1} $生成的注意力图的一致性:

$ LAD = \sum_{j=1}^{l} \left| \frac{Q_{In,b}{t-1,j}}{|Q_{In,b}{t-1}|2} - \frac{Q{In,b}{t,j}}{|Q_{In,b}{t}|_2} \right|_1 $

其中$ Q_{In,b}^{t-1} 和 和 Q_{In,b}^{t} 分别是 分别是 分别是 M_{t-1} 和 和 M_t 为输入图像 为输入图像 为输入图像 In 和基础类别 和基础类别 和基础类别 b 生成的向量化注意力图, 生成的向量化注意力图, 生成的向量化注意力图, l $是每个向量化注意力图的长度。

4 实验分析

展示了在不同的增量学习配置下,注意力图如何随着增量学习步骤的变化而变化。这些配置包括传统的分类训练(C)、LwF-MC方法,以及本文提出的LwM方法。

  • 基线比较
    • LwM与LwF-MC作为基线进行比较,LwM在所有测试场景中均优于LwF-MC。
  • 性能提升
    • 在iILSVRC-small数据集上,当类别数量达到40或更多时,LwM的性能比LwF-MC提高了30%以上。
    • 在100个类别时,LwM的性能比LwF-MC提高了50%以上。
  • 不同数据集上的表现
    • LwM在iILSVRC-small和iCIFAR-100数据集上的表现一致优于LwF-MC。
    • LwM甚至在iILSVRC-small数据集上超过了iCaRL,尽管iCaRL在训练学生模型时有访问基础类别数据的优势。
  • 增量批次大小的影响
    • 在iCIFAR-100数据集上,LwM在不同大小的增量批次(10、20、50类)中均优于LwF-MC。
  • Caltech-101和CUBS-200-2011数据集
    • 在这两个数据集上,LwM通过每次增加10个类别的批次与微调(Finetuning)进行比较,显示出LwM在增量学习中的优势。
  • LAD的有效性
    • 仅使用LC和LAD的组合在iILSVRC-small数据集上进行了测试,结果表明LAD有助于保持对基础类别的注意力,从而提高模型性能。
  • 遗忘和惯性的量化
    • 通过比较不同配置下生成的注意力图,实验结果支持LwM在减少遗忘和提高模型对新类别的适应性方面的有效性。
  • 定性结果
    • 通过图4展示的注意力图,LwM显示出在增量学习过程中更好地保持了对基础类别的注意力,与C和LwF-MC相比,LwM生成的注意力图更接近于初始教师模型M0的“理想”注意力图。

5 思考

(1)提出了一种基于注意力的损失函数应用到连续学习。

(2)只对比了一种算法,就发表了CVPR ,都没有对比多种的算法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/949456.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Paddledetection进行模型训练【Part1:环境配置】

目录 写作目的 安装文档 环境要求 版本依赖关系 安装说明 写作目的 方便大家进行模型训练前的环境配置。 安装文档 环境要求 PaddlePaddle &#xff1e;&#xff1d;2.3.2OS 64位操作系统Python 3(3.5.1/3.6/3.7/3.8/3.9/3.10)&#xff0c;64位版本pip/pip3(9.0.1)&am…

【51单片机-零基础chapter1】

安装软件(配套的有,不多赘述) 1.管理员身份运行keil和破解软件kegen 将CID代码复制粘贴到 一定要管理员方式,不然会error 插入板子 我的电脑,管理 1.如果是拯救者,查看端口,如果没有则显示隐藏 2.苹果不知道,好像不可以 3.其他电脑在"其他设备找" (注:本人在校已…

现代密码学期末重点(备考ing)

现代密码学期末重点&#xff0c;个人备考笔记哦 密码学概念四种密码学攻击方法什么是公钥密码&#xff1f;什么是对称密码&#xff1f;什么是无条件密码&#xff1f; 中国剩余定理&#xff08;必考&#xff09;什么是原根什么是阶 经典密码学密码体制什么是列置换&#xff1f; …

xinput1_3.dll丢失的解决之道:简单易懂的几种xinput1_3.dll操作方法

在计算机系统和游戏领域中&#xff0c;xinput1_3.dll是一个备受关注的动态链接库文件。它在游戏输入设备的支持和交互方面发挥着至关重要的作用。接下来&#xff0c;我们将详细探讨xinput1_3.dll的各种属性。 一、xinput1_3.dll文件的常规属性介绍 xinput1_3.dll文件名 xinpu…

2025-01-06 Unity 使用 Tip2 —— Windows、Android、WebGL 打包记录

文章目录 1 Windows2 Android2.1 横版 / 竖版游戏2.2 API 最低版本2.3 目标帧率2.3.1 targetFrameRate2.3.2 vSyncCount2.3.3 Unity 默认设置以及推荐设置2.3.4 Unity 帧率托管 3 WebGL3.1 平台限制3.2 打包报错记录 13.3 打包报错记录 2 ​ 最近尝试将写的小游戏打包&#xff…

Deep blind super-resolution for hyperspectral images_译文

关键词&#xff1a; 高光谱图像 盲超分辨率 退化模型 深度学习 摘要 目前单张高光谱图像超分辨率的深度学习方法都是非盲方法&#xff0c;采用简单的双三次退化模型。这些模型泛化性能较差&#xff0c;无法处理未知的退化。此外&#xff0c;RGB图像的盲超分辨率方法忽略了高光…

Visual studio code编写简单记事本exe笔记

安装扩展cmake tools c/c c/c Extension pack CMakeLists.txt cmake_minimum_required(VERSION 3.20) project(NotepadApp)set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON)# Windows specific settings if(WIN32)set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)s…

Java100道面试题

1.JVM内存结构 1. 方法区&#xff08;Method Area&#xff09; 方法区是JVM内存结构的一部分&#xff0c;用于存放类的相关信息&#xff0c;包括&#xff1a; 类的结构&#xff08;字段、方法、常量池等&#xff09;。字段和方法的描述&#xff0c;如名称、类型、访问修饰符…

【数电尾灯设计】2022-8-16

缘由数电尾灯设计问题&#xff0c;求解答--CSDN问答 从题目可以列出 000 100 010 111-----------4进制 000 100 010 110 001 101 011 111-----------8进制 由列出可知用16进制芯片的3个引脚可以获得8进制推导出4进制从而可用逻辑处理为4进制实现尾灯功能。之上第一步实现了尾灯…

安卓14无法安装应用解决历程

客户手机基本情况&#xff1a; 安卓14&#xff0c;对应的 targetSdkVersion 34 前天遇到了安卓14适配问题&#xff0c;客户发来的截图是这样的 描述&#xff1a;无法安装我们公司的B应用。 型号&#xff1a;三星google美版 解决步骤&#xff1a; 1、寻找其他安卓14手机测试…

【WRF数据准备】ECMWF 49r1: Soil Variables的变化及WRF模型修正

目录 ECMWF 49r1: Change in soil variablesECMWF 49r1更新的背景土壤变量的主要变化对WRF使用者的影响Github中描述ERA5 Vtable 下载另:原始 IFS 数据-ECMWF 服务器参考2024年12月12日,ECMWF 发布了 49r1 版本的业务 IFS。ECMWF在其49r1循环版本中对土壤变量进行了重要更新。…

一机多实例:如何在一台机器上高效运行多个 MySQL 服务

前言 在实际开发和测试环境中&#xff0c;我们经常需要运行多个 MySQL 实例来模拟不同的数据库环境。例如&#xff0c;在一台服务器上运行多个数据库服务以节约硬件资源&#xff0c;或者同时运行不同版本的 MySQL 进行功能兼容性测试。MySQL 本身支持通过配置多实例运行&#…

源代码编译安装X11及相关库、vim,配置vim(1)

一、目录结构 如下。 所有X11及相关库装到mybuild&#xff0c;源代码下载到src下&#xff0c;解压&#xff0c;进入&#xff0c;编译安装。编译时指定--prefix到相同的目录&#xff0c;即上图中mybuild。 ./configure --prefixpwd/../../mybuild [CFLAGS"-I/path/to/X11…

5. CSS引入方式

5.1 CSS的三种样式 按照 CSS 样式书写的位置(或者引入的方式)&#xff0c;CSS样式表可以分为三大类&#xff1a; 1.行内样式表&#xff08;行内式&#xff09; 2.内部样式表&#xff08;嵌入式&#xff09; 3. 外部样式表&#xff08;链接式&#xff09; 5.2 内部样式表 …

【C++】构造函数与析构函数

写在前面 构造函数与析构函数都是属于类的默认成员函数&#xff01; 默认成员函数是程序猿不显示声明定义&#xff0c;编译器会中生成。 构造函数和析构函数的知识需要建立在有初步类与对象的基础之上的&#xff0c;关于类与对象不才在前面笔记中有详细的介绍&#xff1a;点我…

WPF区域导航+导航参数使用+路由守卫+导航日志

背景&#xff1a;使用ContentControl控件实现区域导航是有Mvvm框架的WPF都能使用的&#xff0c;不限于Prism 主要是将ContenControl控件的Content内容在ViewModel中切换成不同的用户控件 下面是MainViewModel&#xff1a; private object body;public object Body {get { retu…

Unity中 Xlua使用整理(一)

1.安装: 从GitHub上下载Xlua源码 Tencent/xLua: xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. (github.com) 下载Xlua压缩包&#xff0c;并解压将Aseet文件夹中的Xlua和Plugins文件夹复制到Unit…

Matlab仿真径向受压圆盘光弹图像

Matlab仿真径向受压圆盘光弹图像-十步相移法 主要参数 % 定义圆盘参数 R 15; % 圆盘半径&#xff0c;单位&#xff1a;mm h 5; % 圆盘厚度&#xff0c;单位&#xff1a;mm P 300; % 径向受压载荷大小&#xff0c;单位&#xff…

基于Django的学校智能图书馆借书归还订阅管理系统

完整源码项目包获取→点击文章末尾名片&#xff01;

【设计模式-2】23 种设计模式的分类和功能

在软件工程领域&#xff0c;设计模式是解决常见设计问题的经典方案。1994 年&#xff0c;Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides&#xff08;四人帮&#xff0c;GoF&#xff09;在《设计模式&#xff1a;可复用面向对象软件的基础》一书中系统性地总结了…