【Active Learning - 00】 主动学习概念/重要论文目录/重要代码&资源

写在前面:

本人于2019.09入坑Active Learning,理解还不够深刻。这个系列博客主要是把related works中重要的核心思路,以及自己遇到的问题做的一个梳理,另外完善一下literature review,会不断更新。做这个方向的人不多,自己也在摸索,希望大佬多多指导,如果有相同方向的小伙伴也欢迎交流一波~

Email Address:[email protected] / [email protected]

序:

主动学习阅读资料:

【Active Learning - 00】 主动学习概念/重要论文目录/重要代码&资源

【Active Learning - 01】 2013_CVPR_Adaptive Active Learning for Image Classification 论文笔记

一. 主动学习是什么?

主动学习也叫Active Learning,和它对应的概念叫做Passive Learning(被动学习),要知道什么是主动学习什么就必须先将其于其他概念区分开来。

被动学习:顾名思义,实际上在深度学习中最原始的就是被动学习,即在training phase中随机从training set中获得样本构成mini-batch进行训练,这部分整个算法以及网络模型没有对于样本进行任何选择过滤。简单的来说,在这个过程中feed什么samples进行训练,网络就学习什么,因此被称为被动学习。

主动学习:和被动学习不同是,主动学习可以对具体到某一个样本上来进行选择,而这个query strategy就是整个Active Learning的核心部分,我们的目的是通过更少的样本就可以获得更好的效果。好比是上学考试,老师会让你让你纠正认真重复你的错题,而不会让你花时间在简单你一定不会错的题目上,如果不管三七二十一所有的题目都让你花时间联系那就是前面所说的被动学习了。深度学习中也是类似的situation,我们要去关注那些对于整个训练过程提升performance最有帮助的样本,比如那些最representative的样本或者是最hard的样本,这个衡量的指标就是需要我们不断研究的地方。

二. 主动学习有什么意义?

在上面我们已经大概知道了整个主动学习这个task的核心,即帮网络选择样本,用少的样本就能获得较高的精度。我们都知道深度学习的data hungry的,更多更好的标注样本能够帮助网络获得更好的性能。

那么这个任务的意义就出来了——reduce the cost of annotation. 尤其是对于一些分割/pixel-level的回归问题来说,这些数据库的label是非常耗费人工代价的,为了减少人工标注相对于全标注(fully supervised learning),有许多的solutions来解决,active learning is just one of them~除此之外,unsupervised learning/ weakly-supervised learning/ semi-supervised learning/ transductive learning(注意概念区分)等等都是可行的方法,但其他的方法都没有具体到某一个sample上进行选择,因此主动学习具有非常大的实际意义。

三. 主动学习的前世今生:

主动学习在machine learning发展得非常早,有一篇2009年的literature review总结了以前的方法作为入门了解阅读:

http://burrsettles.com/pub/settles.activelearning.pdf

其中介绍到三种最主要的设想:成员查询合成,基于流的选择性抽样,基于池的抽样

【Active Learning - 00】 主动学习概念/重要论文目录/重要代码&资源_第1张图片

具体优缺点读者可以自行阅读,目前深度学习的方法基本上是基于pool的方法从未标注样本池中一次性选择一部分进行人工标注查询。

也讲到几种基本的查询策略:Uncertainty Sampling,Query-By-Committee,Expected Model Change, Expected Error Reduction, Variance Reduction, Density-Weighted Methods

  • Uncertainty Sampling:使用样本的不确定进行衡量,这个也是目前baseline的重要组成部分,可以使用confidence或者entropy(更常见)来进行衡量。confidence(最大的probability)越小,代表这个样本越不确定被分为某一类;entropy(probability的熵)越高,代表这个样本预测后的概率分布信息量更大,不确定度越高。这些样本(confidence小的,entropy大的)就是uncertainty越大的样本,对整个网络训练帮助越大。intuitive上理解的话,比如在分类问题中,如果一个样本的最高类的预测概率是0.99,那就没有必要让Oracle去花费时间标注这个样本了,它的loss也会很小对整个网络训练提升效果不大,而那些预测结果是(0.1,0.2,0.15,0.3......)类似这种分布的就是一些比较hard(当然也有可能是噪点)的样本,需要人工来focus判断一下,打上标签。
  • Query-By-Committee:委员会询问选择算法不直接计算分类误差,而是根据自己已标识实例集训练两个或多个分类器,组成“委员会”,利用委员会对未标识实例进行标识投票,然后选择询问投票最不一致的实例。
  • Expected Model Change:算法倾向于选择询问对模型变化影响最大的实例,这种方法在实验研究中表现良好,但如果数据集的属性或类标识数量比较多时, 计算复杂度非常高,在深度学习中有用梯度进行选择的。
  • Expected Error Reduction:最小估计误差近似最优
  • Variance Reduction:减小方差
  • Density-Weighted Methods:不光考虑信息量最大/最不确定的实例,也需要这些样本具有代表性。  

四. 重要文章

在这篇序言后,我会对重要的论文进行梳理,敬请关注后续更新,欢迎交流~先放一个自己做literature reiview时看的paper list,后续的论文分析也会从这里面选择部分:

1.2013_CVPR_Adaptive Active Learning for Image Classification

2.2017_CVPR_Fine-tuning Convolutional Neural Networks for Biomedical Image Analysis: Actively and Incrementally

3.2017_Generative Adversarial Active Learning

4.2017_ICCV_Active Decision Boundary Annotation with Deep Generative Models

5.2018_Adversarial Sampling for Active Learning

6.2019_Generative Adversarial Active Learning for Unsupervised Outlier Detection

7.2017_Deep Bayesian Active Learning with Image Data

8.2019_ICML_Bayesian Generative Active Deep Learning

9.2019_ICCV_Variational Adversarial Active Learning

10.2019_ICLR_Discriminative Active Learning

11. 2018_ICLR_Active Learning for Convolutional Neural Networks: A Core-Set Approach

12. 2016_NIPS_Active learning for speech recognition: the power of gradients

13. 2018_PMLR_Adversarial active learning for deep networks: a margin based approach

14. 2017_Cost-Effective Active Learning for Deep Image Classification

15. 2019_CVPR_Learning Loss for Active Learning

你可能感兴趣的:(deep-learning,Active,Learning)