[Semi-笔记] 2023_TIP

news2024/9/22 7:29:43

目录

  • 概要
  • 一:Conservative-Progressive Collaborative Learning(保守渐进式协作学习)
    • 挑战:
    • 解决:
  • 二:Pseudo Label Determination for Disagreement(伪标签分歧判定)
    • 挑战:
    • 解决:
  • 三:Confidence-based Dynamic Loss(基于置信度的动态损失)
    • 挑战:
    • 解决:
  • 实验结果
    • 消融实验
  • 小结
  • 论文地址
  • 代码地址

分享一篇2023年TIP的文章。

概要

伪标签在仅利用高质量伪标签利用所有伪标签之间始终存在权衡。针对这个问题,这篇文章提出了一种新颖的学习方法,称为保守渐进协作学习(CPCL),其中两个预测网络并行训练,并根据两个预测的一致和不一致来实现伪监督。一个网络通过交集监督寻求共同点,并接受高质量标签的监督,以确保监督更可靠;而另一个网络通过联合监督保留差异,并接受所有伪标签的监督,从而实现保守进化与渐进探索的协同。为了减少可疑伪标签的影响,根据预测置信度对损失进行动态重新加权。

一:Conservative-Progressive Collaborative Learning(保守渐进式协作学习)

挑战:

尽管半监督学习仍处于起步阶段,但已经完成了一些开创性的工作。熵最小化和一致性正则化是近年来提出的两种典型方法。熵最小化方法首先在标记图像上训练的模型,之后在未标记图像上预测生成伪标签,并使用扩展训练数据重新训练模型。一致性正则化方法旨在强制预测在各种扰动下的不变性,包括对输入图像、特征和网络的扰动。
在伪监督过程中,这两种方法都存在确认偏差,这是由伪标签的错误引起的。为了解决这个问题,有一些工作采用预测置信度作为选择可靠伪标签的指标虽然设置置信度阈值可以避免性能下降,但是很大一部分未标记的数据被浪费了

解决:

在这项工作中,提出了保守渐进协作学习(CPCL),它分别通过仅使用高质量伪标签的交叉监督使用大量伪标签的并集监督来训练两个并行网络,并实现保守的协作进化和渐进探索。两个网络具有相同的结构,但初始化不同。伪标签是根据两个网络对未标记图像的预测生成的。
具体来说,一个网络是保守的,由更可靠的“交叉”部分监督,而另一个网络是进步的,在“并集”部分的伪监督下探索不一致的预测。因此,两个网络在异构知识下进行训练,可以在一定程度上减少模型耦合问题。此外,预测置信度用于损失重新加权,以处理不可避免的噪声伪标签。具体框架如下:
在这里插入图片描述

其由两个平行的分支组成,一个是保守分支,另一个是进步分支
保守分支在交集伪标签的监督下,利用高质量的标签来确保更可靠的监督,而进步分支则在并集伪标签的监督下,实现对分歧部分的探索。每个分支中的分割网络共享相同的结构并具有不同的初始化。
通过输入两个未标记的图像 X1 和 X2,并利用强增强方法(例如 CutMix、CutOut 和 CowMix)生成增强图像 Xs。这篇文章采用CutMix,需要两个输入图像并基于随机掩模选择输出像素。
在这里插入图片描述

这就是CutMix的过程,a,b为两个输入图像,mask为随机生成的掩码。

在这里插入图片描述

通过将两个输入图像X1和X2进行CutMix后生成增强后的图像Xs

保守分支为例:
第一步:将三幅图像输入网络fθc(X),分割预测为Y1 cw、Y2 cw和Ycs。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二步:使用与输入相同的混合掩码进一步混合输出 Y1 cw 和 Y2 cw,结果为 Ycw。
在这里插入图片描述

这一步相当于对两个输入图像X1和X2的伪标签进行相同的CutMix操作,其中的混合掩码相同,便于和数据增强后的输入图像Xs生成的伪标签进行后续对比。

类似地,我们可以得到另一个分支的相应输出,分别记为Y1 pw、Y2 pw、Yps,以及混合输出Ypw。
伪标签的生成是基于一致和不一致的,并且都是像素级的。对于像素pi,如果Ycw的预测与Ypw的预测相同,则两个网络在pi处达成一致,否则彼此不一致。
在这里插入图片描述

