天天看点

主动学习和半监督学习 - 调研总结

前言

我的第一篇半监督论文(投了篇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​​

继续阅读