当前,半监督学习的发展如火如荼。但是现有的半监督学习基准大多局限于计算机视觉分类任务,排除了对自然语言处理、音频处理等分类任务的一致和多样化评估。此外,大部分半监督论文由大型机构发表,学术界的实验室往往由于计算资源的限制而很难参与到推动该领域的发展中。
为此,微软亚洲研究院的研究员们联合西湖大学、东京工业大学、卡内基梅隆大学、马克斯-普朗克研究所等机构的科研人员提出了 Unified SSL Benchmark(USB):第一个将视觉、语言和音频分类任务进行统一的半监督分类学习基准。
该论文不仅引入了更多样化的应用领域,还首次利用视觉预训练模型大大缩减了半监督算法的验证时间,使得半监督研究对研究者,特别是小研究团体更加友好。相关论文已被国际人工智能领域顶级学术大会 NeurIPS 2022 接收。
文章链接:https://arxiv.org/pdf/2208.07204.pdf
代码链接:https://github.com/microsoft/Semi-supervised-learning
监督学习通过构建模型来拟合有标记数据,当使用监督学习 (supervised learning)对大量高质量的标记数据(labeled data)进行训练时,神经网络模型会产生有竞争力的结果。
例如,据 Paperswithcode 网站统计,在 ImageNet 这一百万量级的数据集上,传统的监督学习方法可以达到超过88%的准确率。然而,获取大量有标签的数据往往费时费力。
为了缓解对标注数据的依赖,半监督学习(semi-supervised learning/SSL)致力于在仅有少量的标注数据时利用大量无标签数据(unlabeled data)来提升模型的泛化性。半监督学习亦是机器学习的重要主题之一。深度学习之前,这一领域的研究者们提出了诸如半监督支持向量机、熵正则化、协同训练等经典算法。
深度半监督学习
随着深度学习的兴起,深度半监督学习算法也取得了长足的进步。同时,包括微软、谷歌、和 Meta 等在内的科技公司也认识到了半监督学习在实际场景中的巨大潜力。
例如,谷歌利用噪声学生训练(noisy student training)这一半监督算法提高了其在搜索方面的性能[1]。当前最具代表性的半监督算法通常对标注数据使用交叉熵损失进行训练,对无标注数据使用一致性正则技术(consistency regularization)鼓励对输入扰动进行不变预测。
例如,谷歌在 NeurIPS 2020 提出的 FixMatch[2] 算法,利用增强锚定(augmentation anchoring)和固定阈值(fixed thresholding)技术来增强模型对不同强度增强数据的泛化性和减少噪声伪标签(noisy pseudo labels)的影响。在训练中,FixMatch 过滤了低于用户指定(user-provided / pre-defined)阈值的无标签数据。
微软亚洲研究院与东京工业大学等在 NeurIPS 2021 合作提出的 FlexMatch[3] 则考虑到了不同类之间的学习难度不同,因此提出了课程伪标签(curriculum pseudo labeling)技术,对于不同类应该采用不同的阈值。
具体来说,对于容易学习的类别,模型应该设置高阈值以降低噪声伪标签的影响;对于难学习的类别,模型应该设置低阈值鼓励该类的拟合。每个类的学习难度评估取决于落入该类且高于固定值的未标记数据样本的数量。
同时,微软亚洲研究院的研究员们还合作提出了一个统一的基于 Pytorch 的半监督方法代码库 TorchSSL[4],对该领域的深度方法、常用数据集和基准结果进行了统一的支持。
图1:FlexMatch 算法流程
当前半监督学习代码库存在的问题与挑战
尽管半监督学习的发展如火如荼,但是,研究员们注意到目前大部分半监督方向的论文只关注计算机视觉 (CV) 分类任务,对于其他领域,例如自然语言处理 (NLP)、音频处理 (audio),研究者无法得知这些在 CV 任务上有效的算法到了不同领域是否依然有效。
另外,大部分半监督相关的论文都是由大型机构发表,学术界的实验室往往由于计算资源的限制而很难参与到推动该领域的发展中。总的来说,半监督学习基准目前存在以下两个问题:
(1)多样性不足。现有的半监督学习基准大多局限于 CV 分类任务(即 CIFAR-10/100,SVHN,STL-10 和 ImageNet 分类),排除了对 NLP、audio 等分类任务的一致和多样化评估,而在 NLP 和 audio 中缺乏足够的标记数据也是一个普遍问题。
(2)耗时且对学术界不友好。现有的半监督学习基准(如 TorchSSL)通常是耗时且不环保的,因为它往往需要从头开始训练深度神经网络模型。具体而言,使用TorchSSL 评估 FixMatch[1]大约需要300个 GPU 日。如此高的训练成本使得许多研究实验室(尤其是学术界的实验室或小研究团体)无法负担得起 SSL 的相关研究,从而阻碍了 SSL 的进展。
USB:任务多样化且对研究者更友好的新基准库
为了解决上述问题,微软亚洲研究院的研究员们联合西湖大学、东京工业大学、卡内基梅隆大学、马克斯-普朗克研究所等机构的科研人员提出了 Unified SSL Benchmark(USB),这是第一个将视觉、语言和音频分类任务进行统一的半监督分类学习基准。
相比于之前的半监督学习基准(如 TorchSSL)只关注少量视觉任务,该基准不仅引入了更多样化的应用领域,还首次利用视觉预训练模型(pretrained vision Transformer)大大缩减了半监督算法的验证时间(从7000 GPU 时缩减至900 GPU 时),从而使得半监督研究对研究者、特别是小研究团体更为友好。
相关论文已被国际人工智能领域的顶级学术大会 NeurIPS 2022 接收。(点击「阅读原文」可了解更多)
USB 提供的解决方案
那么,USB 如何一次性解决当前半监督基准所存在的问题呢?研究员们主要进行了如下改进:
(1)为增强任务多样性,USB 引入了5个 CV 数据集,5个 NLP 数据集和5个 audio 数据集,并提供了一个多样化且具有挑战性的基准,从而能够对来自不同领域的多个任务进行一致的评估。表1提供了 USB 与 TorchSSL 的任务和训练时间等方面的详细对比。
表1:USB 与 TorchSSL 框架的任务和训练时间对比
(2)为了提高训练效率,研究员们将预训练的 vision Transformer 引入 SSL,而不是从头训练 ResNets。具体而言,研究员们发现在不影响性能的情况下使用预训练模型可以大大减少训练迭代次数(例如,将 CV 任务的训练迭代次数从100万步减少到20万步)。
(3)为了对研究人员更加友好,研究员们开源实现了14种 SSL 算法并开源了一个模块化代码库和相关的配置文件以供研究者轻松再现 USB 报告中的结果。为了快速上手,USB 还提供了详细的文档和教程。此外,USB 还提供了 pip 包以供使用者直接调用 SSL 算法。研究员们承诺未来会在 USB 中不断加入新的算法(例如不平衡半监督算法等)和更多更具挑战性的数据集。表2展示了 USB 中已支持的算法和模块。
表2:USB 中已支持的算法和模块
半监督学习通过利用大量无标签数据来训练更精确、更鲁棒的模型,在未来有着重要的研究和应用价值。微软亚洲研究院的研究员们期待通过 USB 这一工作,能够予力学术界和工业界在半监督学习领域取得更大的进展。