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. 【读书笔记】C++Primer---第二章

    1.C++基本数据类型:字符型.整型.浮点型等: 2.算术类型如下表,下表只是表示C++要求的最小储存空间,但是一般编译器使用的都比所要求的储存空间大,以前类型所能表示的最大值也因机器的不同而有不同的 ...

  2. Python中urllib.urlencode中文字符的一个问题

    Django项目在访问Restful service时调用urllib.urlencode编码中文字符串时碰到下面这个错误. v = quote_plus(str(v)) UnicodeEncodeE ...

  3. Android的颜色值转换

    Android的颜色int值比较变态,是个负值,用计算机术语讲叫补码,手工转换比较麻烦,首先看看文档 https://developer.android.com/reference/android/g ...

  4. 最优Django环境配置

    2 最优Django环境配置 本章描述了我们认为对于中等和高级Django使用者来说最优的本地环境配置 2.1 统一使用相同的数据库引擎 一个常见的开发者错误是在本地开发环境中使用SQLite3,而在 ...

  5. 在网页中使用particlesjs实现背景的动态粒子特效

    先上一张效果图: 这种动态的背景特效,制作起来其实非常简单. 使用了particles.js particles.js可以从github网站下载到最新的源码,网址是 https://github.co ...

  6. hashmap,hashTable concurrentHashMap 是否为线程安全,区别,如何实现的

    线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多 ...

  7. 基于Microsoft Graph打造自己的Timeline应用

    原文链接:https://github.com/chenxizhang/office365dev/blob/e9b5a59cb827841d36692cc4ec52c11d43062e04/docs/ ...

  8. 用shell处理以下内容 1、按单词出现频率降序排序! 2、按字母出现频率降序排序! the squid project provides a number of resources toassist users design,implement and support squid installations. Please browsethe documentation and support

    此题目有多种解法,sed.awk.tr等等,都可以解决此题,命令运用灵活多变. 编写shell脚本no_20.sh 解法1: #!/bin/bash ###-------------CopyRight ...

  9. vue国际化高逼格多语言

    ## 1.NPM 项目安装 ``` cnpm i vue-i18n ``` ## 2.使用方法 ``` /* 国际化使用规则 */ import Vue from 'vue' import VueI1 ...

  10. Codeforces Round #483 (Div. 2) C. Finite or not?

    C. Finite or not? time limit per test 1 second memory limit per test 256 megabytes input standard in ...