【半监督学习】Match系列.2

news2024/12/24 8:12:34

本文简单介绍半监督算法中的Match系列方法:CoMatch(ICCV2021),CRMatch(GCPR2021),Dash(ICML2021),UPS(ICLR2021),SimMatch(CVPR2022),AdaMatch(ICLR2022)。

代码:GitHub - microsoft/Semi-supervised-learning: A Unified Semi-Supervised Learning Codebase (NeurIPS'22)

CoMatch: Semi-supervised Learning with Contrastive Graph Regularization, ICCV2021

解读:CoMatch 论文阅读 - 知乎 (zhihu.com)

【ICCV2021】CoMatch: Semi-supervised Learning with Contrastive Graph Regularization - 知乎 (zhihu.com)

Salesforce 研究院 | CoMatch:基于对比图正则化的半监督学习 - 智源社区 (baai.ac.cn)

论文:https://arxiv.org/abs/2011.11183

代码:GitHub - salesforce/CoMatch: Code for CoMatch: Semi-supervised Learning with Contrastive Graph Regularization

半监督学习是一种有效利用无标签数据减少对数据标注的依赖的范式。当前主要有两个主流的半监督学习研究趋势:(1)使用分类器为每个无监督样本赋予训练所需的伪标签(2)首先进行无监督、自监督预训练,然后基于得到的表征进行有监督的调优和自学习。然而,自学习方法高度依赖于分类结果的质量,会引起确认偏差,积累预测误差。另一方面,对比学习等自监督学习方法则学习到的是针对特定分类任务的次优解。

本文提出了一种新的半监督学习方法 CoMatch,它是目前主流半监督方法的集大成者,并解决了它们的局限性。CoMatch 会同时学习训练数据的两种表征(分类概率和低维嵌入)。这两种表示相互作用,共同演进。嵌入会对分类概率施加一个平滑性约束来改进伪标签,而伪标签则通过基于图的对比学习来对嵌入的结构进行正则化。

 CoMatch联合学习训练数据的两种表示:类别概率和低维嵌入。这两种表征相互作用,共同演进。低维嵌入对类别概率进行平滑约束来改善伪标签,而伪标签则通过基于图的对比学习来规范嵌入的结构。

给定一批无标签图像,作者对它们进行较弱的数据增强,然后将增强后的图像用于生成记忆平滑后的伪标签。这些伪标签将被作为对应用了较强数据增强后的图像进行类别预测的目标标签。作者构建了一个带有自环的伪标签图,用来衡量样本之间的相似度,从而训练一个嵌入图,使得带有相似伪标签的图像拥有相似的嵌入。

CRMatch: Revisiting Consistency Regularization for Semi-Supervised Learning, GCPR2021

论文:[2112.05825] Revisiting Consistency Regularization for Semi-Supervised Learning (arxiv.org)

代码:GitHub - subugoe/crmatch: Match unstructured references to DOIs using Crossref metadata search

本文重新审视一致性正则化想法,通过减少不同增强图像的特征之间的距离来强制执行一致性,能提高性能。 然而,通过增加特征距离来激励一致性,能进一步提升性能。本文通过FeatDistLoss技术提出一个改进的一致性正则化框架CRMatch。该正则化框架分别在分类器和特征层面施加一致性和等值性。

左图:二元分类任务。星星是强增强图像的特征,圆圈是弱增强图像的特征。虽然通过减少来自不同增强图像的特征之间的距离来鼓励不变性,可以提供良好的性能(左图),但通过增加距离来鼓励等值表征,使特征空间更加规范化,导致更好的泛化性能。 

Dash: Semi-Supervised Learning with Dynamic Thresholding, ICML 2021

解读:论文笔记---“Dash” - 知乎 (zhihu.com)

达摩院开源半监督学习框架Dash,刷新多项SOTA - 知乎 (zhihu.com)

论文:https://arxiv.org/abs/2109.00650

代码:idstcv/Dash: Tensorflow implementation for Dash (github.com)

本文提出了一种具有动态阈值 (dynamic threshold,Dash) 的通用 SSL 算法,可以在训练过程中动态选择未标记的数据。具体来说,Dash 首先对有标签的数据进行遍历,得到一个用于无标签数据选择的阈值。然后它选择损失值小于阈值的未标记数据作为训练数据集。阈值在优化迭代过程中逐渐减小。 

In Defense of Pseudo-Labeling: An Uncertainty-Aware Pseudo-label Selection Framework for Semi-Supervised Learning, ICLR 2021

解读:伪标签还能这样用?半监督力作UPS(ICLR 21)大揭秘! - 知乎 (zhihu.com)

论文解读: IN DEFENSE OF PSEUDO-LABELING - 知乎 (zhihu.com)

论文:[2101.06329] In Defense of Pseudo-Labeling: An Uncertainty-Aware Pseudo-label Selection Framework for Semi-Supervised Learning (arxiv.org)

代码:nayeemrizve/ups: "In Defense of Pseudo-Labeling: An Uncertainty-Aware Pseudo-label Selection Framework for Semi-Supervised Learning" by Mamshad Nayeem Rizve, Kevin Duarte, Yogesh S Rawat, Mubarak Shah (ICLR 2021) (github.com)

伪标签往往有着很高的置信度。如果用质量较差的伪标签作训练,将引进大量噪声样本,从而严重影响模型的性能(带噪学习(Learning with noisy labels)研究的范畴)。因此,有必要校正网络模型(calibration of Neural Networks)的输出。本文参考深度网络不确定性估计的技术(MC-dropout, ICML 2016),和softmax层输出的概率双管齐下,筛出可靠的贴伪标签的样本。Negative Learning带噪学习,虽然不知道样本属于哪类,但对它不属于哪类还是有把握的(Negative learning for noisy labels,ICCV 2019)。这样的伪标签相比传统的Positive Learning的伪标签更为准确,因而能很好地降低标签的带噪率,起到校正模型的作用。

本文提出的Uncertainty-Aware Pseudo-Label Selection Framework (UPS)策略,正是结合了不确定性估计(Uncertainty estimation)和Negative learning的技术。

  • 兼顾Positive & Negative Pseudo Label的打伪标签法
  • 基于不确定性的伪标签选择法

总体来说分为3步:

  1.  只用有标注的数据训练一个模型;
  2. 用训练得到的模型结合UPS方法筛选出样本打伪标签;
  3. 拿打上伪标签的数据和有标注数据一起训练模型(重新随机初始化),然后跳至(2)继续执行,直至循环到最大迭代次数。之所以要重新随机初始化,是为了避免打上错误伪标签的样本带来的误差在迭代训练中不断传播。

SimMatch: Semi-supervised Learning with Similarity Matching, CVPR2022

解读:SimMatch 论文分享___init__:的博客-CSDN博客

论文:https://arxiv.org/abs/2203.06915

代码:GitHub - mingkai-zheng/simmatch

半监督学习,

  • 先在大规模数据集预训练,并用少量标签数据微调。缺点在于,难未利用到标签信息。
  • 伪标签通常由弱视图或多个增强视图的平均预测产生。缺点在于,当标签数据十分有限时,所训练的语义分类器并不可靠,由此生成的伪标签将会出现“over confidence”问题,即模型会去拟合那些置信度很好但是错误的伪标签,由此导致性能下降。

本文提出SimMatch框架,

  1. 首先,希望强增强视图和弱增强视图具有相同的语义相似性(预测的标签)。
  2. 强增强视图与弱增强视图具有相同的实例特征(即实例之间的相似性),以便于进行更多的内在特征匹配。希望强增强视图与弱增强视图具有类似的相似性分布。

 SimMatch 进行标签传播,并允许语义相似性和实例相似性相互交互。

  • 使用语义相似度来校准实例相似度;
  • 使用实例相似度调整语义相似度。

当语义相似度和实力相似度接近时,意味着两个分布与彼此的预测一致,由此生成的伪标签将具有更高的置信度,从而更加可靠。

 

Class-Aware Contrastive Semi-Supervised Learning, CVPR2022

解读:类感知对比半监督学习(Class-Aware Contrastive Semi-Supervised Learning)论文阅读笔记_类感知是什么_Remoa的博客-CSDN博客

论文:[2203.02261] Class-Aware Contrastive Semi-Supervised Learning (arxiv.org)

代码:https://github.com/TencentYoutuResearch/Classification-SemiCLS

现有基于伪标签的半监督学习方法存在的问题:

  • 伪标签 → 存在确认偏差(Confirmation Bias)
  • 分布外噪声数据 → 影响模型的判别能力

是否存在一种通用增益方法,可适用于各基于伪标签的半监督方法?

  • MixMatch[1](NIPS, 2019):数据Mixup → 预测锐化(Sharpen)
  • FixMatch[2](NIPS, 2020):置信度阈值,弱增强 → 生成伪标签 → 监督强增强

本文提出一套缓解确认偏差(Confirmation Bias)的通用架构:

  • 对于可靠的分布内数据(In-distribution Data):使用有监督对比学习。分布内数据:指无标记数据集不包含新类别,或具有平衡的数据分布的数据。
  • 对于存在噪声的分布外数据(Out-of-distribution Data):对特征进行无监督对比学习。分布外数据:指无标记数据集包含未知类别,或具有不平衡的数据分布的数据。

针对伪标签存在的噪声问题:进行权重分配。

AdaMatch: A Unified Approach to Semi-Supervised Learning and Domain Adaptation, ICLR2022

解读:AdaMatch: A Unified Approach to Semi-Supervised Learning and Domain Adaptation - 知乎 (zhihu.com)

论文:https://arxiv.org/abs/2106.04732

代码:GitHub - google-research/adamatch

GitHub - yizhe-ang/AdaMatch-PyTorch: Unofficial PyTorch Implementation of AdaMatch: A Unified Approach to Semi-Supervised Learning and Domain Adaptation

https://github.com/zysymu/AdaMatch-pytorch

本文将半监督学习扩展到域适应问题,能够使得模型在一种数据分布上训练,并在另一种数据分布上测试。AdaMatch统一了无监督领域适应(UDA)、半监督学习(SSL)和半监督领域适应(SSDA)的任务。 

 三种手段: 随机的输出插值(random logit interpolation),相对变化的置信度阈值调整(relative confidence threshold)和改进的分布对齐(源于ReMixMatch,但是算法backbone来自FixMatch)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/500012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ajax、fetch、axios三者的异同

同:都是发送网络请求 异: 1.ajax ajax是异步的javascript和xml,用于创建快速的动态网页的技术。(用js发送异步的网络请求) 特点:局部刷新页面,无需重载整个页面。 很多小伙伴会误以为ajax是…

2023年的深度学习入门指南(12) - PEFT与LoRA

2023年的深度学习入门指南(12) - PEFT与LoRA 大家都知道,大模型的训练需要海量的算力。其实,即使是只对大模型做微调训练,也是需要大量的计算资源的。 有没有用更少的计算资源来进行微调的方法呢?研究者研发出了几种被Hugging F…

fastCGI使用

1.http解释 在使用fastCGI之前需要先了解什么是http,以及静态请求和动态请求。 1.什么是http HTTP是超文本传输协议,它定义了客户端和服务器端之间文本传输的规范。HTTP通常运行在TCP之上,使用80端口。HTTP是一种简单的请求-响应协议&#x…

GUN C编译器拓展语法学习笔记(二)属性声明

一、属性声明 1、存储段:section 1.1 GNU C编译器扩展关键字:__attribute__ GNU C增加了一个__attribute__关键字用来声明一个函数、变量或类型的特殊属性。主要用途就是指导编译器在编译程序时进行特定方面的优化或代码检查。例如,我们可以…

C语言三子棋小游戏

哈喽,大家好,今天我们要利用之前所学习的C语言知识来写一个三子棋小游戏。 目录 1.游戏 2.函数部分 2.1.菜单 2.2.初始化棋盘 2.3.打印棋盘 2.4.玩家下棋 2.5.电脑下棋 2.6.判断输赢 2.7.判断棋盘是否已满 3.完整代码展示 1.游戏 今天我们写的…

未知时间信息下雷达运动目标的计算高效重聚焦与估计方法

论文背景 在雷达成像中,回波信号在接收到之前可能已经被多次反射或散射,这样会导致回波信号的时间和频率发生变化。其中,距离向维度上的变化称为距离单元迁移(range cell migration,RCM),频率向…

Spring笔记

文章目录 1、什么是Spring?2、如何创建Spring3、Spring简单的读和取操作1.直接在spring-config.xml里面放置对象2.通过配置扫描路径和添加注解的方式添加Bean对象3.为什么需要五个类注解4.从spring中简单读取 Bean对象5.Resource和Autowired的异同 1、什么是Spring&…

Transformer结构细节

一、结构 Transformer 从大的看由 编码器输入、编码器、解码器、解码器输入和解码器输出构成。 编码器中包含了词嵌入信息编码、位置编码、多头注意力、Add&Norm层以及一个全连接层; 解码器中比编码器多了掩码的多头注意力层。 二、模块 2.1 Input Embeddi…

canvas学习之华丽小球滚动电子时钟

教程来自 4-3 华丽的小球滚动效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>华丽小球滚动时钟…

【AVL树的模拟实现】

1 AVL树的概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明了一种解决…

人工智能基础部分14-蒙特卡洛方法在人工智能中的应用及其Python实现

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能基础部分14-蒙特卡洛方法在人工智能中的应用及其Python实现&#xff0c;在人工智能领域&#xff0c;蒙特卡洛方法&#xff08;Monte Carlo Method, MCM&#xff09;被广泛应用于各种问题的求解。本文首先将…

wvp-GB28181-pro录像功能开发环境搭建、配置、使用

开发环境、调试环境搭建 开发wvp平台搭建 离线安装脚本&#xff1a;https://gitcode.net/zenglg/ubuntu_wvp_online_install.git 下载离线安装脚本&#xff0c;完成wvp平台的部署 开发环境要求 操作系统&#xff1a;包管理工具是apt ky10桌面版uos桌面版deepin桌面版ubuntu桌面…

ArmDot.NET Crack

ArmDot.NET Crack ArmDot是一个.NET加密工具&#xff0c;用于保护使用.NET编写的程序。 企业需要保护他们的知识产权&#xff0c;包括他们的算法、产品和使用的资源的源代码。 然而&#xff0c;.NET编译器会生成一个通用的可访问代码。代码中嵌入的资源很容易访问&#xff0c;并…

RocketMQ不同的类型消息

目录 普通消息 可靠同步发送 可靠异步发送 单向发送 三种发送方式的对比 顺序消息 事物消息 两个概念 事务消息发送步骤 事务消息回查步骤 消息消费要注意的细节 RocketMQ支持两种消息模式: 普通消息 RocketMQ提供三种方式来发送普通消息&#xff1a;可靠同步发送、…

剑指Offer题集(力扣)

文章目录 剑指Offer题集&#xff08;[力扣题单](https://leetcode.cn/problemset/all/?listIdlcof&page1)&#xff09;[剑指 Offer 03. 数组中重复的数字](https://leetcode.cn/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/)[剑指 Offer 04. 二维数组中的查找](https:…

SSM框架练习一(登录后关联数据表的业务模型)

需要实现的整体功能&#xff1a; 登录反馈信息列表展示查询反馈信息发表反馈 1.数据库设计 创建数据库 创建表结构及其约束 添加测试数据 工具&#xff1a;PHP、Navicat create table tab_user(id int primary key auto_increment,uname varchar(30) not null,pwd varc…

Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)

