Active Learning (AL) 的 query criteria 大致可以分为 3 类:informativenessrepresentativenessdiversity

下面我将分别介绍这三种 criteria,并介绍论文 [1] 中是如何结合三种 criteria 的。(这里并不对 NER 部分做介绍。)

1 Informativeness

这种 criterion 用的应该是最多的,其中包括最简单最常用的 uncertainty sampling。

论文 [1] 也是将 sample 和 decision boundary 之间的距离来衡量该 sample 的 information。Closer to decision boundary, more informative.

仅用 informativeness 的 strategy 有可能会选到 outlier,故而需要考虑 representativeness。

Fig. 1 [2] Outlier sample A is more informative than sample B and will be selected by informativeness query strategy.

2 Representativeness

Representativeness 的衡量需要比较两个 samples 的 similarity,论文 [1] 中采取余弦相似度来衡量 similarity。

一个 sample 的 representativeness 可以用它的 density 来量化,即等于该 sample 与其它所有 unlabeled set 中样本 similarity 的均值。即:
\[
Density(\boldsymbol x_i) = \frac{\sum_{j \not = i} Sim(\boldsymbol x_i, \boldsymbol x_j)}{N-1}
\]

其中,\(N\) 表示 unlabeled set 的大小。

如果某一个 sample \(\boldsymbol x^*\) 的 density 最大,那么 \(\boldsymbol x^*\) 也就是 unlabeled set 的 centroid。

当然,representativeness 的衡量不止论文 [1] 提到的这种方式,如论文 [3] 使用样本与部分邻居的 similarity 来表示 density,而不是整个 unlabeled set。

3 Diversity

Diversity 这个 criterion 是对 batch-mode active learning 才有的,当我们需要一次选择多个 samples 时,如果不考虑 diversity,很可能会重复选择同一区域的点,造成浪费。

论文 [1] 提出了两种利用 diversity 的方法:GlobalLocal

3.1 Global consideration

这种方式将 unlabeled set 用 K-means 划分成 K 个区域,在每一轮选择中,一个 batch 内的点需要从 K 个不同的区域中分别选择。

在实际利用时,可能不会对整个 unlabeled set 进行 K-means 划分,有可能只是对 unlabeled set 的一个子集进行划分,提高效率。

3.2 Local consideration

这种方式就不太考虑 unlabeled set,关注的重点在要选择的 batch 上。

在每一轮的 query 中,我们如果想要将一个 selected sample \(\boldsymbol x_{new}\)加入到 current batch,需要该 selected sample 和已经在 current batch 中的样本有足够大的区别,即 \(Similarity(\boldsymbol x_{new}, \boldsymbol x_{old}) > \beta\),其中 \(\beta\) 可以取整个 unlabeled set 样本之间 similarity 的均值。

在 local method 的情况下,一个个 selected samples 将经过筛选顺序加入到 batch 中。selected sample 是如何被 select 出的?可以 random,也可以用 informativeness 和 representativeness 的方式。

4 Combinations of three criteria

single-criterion 的 query strategy 在很多时候不如 multi-criteria 的 strategy。论文 [1][3] 中都有类似结论。

以下将介绍论文 [1] 提出的关于如何结合 informativeness、representativeness 和 diversity 三种 criteria 的两种方式。

4.1 Strategy 1

流程:

  1. 使用 Informativeness 这一 single criterion 选出 top M 个 most informative 的 samples,将其组成一个集合 interSet;
  2. 对 interSet 集合进行 K-means 聚类,聚成 K 个 clusters,并选择出每个 cluster 的 centroid 作为 selected sample 加入到 batch 中。(batch 的 size 也为 K。)

K-means 的 centroids 既代表了 interSet,又有 diversity。该 strategy 使用了 diversity 的 global method。

4.2 Strategy 2

流程:

  1. 按照 \(\lambda \operatorname{Info}\left(\boldsymbol x_{i}\right)+(1-\lambda) \text {Density}\left(\boldsymbol x_{i}\right)\) 结合 informativeness 和 representativeness 这两个 criteria,然后按照得分的高低选择出 selected samples;
  2. 一个 selected sample 想要加入到 batch 中,必须要满足新加入的点与已经在 batch 中的点的 similarity 大于某个阈值 \(\beta\),即使用 diversity 的 local method 对 selected samples 再进行一次 diversity 筛选。

\(\lambda\) 是一个超参数,需要人工设定,用来控制 informativeness 和 representativeness 的权重。论文 [3] 对 \(\lambda\) 的取值做了更加详细的研究,可以动态设定 \(\lambda\) 的值。

4.3 Strategy 1 vs. Strategy 2

在论文 [1] 的实验中,strategy 2 的效果要好于 strategy 1。

References

[1] Shen, D., Zhang, J., Su, J., Zhou, G., & Tan, C.-L. (2004). Multi-criteria-based active learning for named entity recognition. (ACL) https://doi.org/10.3115/1218955.1219030
[2] Burr Settles. (2009). Active Learning Literature Survey. Computer Sciences Technical Report 1648, University of Wisconsin-Madison.
[3] Ebert, S., Fritz, M., & Schiele, B. (2012). RALF: A reinforced active learning formulation for object class recognition. (CVPR) https://doi.org/10.1109/CVPR.2012.6248108

[Active Learning] Multi-Criteria-based Active Learning的更多相关文章

  1. 论文笔记之:Active Object Localization with Deep Reinforcement Learning

    Active Object Localization with Deep Reinforcement Learning ICCV 2015 最近Deep Reinforcement Learning算 ...

  2. (转)Paper list of Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning

    Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning 2018-08-03 19:16:56 本文转自:http ...

  3. [转]Introduction to Learning to Trade with Reinforcement Learning

    Introduction to Learning to Trade with Reinforcement Learning http://www.wildml.com/2018/02/introduc ...

  4. Introduction to Learning to Trade with Reinforcement Learning

    http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/ The academic ...

  5. (转) Deep Learning in a Nutshell: Reinforcement Learning

    Deep Learning in a Nutshell: Reinforcement Learning   Share: Posted on September 8, 2016by Tim Dettm ...

  6. 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  7. 【重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    [重磅干货整理]机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总 .

  8. 机器学习(Machine Learning)&amp;深度学习(Deep Learning)资料

    机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...

  9. java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required

    错误信息: java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA trans ...

  10. 论文解读(S^3-CL)《Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learning》

    论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...

随机推荐

  1. rsync的详细配置

    服务器配置: yum install rsync   安装rsync vi /etc/rsyncd.conf   创建主配置文件 pid file = /var/run/rsyncd.pid port ...

  2. python---生成器、迭代器

    # -*- coding:utf-8 -*- # LC # 列表生成式 def func(x): print(x) return 2*x print([ func(i) for i in range( ...

  3. codeforces——961B. Lecture Sleep

    本文为博主原创文章,未经允许不得转载. 我在csdn也同步发布了此文,链接 https://blog.csdn.net/umbrellalalalala/article/details/7989196 ...

  4. notepad++中双击选中字符串高亮颜色设置

    notepad++ 中最好用的功能就是双击选中,本文档中所有相同的内容高亮 不过有个问题就是当文档特别大,而且注释比较多的时候,我选中的内容高亮为绿色不太好找,那怎么设置呢? 设置--语言格式设置-- ...

  5. python 要掌握面向对象,你得会做这些题吗?

    1,面向对象三大特性,各有什么用处,说说你的理解. 继承:解决代码重用问题 多态:多态性,可以在不考虑对象类型的情况下而直接使用对象 封装:明确的区分内外,控制外部对隐藏属性的操作行为,隔离复杂度 2 ...

  6. Android 资源文件命名与使用

    [推荐]资源文件需带模块前缀 [推荐]layout 文件的命名方式 Activity 的 layout 以 module_activity 开头 Fragment 的 layout 以 module_ ...

  7. Python库

    --Python库之Pandas库-------- 自主选择学习了Python中的Pandas库,以下是本人对Pandas库的认识: Pandas库是Python最受欢迎的库之一,主要用于数据的操作. ...

  8. 0511JS流程练习

    一.输入三个数,判断大小 var one = prompt("请输入第一个数"); var two = prompt("请输入第二个数"); var three ...

  9. Junit-4.1.2 @Test 使用

    学习使用Junit-4.1.2 @Test来做单元测试 1.下载jar包 下载junit-4.12.jar 下载hamcrest-core-1.3.jar 2.在External Libraries中 ...

  10. java,maven工程打tar.gz包执行main方法

    一,需要在pom.xml文件添加plugin, 项目目录结构 <build> <plugins> <plugin> <artifactId>maven- ...