MixMatch:半监督学习

  • 1 摘要
  • 2 介绍
  • 3 已有相关工作
    • 3.1 Consistency Regularization 一致性正则化
    • 3.2 Entropy Minimization/ Entropy regularization [熵最小化](https://blog.csdn.net/u012420553/article/details/100997590)
    • 3.3 Traditional regularization 传统正则化
  • 4 MixMatch
    • 4.1 数据增强 Data Augmentation
    • 4.2 标签猜测 Label Guessing
    • 4.3 Sharpening 锐化
    • 4.4 MixUp

1 摘要

半监督学习已被证明是利用未标记数据减轻对大型标记数据集依赖的一个强大范例。在这项工作中,我们结合了目前半监督学习的主流方法,提出了一种新的算法,MixMatch,它利用MixUp方法猜测数据中的低熵标签(low-entropy labels),这些数据包括了数据扩充之后的未标记样本和混合数据(未标记和标记的混合数据)。我们展示了MixMatch在许多数据集和标记的数据量上获得了大量最新的结果。例如,在包含250个标签的CIFAR-10上,我们将错误率降低了4倍(从38%降低到11%),在STL-10上降低了2倍。我们还演示了MixMatch如何帮助实现对差异隐私的更精确的隐私交换。最后,我们进行消融研究,梳理出哪些成分的混合匹配是最重要的成功

2 介绍

最近在训练大型深度神经网络方面取得的成功,在一定程度上要归功于大型标记数据集的存在。然而,对于许多学习任务来说,收集标记数据是昂贵的,因为它必然涉及到专家知识。这一点或许可以从医学任务中得到最好的说明,在医学任务中,使用昂贵的机械和标签进行测量是耗时分析的结果,通常来自多位人类专家的结论。此外,数据标签可能包含被认为是私有的敏感信息。相比之下,在许多任务中,获取未标记的数据要容易得多,也便宜得多

半监督学习(SSL)通过允许模型利用未标记的数据,试图在很大程度上减轻对标记数据的需求。最近的许多半监督学习方法都增加了一个损失项,这个损失项是在未标记的数据上计算的,它鼓励模型更好地泛化至到不可见的数据中。在最近的许多工作中,这个损失项可分为三类:
熵最小化——它鼓励模型对未标记的数据输出有信心的预测;
一致性正则化——当模型的输入受到扰动时,它鼓励模型产生相同的输出分布
泛型正则化——这有助于模型很好地泛化,避免对训练数据的过度拟合。

在本文中,我们引入了MixMatch,这是一种SSL算法,它引入了单个损失,将这些主要方法优雅地结合到半监督学习中。与之前的方法不同,MixMatci rget一次获得所有属性,我们发现它有以下好处:

  • 实验表明,MixMatch在所有标准的图像基准测试(第4.2节)上都获得了最先进的结果,例如,在包含250个标签的CIFAR-10上获得了11.08%的错误率(其次是最佳方法,获得了38%的错误率);

  • 此外,模型简化测试中表明,MixMatch 的效果比各个trick 混合之和要好;

  • 我们在第4.3节中演示了MixMatch对于不同的私有学习是有用的,使PATE框架[34]中的学生能够获得最新的结果,同时增强所提供的隐私保障和所达到的准确性。

简而言之,MixMatch为未标记的数据引入了一个统一的损失项,它无缝地减少了熵,同时保持一致性,并保持与传统正则化技术的兼容性。

3 已有相关工作

为了设置MixMatch,我们首先介绍SSL的现有方法。我们主要关注那些目前最先进的和MixMatch的基础;有很多关于SSL技术的文献我们在这里没有讨论:

  • transductive
  • graph-based methods
  • generative modeling
    下面,我们将引用一个通用模型

    y是输入x的分类类别的标签
    x是输入
    theta 是参数

3.1 Consistency Regularization 一致性正则化

在监督学习中,一种常见的正则化技术是数据增强,它应用于对输入进行转换,同时假定这种转换不影响类语义分类。例如,在图像分类中,输入图像通常会发生弹性变形或添加噪声,这可以在不改变图像标签的情况下显著改变图像的像素内容。粗略地说,这可以通过近乎无限生产新数据或者说修改数据,人为地扩大了训练集的大小。一致性正则化将数据增强应用于半监督学习,它利用了这样一种思想 : 即使对未标记的示例进行了增强,分类器也应该输出相同的类分布。更正式地说,一致性正则化强制未标记的示例x应该与Augment(x)归为一类,其中Augment©是一个随机数据增强函数,类似于随机空间平移或添加噪声。

最简单的例子,Π-Model,也叫做带有随机变化和扰动项的正则化,将下列式子加入了损失函数

对于未标记的x数据点,我们需要注意:Augment(x) 是一个随机变换,所以上式中Augment(x)中的两项是不相同的。该方法通过旋转、剪切、加性高斯噪声等复杂的增强过程,应用于图像分类基准。例如,“Mean teacher” 将上式中的一项替换为模型的输出,这个模型利用了模型中参数的指数移动平均。这提供了一个更稳定的目标,并在实践中发现显著改善结果。这些方法的一个缺点是,它们使用领域特定的数据增强策略. “虚拟对抗性训练。VAT(Virtual Adversarial Training)解决这个问题的方法是,计算一个加性扰动来应用于最大程度地改变输出类分布的输入。MixMatch通过对图像使用标准数据增强,利用了一致性正则化的一种形式。

3.2 Entropy Minimization/ Entropy regularization 熵最小化

在许多半监督学习方法中,一个常见的基本假设是分类器的决策边界不应该通过边缘数据分布的高密度区域。实现这一点的一种方法是要求分类器对未标记的数据输出低熵预测。

3.3 Traditional regularization 传统正则化

正则化是指施加的约束模型的一般方法难以记忆的训练数据,因此希望把它推广更好的看不见的数据
无处不在的正则化方法是添加一个损失项惩罚L2范数模型的参数,可以被视为执行为identity-covariance高斯之前的重量值
当使用简单的梯度下降法时,这个损失项等于指数衰减权值趋向于零。由于我们使用Adam作为梯度优化器,所以我们使用显式的“重量衰减”而不是L2损失项
最近,提出了一种混合正则化器 MixMatch,它训练输入和标签的凸合并模型。混合模型可以被看作是鼓励有严格的线性行为之间”的例子,通过要求一个或两个凸组合模型的输出输入接近的凸组合输出为每个单独的输入(43、44、18我们利用混合物在MixMatch既是规范(应用对标记点)和半监督学习方法(适用于无标号数据点)。之前,混淆已被应用于半监督学习;特别是的并发工作使用了方法的一个子集

4 MixMatch

在本节中,我们介绍了混合匹配 MixMatch,我们提出的半监督学习方法。MixMatch 是一个“整体”的方法, 它整合了前面提到的一些ideas 和一些来自主流SSL的组件。给定一个已经标签的 batch X 和同样大小未标签的batch U. MixMatch生成一批经过处理的增强标签数据X‘和一批带猜测标签的U’,然后分别计算带标签数据和未标签数据的损失项。更正式地,半监督学习的综合损失L计算如下:

Hpq为分布p和发布q的交叉交叉熵,T,K,α,λ 是超参数
算法流程:

4.1 数据增强 Data Augmentation

缓解标记数据不足的常见方法是使用数据增强。数据增强引入了一个函数Augment(x),该函数以其标签不变的方式对输入数据点x进行随机转换。重申一下,不同的增广应用将产生不同的(随机)输出。与许多SSL方法中的典型方法一样,我们对标记的和未标记的数据都使用数据增强。对于批次标记数据X中的每个xb,我们生成一个转换后的版本=Augment(xb) 。对于批次未标记数据U中的每个ub,我们生成K个增强 ub,k=Augment(ub), K 属于(1,…, K)。这些单独的扩展用于为每个ub生成一个“猜测的标签”qb,我们将在下一节中描述这个过程。
笔者笔记:对有标记的标签做1次增强,对未标记的标签做k次增强

4.2 标签猜测 Label Guessing

对于的每个未标记的训练数据U,MixMatch使用模型的预测为示例的标签生成一个“guess”。这个guess后来被用于无监督损失术语。为此,我们计算了该模型预测的分类分布在ub的所有K个增量上的平均值。在一致性正则化方法中,使用数据增强为未标记的示例获取人工目标是常见的。


笔者笔记:如此图所示,unlabeled 先经过K次随机增强,然后用 P_model(y l Augment(ub); theta) 进行预测,生成未标记标签的k个qb,然后将这这个分布取平均值,然后再进行Sharpen。对结果进行强化。在这个过程中P_model 只有一个,然后用新数据集再去训练P_model,然后再由P_model 去预测unlabeled. 这样反复迭代

4.3 Sharpening 锐化

笔者笔记:Sharpening是一个很重要的过程,这个思想相当于深度学习中的relu过程,在取平均之后不进行锐化会对结果影响很大。在生成标签猜测时,我们执行了一个额外的步骤,灵感来自于半监督学习中熵最小化的成功(在第2.2节中讨论)。在给定平均预测量的基础上,应用锐化函数减小了标签分布的熵。在实际应用中,对于锐化函数,我们使用了调整这个分类分布[5]的“温度”的常用方法,即操作

T是超参数。

4.4 MixUp

作为MixMatch的最后一步,我们使用了MixUp。为了在半监督学习中使用mixup,我们将它同时应用于带猜测标签的数据和没有标签的示例。与过去使用MixUp工作不同,我们将标记的示例与未标记的示例“混合”在一起,反之亦然,我们发现改进了性能。在我们的组合损失函数中,我们使用单独的损失术语来表示标记的和未标记的数据。这将导致在最初建议的表单中使用MixUp时出现问题;
相反,对于两个具有相应(one-hot)标签(cz1, pl), (x2, p2)的示例,我们定义了一个稍微修改过的混合,即计算(x’, p’) by

MixMatch:半监督学习相关推荐

  1. 半监督学习之MixMatch(代码解读 ablation)

    接下来将按照顺序讲解每一个文件的作用 ablation ab_mixmatch.py 这段代码定义了额外的标志来测试MixMatch方法实现的不同部分.MixMatch算法是一种半监督学习方法,利用标 ...

  2. 新技术“红”不过十年,半监督学习为什么是个例外?

    作者 | 严林 来源 | 授权转载自知乎(ID:严林) 这一波深度学习的发展,以2006年Hinton发表Deep Belief Networks的论文为起点,到今年已经超过了10年.从过往学术界和产 ...

  3. [论文学习]DIVIDEMIX:带噪声标签的半监督学习LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING

      本文研究含噪声标签数据的训练,是目前该领域的SOTA.主要方法是:首先使用高斯混合模型,根据训练集每样本的损失函数值对样本进行分类,分为干净样本和噪声样本,把噪声样本作为无标签样本:然后使用半监督 ...

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

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

  5. 长文总结半监督学习(Semi-Supervised Learning)

    ©PaperWeekly 原创 · 作者|燕皖 单位|渊亭科技 研究方向|计算机视觉.CNN 在现实生活中,无标签的数据易于获取,而有标签的数据收集起来通常很困难,标注也耗时和耗力.在这种情况下,半监 ...

  6. 半监督学习技术在金融文本分类上的实践

    垂直领域内的自然语言处理任务往往面临着标注数据缺乏的问题,而近年来快速发展的半监督学习技术为此类问题提供了有希望的解决方案.本文以 Google 在 2019 年提出的 UDA 框架为研究主体,详细探 ...

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

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

  8. DivideMix: Salesforce提出使用半监督学习大幅改进含噪声标签的学习

    点击我爱计算机视觉标星,更快获取CVML新技术 分享一篇今天新出的论文DivideMix: Learning with Noisy Labels as Semi-supervised Learning ...

  9. 厉害了!谷歌新发布的半监督学习算法降低4倍错误率

    点击我爱计算机视觉标星,更快获取CVML新技术 昨天跟大家分享了Facebook AI 提出10亿级数据规模的半监督图像分类模型,ImageNet测试精度高达81.2%!,引起了不少朋友的兴趣.虽说做 ...

最新文章

  1. 【Live555】live555源码详解(五):MediaSource、MediaSink、MediaSession、MediaSubsession
  2. mysql 允许远程登录
  3. Java程序员必备秘籍 Scala与Clojure函数式编程语言
  4. Workaround for 1701 Cannot truncate a table referenced in a foreign key constraint using doctrine:
  5. JAVA数据库连接池实现
  6. JS生成x到y的随机数
  7. video怎么重新加载 vue_vue 事件中更改video的src成功,视频不加载
  8. 解决:IE中不能自动选择UTF-8编码的解决方法
  9. python定时爬虫_python 每天如何定时启动爬虫任务(实现方法分享)
  10. python载入图像
  11. ajax调用后台Datatable
  12. 两用物项许可证办理流程_[进出口管制类]两用物项和技术进口许可证之易制毒化学品(6)欣海丁丁检务工作室(272)...
  13. 激光雷达(LiDAR)| 第一节:点云处理库与软件介绍
  14. 【黑苹果】戴尔DELL Vostro 14 5490+i5-10210U和i7-10510U+OpenCore+macos 10.15.4 efi文件下载
  15. iphone 手势编程---值得回忆的API
  16. 【offer谈判】如何做一朵盛世白莲花,让企业愿意为你花大价钱!
  17. MySQL报错:SQL错误[1146][42s02]: Table 'tablename' doesn't exist(记一次以为自己删库的经历)
  18. VGG16的猫狗识别
  19. 苹果系统计算机常用英语,iOS开发必备英语词汇整理
  20. python基础-闰年判断

热门文章

  1. 传统汽车保险丝盒与智能保险丝盒Efuse的应用
  2. centos安装nginx教程
  3. 乘法原理运用在算法中
  4. 2019.10.9 多校赛 Day2【including 文体两开花,国际影星,零糖麦片
  5. 信息管理系统第三部分作业
  6. 页面两端对齐布局,最全,最完整的方案
  7. burp抓取https数据包:
  8. React基础第一天-jsx
  9. 开源IT资产管理软件(GIPI)
  10. 随笔~游戏工作室的招聘