论文阅读:Pseudo Label The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks

论文简介:这是在半监督学习领域中比较靠前的一篇方法论文,发表在了2013年的ICML。在总结这篇论文之前,我先整理了一下关于熵和熵正则化(Entropy Regularization)的内容,因为这是基础的概念,自己之前也没了解,只是看了看名字。

主要的核心思想:将预测概率最大的标记作为无标记数据的伪标签,然后给未标记数据设一个权重,在训练过程中慢慢增加未标记数据的权重来进行训练。在手写体数据集上有了较好的性能。

优点:方法简单,直接;
缺点:缺乏数学理论推导,就是从伪标签到体现熵正则化的这个过程,没有数学推导,直观上是可以说通的。

熵:衡量一个系统混乱程度的物理量,简单来说,如果一个系统中的粒子在运动过程中有很多可能的位置,那么这个系统具有比较高的熵值,反之,如果系统中的粒子处于静止状态(粒子的位置相对固定),则系统具有很低的熵值。那么熵如何和概率结合在一起呢?系统中某个情况的概率越大,代表熵越小,比如在一个小桶中有4个小球而且都是红球,那么取出一个球肯定是红球,其概率为1,小球中,只有一个红球,那么取出来的概率就是0.25。显而易见的是前者的熵小,后者的熵但是如果4个大(因为后面的情况更为复杂),因此,需要用一个公式来表示概率越小熵越大,因为可以使用对数来表示,而且对数可以将连乘转换为连加。所以有了现在的熵的计算公式,就是负的事件发生概率与其概率对数乘积的累加和。

在熵正则化中,主要思想是用熵来衡量class overlap,也就是分类的重叠程度。那为什么熵可以来衡量这个重叠程度呢?举例来说,假设有x1-x4,使用model1分类的结果是都是属于第一类的结果是0.9,属于第二类的结果是0.1,而对于model2来说,分类的结果都是0.5。显然model2的分类结果的重叠率会很好,因为都是0.5,所以对一个新的输入来说,很难去区分究竟属于哪一类;再结合熵计算的公式,可以发现当熵高的时候,这个重叠率也是高的,熵小的时候,重叠率是低的。因此就可以将重叠率和熵联系在一起。

熵正则化就是利用这一点,将熵引入到目标函数中作为一个正则项,损失函数的组成是前部分是常规的似然函数,后面是负的熵。前部分的似然函数中的数据是已标记的数据,后面的熵针对的是无标签的数据。

所以在Pseudo label中对于未标记的数据,选择预测概率最大的标记作为该样本的伪标记。然后,给未标记的数据设置一个权重,在训练的过程中逐渐的增加未标记数据的权重。给出整体的一个损失函数:

公式描述
前面部分是标记数据的loss,L是交叉熵损失,y是其真实标签,f是模型对于标记数据的输出,n是数量;后面部分是未标记数据的损失,也是交叉熵损失,y是伪标签,f是对于未标记数据的输出。这个 是一个比较重要的参数,论文中也给出了具体的设置,在100轮之前,其值为0,也就是只在有标签的数据上进行训练,在100-600轮之间时,其值设置为(轮数-100)/500 *3,当大于600轮的时候,其值为3。通过这样的方式逐渐地增加未标记数据的权重。

论文中体现的主要的半监督方法是熵正则化。因为熵正则化是根据低密度假设得到的。(低密度假设:假设数据非黑即白,在两个类别之间的数据分布之间存在比较大的差距,即在两个类别之间的边界处数据的密度很低,用熵可以来表示,作为一个正则化项)而且熵可以来度量类的重叠率,所以通过最小化未标记数据的条件熵可以减少重叠率,从而得到一个通过低密度区域的决策边界,也就是让分类的边界更加的明显。(上面已经提到了为什么熵小重叠率就会小)
熵正则化的公式可以分为第一部分是有标记数据的条件似然函数,第二部分是无标签数据的条件熵。再回顾一下损失函数的组成是由第一部分的标记数据的损失,第二部分是无标记数据的损失。所以本文提出的方法是让这两项互相对应。这样可以理解为第一项都是有标记损失,第二项都是可以用来减少类别的重叠率,也就是通过对无标记数据建立的伪标签达到和熵正则化一样的效果。

整体的思路就是从伪标签到熵正则化,然后再到低熵假设。大概的思路就是这样推导的。

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值