来源:知乎—Lori

地址:https://zhuanlan.zhihu.com/p/81404885

之前看了周志华老师的《A Brief Introduction to Weakly Supervised Learning》,觉得大受启发,一直想动笔总结一下,今天终于来填坑了。

机器学习在很多任务中取得了很大的成功。众所周知,在机器学习领域,学习任务可大致划分为两类,一种是监督学习,另一种是非监督学习。通常,两者都需要从包含大量训练样本的训练数据集中学习预测模型,每个训练样本对应于事件/对象。如下图所示。

监督学习的训练数据由两部分组成:描述事件/对象的特征向量(x),以及 groud-truth 的标签(y)。

而非监督学习的训练数据只有一个部分:描述事件/对象的特征向量(x),但是没有标签(y)。

分类问题和回归问题是监督学习的代表,聚类学习是非监督学习的代表。在分类中,标签对应于训练样本属于哪一类。在回归中,标签对应于该示例的真实值响应。

那么,什么是分类问题,什么是回归问题,什么是聚类问题呢?让我们来看一个简单的例子。

比如说,这有一些西瓜。

对于分类问题来说,x是一些西瓜,y是属于的类别,好的西瓜或者坏的西瓜。现在我们已经知道每一个西瓜是好的或坏的,如果我们有一个新的西瓜,我们需要根据之前的经验判断它是好的或者坏的。

对于回归问题来说,x是西瓜,y是真实值响应。我们知道这个西瓜是3000日元,这个西瓜是4000日元,这个西瓜是3500日元,如果我们有一个新的西瓜,我们需要根据之前的经验去预测这个西瓜多少钱。

对于聚类问题来说,我们只知道我们有这些西瓜,x是西瓜,也许他们有一些不同之处,也许是更好吃或不好吃,也许是更便宜或不便宜,我们需要计算机自己去找到一些特征,将这些相似的西瓜聚成一类,如果我们有一个新的西瓜,需要判断它属于哪一类。

尽管当前监督学习技术已经取得了巨大的成功,但是值得注意的是,由于数据标注过程的成本太高,很多任务很难获得如全部真值标签这样的强监督信息。而无监督学习由于学习过程太过困难,它的发展缓慢。因此,希望机器学习技术能够在弱监督状态下工作。南京大学周志华教授在2018年1月发表了一篇论文,叫做《A Brief Introduction to Weakly Supervised Learning》,对机器学习任务给出了一个新的趋势和思路。个人觉得总结的非常好,大受启发,有兴趣的小伙伴可以去看看原论文~

什么是弱监督学习呢?文章里说,弱监督学习可以分为三种典型的类型,不完全监督(Incomplete supervision),不确切监督(Inexact supervision),不精确监督(Inaccurate supervision)。

不完全监督是指,训练数据中只有一部分数据被给了标签,有一些数据是没有标签的。

不确切监督是指,训练数据只给出了粗粒度标签。我们可以把输入想象成一个包,这个包里面有一些示例,我们只知道这个包的标签,Y或N,但是我们不知道每个示例的标签。

不精确监督是指,给出的标签不总是正确的,比如本来应该是Y的标签被错误标记成了N。

我们还是用最简单的西瓜的例子来直观理解一下这三者的区别。

最左边是不完全监督,即我们可以看到有一些西瓜有标签,而有一些西瓜没有标签,标注并不完全。

中间的是不确切监督。对于这种情况,我们可以把这个想象成一个包,只知道这里面有西瓜,但是不知道西瓜在哪个位置,也不知道有几个,这种情况叫不确切监督。

最右边的是不精确监督。即假设我们有一些西瓜,但是有一些被错误标注为菠萝,那我们称之为不精确监督。

我们将分别对待这些类型的弱监督学习,但值得一提的是,在实际操作中,它们经常同时发生。

实际上,弱监督学习普遍存在。

比如,在图像分类任务中,训练数据的Groud-Truth标签由人类注释者给出; 虽然很容易从互联网上获取大量图像,而由于人工成本,只能注释一小部分图像。(不完全监督)

在重要目标检测中,我们常常仅有图片级标签,而没有对象级标签。(不确切监督)

在众包数据分析中,当图像标记者粗心或者疲倦时,或者有些图片很难去分类时,这将会导致一些标签被标记错误。(不精确监督)

针对这三种典型的弱监督学习,我们可以考虑使用不同的技术去进行改善和解决。如下图所示。

为了解决不完全监督,我们可以考虑两种主要技术,主动学习和半监督学习。一种是有人类干预的,一种是没有人类干预的。

为了解决不确切监督,我们可以考虑多示例学习。

