TPAMI | Virtual Category Learning: A Semi-Supervised Learning Method for Dense P

摘要

由于在现实世界应用中标记数据的成本高昂,半监督学习以及基于伪标签的方法成为一种吸引人的解决方案。然而,处理混淆样本并非易事:丢弃有价值的混淆样本会损害模型的泛化能力,而将它们用于训练会加剧由不可避免的错误标记引起的确认偏误问题。为了解决这个问题,本文提出了一种主动使用混淆样本而不进行标签更正的方法。具体来说,为每个混淆样本分配一个虚拟类别(VC),以这样一种方式,即使没有具体的标签,它也能安全地贡献于模型优化。这为类间信息共享能力提供了一个上界,最终导致了更好的嵌入空间。在两个主流的密集预测任务------语义分割和目标检测上的广泛实验表明,所提出的VC学习显著超越了当前最先进的方法,特别是当只有非常少的标签可用时。我们的有趣发现强调了VC学习在密集视觉任务中的应用。

introduction

深度学习解决方案在处理大规模数据集的昂贵标记成本方面存在明显劣势,特别是在密集预测任务上。与非密集应用(如图像分类)相比,为诸如目标检测和语义分割等任务标注数据需要花费更长的时间。尽管众包平台促进了许多常见应用场景下的数据标注,例如自动驾驶,但科学应用中的数据标注通常需要专家进行,这并不容易获得。半监督学习利用有限的标记数据结合大量的未标记数据进行训练,已显示出巨大潜力以减少对大量数据标注的依赖。 缩小全监督方法与半监督方法之间的性能差距,使得深度学习模型能够应用于更多的应用主题。在现有的半监督学习框架中,一个挑战性问题是:如何最好地利用未标记数据。 伪标签(PL)最近作为解决上述问题的方法出现,并达到了最先进的性能。这里,未标记的数据被模型自身自动注释(或通过指数移动平均版本)然后反馈以重新优化模型。尽管这些初步成功,现有的基于PL的半监督方法不擅长或甚至无法处理极度缺少标签的设置。 这促使我们研究有限监督的情况,这在现实生活的应用场景中是必要的。

通常,由于标记数据集非常小导致训练样本多样性有限,非最优的决策边界通常会导致在推断它们的伪标签时对一些未见过的混淆样本做出犹豫不决的决策。在伪标签(PL)中,通常采用两种策略来处理混淆样本:a)使用严格的过滤机制丢弃所有这些样本,或b)保留它们并为其分配所有可能的标签。然而,这两个选项都不是最优的,特别是当标记的训练数据非常有限时。混淆难样本的价值很明显,因为难例挖掘已在全监督学习中成功证明了其有效性。如果所有混淆样本都被严格的过滤机制拒绝,它们的正面贡献将会被浪费,而剩余的适配良好的样本只会对性能改进贡献边际效果。相反,简单地保留所有混淆样本也是无效的,因为涉及太多不正确的伪标签。随意地用这些噪声标签优化半监督检测器会导致确认偏误问题。

图2提供了一个例子,其中像熊的狗是一个典型的混淆样本,因为其外观。对于分类模型来说,指向"狗"的箭头是最佳的优化方向,这将导致最小的测试错误值。然而,如果可疑的伪标签是"熊",不正确的优化方向将导致更糟的表现。我们发现,构建一个潜在类别(PC)集合,包含一个混淆样本x的可能类别,相较于确定确切的正确标签来说,要容易得多。剩下的任务是为样本x找到一个好的优化方向(在图2中标记为VC),而不需要潜在类别集合中的类别指导。因此,我们提出一个妥协方案,即用一个VC标签代替潜在类别集中所有不可靠的标签,而不是从潜在类别集中选择正确的一个。一种新的学习方案,即VC学习,允许模型使用VC标签进行优化。通过忽略潜在类别中的类别,它将禁用相应输出对数几率的梯度,从而避免任何可能误导模型的错误优化方向。最重要的是,提出的VC为类间信息共享能力指定了一个合理的上界。因此,决策边界可以持续从混淆数据中受益,而不会遭受确认偏误问题的困扰。关于潜在类别集,我们提出了多种构建方法。正如图1所示,装备了所提出的VC的模型的性能。

相关推荐
闻缺陷则喜何志丹19 分钟前
【C++数论 因数分解】829. 连续整数求和|1694
c++·数学·算法·力扣··因数分解·组数
WRQ.卬20 分钟前
P8615拼接平方数 & P2708 硬币翻转 & P1808 单词分类 题解
算法
抓哇能手22 分钟前
机器学习基础
人工智能·opencv·算法·机器学习·计算机视觉·机器视觉
zhangpz_26 分钟前
c ++零基础可视化——字符串
数据结构·c++·算法
SoraLuna5 小时前
「Mac玩转仓颉内测版26」基础篇6 - 字符类型详解
开发语言·算法·macos·cangjie
雨中rain6 小时前
贪心算法(2)
算法·贪心算法
sjsjs117 小时前
【数据结构-表达式解析】【hard】力扣224. 基本计算器
数据结构·算法·leetcode
C++忠实粉丝7 小时前
计算机网络socket编程(6)_TCP实网络编程现 Command_server
网络·c++·网络协议·tcp/ip·计算机网络·算法
坊钰7 小时前
【Java 数据结构】时间和空间复杂度
java·开发语言·数据结构·学习·算法
武昌库里写JAVA7 小时前
一文读懂Redis6的--bigkeys选项源码以及redis-bigkey-online项目介绍
c语言·开发语言·数据结构·算法·二维数组