其中 yi cw 是 Ycw 在 pi 处的预测,yi pw 是 Ypw 的相应预测。

如果网络的两个预测彼此一致,则特定像素的伪标签很容易确定。它被确定为该像素处的预测
在这里插入图片描述
其中 li a 是像素 pi 处一致部分 La 的伪标签。然而,确定不一致部分 Ld 的逐像素伪标签要复杂得多,因为两个网络的预测不同。我们没有选择具有更高置信度的预测,而是根据类别分歧指标来确定伪标签,获得一致部分和不一致部分的伪标签(这将在下面详细阐述)。利用 La 和 Ld 混合Union Lunion 的伪标签
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

交集 Linter 的伪标签直接使用 La 生成。最后,将交集和并集伪监督分别应用于保守分支和渐进分支。

最后仅将网络保留在保守分支中以在推理模式下生成分割预测。

二:Pseudo Label Determination for Disagreement(伪标签分歧判定)

挑战:

典型且可行的方法是选择置信度较高的预测作为伪标签。然而,这种方法只关注精确像素的信息,这是有限的。

解决:

为了处理同一像素上两个预测之间的不一致,引入了一种基于类不一致指标的不一致部分的伪标签确定方法。转向整个预测的类别分歧指标,从宏观角度来看待。具体来说,构造一致性矩阵 M ∈ RC×C,如下图所示,并据此计算类别不一致指标 I。 I 较高的语义类别是困难类别,更容易引起混乱。像素pi处的伪标签,其中yi cw 不等于 yi pw,被确定为具有较高分歧指标的预测,以实现对具有强烈好奇心的分歧部分的渐进式探索。
在这里插入图片描述

协议矩阵的图示。 mj,k 是 yi cw 为 cj 且 yi pw 为 ck (j, k ∈ [1, C]) 的像素数,C 是类别数。当 j = k 时,两个预测一致,否则不一致。

基于类不一致指标的伪标签确定算法如算法1所示。
在这里插入图片描述

算法流程:
基于类分歧指标的伪标签判定算法
输入:保守分支Ycw的预测输出和进步分支Ypw的输出
输出:不一致部分 Ld 的伪标签
1.计算一致性矩阵M ∈ RC×C
2.计算类间分歧指标 I
3.确定像素pi处的伪标签
返回:Ld

这里针对第2步计算类间分歧指标作出自己的理解:
首先计算的一致性矩阵,mj,k 是保守分支预测 yi cw 为 j 类并且 进步分支预测yi pw 为 k 类的像素数量
根据类间分歧第一个公式 Ij 为例:
分子为mj,j 表示保守分支和进步分支预测相同的类的像素数量,分母则是总和,如果两个分支预测相同的数量占比大的话,则Ij 最终较小;

举例:二分类问题,预测相同的数量为10预测不同的数量为1,则10/(10+1),接近于1。最后计算的I j 值小。
如果预测相同的数量为1,预测不同的数量为10,则1/(1+10),接近于0,最后计算的I j 值大。
因此I 较高的语义类别是困难类别
在第3步确定像素pi处的伪标签时,如果Ij大于Ik 则选择I j 。因为这里需要的是不一致部分的伪标签。

三:Confidence-based Dynamic Loss(基于置信度的动态损失)

挑战:

前面方法获得了未标记数据的伪标签。然而,噪声标签是不可避免的,并且生成的伪标签总是存在一些错误,因为它是由算法而不是人类自动注释的。许多研究探索了图像去噪算法,与图像噪声不同,伪标签噪声难以建模或去噪。

解决:

为了解决这个问题,提出了基于置信度的动态损失来处理不可靠的伪标签。与置信阈值相反,置信阈值需要预定义阈值并且无法充分利用所有未标记的数据,我们利用置信度来重新加权损失。逐像素预测置信度定义为最大 softmax 概率。令bi c 表示保守分支在第i个像素处的预测置信度,类似地,进步分支的预测置信度表示为bi p 。因此,基于置信度的动态权重定义为:
在这里插入图片描述

理解:第二行最后的Yi cw 逼近Li d,证明保守分支的预测趋近于不一致部分,代表bi c在该像素的预测置信度较低,则给这个像素的权重置为bi c,降低低置信度伪标签的影响。

