有一个具有吸引力的方法可以缓解这个问题,就是半监督学习(semi-supervised learning,SSL)框架。与需要所有样本都有标记的监督学习(supervised learning)算法相反,SSL算法可以通过使用无标记样本来提高其性能。SSL算法通常提供一种从无标记样本中学习数据结构的方法,这可以减轻对标记的需求。最近的一些研究结果表明,在某些情况下,SSL能够接近纯粹监督学习的性能,即使在给定的数据集中有很大一部分的标记被丢弃。
每种SSL技术在CIFAR-10(六类动物)上的测试误差,其中,在标记数据与无标记数据之间,存在不同程度的重叠。例如,“25%”是指来自不同类的4种无标记数据之一,而非来自标记数据的6类。“监督”是指不使用无标记数据。阴影区域表示5次试验的标准偏差。
这些最近的成功引出了一个自然的问题:SSL方法是否适用于“现实世界”的环境?在本文中,我们认为,当前评估SSL技术的实际方法并不能以令人满意的方式解决这个问题。具体而言,采用大型标记数据集并丢弃许多标记的标准评估程序没有考虑到SSL应用程序的各种常见特征。我们的目标是通过提出一种新的实验方法来更直接地解决这个问题,我们认为该方法能够更好地测量对现实世界问题的适应性。我们的一些发现包括:
•当给予调优超参数(hyperparameter)相同预算时,使用SSL和使用标记数据之间的性能差距比通常记录的差距要小。
•此外,使用无标记数据的大型、高度正则化的分类器的强大性能证明了在同一个基础模型上评估不同SSL算法的重要性。
•在不同的标记数据集上对分类器进行预先训练,然后仅在利益相关数据集中的标记数据上进行再训练,这可以胜过所有我们研究过的SSL算法。
•当无标记数据包含与标记数据不同的类分布时,SSL技术的性能可能会急剧下降。
•不同的方法对标记数据和无标记数据数量的敏感度有很大不同。
•实际的小型验证集(validation set)会妨碍对不同方法、模型和超参数设置进行可靠的比较。
在SVHN和CIFAR-10中,每种SSL技术的测试误差都随标记数据量的变化而变化。阴影区域表示5次实验的标准偏差。X轴采用对数形式表示
此外,与机器学习中的许多领域一样,对超参数、模型结构及训练的微小调整,都会对方法的直接比较构成混淆,并对结果产生重大影响。为了改善这一问题,我们提出了关于各种SSL方法的统一的、模块化的重新实现,这些方法也使得我们的评估技术成为现实。
结论与建议
我们的实验提供了有力的证据,证明SSL的标准评估实践是不现实的。为了更好地反应在现实世界中的应用,我们应该对评估进行哪些改进呢?我们对SSL算法的评估有以下建议:
•在比较不同的SSL方法时,使用完全相同的基础模型。因为模型结构或实现细节的差异会对结果产生很大影响。
•报告需认真评估对完全监督较精确度和迁移学习性能的要求,以将其作为基准。SSL的目标应该定为,显著优于完全监督环境下的综合表现。
•对类分布失协情况的系统性变化的结果进行报告。 我们表明,当采用是不同类的无标记数据,而非标记数据时,我们对SSL技术的研究受到了影响。据我们了解,这一现实问题被严重忽略了。
•在评估性能时,应调整标记数据和无标记数据的数量。理想的SSL算法即使在标记数据很少的情况下也是非常有效的,并且它还可以从额外的无标记数据中受益。具体而言,我们建议将SVHN和SVHN-extract相结合,来测试大型无标记数据机制的性能。
•注意,不要在非真实的大型验证集上过度调节超参数。如果验证集非常小,那么为了获得理想的性能而在每个模型或每个任务基础上,对超参数进行重大调整的SSL方法将不可用。
我们的研究还表明,面对以下情况时,SSL或许是研究人员最正确的选择:
•当没有来自类似域的高质量标记数据集用于微调时。
•当标记数据是通过独立同分布(i.i.d)采样,从无标记数据集中采集得到,而不是从不同分布中收集得来时。
•当标记的数据集足够大,能够准确计算验证较精确度时(这是进行模型选择和超参数调优所必须的条件)。
近来,SSL收获了巨大的成功。我们希望我们的研究成果,以及公开可用的统一实现,能够让成功之花在现实世界中遍地绽放。
原文链接: