目录导引
系列传送
【Active Learning】
【论文笔记01】Learning Loss for Active Learning, CVPR 2019
【论文笔记02】Active Learning For Convolutional Neural Networks: A Core-Set Approch, ICLR 2018
【论文笔记03】Variational Adversarial Active Learning, ICCV 2019
【论文笔记04】Ranked Batch-Mode Active Learning,ICCV 2016
【Transfer Learning】
【论文笔记05】Active Transfer Learning, IEEE T CIRC SYST VID 2020
【论文笔记06】Domain-Adversarial Training of Neural Networks, JMLR 2016
【Differential Privacy】
【Universum Learning】
Learning Loss for Active Learning
原文传送《Learning Loss for Active Learning》
本期分享是2019年发布在CVPR上的主动学习领域文章,《用学习损失来进行主动学习》,作者为来自韩国的Donggeun Yoo and In So Kewon.
论文引用和PDF地址在文末。
作者提出了一种通过预测模型预测误差来进行主动学习查询的方法,并用
- Image Classification(图像分类)
- Object Detection(目标检测)
- Human Pose Estimation(人体姿态估计)
三种任务进行性能评估。
1 Abstract
深度神经网络的表现随着更多有标注的数据而得到提升。但问题随之而来,我们能够用于标注的预算往往有限,这样的有标注数据不能无限获得。一种解决这种困难的方法是进行主动学习,让模型向人类询问,给部分数据打上标签。近年来学者提出很多的方法使得主动学习可以应用到深度网络上,但是他们中大多数是为了特定的目标任务设定,或者在计算上缺乏效率。
这篇文章提出一种创新的主动学习方法,简单而且任务无偏(task-agnostic)的,也在对深度网络上很有效率。作者给目标网络(Target Network)附带了一个参数量很小的模块,“误差预测模块”,用于预测模型对无标签数据预测结果的损失值。接下来,这个模块可以找到那些倾向于被目标网络预测错误的无标签数据。这个方法是任务无偏的,因为这个思想只是学习一个单纯的损失,与具体目标没有关系。
作者在三类问题上和当前的网络结构进行对比实验,结果表示Learning Loss在这些问题上一致地超越了其他方法。
2 Contributions
- Proposing a simple but efficient active laerning method with the loss prediction module, which is directly applicable to any takss with recent deep networks.
- 借用损失预测模块提出了一个简单但是高效的主动学习方法,它可以直接应用到任何使用深度网络的任务上。
- Evaluating the proposed method with three learning tasks including classification, regression, and a hybrid of them, by using current network architectures.
- 文章使用了三个学习任务对新方法进行测评,包括回归问题,分类问题以及回归和分类问题的混合。
3 Method
3.1 Overview
在这里,作者给出包含损失预测模块的主动学习方案的正式定义。
Notation | Explanation |
---|---|
Θ t a r g e t {\Theta _{target}} Θtarget | target model 目标模型 |
Θ l o s s {\Theta _{loss}} Θloss | loss prediction module 损失预测模块 |
y ^ = Θ t arg e t ( x ) \hat y = {\Theta _{t\arg et}}(x) y^=Θtarget(x) | 目标模型的预测值 |
l = L t a r g e t ( y ^ , y ) l = L_{target}(\hat y, y) l=Ltarget(y^,y) | 目标模型预测的损失 |
h h h | x x x的特征集合,是 Θ t a r g e t {\Theta _{target}} Θtarget隐藏层的中间特征 |
l ^ = Θ l o s s ( h ) \hat l = {\Theta _{loss}}(h) l^=Θloss(h) | 损失预测模块对损失的预测值 |
U N U_N UN | 无标签数据池 |
N N N | 无标签数据池的大小 |
K K K | 每一轮从无标签数据池中查询的个数 |
L K 0 L_K^0 LK0 | 初始有标签数据,即从 U N U_N UN均匀地抽 K K K个 |
U N − K 0 U_{N-K}^0 UN−K0 | 初始化后的无标签数据池 |
L ( T + 1 ) K T L_{(T+1)K}^T L(T+1)KT | T T T轮查询后的有标签数据集 |
U N − ( T + 1 ) K T U_{N-(T+1)K}^T UN−(T+1)KT | T T T轮查询后的无标签数据池 |
图(1)摘自原文,其中
-
(a)展示的是从输入数据Input到目标网络给出的Traget prediction和利用网络中间特征传入误差预测模块而给出的Loss prediction部分。
-
(b)图表示的是通过Loss prediction的大小关系,挑选出 U N − ( T ) K ( T − 1 ) U_{N-(T)K}^{(T-1)} UN−(T)K(T−1)误差预测最大的 K K K个无标签数据点,送给专家进行标注后归入 L ( T ) K ( T − 1 ) L_{(T)K}^{(T-1)} L(T)K(T−1)更新得到有标签数据集 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)