【弱监督学习】Learning from Incomplete and Inaccurate Supervision

1.摘要与简介

现在的有监督学习需要大量的高质量的标签才能进行,而在真实情况下,我们往往不能获得非常多的高质量标签,我们获取到的标签可能是不完全的,同时也可能是不准确的,当然也可能是既不完全、也不准确的。这时传统的有监督学习就面临比较大的挑战,而本文作者正聚焦于此,他提出一种新的方法能够在大量无标签数据的帮助下减少具有噪声的标签带来的负面影响。这种方法也就被称作不完全、不准确监督学习,也可以单纯的理解为弱监督学习。

作者想要解决的问题在现实中很容易找到,比如对于医学图像的标注,因为医生数量有限,我们不可能把天下所有的医学图像数据都打上标签,这就是不完全;同时,由于医生的阅历各不相同,不同的医生对于同一张医学图像的标注可能是不同的,有的比较准,有的则不太准,可以理解为标签中带有一些噪声,这就是不准确。

现有的方法解决不完全,通常被称为Semi-Supervised Learning(SSL)半监督学习,解决不准确通常被称为Noisy Label Learning(NLL)噪声标签学习,他们各自为战,不能解决既不完全也不准确的问题,而本文的方法就是要统一地解决不完全、不准确的标签问题,进行不完全、不准确的弱监督学习。

2.方法

2.1 有监督学习

在了解本文的不完全和不准确监督学习之前,本文首先介绍了有监督学习(也就是完全和准确监督学习)的优化的目标。文中给的数学公式和讲解过于抽象,下面按照我的理解来简单讲解文中的公式。

假如我们现在有一个待分类的二分类数据集 ( x , y ) (x,y) (x,y),其中 x x x就是数据, y y y是对应数据的标签, y y y是+1或者-1。假定我们有 n P n_P nP个带有标签的正样本, n N n_N nN个带有标签的负样本。我们需要通过这些正样本和负样本来找到一个函数 g g g,它能够区分正样本和负样本。比如如果数据 x 2 x_2 x2是一个正样本,那么我们最后需要找到的这个函数 g g g应该满足 g ( x 2 ) = + 1 g(x_2)=+1 g(x2)=+1.

那么为了能够找到这样的函数 g g g,我们通常需要计算 g ( x ) g(x) g(x)与真实标签之间的误差,然后最小化这个误差就能够找到合适的 g g g。这时我们引入一个损失函数 l l l,不管这个 l l l具体是啥样的函数(文中拿一个Lipschitz-continuous loss为例),反正它达到的效果就是如果 x x x是一个正样本,那么 l ( g ( x ) , + 1 ) l(g(x), +1) l(g(x),+1)应该是比较小的,或者说我们期望它是比较小的,那么如果 x x x是一个负样本的话,那么 l ( g ( x ) , − 1 ) l(g(x), -1) l(g(x),1)应该是比较小的,或者说我们期望它是比较小的。我们如果想找一个全局的最优解,也就是满足所有的数据 ( x , y ) (x,y) (x,y)的一个 g g g,那我们就应该看这个 g g g的期望风险是怎样的,期望风险越大,也就说明我们这个 g g g找的越不适合这个全局的分类任务,期望风险越小,也就表明这个 g g g越好。
于是乎,文章定义了期望风险,如下:
请添加图片描述
这个公式,我们直接看最后一行的结果,先不看 θ \theta θ E P [ l ( g ( x ) , + 1 ) ] \mathbb{E}_P[l(g(x), +1)] EP[l(g(x),+1)]这个东西就代表所有正样本的损失的期望(就是损失的均值),那么这个东西越大,就代表整体的损失比较大,也就代表这个 g g g对于正样本的判断能力越差,同理, E N [ l ( g ( x ) , − 1 ) ] \mathbb{E}_N[l(g(x), -1)] EN[l(g(x),1)]也就比较好理解了。那前面的 θ P \theta_P θP θ N \theta_N θN是干啥的呢?其实这两个是先验的正负样本的概率,比如如果我们现在知道这个样本总数是10,一共有3个正样本,那么 θ P = 3 / 10 \theta_P=3/10 θP=3/10,这两个参数就是给正负样本的损失期望乘上了一个权值,如果一个样本集中,正样本的数量比较多些,那么 θ P \theta_P θP就大一些,对于正样本的损失的期望这一项也就要大一些,也就是要重点监督一下正样本。假设 g g g的函数空间是 G G G,也就是我们可以在 G G G里面找到一个我们想要的 g g g,那么我们只需要优化这个期望风险,让它变得最小,就可以得到我们想要的 g ∗ g^* g,也就是如下:
请添加图片描述
这个式子的意思就是 g ∗ g^* g等于令期望风险最小的一个 g g g,并且这个 g g g是在 G G G这个函数空间里的。