因此,降低了低置信度的可疑伪标签的影响。未标记数据 LU 的重新加权损失定义为

在这里插入图片描述
其中li inter和li union是Linter和Lunion在第i个像素处的伪标签,fi θ(Xs)是分割网络在第i个像素处对未标记图像Xs的输出,CE(· ) 是交叉熵损失函数。根据动态的基于置信度的权重,对每个像素的损失进行重新加权。

也就是保守分支只使用高置信度的像素进行CE损失学习,进步分支则对高低置信度的像素都进行学习。其权重也是用的动态基于置信度的权重,对每个像素的损失进行重新加权。

利用标记数据的训练是采用传统的监督方式。
在这里插入图片描述
总损失:将监督训练和无监督训练的分离损失合并到整个训练目标中
在这里插入图片描述

实验结果

在这里插入图片描述

消融实验

在这里插入图片描述在这里插入图片描述

当不采用基于置信度的动态损失时,使用不重新加权的交叉熵损失函数。可以看出,所提出的三个模块都是有效的。针对噪声标签,提出了基于置信度的动态损失。由于引入动态损失,mIoU
分别增加了 2.37% 和 1.70%。交叉监督的改进更加明显,因为一致部分的伪标签的确定是像素级的,更容易受到噪声标签的影响。

在这里插入图片描述

同时研究了针对分歧部分的不同伪标记策略并分析了定量结果。比较了四种相关策略,包括基于像素置信度(较高和较低)和类混淆(较高和较低)的伪标记,逐像素置信度表示确切像素的不确定性。
1.具有较高置信度的伪标记是常见的保守策略。然而,当与交叉口伪监督合作时,改进不太明显,因为两者都表现得保守。
2.基于较低置信度的探索是渐进的,但它更可能受到逐像素噪声的影响。所提出的动态损失可以在一定程度上减少影响,其mIoU达到74.30%。
3.与像素级置信度不同,类级混淆可以从宏观角度衡量语义歧义。混淆度较低的伪标记与基于较高置信度的伪标记类似,但在类别级别,四种比较策略中性能最差(74.17 mIoU)。
4.由于以强烈的好奇心探索困难的语义类,即混淆度较高的伪标签可能有助于模型进行局部优化,因此在 CPCL 中使用的所提出的策略取得了更好的性能。

在这里插入图片描述
该方法在低数据情况下的性能优势是显而易见的。可以有效减少对标记数据的需求。

小结

这篇文章提出保守渐进协作学习(CPCL),不仅可以利用高质量标签的优势,还可以充分利用大量低质量的未标记的数据。在低数据量情况下也同时表现突出。

论文地址

pdf地址

代码地址

https://github.com

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

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

相关文章

基于Spring Boot+Vue的车辆管理系统

末尾获取源码作者介绍:大家好,我是墨韵,本人4年开发经验,专注定制项目开发 更多项目:CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 二、开发技术与环…

python共享单车信息系统的设计与实现flask-django-php-nodejs

课题主要分为二大模块:即管理员模块和用户模块,主要功能包括:用户、区域、共享单车、单车租赁、租赁归还、报修信息、检修信息等; 语言:Python 框架:django/flask 软件版本:python3.7.7 数据库…

【MySQL】8. 基本查询(update/delete/聚合/分组)

表的删改 3. Update 语法: UPDATE table_name SET column expr [, column expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...]对查询到的结果进行列值更新 案例: 3.1 将孙悟空同学的数学成绩变更为 80 分 -- 更新值为具体值 -- 查看原数据 SELECT…

由浅到深认识Java语言(9):Eclipse IDE简介

该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

【理解机器学习算法】之Clustering算法(DBSCAN)

DBSCAN(基于密度的空间聚类应用噪声)是数据挖掘和机器学习中一个流行的聚类算法。与K-Means这样的划分方法不同,DBSCAN特别擅长于识别数据集中各种形状和大小的聚类,包括存在噪声和离群点的情况。 以下是DBSCAN工作原理的概述&am…

uinapp开发-PHP语言-后端安装说明-适用于圈子-陪玩-交友-校园-团购-外卖-分销等多系统-APP小程序H5多端皆有!

