小全读论文《Learning without Memorizing》CVPR2019

一、Motivation

本文关注的是增量学习问题,增量学习问题一般的解决方案是利用一个额外的磁盘间存储少量旧类别的样本。文章认为这一设置会存在以下问题:
1)不适合大规模的量化学习问题,如life-long learning设置,当类别很多的时候,依然需要耗费很多的存储空间;
2)在工业场景中,我们往往只会把最终的模型给终端使用者,而不会把数据给到他们(出于隐私等问题),因此,终端使用者是无法接触到旧类别的数据的;
3)与人类的机制违背。人在学习新类别过程往往不会反复地观测旧类别的数据,但依然能达到比较好的学习效果

因此本文提出了一个 不需要接触旧类别样本 的增量学习方法,解决这个问题的一个核心思想是如何保留旧模型的知识,传统的方法是采取知识蒸馏的约束项,这个约束项的意义是 对于一张图片 I n I_n In,新模型尽可能去学习或者保留这张图片在旧模型中可能会被预测的旧类别

然而,作者认为,图片中某些区域的点(称为注意力区域)会对预测的特定类别的结果有比较重要的影响,即预测成A类别的置信度是0.1,其主要是由某些区域得到的,而对于B类别,可能又是另外一个区域得到的。但是上述的知识蒸馏的约束项却忽略了对预测结果有重要影响的区域,即对于一个样本,这个约束项只限制预测结果必须要是A类别置信度是0.1,但是并不约束A类别的注意力区域和旧模型的一致,导致存在一些情况,即使预测结果一致,但是注意力区域是完全不同的,如下图所示
在这里插入图片描述
注意力区域的一个重要意义是,可认为是 当前预测类别结果(置信度)的一种解释,这是旧模型的一个很重要的知识(knowledge),因此本文提出了一个Attention Distillation Loss (LAD),通过限制样本的注意力区域,让新模型可以保留旧模型中的知识。

二、Approach

本文需要解决两个很关键的问题,
1)如何定义或者生成注意力区域
2)如何对注意力区域进行约束和限制,也即对注意力区域的知识蒸馏

注意力区域的特征生成(Generating attention maps)

本文采取Grad-CAM来生成注意力区域,具体地,
1)首先图片会输入到模型中进行前向传播,得到每一个类别的置信度 y c y_c yc
2)然后对 y c y_c yc进行反向传播,可以计算到每个卷积层每层feature map A k A_k Ak上的梯度图(与特征图同size)
3)最后对梯度图做GAP(global average pooling)操作,得到每层feature map的置信值 α k \alpha_k αk,这个置信值作为第 k k k层feature map的重要程度
4)然后,记 α = [ α 1 , α 2 , . . . , α K ] , A = [ A 1 , A 2 , . . . , A K ] \alpha=[\alpha_1,\alpha_2,...,\alpha_K], A=[A_1,A_2,...,A_K] α=[α1,α2,...,αK],A=[A1,A2,...,AK], 文章把注意力区域的特征定义为

Q = R e L U ( α T A ) Q=ReLU(\alpha^TA) Q=ReLU(αTA)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值