许多 SSL 方法中, 一致性正则化是个非常好的选择, 其优越的效果在 UDA, ICT, VAT 等算法中得到了验证, 不过这种方法十分依赖对数据的特定增强. 除此之外, 另一种基于熵最小化的方法, 即伪标签, 则不需要这种前提, 不过可能出现错误的高置信度预测, 而影响模型整体的效果. 因此, 提出不确定性感知的伪标签选择(UPS)框架, 该框架通过大幅减少训练过程中遇到的噪声量来提高伪标签的准确性, 并且在 UPS 中, 可以生成负伪标签(negative pseudo-labels).

论文地址: In Defense of Pseudo-Labeling: An Uncertainty-Aware Pseudo-label Selection Framework for Semi-Supervised Learning
代码地址: https://github.com/nayeemrizve/ups
会议: ICLR 2021
任务: 分类

SSL 的一个常见假设是决策边界应该位于低密度区域. 基于一致性正则化(Consistency Regularization)的方法通过使网络输出不受输入扰动(一般情况下, 扰动比较微弱)的影响来实现这一点. 然而, 这些方法的问题在于它们通常依赖于一组丰富的数据增强, 例如仿射变换, 剪切和图像中的颜色抖动等, 这限制了其在视频和医学图像领域的能力, 因为在这领域上的增强效果较差.

基于伪标签(Pseudo-Label)的方法选择具有高置信度的未标记样本作为训练目标, 这可以看作是熵最小化(Entropy Minimization)的一种形式, 它降低了决策边界处数据点的密度. 与一致性正则化相比, 伪标签的一个优点是它本身不需要增强, 并且通常可以应用于大多数领域. 由于神经网络的校准不佳, 许多选择的预测结果是不正确的, 糟糕的网络校准会产生错误的伪标签样本, 导致训练噪声增加. 通过实验发现, 选择具有低不确定性的预测可以大大降低校准不良的影响, 提高泛化能力.

1. 简介

受不确定性估计(Uncertainty estimation)和 Negative Learning(NL) 启发, 提出了一种不确定性感知伪标签选择(UPS)框架, 该框架利用预测不确定性来指导伪标签选择过程. UPS 不需要特定模式的增强, 并且可以在其选择过程中利用大多数不确定性估计方法, 如论文中使用的 MC-dropout. 此外, UPS 允许创建负伪标签 Negative Pseudo Label(即表示不属于该数据的标签). 如果网络以高置信度和高确定性预测某个不存在类, 则可以为该样本分配负标签.

题外话: 最近的比较厉害的 SSL 方法将一致性正则和伪标签集合起来, 例如 MixMatch, ReMixMatch, FixMatch, FeatMatch, FlexMatch, AggMatch.

2. 符号系统

  • DL={{(x(i),y(i))}}i=1NLD_L=\{\{(x^{(i)},y^{(i)})\}\}_{i=1}^{N_L}DL​={{(x(i),y(i))}}i=1NL​​ 为有标签数据集, 其中 y(i)=[y1(i),…yC(i)]⊆{0,1}Cy^{(i)}=[y_1^{(i)},\dots y_C^{(i)}] \subseteq\{0,1\}^Cy(i)=[y1(i)​,…yC(i)​]⊆{0,1}C 表示 CCC 个类别. yC(i)=0y^{(i)}_C=0yC(i)​=0 表示不存在类 CCC, yC(i)=1y^{(i)}_C=1yC(i)​=1 表示存在类 CCC, 其实就是 one-hot 标签形式.
  • DU={x(i)}i=1NUD_U=\{x^{(i)}\}_{i=1}^{N_U}DU​={x(i)}i=1NU​​ 为无标签数据集, 其中有 NUN_UNU​ 个样本. 通过 DLD_LDL​ 生成伪标签 y~i\tilde{y}^iy~​i.
  • 基于伪标签的 SSL 方法在数据集 D~={(x(i),y~(i))}i=1NL+NU\tilde{D}=\{(x^{(i)},\tilde{y}^{(i)})\}_{i=1}^{N_L+N_U}D~={(x(i),y~​(i))}i=1NL​+NU​​ 上学习参数化模型 fθf_\thetafθ​. 其中在有标记数据集上时 y~(i)=y(i)\tilde{y}^{(i)}=y^{(i)}y~​(i)=y(i).

