【主动学习 08】Learning loss for active learning (CVPR 2019 oral)

Learning loss for active learning这篇文章idea虽然很fancy,还是CVPR oral,但是在社区讨论中评价并不是很好,效果难以复现。Motivation主动学习的query方法大多都是为了特定的目标任务精心设计,泛化性差;要么就是计算效率差,主动学习作为一个框架应该是任务无偏的。方法模型是任何任务的模型都可以,如图(a)只需要附加一个Loss prediction module,这个Loss prediction module的输入是“主模型”内部的每一层的
摘要由CSDN通过智能技术生成

Learning loss for active learning

这篇文章idea虽然很fancy,还是CVPR oral,但是在社区讨论中评价并不是很好,效果难以复现。

Motivation

主动学习的query方法大多都是为了特定的目标任务精心设计,泛化性差;要么就是计算效率差,主动学习作为一个框架应该是任务无偏的。

方法

模型是任何任务的模型都可以,如图(a)只需要附加一个Loss prediction module,这个Loss prediction module的输入是“主模型”内部的每一层的输出。因此实现了任务无偏。

训练整个模型用的是有标签数据,无标签数据是在训练更新参数之后传入模型输出Loss prediction,然后根据Loss prediction的大小,选出top-K个查询。

Loss Prediction Module

具体来看Loss prediction module是怎么实现的。

Loss prediction module的目标有两个:1、设计具体任务相关的不确定规则的工程量最小化。2、训练该模块的计算代价最小化。因此该模块有两个特点:1、比主任务模型小很多,2、和主任务模型同步学习,不需要额外的步骤。

Loss prediction module的结构如上图所示,主任务模型中的某些层的输出作为module的输入,分别经过GAP(global average pooling)、FC、ReLU,这样可以将特征降维到固定的维度(128),再将所有的特征链接起来,输入到一个全连接层中,得到Loss prediction。

作者提到,将这个模块做的更大更深表现差别不大。

Learning Loss

Loss Prediction Module和主任务模型一起在有标签数据上训练。

对于主动学习过程中第 T T T步训练阶段,有有标签数据集 L ( T + 1 ) K T L_{(T+1) K}^{T} L(T+1)KT和无标签数据集 U N − ( T + 1 ) K T U_{N-(T+1) K}^{T} UN(T+1)KT,我们在这一步中的训练目标是为模型训练出目标模型和损失预测模块: { Θ target T , Θ loss T } \left\{\Theta_{\text {target}}^{T}, \Theta_{\text {loss}}^{T}\right\} { ΘtargetT,ΘlossT}

整体Loss的计算过程如上图所示,对于任何一个训练数据 x ∈ L ( T + 1 ) K T x \in L_{(T+1) K}^{T} xL(T+1)KT,可以得到目标模型的预测值 y ^ \hat{y} y^,结合真实标签 y y y可以得到Target loss值 l = L t a r g e t ( y ^ , y ) l=L_{t a r g e t}(\hat{y}, y) l=Ltarget(y^,y);Loss Prediction Module得到预测损失值 l ^ \hat{l}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值