利用期望风险,我们似乎就能够找到一个非常理想的 g g g,他对于我们假定的这个样本集中所有的数据都适用。但别忘了,现实很骨感,我们通常没有所有的标签,也就是我们只能利用我们样本集中的一部分有标签的样本来找到一个局部最优的解,找到一个局部理想的 g g g。找这个局部理想,我们需要用到的就不是期望风险了,而是经验风险,定义如下:
请添加图片描述
这个东西很好理解了,就是没有利用所有的样本去评估风险,只是用有标签的样本来评估,同样的,最小化这个风险,我们就获得了我们想要的 g g g,记作 g ^ \hat{g} g^:
请添加图片描述
说白了,我们就是要根据合适的损失函数,然后根据有限带准确标签的样本(训练集)来最小化这个损失,从而找到一个局部最优解,这个就是有监督学习。

2.2 不完全学习(半监督学习)

这节讨论的是有准确的标签,但是标签不完全,只有一些样本有标签的情况。假设要解决一个二分类问题,我们有 n p n_p np个有标签正样本, n U n_U nU个无标签样本,那么在这种情况,我们就没办法计算请添加图片描述
但是我们可以旁敲侧击的来计算它的经验风险。首先,假定损失函数 l l l满足下面这样一个式子:请添加图片描述
接着,我们假定无标签的数据都是负样本,那么就有:
请添加图片描述
这个式子简单解释下,因为假定无标签数据都是负样本,但是其中可能有正样本,所以 E U [ l ( g ( x ) , − 1 ) ] E_U[l(g(x), -1)] EU[l(g(x),1)]这个东西等于l(g(x), -1)的正负样本的期望的和,当然前面也加上之前我们说的权值,再把 l ( g ( x ) , + 1 ) + l ( g ( x ) , − 1 ) = 1 l(g(x), +1) +l(g(x), -1)=1 l(g(x),+1)+l(g(x),1)=1这个假设带进去,就得到了最后的结果。
这样就能得到可以计算的经验风险了:
请添加图片描述
这个式子推导如下:
请添加图片描述
同2.1小节类似,也就能得到:
请添加图片描述
请添加图片描述
请添加图片描述

2.3 本文提出的方法

本文先提出了一种面向不准确监督学习的经验风险,然后提出了用无标签数据来估计不准确监督学习的经验风险中两个主要参数的方法,这些方法结合到一起,就构成了不完全、不准确监督学习方法(LIoIS)。

2.3.1 one-side不准确监督学习(oIS)

首先,本文的方法有一些假设:

  1. 正标签是无噪声的,负标签是有与实例相关的噪声的;(负标签不准)
  2. 分类先验概率是已知的;(真实场景下的分类先验是可以根据正样本和无标签样本估计出来)
  3. 噪声是与实例相关的噪声;

定义1:
oIS的risk被本文定义为:
请添加图片描述
这里面,P和N上面加波浪线是表示不准确的意思,P不准确是因为有一些不准确的负样本实际上是正样本,N不准确的原因是因为有一部分负样本被标注成了正样本,如果不考虑这些特殊情况,也就是不考虑标签的噪声,直接用之前的risk,就会导致学习的性能大受影响。所以本文引入两个重要的参数, σ − \sigma_- σ σ + \sigma_+ σ+,他们的定义如下:
请添加图片描述
这两个东西实际上是两个先验概率, σ + \sigma_+ σ+表示真实标签是+1条件下,观测到的标签也是+1的概率的倒数, σ − \sigma_- σ表示观测到标签是-1的条件下,真实标签是-1的概率。这两个参数看下来的感觉就是,我们还是要知道真实的标签。

