motivation

Active Learning 存在的重要问题:现实数据极度不平衡,有许多类别很少见(rare),又有很多类别是冗余的(redundancy),又有些数据是 OOD 的(out-of-distribution)。

1. 不同的次模函数

提出三种次模函数的变体:

  • 次模条件增长(Submodular Conditional Gain, SCG),越大说明差异越大:

$$f(\mathcal{A}|\mathcal{P})=f(\mathcal{A}\cup\mathcal{P})-f(\mathcal{P})$$

  • 次模交互信息(Submodular Mutual Information, SMI),越大说明相似性越大:

$$I_f(\mathcal{A};\;\mathcal{Q})=f(\mathcal{A})+f(\mathcal{Q})-f(\mathcal{A}\cup\mathcal{Q})$$

  • 次模条件交互信息(Submodular Conditional Mutual Information, SCMI),上面二者的结合:

$$I_f(\mathcal{A};\;\mathcal{Q}|\mathcal{P})=f(\mathcal{A}\cup\mathcal{P})+f(\mathcal{Q}\cup\mathcal{P})-f(\mathcal{A}\cup\mathcal{Q}\cup\mathcal{P})-f(\mathcal{P})$$

其中 SCMI 可以通过设置不同的 $\mathcal{Q}$ 和 $\mathcal{P}$ 得到另外两种次模函数(算上标准次模函数的话就是三种),对应关系和适用场景如下:

图 1 各种SIM 函数

2. 次模函数的实例化问题

次模信息度量(submodular information measures, SIM),一般有三种实例化的问题:

  • 设施选址问题(Facility Location)
  • 图切问题(Graph Cut)
  • 对数行列式问题(Log Determinant)

Analysis

1. 标准 Active Learning

见图 1 的第一行,此时问题退化:AL 的检索样本过程只考虑多样性(不考虑检索的数据是否冗余、OOD,也不偏向 rare 的样本)。

2. 样本不平衡

主要指某些类别出现很少的情况,例如医疗影像病灶判断,真正 positive 的数据是很少的,因此可以使用 SMI 次模函数(图 1 第二行),在保证多样性的基础上,使得 AL 检索的样本与 $\mathcal{Q}$(有病灶的影像)尽可能接近。

3. 样本冗余

虽然次模函数本身保证了多样性,但是在 batch active learning 中,多样性的保证指存在与一个 batch 中。因此可以使用 SCG 次模函数(图 1 第三行),提供额外的多样性正则信息。

4. OOD 数据

未标注的数据容易出现 OOD 的数据,例如在手写数字识别的任务中,未标注的数据集中出现了手写字母的图片(不是任务目标也无法提供有效信息),是应当避免的。因此可以使用 SCMI 次模函数(图 1 第四行),使得 AL 检索的样本与 in-domin 的数据尽可能相似,与 out-of-domin 的数据尽可能远离,同时保证多样性。

5. 混合场景

当未标注数据出现了多种情景时也可以进行组合(例如即出现了冗余的数据,也出现了 OOD 的数据):

图 2 混合场景

同时,类似于在线学习(online learning),未标注的数据集有可能是在不断产生中的,因此一开始数据集未出现上述场景的时候可以使用标准次模函数,出现了上述场景之后(例如某次数据收集之后出现了大量 OOD 样本)了可以再改用 SIM 的变体。

最新文章

  1. web性能调优
  2. js实现缓冲运动,和匀速运动有点不相同
  3. 树形结构部门的 sqlserver 排序
  4. sql server 更新两个表的某个字段
  5. vue.js学习第一节
  6. 前端发展态势 && 前端工作流程个人浅析
  7. Cow Exhibition 变种背包
  8. Fitnesse - Slim Tables
  9. Sparklyr与Docker的推荐系统实战
  10. MySQL EXTRACT() 函数
  11. Lucene 自动补全
  12. POJ_3304_Segments_线段判断是否相交
  13. Nginx 在线新增模块
  14. spring cloud 的安全连接
  15. tfs 2013 利用 web deploy 完成asp.net站点自动发布
  16. hive 限制本地内存使用量
  17. 微信开发之获取openid及推送模板消息
  18. rls与rlsd
  19. Django-启动文件的制作
  20. 深度学习(Deep Learning)算法简介

热门文章

  1. ansible 的安装及常见模块使用
  2. San(COCI2017.2)题解
  3. Docker网络讲解 及实验redis集群部署
  4. Centos下使用containerd管理容器:5分钟从docker转型到containerd
  5. Jmeter中的JSON提取器用法
  6. 01 uniapp/微信小程序 项目day01
  7. opencv videocapture
  8. 使用 Traefik 代理 UDP 服务
  9. 使用Kuboard界面在k8s上部署SpringCloud项目
  10. POJ3280 Cheapest Palindrome (区间DP)