后端安装说明 全新安装客户,按此安装调试步骤,请按顺序: ** 后台安装步骤及说明 ** 1、在服务器里安装宝塔。下载www.bt.cn。 宝塔安装完毕后,安装环境,Nginx或者Apache 请选择PHP7.3 数据库mysql5.6。 NGINX 1.22.1轻…

The plain HTTP request was sent to HTTPS port

异常信息 原因 错误信息 “The plain HTTP request was sent to HTTPS port” 表明客户端尝试使用未加密的HTTP协议发送请求到一个配置为使用加密的HTTPS协议的端口。 解决方案 要解决这个问题,需要确保使用正确的协议和端口号进行请求。应该使用的HTTPS前缀。例如…

vue基础——java程序员版(vue路由)

1、引入路由 在控制台执行vue ui,在插件市场里可以找到vue-router并导入。 ​ 一般情况下,vue会自动在main,js中引入vue-router,如下: import Vue from vue import App from ./App.vue import ./plugins/element.js import rou…

python研究生志愿填报辅助系统flask-django-php-nodejs

二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一需求设…

归并算法详细解析

归并排序 1945年,约翰冯诺依曼(John von Neumann)发明了归并排序,这是典型的分治算法的应用。归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Di…

二、Web3 学习(区块链)

区块链基础知识 一、基础知识1. 区块链可以做什么?2. 区块链的三个特点 二、区块链的类型概括1. PoW2. PoS3. 私有链和联盟链 三、智能合约1. 什么是智能合约2. 如何使用智能合约 四、困境1. 三难选择的基本要素2. 这真的是一个三难选择吗? 五、比特币1. 什么是比特…

【PyCaret】使用PyCaret创建机器学习Pipeline进行多分类任务

发现一个好东西,PyCaret机器学习Pipeline,记录一下用其进行多分类任务的使用方法。 1、简介 PyCaret是一个开源的、不用写很多代码的Python机器学习库,可以自动化机器学习工作流程,是一个端到端的机器学习和模型管理工具&#xff…

WPS 按数值大小显示渐变颜色

选中数据 条件格式 > 色阶 > 其他规则 新建格式规则 基于各自值设置所有单元格的格式三色刻度中间值选择 数字、0、白色

新能源汽车充电桩站点烟火AI识别检测算法应用方案

新能源汽车作为现代科技与环保理念的完美结合,其普及和应用本应带给人们更加便捷和绿色的出行体验。然而,近年来新能源汽车充电火灾事故的频发,无疑给这一领域投下了巨大的阴影。这不禁让人深思,为何这一先进的交通工具在充电过程…

机器学习——决策树(四)后剪枝

观前提示:这是本人决策树相关的第四篇博文,前3篇的内容如下: 1、建造训练集的决策树【完成结点类编写和建树过程】 2、用验证集评估模型、选出泛化较好的数据划分方式训练模型 3、预剪枝 读者可根据需要从上方《机器学习》专栏中查阅对应…

如何优化前端项目的 SEO

在当今数字化时代,网站对于企业的重要性不言而喻。然而,一个优秀的网站如果在搜索引擎中排名靠后,将无法吸引到足够的流量和用户。因此,优化前端项目的SEO已经成为了网站拓展业务、提升品牌知名度的必经之路。 响应式设计与移动优…

基于Springboot的闲置图书分享(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的闲置图书分享(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

基于python+vue家政服务系统flask-django-php-nodejs

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低家政公司的运营人员成本,实现了家政服务的标准化、制度化、程序化的管理,有效地防止了家政服务的随意管理,提高了信息的处理速度和精确度,能够及时、准确地…

基于electron29版本桌面应用app开发例子

基于electron29版本桌面应用app开发例子 htmljsnode.js 开发模式 生成package.json文件: yarn init --yes 或 npm init --yes 运行打包 yarn dev yarn build # electron与electron-builder版本不兼容问题处理办法: 在package.json中scripts中添加 “…

react拖拽react-beautiful-dnd,一维数组,二维数组

写在前边,二维数组可以拖拽,但是不可以编辑拖拽,如果想要实现编辑拖拽,还是需要转换成一维数组。原因是因为插件的官方规定,在拖拽过程中不可以编辑Droppable层的Props。 相关地址: 中文文档地址 react-be…