当使用监督学习(Supervised Learning)对大量高质量的标记数据(Labeled Data)进行训练时,神经网络模型会产生有竞争力的结果。例如,根据Paperswithcode网站统计,在ImageNet这一百万量级的数据集上,传统的监督学习方法可以达到超过88%的准确率。然而,获取大量有标签的数据往往费时费力。
为了缓解对标注数据的依赖,「半监督学习」(Semi-supervised Learning/SSL)致力于在仅有「少量」的标注数据时利用「大量无标签」数据(Unlabeled Data)来提升模型的泛化性。半监督学习亦是机器学习的重要主题之一。深度学习之前,这一领域的研究者们提出了诸如半监督支持向量机、熵正则化、协同训练等经典算法。
深度半监督学习
随着深度学习的兴起,「深度」半监督学习算法也取得了长足的进步。同时,包括Google、Meta和微软等在内的科技巨头也认识到了半监督学习在实际场景中的巨大潜力。例如,Google利用噪声学生训练(Noisy student training)这一半监督算法提高了其在搜索方面的性能[1]。当前最具代表性的半监督算法通常对标注数据使用交叉熵损失进行训练,对无标注数据使用「一致性正则」技术(Consistency Regularization)鼓励对输入扰动进行不变预测。例如,Google在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],对该领域的深度方法、常用数据集、和基准结果进行了统一的支持。
当前「半监督学习代码库存在的问题与挑战」
尽管半监督学习的发展如火如荼,但是,研究员们注意到目前大部分半监督论文「只关注」计算机视觉 (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: 任务多样化和对研究者更友好的新基准库
微软亚洲研究院的研究员们联合西湖大学、东京工业大学、卡内基梅隆大学、马克斯-普朗克研究所等机构的研究人员们提出了「USB」:第一个将「视觉,语言,和音频」分类任务进行统一的半监督分类学习基准。相比于之前的半监督学习基准(如TorchSSL)只关注少量视觉任务,该论文不仅引入更多样化的应用领域,还「首次」利用视觉预训练模型(Pretrained Vision Transformer)大大缩减了半监督算法的验证时间(「从7000GPU时缩减至900GPU时」),使得半监督研究对研究者、特别是小研究团体更友好。USB的相关论文已被国际人工智能顶会NeurIPS 2022接收。
此工作由多个单位合作完成:第一作者为王一栋(东京工业大学硕士、微软亚洲研究院与西湖大学实习生)、陈皓(卡耐基梅隆大学)、范越(马克斯·普朗克研究所);通讯作者是来自微软亚洲研究院的王晋东和来自西湖大学的张岳。其余作者来自清华大学、微软亚洲工程院、南京大学、奈良先端科学技术大学院大学和北京大学。
USB
文章链接:https://arxiv.org/pdf/2208.07204.pdf
代码链接:https://github.com/microsoft/Semi-supervised-learning
「USB提供的解决方案」
那么,USB如何一次性解决当前半监督基准存在的问题呢?研究员们进行了如下的改进:
(1)为增强任务多样性,USB引入了5个CV 数据集,5个NLP数据集和5个音频数据集提供了一个多样化且具有挑战性的基准,从而能够对来自不同领域的多个任务进行一致的评估。下表提供了USB与TorchSSL的任务和训练时间等方面的详细对比。
(2)为提高训练效率,研究员们将预训练的Vision Transformer引入SSL,而不是从头训练ResNets。具体而言,研究员们发现在「不影响性能」的情况下使用预训练模型可以大大减少训练迭代次数(例如,将 CV 任务的训练迭代次数从100万步减少到「20」万步)。(3)为了对研究人员更加友好,研究员们开源实现了14种 SSL算法并开源了一个模块化代码库和相关的配置文件以供研究者轻松再现USB报告中的结果。为了快速上手,USB还提供详细的文档和教程。此外,USB还提供「pip包」以供使用者直接调用SSL算法。研究员们承诺未来会在USB中不断加入新的算法(例如不平衡半监督算法等)和更多更具挑战性的数据集。下图展示了USB中已支持的算法和模块。
总结
半监督学习通过利用大量无标签数据来训练更精确、更鲁棒的模型,在未来有着重要的研究和应用价值。研究员们期待通过USB这一工作,能够予力学术界和工业界在半监督学习领域取得更大的进展。
点击“阅读原文”,直达开源代码!
参考文献
[1] https://ai.googleblog.com/2021/07/from-vision-to-language-semi-supervised.html
[2] Kihyuk Sohn, David Berthelot, Nicholas Carlini, Zizhao Zhang, Han Zhang, Colin A Raffel, Ekin Dogus Cubuk, Alexey Kurakin, and Chun-Liang Li. Fixmatch: Simplifying semi-supervised learning with consistency and confidence. Advances in Neural Information Processing Systems, 33:596–608, 2020.
[3] Bowen Zhang, Yidong Wang, Wenxin Hou, Hao Wu, Jindong Wang, Manabu Okumura, and Takahiro Shinozaki. Flexmatch: Boosting semi-supervised learning with curriculum pseudo labeling. Advances in Neural Information Processing Systems, 34, 2021.
[4] TorchSSL: https://github.com/TorchSSL/TorchSSL