文章目录 前言影响版本环境搭建漏洞复现深度利用 前言 CVE-2017-10271漏洞产生的原因大致是Weblogic的WLS Security组件对外提供webservice服务&#xff0c;其中使用了XMLDecoder来解析用户传入的XML数据&#xff0c;在解析的过程中出现反序列化漏洞&#xff0c;导致可执行任意…

从搬砖工到架构师,Java全栈学习路线总结

&#x1f307;文章目录 前言一、前置知识二、 Web前端基础示例&#xff1a;1.文本域2.密码字段 三、后端基础一. Java基础二. 数据库技术三. Web开发技术四. 框架技术五. 服务器部署 四、其他技术五、全栈开发六、综合实践七、学习教程一、前端开发二、后端开发三、数据库开发四…

springboot+jsp乡村中小学校园网站建设

随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;乡村小学校园网当然也不能排除在外&#xff0c;从校园概况、学校风采、招生信息的统计和分析&#xff0c;在过程中会产生大量的…

Maven依赖原则及如何解决Maven依赖冲突

前言 在大数据应用中&#xff0c;现在发现依赖关系非常复杂&#xff0c;在上线之前很长测试&#xff0c;前一段时间在部署udf 出现了导致生产Hiveserver2 宕机问题&#xff0c;出现严重事故。现在就咨询研究一下。Maven虽然已经诞生多年&#xff0c;但仍然是当前最流行的Java系…