导读
半监督学习一直是学术界和工业界关注的热点,然而长期以来,相关基准测试大多集中在计算机视觉领域。微软亚洲研究院携手西湖大学、东京工业大学、卡内基梅隆大学、马克斯-普朗克研究所等机构,推出了一项重磅成果——USB,这是首个将视觉、语言和音频分类任务统一纳入的半监督分类学习基准。
使用监督学习配合海量标注数据,神经网络模型的表现十分出色。例如,Paperswithcode 网站的数据显示,在百万级数据集的 ImageNet 上,传统监督方法能够轻松达到超过88%的准确率。然而,标注数据的获取成本高昂且耗时。为了减少对标注数据的依赖,半监督学习(Semi-supervised Learning/SSL)应运而生——它仅需少量标注数据,就能充分利用大量无标签数据来提升模型的泛化能力。半监督学习本身是机器学习的重要组成部分,早在深度学习兴起之前,研究者们就已经探索过半监督支持向量机、熵正则化、协同训练等经典算法。
深度半监督学习
深度学习的浪潮推动了深度半监督学习算法的快速发展。Google、Meta 和微软等行业巨头纷纷投入,因为他们深知这项技术在实际应用场景中的巨大潜力。例如,Google 通过噪声学生训练(Noisy Student Training)这一半监督方法,显著提升了其搜索性能[1]。当前最具代表性的半监督算法,通常对标注数据使用交叉熵损失,对无标注数据则采用一致性正则(Consistency Regularization)技术,鼓励模型在输入扰动下保持预测不变。Google 在 NeurIPS 2020 上推出的 FixMatch[2],通过增强锚定(Augmentation Anchoring)和固定阈值(Fixed Thresholding)两种策略,既增强了模型对多样性强增强数据的泛化能力,又减少了噪声伪标签的干扰。训练过程中,FixMatch 会直接丢弃那些低于用户指定阈值的无标签数据。
到了 NeurIPS 2021,微软亚洲研究院与东京工业大学等单位又推出了 FlexMatch[3]。他们发现不同类别之间的学习难度差异显著,因此提出了课程伪标签(Curriculum Pseudo Labeling)技术——针对不同类别设置不同的阈值。对于容易学习的类别,设置较高的阈值,以降低噪声伪标签的影响;对于难以学习的类别,则设置较低的阈值,鼓励模型去拟合。每个类别的学习难度通过落入该类且高于固定阈值的无标记样本数量来评估。同时,这些研究者还开发了一个基于 PyTorch 的统一半监督方法代码库TorchSSL[4],将深度方法、常用数据集和基准结果整合在一起。

微软亚洲研究院与东京工业大学等机构联合提出的FlexMatch算法示意图
当前半监督学习代码库存在的问题与挑战
半监督学习虽然蓬勃发展,但一个现实问题是:大多数半监督论文仅聚焦于计算机视觉(CV)分类任务,从事自然语言处理(NLP)和音频处理(Audio)的研究者无法确定那些在CV上有效的算法,在自己领域是否同样适用。此外,这些论文大多出自谷歌、微软等大型机构,学术界的实验室因计算资源有限,常常被排除在外,难以共同推动该领域的发展。概括而言,现有半监督学习基准存在两个主要缺陷:第一,多样性不足。 现有基准大多局限于CV分类(CIFAR-10/100、SVHN、STL-10 和 ImageNet 分类),将 NLP 和 Audio 等分类任务排除在外,而恰恰在这些领域,标注数据缺乏也是普遍现象。 第二,耗时且对学术界不友好。 像 TorchSSL 这样的基准,通常需要从头训练深度神经网络,费时且不环保。具体来说,使用 TorchSSL 运行一次 FixMatch 评估,大约需要300个 GPU 日。如此高的训练成本,许多研究实验室(尤其是学术界和小型团队)难以承受,从而拖慢了 SSL 的进展。
USB: 任务多样化和对研究者更友好的新基准库
针对这些问题,微软亚洲研究院的研究人员再次联合西湖大学、东京工业大学、卡内基梅隆大学、马克斯-普朗克研究所等机构,推出了 USB——首个将视觉、语言和音频分类任务整合于一体的统一半监督分类学习基准。与之前仅聚焦于少数视觉任务的基准(如 TorchSSL)相比,该论文不仅引入了更多样化的应用领域,还首次利用视觉预训练模型(Pretrained Vision Transformer)将半监督算法的验证时间从7000 GPU 时大幅压缩至 900 GPU 时,使半监督研究对研究者(尤其是小型团队)更加友好。USB 的相关论文已被国际人工智能顶会 NeurIPS 2022 接收。该工作由多个单位合作完成:第一作者为王一栋(东京工业大学硕士、微软亚洲研究院与西湖大学实习生)、陈皓(卡内基梅隆大学)、范越(马克斯-普朗克研究所);通讯作者为微软亚洲研究院的王晋东和西湖大学的张岳。其他作者来自清华大学、微软亚洲工程院、南京大学、奈良先端科学技术大学院大学和北京大学。

USB:统一的半监督学习框架示意图
USB提供的解决方案
那么,USB 是如何一次性解决现有基准问题的呢?研究团队主要做了三件事:第一,增强任务多样性。 USB 引入了 5 个 CV 数据集、5 个 NLP 数据集和 5 个音频数据集,构成了一个多样化且具有挑战性的基准,能够对来自不同领域的多个任务进行一致评估。下表展示了 USB 与 TorchSSL 在任务及训练时间等方面的详细对比。

第二,提高训练效率。 研究人员将预训练的 Vision Transformer 引入 SSL,取代了从头训练 ResNet 的做法。关键是在不影响性能的前提下,使用预训练模型可以大幅减少训练迭代次数——例如,将 CV 任务的训练迭代从 100 万步降至20 万步。
第三,对研究人员更加友好。 研究者开源了 14 种 SSL 算法的实现,并发布了模块化代码库和配套的配置文件,任何人都可以轻松复现 USB 报告中的结果。为了帮助新手快速上手,USB 还提供了详细的文档和教程。此外,USB 还提供了 pip 包,可直接调用 SSL 算法。团队承诺未来将持续在 USB 中加入新算法(如不平衡半监督算法等)和更多具有挑战性的数据集。下图展示了 USB 目前已支持的算法和模块。

USB中已支持的算法和模块示意图
总结
半监督学习通过利用大量无标签数据来训练更精确、更鲁棒的模型,未来在研究和应用方面潜力巨大。希望USB这项工作能够助力学术界和工业界在半监督学习领域取得更大进展。
参考
^Google半监督学习 https://ai.googleblog.com/2021/07/from-vision-to-language-semi-supervised.html
^FixMatch https://arxiv.org/abs/2001.07685
^FlexMatch https://proceedings.neurips.cc/paper/2021/file/995693c15f439e3d189b06e89d145dd5-Paper.pdf
^TorchSSL https://github.com/TorchSSL/TorchSSL