3. 伪标签生成

令 p(i)p^{(i)}p(i) 是在样本 x(i)x^{(i)}x(i) 上训练网络的输出概率, pc(i)p^{(i)}_cpc(i)​ 表示样本中存在类别 ccc 的概率. 使用这些输出概率, 可以为 x(i)x^{(i)}x(i) 生成伪标签:
y~c(i)=1[pc(i)≥γ](1)\tilde{y}_c^{(i)}=\mathbb{1}[p_c^{(i)} \geq \gamma] \tag{1} y~​c(i)​=1[pc(i)​≥γ](1)
其中 γ∈(0,1)\gamma \in (0,1)γ∈(0,1) 为固定的阈值. 当 γ=max⁡cpc(i)\gamma = \max_c p^{(i)}_cγ=maxc​pc(i)​ 时, 可以从式(1)导出传统的单标签伪标签. 对于多标签情况, γ=0.5\gamma = 0.5γ=0.5 将导致二元伪标签, 其中多个类可以存在一个样本中.

4. 伪标签选择

令 g(i)=[g1i,…,gC(i)]⊆{0,1}Cg^{(i)}=[g_1^{i},\dots,g_C^{(i)}] \subseteq \{0,1\}^Cg(i)=[g1i​,…,gC(i)​]⊆{0,1}C 表示第 iii 个样本选择的伪标签, 若 gc(i)=0g_c^{(i)}=0gc(i)​=0 则表示 y~c(i)\tilde{y}^{(i)}_cy~​c(i)​ 没有被选择, 反之则被选择.
gc(i)=1[pc(i)≥τp]+1[pc(i)≤τn](2)g_c^{(i)}=\mathbb{1}[p_c^{(i)} \geq \tau_p]+\mathbb{1}[p_c^{(i)} \leq \tau_n] \tag{2} gc(i)​=1[pc(i)​≥τp​]+1[pc(i)​≤τn​](2)
其中 τp\tau_pτp​, τn\tau_nτn​ 分别表示正负标签的置信度阈值(在这里, τp≥τn\tau_p \geq \tau_nτp​≥τn​). 如果 pc(i)≥τpp_c^{(i)} \geq \tau_ppc(i)​≥τp​ 的概率分数足够高, 则选择正标签, 相反, 如果网络对一个其他类有足够信心: pc(i)≤τnp_c^{(i)} \leq \tau_npc(i)​≤τn​, 则选择为负标签.

参数化模型 fθf_\thetafθ​ 在选定的伪标签子集上进行训练. 对于单标签分类, 在具有选定的正标签的样本上计算交叉熵损失(CE). 如果没有选择正标签, 则使用负标签, 使用负交叉熵损失(NCE):
LNCE(y~(i),y^(i),g(i))=−1s(i)∑c=1Cgc(i)(1−y~c(i))log⁡(1−y^c(i))(3)L_{NCE}(\tilde{y}^{(i)},\hat{y}^{(i)},g^{(i)})=-\frac{1}{s^{(i)}}\sum_{c=1}^Cg_c^{(i)}(1-\tilde{y}_c^{(i)})\log(1-\hat{y}_c^{(i)}) \tag{3} LNCE​(y~​(i),y^​(i),g(i))=−s(i)1​c=1∑C​gc(i)​(1−y~​c(i)​)log(1−y^​c(i)​)(3)
其中, s(i)=∑cgc(i)s^{(i)}=\sum_cg_c^{(i)}s(i)=∑c​gc(i)​ 为第 iii 个样本选择的伪标签数量. y^(i)=fθ(x(i))\hat{y}^{(i)}=f_\theta(x^{(i)})y^​(i)=fθ​(x(i)) 为模型输出. 融合正负标签, 使用修正的交叉熵损失:
LBCE(y~(i),y^(i),g(i))=−1s(i)∑c=1Cgc(i)[y~c(i)log⁡(y^c(i))+(1−y~c(i))log⁡(1−y^c(i))](4)L_{BCE}(\tilde{y}^{(i)},\hat{y}^{(i)},g^{(i)})=-\frac{1}{s^{(i)}}\sum_{c=1}^Cg_c^{(i)}[\tilde{y}_c^{(i)}\log(\hat{y}_c^{(i)})+(1-\tilde{y}_c^{(i)})\log(1-\hat{y}_c^{(i)})] \tag{4} LBCE​(y~​(i),y^​(i),g(i))=−s(i)1​c=1∑C​gc(i)​[y~​c(i)​log(y^​c(i)​)+(1−y~​c(i)​)log(1−y^​c(i)​)](4)
LBCEL_{BCE}LBCE​ 同样可用在多标签分类中.

