计算机视觉
课后作业
2024年04月02日
一、作业题目
(1)阅读《MixMatch: A Holistic Approach to Semi-Supervised Learning》并撰写总结报告,至少包括以下内容:
1)算法核心思想:详细描述MixMatch算法的核心思想和关键步骤,包括数据增强、无标签数据利用等内容;
2)损失函数的设置:详细描述MixMatch的损失函数形式;
3)实验设置和实验结果:详细描述论文中做了哪些实验,分析每个实验的目的,同时对实验结果进行分析和讨论;
4)创新点:概述MixMatch算法相对于当时方法的创新之处和贡献;
5)优缺点:分析MixMatch的优缺点。
二、作业区域
2.1背景
伪标签半监督学习方法中,伪标签的选择不容易,在模型训练初期容易选出误差较大的伪标签导致模型性能不佳;unsupervised loss中的权重系数不好确定
2.2半监督学习
半监督学习(SSL) 旨在通过允许模型利用未标记数据来很大程度上减轻对标记数据的需求。其中一种半监督学习方法是在损失函数中添加一个损失项,该损失项是在未标记的数据上计算的,并鼓励模型更好地泛化到看不见的数据。
其中损失项属于以下三类之一:
熵最小化——它鼓励模型对未标记的数据输出可信的预测;
一致性正则化——它鼓励模型在其输入受到扰动时产生相同的输出分布;
通用正则化——它鼓励模型很好地泛化并避免过度拟合训练数据。
2.3算法核心思想
MixMatch算法的核心思想是将有标签数据和无标签数据结合起来进行训练,以提高模型性能。统一目前主要的半监督学习方法,产生一个新算法MixMatch为数据增强无标签示例生成低熵伪标签。
关键步骤包括数据增强、无标签数据利用和伪标签生成:
1.数据增强:使用强大的数据增强技术,如自适应增强和随机数据增强,来增加有标签数据和无标签数据的多样性。对有标签数据做一次增强,无标签数据做k次增强。
公式 1 数据增强伪代码
2.无标签数据利用:利用无标签数据进行半监督学习,通过将无标签数据和有标签数据进行混合来训练模型。
公式 2 混合无标签数据和有标签数据伪代码
3.伪标签生成:使用模型对无标签数据进行预测,并将高置信度预测的样本添加到有标签数据中,形成伪标签,进一步优化模型。将无标签数据的k个数据增强后的样本进行模型预测,将预测的类的分布取平均值。
4.锐化:受最小熵在SSL的成功运用,我们在伪标签估计之后又加了一步锐化。通过一个锐化函数减少标签分布的熵
公式 3 标签锐化函数
图 1 无标签数据数据增强并锐化
5.Mixup:将有标签数据和无标签数据(带伪标签)混合。
首先,将两个样例及其对应的标签概率(x1, p1),(x2, p2),我们计算出一对新的(x ′ , p′ )。超参数λ服从Beta分布,λ’使得x’更接近x1。
2.4损失函数的设置
损失函数(5)是典型的交叉熵函数(3)和L2损失(4)的加权和。 λU是超参数。交叉熵损失用于计算X’的损失,X’为有标签数据和W(有标签数据和无标签数据(带有伪标签))的Mixup。L2损失用于计算U‘损失,U’则是无标签数据和W的Mixup。与交叉熵不同,L2损失是有界的,对不正确的预测不那么敏感。由于这个原因,它经常被用作SSL中未标记的数据丢失,以及预测不确定性的度量。
公式 4 损失函数
2.5实验设置和实验结果:详细描述论文中做了哪些实验,分析每个实验的目的,同时对实验结果进行分析和讨论
(1)评估了MixMatch在四个标准基准数据集上的有效性:CIFAR-10和CIFAR-100、SVHN和STL-10。在前三个数据集上评估半监督学习的标准做法是将大部分数据集视为未标记数据,并使用一小部分作为标记数据。STL-10是专门为SSL设计的数据集,其中有5,000个标记图像和100,000个未标记图像,这些图像来自与标记数据略有不同的分布。
(2)使用了四个基准模型,Π模型,平均教师,虚拟对抗训练和伪标签,还单独使用MixUp作为基准。在相同的代码库中重新实现了每种方法,并将它们应用于相同的模型
两幅图分别为不同模型、不同数量有标签数据在CIFAR-10和SVHN数据集上的错误率对比,可以发现MixMatch方法远高于其他方法,甚至只要250个带标签数据就可以接近全标签数据集。
实验验证了MixMatch算法在半监督学习任务上的有效性和性能优越性。
实验结果表明MixMatch在各种情况下均取得了优于其他方法的性能,证明了其在半监督学习中的有效性和鲁棒性。
(3)消融实验
研究了删除或添加组件的效果,以便进一步了解MixMatch性能的高低。
1.使用K个扩充的均值类别分布或针对单个扩充使用类别分布(即,设置K = 1)
2.消除温度锐化(即设置T = 1)
3.生成猜测标签时,使用模型参数的指数移动平均值(EMA),如Mean Teacher所做的
4.仅在标记的示例之间或仅在未标记的示例之间执行MixUp,并且不要在标记和未标记的示例之间进行混合
5.使用插值一致性训练,可以将其视为该消融研究的特例,其中仅使用未标记的混合,不应用锐化,并且EMA参数用于标签猜测。
表格 1消融实验结果。所有值均为带有250或4000个标签的CIFAR-10的错误率
我们可以看出Mixup若只对带标签数据进行处理或不处理,则对错误率影响很大,特别是只使用250个标签的情况下。只对不带标签或不混合标记和未标记的数据,在250个标签数据情况下错误率夜有所上升。
若无标签数据在生成伪标签时不经过锐化,错误率大大提高。
可以看出算法的每一步都必不可少,都会对错误率造成一定影响。
(4)隐私学习
使用PATE框架进行隐私学习。从未标记的公共数据中以半监督的方式对学生进行培训,部分数据由一群可以访问私有课程的教师标记带标签的训练数据。学生达到固定准确度所需的标签越少,它提供的隐私保证就越强。教师使用嘈杂的投票机制来回应标签查询。如果他们无法达成足够强烈的共识,他们可以选择不提供标签。因此,如果MixMatch改善了PATE的性能,那么这也将说明MixMatch从每个类的几个典范范例中得到的改进的概括性。
体现了MixMatch的泛化性强,MixMatch可以帮助实现很好的准确性和隐私性之间的权衡。
2.6 创新点:概述MixMatch算法相对于当时方法的创新之处和贡献;
结合了数据增强、无标签数据利用和伪标签生成的综合方法,提高了模型的泛化能力和性能。
通过一致性损失促进了模型对无标签数据的学习,进一步提升了模型的鲁棒性和泛化能力。
它引入了一个单一的损失,可以将以上损失项统一到一个半监督学习方法中。与以前的方法不同,MixMatch 为未标记数据引入了一个统一的损失项,可以无缝地降低熵,同时保持一致性并与传统的正则化技术保持兼容。
2.7 优缺点
优点:
1.在实践中发现,MixMatch的大多数超参数都可以固定,不需要在每个实验或每个数据集的基础上进行调优。具体来说,对于所有的实验,我们都可以设置T = 0.5, K = 2。此外,我们只在每个数据集的基础上改变α和λU;我们发现α = 0.75和λU = 100是很好的调优起点。在所有的实验中,我们在训练的前16,000步中线性地将λU增加到最大值。
2. 通过对半监督和隐私保护学习的大量实验,我们发现MixMatch在我们研究的所有设置中都比其他方法表现出显着提高的性能,通常是错误率降低两倍或更多。例如,在包含250个标签的CIFAR-10上,MixMatch将错误率降低了4倍(从38%降至11%),在STL-10上降低了2倍。提高了模型性能和泛化能力
3. MixMatch可以帮助实现更好的准确性和隐私之间的权衡,以实现差异隐私。
缺点:
1. 需要大量的无标签数据来进行训练,对数据量要求较高。
2. 算法的复杂度较高,可能需要较长的训练时间。