PS:其实看到这里,这里比较疑惑,我们实际拿到数据时,怎么能看出这个标签是否是真实的(无噪声的),是凭借人脸一个一个看吗?如果一个一个检查完,那为啥不直接用有监督学习…看到后面才发现,本文的另一个工作,就是使用不完全的监督来估计这两个值,这个在下一节会进行讨论。

从这两个参数的定义来看,如果负标签的噪声比较大,那么 σ − \sigma_- σ应该是比较小的, σ + \sigma_+ σ+应该是比较大的,也就是负标签噪声越大的时候,给负损失的loss值的权重越小,也就降低噪声的影响。

那么,这种定义下的经验risk如下:
. 请添加图片描述
请添加图片描述
从这个式子来看,我们还是需要知道训练集标签是正确的先验概率,但在实际应用时,这个先验概率是无法获得的(如果可以获得这个先验概率,也就说明可以直接用有监督学习),所以本文的另一个工作就是用不完全监督来估计这两个参数。

2.3.2 通过不完全监督来估计 σ + \sigma_+ σ+ σ − \sigma_- σ

首先让我们我们重新写一下之前写过的 σ \sigma σ的表达式:
在这里插入图片描述
最后 σ + \sigma_+ σ+可以写为:
请添加图片描述
这个式子用反证法很好证明, σ − \sigma_- σ下面的估计方式是类似的,这里就不详细展开了。
这个式子中,只有 θ P \theta_P θP θ P ~ \theta_{\widetilde{P}} θP σ + r \sigma_{+r} σ+r是未知的,前两个未知量可以用下面的式子来估计:
请添加图片描述
其中, n y P U n_{yPU} nyPU表示通过前面的这个东西:
请添加图片描述
估计出的正样本的数量,可以理解为伪正标签的数量,而 n y ^ n_{\hat{y}} ny^则就是正标签的数量。

那么现在就剩下 σ + r \sigma_{+r} σ+r这个东西求不出来了,文中利用Bregman散度来估计 σ + r \sigma_{+r} σ+r,用到下面这个式子:
请添加图片描述
这个式子咋来的,我没有具体研究过,里面的 f f f表示任意一个凸函数,最小化这个式子,最后的到的 σ + r \sigma_{+r} σ+r就是我们需要的。
请添加图片描述

至此,我们就估计出了 σ + \sigma_+ σ+,同理,也可以估计出 σ − \sigma_- σ

到这里,本文其实实现了一个重要突破,那就是利用无负样本标签的不完全监督学习实现了对不准确监督学习性能的提升。也就是说,这里的不完全监督学习就是为了消除不准确监督中样本噪声带来的负面影响而使用的。

小结
目前,本文一共定义了两个risk,一个是oIS(One-sided Inaccurate Supervision) 的risk,如下:
请添加图片描述
这个里面关键的就是如何来估计 σ + \sigma_+ σ+ σ − \sigma_- σ
另一个risk是PU(Positive and Unlabeld) 的risk, 如下:
请添加图片描述
这个东西是可以直接来计算的,最小化它得到的函数用来生成伪标签。

2.3.3 不完全和不准确监督学习(LIoIS)

整体的框架,我们把oIS risk和 PU risk,用一定的权值结合起来,就是整体的risk了,如下:
请添加图片描述
因为这个里面, R P U R_{PU} RPU是用来提供伪标签的,它需要带标签的正样本,而 R o I S R_{oIS} RoIS也要用到正样本,所以本文把正样本分为两个部分,把 P ~ \widetilde{P} P 分为 P 1 ~ \widetilde{P_1} P1 P 2 ~ \widetilde{P_2} P2 ,则risk变为如下:
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值