天天看點

主動學習和半監督學習 - 調研總結

前言

我的第一篇半監督論文(投了篇ccf b的trans),因為第二次小修沒改好,第三次小修審稿人在最後一條意見中問了一個personal question:

A personal question: What is the difference between your approach and active learning? Can it be applied to the active learning strategy?      

是以有了這麼一篇關于主動學習的調研,如有問題,歡迎交流、批評、指正!

什麼是主動學習?

在2009年的這篇綜述 Active learning literature survey(2022年引用6000+)中有這一一段解釋:

The key idea behind active learning is that a machine learning algorithm can achieve greater accuracy with fewer labeled training instances if it is allowed to choose the data from which is learns. An active learner may ask queries in the form of unlabeled instances to be labeled by an oracle (e.g., a human annotator).      

主動學習(Active Learning)的大緻思路就是:通過機器學習的方法擷取到那些比較**“難”分類的樣本資料,讓人工再次确認和稽核**,然後将人工标注得到的資料再次使用有監督學習模型或者半監督學習模型進行訓練,逐漸提升模型的效果,将人工經驗融入機器學習的模型中。

可以看到主動學習側重于:挖掘難例樣本和人工标注或再次标注(注意這裡的資料可以是标注的和未标注的)

形象地例子:

用一個例子來比喻,一個高中生通過做聯考的模拟試題以希望提升自己的考試成績,那麼在做題的過程中就有幾種選擇。一種是随機地從曆年聯考和模拟試卷中随機選擇一批題目來做,以此來提升考試成績。(正常有監督學習)但是這樣做的話所需要的時間也比較長,針對性也不夠強;另一種方法是每個學生建立自己的錯題本,用來記錄自己容易做錯的習題(難例挖掘),反複地鞏固自己做錯的題目,通過多次複習自己做錯的題目來鞏固自己的易錯知識點,逐漸提升自己的考試成績。其主動學習的思路就是選擇一批容易被錯分的樣本資料,讓人工進行标注,再讓機器學習模型訓練的過程。      

和半監督學習的異同

**半監督學習:**屬于無監督學習(沒有任何标記的訓練資料)和監督學習(完全标記的訓練資料)之間。半監督學習主要考慮使用大量的未标記資料,以及同時使用标記資料,來進行模式識别工作。

主動學習和半監督學習的相同之處:

二者都利用了有标注資料和無标注資料來提高模型的學習能力。

主動學習和半監督學習的差異之處:

主動學習側重于尋找盡可能少的難例,在利用未标注資料的時候,是從未标注資料中找到最容易判斷錯誤的樣例來交由專家進行标注,這個過程是一個篩選差資料的過程,也是一個互動互動的過程,引入了額外的專家的知識。

半監督學習側重于尋找盡可能多的好樣本,尤其是對于自學習模型,對于未标注資料而言,是選擇最不容易判斷錯誤的樣例來加入到已标注資料中,這個過程,是一個自動的過程,是篩選最好的資料的過程,然後不需要互動,不需要人工幹預,基于自身對于未标記資料加以利用,來提高學習模型的泛化性能。

展望

主動學習和半監督學習存在一定的相似之處,但他們本質上是兩種不同的探索和利用樣本的方法。近些年也出現很多将兩者結合的工作如 BoostMIS,是以基于兩者的共通之處進行探索和改進仍然具備一定的潛力。

參考:

Settles B. Active learning literature survey[J]. 2009.

Zhang, Wenqiao, et al. "BoostMIS: Boosting Medical Image Semi-supervised Learning with Adaptive Pseudo Labeling and Informative Active Annotation."arXiv preprint arXiv:2203.02533(2022).

​​https://zhuanlan.zhihu.com/p/239756522​​

繼續閱讀