Advertisement

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

阅读量:

提出了一种简单有效的深神经网络半监督学习方法。基本上,所提出的网络是以有监督的方式训练,同时有标记和无标记的数据。对于未标记的数据,伪标签,只是选取具有最大预测概率的类,就好像它们是真的la-bels一样使用。这实际上相当于熵正则化。它支持类之间的低密度分离,这是半监督学习的一个常见假设。该方法在去除噪声的自动编码和丢失的情况下,优于传统的半监督学习方法,在MNIST-handrit-10位数据集上对非常小的标记数据进行半监督学习

文章目录

    • 核心思想
    • 训练过程
    • 核心公式
    • 结论

核心思想

Pseudo-Label :伪标签是未标记数据的“假定”目标类,就好像是这些数据的真标签一样。我们只选取对每个未标记样本具有最大预测概率的类,公式如下:
在这里插入图片描述

训练过程

We use Pseudo-Label in a fine-tuning phase with Dropout. The pre-trained network is trained in a su- pervised fashion with labeled and unlabeled data si- multaneously. For unlabeled data, Pseudo-Labels re- calculated every weights update are used for the same loss function of supervised learning task.

训练分为两步,第一步用标注好的数据对网络进行正常训练,随后第二步利用带有伪标签的未标注数据进行微调,并且每次训练完成都更新伪标签重新进行训练,直到模型训练完成。

核心公式

在这里插入图片描述

其中n分别是标注数据和未标注数据的数量

f是网络的输出,y是样本的label,未标注数据也类似

a(t)是平衡系数,用于平衡标注数据与未标注数据对损失的贡献;为了自适应的对a(t)进行调整,我们在此利用模拟退火算法计算a(t),公式如下:
在这里插入图片描述
其中T1和T2分别表示两个阶段:

当t<T1时,也就是初始阶段,伪标签的元素不参与loss的评估。此时完全通过标注数据对网络进行训练

当t>T2时,也就是微调阶段,伪标签元素通过一个最大的权重af参与模型的训练

当处于中间阶段,也就是T1<=t<=T2时,我们逐渐增大伪标签元素的权重:

复制代码
  * T2-T1表示微调阶段与初始阶段的“距离”,是个定值
  * t-T1表示当前阶段与初始阶段的“距离”,随着训练过程的进行该值越来越大,当t进行到T2时,该比值为1,表示训练过程进入微调阶段。

每次训练完毕后,都会更新各未标注样本的伪标签,再重新参与新的训练,直到训练过程彻底结束。

结论

该算法通过一个简单的损失函数就能利用数据集中没有标签的数据,而且对原始模型几乎不需要任何修改,也没有增加额外的需要进行训练的参数。据论文所述甚至已经超越当时的SOTA方法,因此是个简单有效的半监督学习策略。

全部评论 (0)

还没有任何评论哟~