为了解决不精确监督,我们考虑带噪学习。

下面我们稍微具体一点来谈一谈以上列举的方法。

首先为了解决不完全监督,我们考虑主动学习(Active learning),这个方法是训练过程中有人工干预的。

输入是一些标注过的数据(包含x,y)和没有标注过的数据(只有x),输出是Y或者N(考虑最简单的二分类问题)。

首先,我们先训练这些标注过的数据,然后我们根据得到的经验对这些没有标注过的数据进行聚类。主动学习假设可以从oracle查询未标记实例的Groud-truth标签。

在这些未标记数据中,主动学习尝试选择最有价值的未标记实例进行查询。最有价值指的是信息性和代表性。主动学习的目标是最小化查询的数量。

2019年CVPR有一篇主动学习的相关论文,叫《Large-scale interactive object segmentation with human annotators》(如下图)。

由于手动注释对象分割掩码非常耗时,所以这篇论文考虑交互式对象分割方法,其中人类注释器和机器分割模型协作完成分割任务。

接下来我们看看解决不完全监督的第二种技术,半监督学习(Semi-supervised learning),这种方法没有人类干预(如下图)。

半监督学习尝试在不查询人类专家的情况下利用未标注的数据。但是为什么数据没有标签能够帮助去构建预测模型呢?

让我们看看上图的例子。如果我们已知一个数据是positive,另一个数据是negative,在两个数据点正中间有一个test data,此时我们是很难去判断这个test data到底是positive 还是negative的。但是如果我们被允许去观察一些未被标注的数据分布(右边部分的灰点),这时我们还是可以较肯定的认为test data是positive。

为了解决不确切监督,我们可以考虑多实例学习(Multi-instance learning)。

实际上,几乎所有监督学习算法都有其多实例对等体。

训练数据集中每一个数据看做一个包(Bag),每个包由多个实例(Instance)构成,每个包有一个可见的标签,在上图例子中,假设这个包大小为8*8,如果我们用size为2*2的图片包生成器(Image bag generators)去取得实例,那么我们可以得到16个实例(Instance)。

显而易见,我们这个包是有标签的(左图),老虎,包中的每个实例是没有标签的(右图)。

多实例学习假设每一个正包必须存在至少一个关键实例。这意味着,假设这个例子中关键实例是示例9,那么这个包的标签为正(positive)。多实例学习的过程就是通过模型对包及其包含的多个实例进行分析预测得出包的标签。多实例学习广泛存在在真实世界中,并且应用场景非常广泛。

最后,解决不精确监督,我们可以考虑带噪学习(Learning with label noise)。

在实践中,基本的思想是识别潜在的误分类样本,然后尝试进行修正。例如,我们用数据编辑的方法去构建一个关系相邻表。然后我们判断一个点是否为可疑点。我们判断这个点和相邻的点是否一样。如果一样,那这个点就不是可疑的,将保持原样。如果这个点和相邻的点不一样,那么这个点是可疑的,这个点将被删除或者被重新标记。

顺便一提,今年的CVPR,也有很多关于弱监督学习的进展。如果你有兴趣的话,可以尝试阅读一下这些论文(虽然我还没来得及读完~)。

最后做个总结吧~

关于弱监督学习,我们谈了弱监督学习下的三种典型:不完全,不确切,不精确的监督。而且我们意识到弱监督学习是广泛并且有很多应用场景的。值得注意的是,无论什么任务或数据,弱监督学习变得越来越重要。

猜您喜欢:

 戳我,查看GAN的系列专辑~!

一顿午饭外卖,成为CV视觉的前沿弄潮儿!

超110篇!CVPR 2021最全GAN论文汇总梳理!

超100篇!CVPR 2020最全GAN论文梳理汇总!

拆解组新的GAN:解耦表征MixNMatch

StarGAN第2版:多域多样性图像生成

附下载 | 《可解释的机器学习》中文版

附下载 |《TensorFlow 2.0 深度学习算法实战》

附下载 |《计算机视觉中的数学方法》分享

《基于深度学习的表面缺陷检测方法综述》

《零样本图像分类综述: 十年进展》

《基于深度神经网络的少样本学习综述》

浅谈弱监督学习(Weakly Supervised Learning)相关推荐

  1. 弱监督学习 weakly supervised learning 笔记

    周志华 A Brief Introduction to Weakly Supervised Learning 2018 引言 在机器学习领域,学习任务可以划分为监督学习.非监督学习.通常,两者都需要从 ...

  2. 关于弱监督学习的详细介绍——A Brief Introduction to Weakly Supervised Learning

    目录 介绍 主动学习 半监督学习 多实例学习 带噪学习 Snorkel 框架介绍 参考 介绍 在机器学习领域,学习任务可大致划分为两类,一种是监督学习,另一种是非监督学习.通常,两者都需要从包含大量训 ...

  3. A brief introduction to weakly supervised learning(简要介绍弱监督学习)

    文章转载自http://www.cnblogs.com/ariel-dreamland/p/8566348.html A brief introduction to weakly supervised ...

  4. 【论文阅读】Weakly Supervised Learning of Instance Segmentation with Inter-pixel Relations

    一篇经典的弱监督分割论文,发表在CVPR2019上面 论文标题: Weakly Supervised Learning of Instance Segmentation with Inter-pixe ...

  5. 监督学习(supervised learning)与非监督学习(unsupervised learning)

    一,监督学习(supervised learning): 监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测. 即:利用 ...

  6. 多示例学习(Multi Instance Learning)和 弱监督学习(Weakly Supervised Learning)

    目录 弱监督: 多示例学习: 弱监督: 1. 弱在缺标签:标签是不完全的,有的有标签,有的无标签 2. 弱在标签不准确:有的标签正确,有的标签错误 3. 弱在标签不精准: 标签不是在样本上,而是在更高 ...

  7. 浅谈主动学习(Active Learning)

    1背景概述 在机器学习领域有很多学习模式,比方说监督学习.半监督学习.强化学习.无监督学习等.平时大家接触比较多的一般都是监督学习,在监督学习里面,比方说要做个人和鱼的图像分类模型,假设有200张图片 ...

  8. 机器学习:什么是监督学习(Supervised learning)?

    概念 wiki:监督学习是机器学习的一种方法,可以由训练资料中学到或建立一个模式(函数/learning model),并且依次模式推测出新的实例. 训练资料:由输入物件和预期输出组成,函数的输出可以 ...

  9. 1-3.监督学习(supervised learning)

    定义:监督学习指的就是我们给学习算法一个数据集,这个数据集由"正确答案"组成,然后运用学习算法,算出更多的正确答案.术语叫做回归问题 [监督学习可分为]:回归问题.分类问题.两种 ...

  10. 自监督学习、半监督学习、弱监督学习

    一.自监督学习 总结来说:就算利用没有标签的数据,训练模型的提取特征的能力,相当于对模型进行预训练,详细解释可以参考文章:自监督学习 二.弱监督学习 1.三种类别:不完全监督(Incomplete s ...

最新文章

  1. python中try Except抛出异常使用方法
  2. labelme标注需要精确标注吗_国内需要一个数据标注平台
  3. php树形结构变成线性结构,php把数据集转换成树状结构,无限极分类生成树状 – CSDN博客...
  4. 第二次冲刺阶段(第七天)
  5. python float 精度_浅谈Python里面小数点精度的控制
  6. leetcode 33 搜索旋转排序数组 到处是细节的好题
  7. 公用计算机管理,如何管理公用计算机和私人计算机的文件访问
  8. 使用 Win 7 必须知道的快捷键
  9. 《深入理解OSGi:Equinox原理、应用与最佳实践》笔记_1_运行最简单的bundlehelloworld...
  10. PC微信防撤回多开补丁 v0.6
  11. 虚拟机安装教程win10_Parallels Desktop如何安装windowns系统?PD虚拟机安装win10系统详细教程
  12. 神经网络——激活函数的作用
  13. 亚利桑那州立大学计算机专业,亚利桑那州立大学计算机专业排名
  14. ZigBee技术有哪些应用领域?
  15. python帮室友避险——爬虫加可视化
  16. Java 读取文件 MD5 sha1 sha256 sha224 sha384 sha512
  17. 考研数学二-汤家凤中值定理
  18. 实验07 路由器的基本配置和单臂路由配置实验报告
  19. 双系统安装 win7
  20. CSDN 博客 修改文章搜索为 bing 搜索,且只搜索自己的博客的方法

热门文章

  1. 社交网络分析——影响力最大化(附带python例子实现)
  2. “网贷108条”清单里的信与望 | 一点财经
  3. c语言java异或区别_C、C++、Java异或运算交换变量变量值的区别
  4. lineout是什么接口
  5. linux双网卡连不上网,linux 双网卡配置问题
  6. 《Unity Shader入门精要》冯乐乐著 书中彩图
  7. android 6.0 创建文件或文件夹失败
  8. iOS逆向 和班尼特福迪一起攻克难关(unity)
  9. xshell如何上传文件
  10. 论文翻译:2020_Improving Perceptual Quality By Phone-Fortified Perceptual Loss For Speech Enhancement...