FixMatch论文摘记
FixMatch(ReMixMatch的大大简化版本)
对于无标签样本前人的做法
基于一致性正则化
最小化交叉熵损失或均方误差损失,使得模型对于同一样本的两种不同数据增强的预测结果尽可能地接近。
基于伪标签
用有标签样本训练好的模型为无标签样本打伪标签qb,设定一个置信度阈值τ,选取伪标签置信度大于阈值τ的样本,用其伪软标签qb和argmax(qb)得到的one-hot标签qb^(伪硬标签)计算交叉熵损失,使得模型对所做出的预测尽可能地自信(熵最小化)
作者的做法(对于无标签样本的处理结合了上述两种思想)
弱数据增强(flip裁剪、shift平移);强数据增强(RandAugment、CTAugment、Cutout),Cutout默认地用于RandAugment和CTAugment之后(各数据增强方法的参数设置见原论文2.3节)
FixMatch的损失包含两部分,ls是对有标签样本而言的、lu是对无标签样本而言的。
ls是对有标签样本的损失,是标准的交叉熵损失,使得模型对弱数据增强的预测结果和原样本的标签pb尽可能地接近。
α(xb)代表对样本xb做弱数据增强,B为batchsize,pm为模型。
lu是对无标签样本的损失
qb是弱数据增强样本的伪软标签,argmax(qb)得到的one-hot标签qb^ 是弱数据增强样本的伪硬标签。A(xb)代表对样本xb做强数据增强,μB为batchsize,pm为模型。
和前人的做法相同的是:都是只取伪标签的置信度大于阈值τ的无标签样本去算交叉熵。
和前人的做法不同的是:该式使得模型对同一样本的强数据增强的预测结果和弱数据增强的预测结果的伪硬标签尽可能地接近。是模型对两种不同的数据增强给出的结果去算交叉熵,而不是对一个数据增强的软伪标签和对应的硬伪标签算交叉熵。具体的流程如下图所示:
整体的损失表示为ls+λulu(λu是超参数、控制无标签样本在模型训练中的相对权重)
作者的发现
- 半监督性能可能会受到SSL算法之外的其他因素的影响,因为诸如正 则化之类的考虑在低标签环境中可能尤为重要。优化器、网络架构、学习率上的选择也同等重要。
- 在本文的所有的模型和实验中,使用简单的权重衰减正则化(L2正则化)
- 我们还发现,使用亚当优化器[22]导致性能变差,转而使用带动量的标准SGD
- 我们使用余弦学习率衰减[28]将学习速率设置为ηcos(7πk/16K)其中η是初始学习速率,k是当前训练步骤,K是训练步骤总数
- 我们使用指数移动平均更新模型参数。
实验细节
- 阈值τ这一超参数的最优值是0.95
- 阈值0.95显示了最低的错误率,尽管将其提高到0.97或0.99并没有造成太大影响。相反,使用较小的阈值时,准确度下降了超过1.5%。请注意,阈值控制了伪标签的质量和数量之间的权衡。无标签数据的伪标签准确性随着阈值的提高而增加,在0.95时达到峰值,但阈值设的越高,参与计算交叉熵的伪标签样本就越少,这表明,达到高准确度时,伪标签的质量比数量更重要。另一方面,当使用置信度阈值时,锐化在性能上没有表现出显著差异,因此用了置信度阈值来筛选高置信度的伪标签样本就不用再锐化(sharpening)了。
- 我们发现,Cutout和CTAugment都采用才能获得最佳性能;删除这两个中的任一个都会导致出错率显著增加
- 我们还研究了用于生成伪标签和预测(即上述流程图中的上下路径)的弱和强增强的不同组合。当我们将用于标签猜测的弱增强替换为强增强时,我们发现模型在训练早期发散。相反,当将弱增强替换为无增强时,模型对无标签标签过拟合。使用弱增强代替强增强来生成模型的训练预测,准确率最高达到45%,但不稳定,并逐步下降到12%。这表明强数据增强的重要性。
不成熟的想法
阈值τ改成一个随epoch增加而不断变大的参数会不会更好?
通篇未使用mixup这一经典的数据增强方法,使用mixup会不会更好?
FixMatch给出的整体损失是有监督的损失项和无监督的损失项相加,意思是无标签的样本和有标签的样本在一个epoch中同时参与训练?
把两个损失项拆开,先只用第一个损失项有监督地训练模型,然后用训练好的模型给无标签样本打伪标签,再用第二个损失项训练模型效果会不会更好?
FixMatch论文摘记相关推荐
- Effective Number论文摘记
Effective Number论文摘记 常识: Cost-Sensitive Learning和Re-Weightng是一回事 Sigmoid Cross-Entropy Loss( Sigmoid ...
- OSDI’21 GNN 相关论文摘记
OSDI'21 GNN 相关论文摘记 Dorylus: Affordable, Scalable, and Accurate GNN Training with Distributed CPU Ser ...
- 论文摘记_《雷达有源干扰技术研究》
文章目录 雷达干扰的难点 压制干扰 && 欺骗干扰 两类干扰方式的优缺点 压制干扰 噪声调制干扰使用原因 噪声调幅 噪声调频 噪声调相 小结 欺骗干扰 多普勒闪烁 速度拖引 时域频域调 ...
- 图解半监督学习FixMatch,只用10张标注图片训练CIFAR10
2020-05-25 11:20:08 作者:amitness 编译:ronghuaiyang 导读 仅使用10张带有标签的图像,它在CIFAR-10上的中位精度为78%,最大精度为84%,来看看是怎 ...
- NeurIPS 2020 | FixMatch:通过图像增强就能实现半监督学习
前言 算法.算力.数据是深度学习的三架马车.深度学习是数据驱动式方法,目前的从业基本者都有一个共识就是:数据是非常重要的且不可或缺的.在实际环境中对数据标注又是一个耗时和昂贵的过程.但是受束于资源的限 ...
- 更少的标签,更好的学习,谷歌半监督学习算法FixMatch
点击我爱计算机视觉标星,更快获取CVML新技术 本文向大家推荐谷歌前段时间发布的论文 FixMatch: Simplifying Semi-Supervised Learning with Consi ...
- 论文阅读 Adaptive Consistency Regularization for Semi-Supervised Transfer Learning
Adaptive Consistency Regularization for Semi-Supervised Transfer Learning 论文题目:自适应一致性正则化方法用于半监督迁移学习 ...
- 开题报告、文献综述、外文翻译、论文反抄袭软件、论文目录,就差论文正文了,其他都全了!!
开题报告.文献综述.外文翻译.论文反抄袭软件.论文目录,就差论文正文了,其他都全了!! 开题报告主要包括以下几个方面: (一)论文名称 论文名称就是课题的名字 第一,名称要准确.规范.准确就是论文的名 ...
- FixMatch文章解读+算法流程+核心代码详解
FixMatch 本博客仅做算法流程疏导,具体细节请参见原文 原文 查看原文点这里 Github代码 Github代码点这里 解读 FixMatch算法抓住了半监督算法的两个重要观点,第一个是一致性正 ...
最新文章
- MIT喊你来上课,深度学习课程,免费的那种 | 资源
- spring bean的生命周期和创建流程
- 怎能错过这个技术集市!转发有奖,惊喜连连!
- mysql+秘密_mysql不被人知的秘密
- php里isset的属性,测试PHP中变量是否存在的最佳方法;isset()显然已损坏
- java maven junit_【JUnit】JUnit 与 maven 集成
- 作者:李涛(1975-),男,南京邮电大学计算机学院、软件学院院长,南京邮电大学大数据研究院院长。...
- CI Weekly #5 | 微服务架构下的持续部署与交付
- mysql开发与运维_专业的MySQL开发规范
- 傅里叶变换及拉普拉斯变换直观理解总结
- 谈谈网络协议,常见的网络协议有那些?
- 有一个7升的杯子和一个4升的杯子,如何盛出5升水?
- 生物充电 - 利用树干生物电给无线传感器供电
- ubuntu 安装音乐播放器
- 双人贪吃蛇java 代码_贪吃蛇课设--个人博客
- Spring Kafka:@KafkaListener 单条或批量处理消息
- Android原生蓝牙音乐绑定、Sink端play流程
- ipad浏览器安装java_在桌面浏览器中调试iphone、ipad等设备上的网页
- Unity:简单易懂小游戏
- 数码摄影重要流程——ISP
热门文章
- 区块链三加一 “成才”路上提个醒:区块链培训机构鱼龙混杂
- 标题 穿越雷区 java_6届国赛java试题 4: 穿越雷区
- [UE4]让AI跑起来
- Android Jetpack annotation
- mac 特殊符号的操作
- 生化实验好帮手——牛血清白蛋白粉末,诊断级
- G-LAB四月份作业-数据可视化问题探讨
- NTFS格式和FAT格式的区别
- foobar2000 1.4.4 正式版发布
- W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915