【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

其中介紹到三種最主要的設想:成員查詢合成,基於流的選擇性抽樣,基於池的抽樣

具體優缺點讀者可以自行閱讀,目前深度學習的方法基本上是基於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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章