5. 不确定性感知伪标签选择

通过分析网络校正与模型对个体样本输出不确定性的关系, 得到结论: 当选择具有更多确定预测的伪标签时, 伪标签子集的校准误差大大降低. 其中, 衡量网络校正的指标为 Expected Calibration Error(ECE). 根据这一观察, 我们得出结论, 可以利用预测不确定性来抵消校准不良的影响. 因此, 通过利用网络预测的置信度和不确定性, 在训练中使用更准确的伪标签子集. 式(2)现在变为:
gc(i)=1[u(pc(i))≤κp]1[pc(i)≥τp]+1[u(pc(i))≤κn]1[pc(i)≤τn](5)g_c^{(i)}=\mathbb{1}[u(p_c^{(i)})\leq \kappa_p]\mathbb{1}[p_c^{(i)} \geq \tau_p]+\mathbb{1}[u(p_c^{(i)})\leq \kappa_n]\mathbb{1}[p_c^{(i)} \leq \tau_n] \tag{5} gc(i)​=1[u(pc(i)​)≤κp​]1[pc(i)​≥τp​]+1[u(pc(i)​)≤κn​]1[pc(i)​≤τn​](5)
其中 u(p)u(p)u(p) 预测 ppp 的不确定性, κp\kappa_pκp​, κn\kappa_nκn​ 分别为不确定阈值.

  • a) 预测不确定性与预期校准误差 (ECE) 之间的关系. 在所有数据集中, 随着所选伪标签的不确定性降低, 所选子集的 ECE 也会降低.
  • b) 传统伪标签 (PL)、基于置信度的选择 (Confidence PL) 和 UPS 之间的伪标签选择精度比较.
  • c) 传统伪标签 (PL)、基于置信度的选择 (Confidence PL) 和 UPS 之间选择的伪标签数量的比较. 尽管 UPS 最初选择了一组较小的伪标签, 但通过最终的伪标签迭代, 它在训练中合并了大部分伪标签, 同时保持了更高的伪标签精度.

6. UPS 算法

  • 1.在 DLD_LDL​ 上训练神经网络 fθ,0f_{\theta,0}fθ,0​.
  • 2.训练完成后, 网络对 DUD_UDU​ 中的所有未标记数据生成预测结果.
  • 3.根据式(1)从这些预测中创建伪标签, 使用 UPS(式 5)选择伪标签的子集.
  • 4.使用选定的伪标签以及标记集 D~\tilde{D}D~ 来训练另一个网络 fθ,1f_{\theta,1}fθ,1​.
  • 5.重复步骤2到步骤4, 直到收敛为止.

代码地址: https://github.com/nayeemrizve/ups

