写在前面:
本人于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
其中介绍到三种最主要的设想:成员查询合成,基于流的选择性抽样,基于池的抽样
具体优缺点读者可以自行阅读,目前深度学习的方法基本上是基于pool的方法从未标注样本池中一次性选择一部分进行人工标注查询。
也讲到几种基本的查询策略:Uncertainty Sampling,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