[半监督学习] In Defense of Pseudo-Labeling: An Uncertainty-Aware Pseudo-label Selection Framework for SSL相关推荐

  1. 监督学习和无监督学习_让半监督学习再次伟大!谷歌最新无监督数据增强研究,全面超越现有半监督学习方法...

      新智元报道   来源:GoogleAI 编辑:元子 [新智元导读]Google AI最新研究用无监督数据增强推进半监督学习,取得令人瞩目的成果.该方法超越了所有现有的半监督学习方法,并实现了仅使用 ...

  2. 半监督学习之伪标签(pseudo label,entropy minimization,self-training)

    1.什么是伪标签 伪标签方法是一种同时从未标记数据和标记数据中学习的监督范式.将具有最大预测概率的类作为伪标签.形式化后等价于熵正则化(Entropy Regularization)或熵最小化(Ent ...

  3. 【科普】半监督学习的概述与思考,及其在联邦学习场景下的应用

    关注公众号,发现CV技术之美 在现实世界中,数据往往存在各种各样的问题,例如:图片分类模型对标注数据的依赖性很强.标注图片数据难以获取.大量未标注数据存在.针对某个场景的数据量过小-等等问题. 在联邦 ...

  4. 更少的标签,更好的学习,谷歌半监督学习算法FixMatch

    点击我爱计算机视觉标星,更快获取CVML新技术 本文向大家推荐谷歌前段时间发布的论文 FixMatch: Simplifying Semi-Supervised Learning with Consi ...

  5. 半监督学习(Semi-Supervised Learning, SSL)-简述及论文整理

    本文参考An Overview of Deep Semi-Supervised Learning,An overview of proxy-label approaches for semi-supe ...

  6. NIPS'22 | USB: 统一、任务多样化、对学术界更友好的半监督学习算法库

    每天给你送来NLP技术干货! 来自:王晋东不在家 当使用监督学习(Supervised Learning)对大量高质量的标记数据(Labeled Data)进行训练时,神经网络模型会产生有竞争力的结果 ...

  7. 【机器学习】半监督学习

    转自:https://www.cnblogs.com/kamekin/p/9683162.html,感谢博主 一.半监督学习 1-1.什么是半监督学习 让学习器不依赖外界交互.自动地利用未标记样本来提 ...

  8. 一文看懂半监督学习(Semi-supervised Learning)和自监督学习(Self-Supervised Learning)

    前言 网络上很多关于此的文章,在这里进行一个梳理 参考: https://zhuanlan.zhihu.com/p/33196506 https://zhuanlan.zhihu.com/p/1395 ...

  9. 半监督学习笔记(四):熵最小化、代理变量

    半监督学习笔记(四) 昨天的更新中,我们学习了几种基于对抗方法的一致性正则化的策略,接下来让我们做一个简单的复习: 1. Fast-SWA:采用了退火算法的思想,逼近多个最小值点后求平均. 2. Vi ...

  10. 文本增强、半监督学习,谁才是 NLP 少样本困境问题更优的解决方案?

    2020-06-18 02:22:35 作者 | JayLou娄杰 编辑 | 丛 末 1 前言 在医疗.金融.法律等领域,高质量的标注数据十分稀缺.昂贵,我们通常面临少样本低资源问题.本文从「文本增强 ...

最新文章

  1. 《从零开始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器
  2. 《Objective-c》-(@property和@synsthesize)
  3. mysql 创建临时表 时间类型_MySQL问答系列之什么情况下会用到临时表
  4. 前端参数无法转为后端实体内部类_Java学到什么程度才能叫精通?
  5. 手机进水急救——爆米花可用来吸干水分
  6. Struts2.x中获取request,response,session的方式
  7. c语言 除法小数点怎么写,高精度除法小数点位数
  8. 字符集和编码II: fat/msdos/vfat (文件名乱码的问题)
  9. 你是农村人吗?小时候没有自来水,每天喝的是什么水?
  10. 判断一组checkbox中是否有被选中的
  11. ADO.NET 2.0 功能一览
  12. Atitit. 异常的使用总结最佳实践java .net php Vo8f
  13. mysql连接本地数据库失败_“sql server”连接本地数据库失败怎么办?
  14. php在线运行调试工具源码
  15. 笔记本CPU正常温度是多少?
  16. UVa 11223 - O: dah dah dah!
  17. php夜间时间模式,Typecho夜间模式设置
  18. 几种求函数最值的算法
  19. BaseQuickAdapter 条目复用问题
  20. P1395 会议 题解

热门文章

  1. 郑捷《机器学习算法原理与编程实践》学习笔记(第二章 中文文本分类(二)—朴素贝叶斯算法)...
  2. android厨房的使用方法,懒人生活的福音:Android在厨房_软件资讯技巧应用-中关村在线...
  3. web day2 作业
  4. apt cyg 安装php,Cygwin的安装及使用apt-cyg管理软件包
  5. cygwin使用apt-cyg
  6. 今天我又发现一个宝藏应用:时光序-个人日程管理应用,记录生活的方方面面!
  7. MATLAB求解微分方程
  8. vue学习篇——前后端分离开发
  9. bzoj:1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名
  10. P1567 统计天数【入门】