ICML2021 | Self-Tuning: 如何减少对标记数据的需求?

文 | 王希梅,高敬涵,龙明盛,王建民
源 | THUML

本文介绍ICML2021的中稿论文:Self-Tuning for Data-Efficient Deep Learning,就“如何减少对标记数据的需求”这一重要问题给出了我们的思考。

论文标题:
Self-Tuning for Data-Efficient Deep Learning

论文链接:
http://ise.thss.tsinghua.edu.cn/~mlong/doc/Self-Tuning-for-Data-Efficient-Deep-Learning-icml21.pdf

GitHub链接:
https://github.com/thuml/Self-Tuning

引言

大规模标记数据集推动深度学习获得了广泛应用,然而,在现实场景中收集足量的标记数据往往耗时耗力。为了减少对标记数据的需求,半监督学习和迁移学习的研究者们从两个不同的视角给出了自己的思考:半监督学习(Semi-supervised Learning, SSL)侧重于同时探索标记数据和无标记数据,通过挖掘无标记数据的内在结构增强模型的泛化能力,而迁移学习(Transfer Learning, TL)旨在将预训练模型微调到目标数据中,也就是我们耳熟能详的预训练-微调范式。

半监督学习的最新进展,例如UDA,FixMatch等方法,证明了自训练(Self-Training)的巨大潜力。通过弱增广样本为强增广样本生成伪标记(pseudo-label),FixMatch就可以在Cifar10、SVHN、STL-10数据集上取得了令人耳目一新的效果。然而,细心的读者会发现,上述数据集都是类别数较少的简单数据集(都是10类),当类别数增加到100时,FixMatch这种从头开始训练(train from scratch)的自训练方法的表现就差强人意了。进一步地,我们在CUB200上将类别数从10逐渐增加到200时,发现FixMatch的准确率随着伪标签的准确率的下降而快速下降。这说明,随着类别数的增加,伪标签的质量逐渐下降,而自训练的模型也被错误的伪标签所误导,从而难以在测试数据集上取得可观的效果。这一现象,被前人总结为自训练的确认偏差(confirmation bias)问题,说明Self-training虽然是良药,偶尔却有毒。

迁移学习在计算机视觉和自然语言处理中被广泛使用,预训练-微调(fine-tuning)的范式也比传统的领域适应(domain adaptation)约束更少,更具落地价值。然而,现有的迁移学习方法专注于从不同角度挖掘预训练模型和标记数据,却对更为容易获取的无标记数据熟视无睹。以迁移学习的最新方法Co-Tuning为例,它通过学习源领域类别和目标领域类别的映射关系,实现了预训练模型参数的完全迁移。然而,因为仅仅将预训练模型迁移到标记数据中,Co-Tuning容易过拟合到有限的标记数据上,测试准确率随着标记数据比例的减少而迅速下降,我们将这一现象总结为模型漂移(model shift)问题。

为了摆脱迁移学习和半监督学习的困境,我们提出了一种称为数据高效深度学习(data-efficient deep learning)的新场景, 通过同时挖掘预训练模型和无标记数据的知识,使他们的潜力得到充分释放。这可能是迁移学习在工业界最为现实的落地场景:当我们试图获得目标领域的一个优秀模型时,源领域的预训练模型和目标领域的无标记数据几乎唾手可得。同时,为了解决前述的确认偏差和模型漂移问题,我们提出了一种称为Self-Tuning的新方法,将标记数据和无标记数据的探索与预训练模型的迁移融为一体,以及一种通用的伪标签组对比机制(Pseudo Group Contrast),从而减轻对伪标签的依赖,提高对伪标签的容忍度。在多个标准数据集的实验表明,Self-Tuning远远优于半监督学习和迁移学习的同类方法。例如,在标签比例为15%的Stanford-Cars数据集上,Self-Tuning的测试精度比fine-tuning几乎提高了一倍

如何解决确认偏差问题?

为了找出自训练的确认偏差(confirmation bias)问题的根源,我们首先分析了伪标签(pseudo-label)广泛采用的交叉熵损失函数(Cross-Entropy, CE):

其中,是输入生成的伪标签, 而是模型对于样本。通常地,大多数自训练方法都会针对confidence做一个阈值过滤,只有大于阈值 (比如FixMatch中设置了0.95的阈值)的样本的预测标签才会被视为合格的伪标签加入模型训练。然而,如图2所示,由于交叉熵损失函数专注于学习不同类别的分类面,如果某些伪标签存在错误,通过交叉熵损失函数训练的模型就会轻易地被错误的伪标签所误导。

为了解决交叉熵损失函数的类别鉴别(class discrimination)特性对自训练带来的挑战,最近取得突破进展的基于样本鉴别(sample discrimination)思想的对比学习损失函数吸引了我们的注意。给定由输入生成的查询样本在不同数据增广下生成的副本,以及个不同输入生成的负样本,则通过内积度量相似性的对比学习(Constrastive Learning, CL)损失函数可以定义为

可以看出,对比学习旨在最大化同一样本在两个不同数据增广下的表征相似性,而最小化不同样本间的表征相似性,从而实现样本鉴别,挖掘数据中隐藏的流形结构。这种设计与伪标签无关,天然地不受错误的伪标签的影响。然而,标准的对比学习损失函数未能将标签和伪标签嵌入到模型训练中,从而使有用的鉴别信息束之高阁。

为了解决这一挑战,我们提出了一种通用的伪标签组对比机制(Pseudo Group Contrast, PGC)。对于任何一个查询样本,它的伪标签用表示。PGC将具有相同伪标签()的样本都视为正样本,而具有不同伪标签()的样本则组成了负样本,从而最大化查询样本与具有相同伪标签的正样本的表征相似性,实现伪标签的组对比。

那么,为什么PGC机制就可以提高对错误的伪标签的容忍度呢?我们认为,这是因为PGC采用了具有竞争机制的softmax函数,同一伪标签下的正样本会互相竞争。如果正样本的伪标签是错误的,这些伪标签的样本也会在竞争中落败,因为那些具有正确伪标签的正例样本的表征与查询样本的表征更相似。这样的话,模型在训练过程中会更多地受到正确的伪标签的影响,而不是像交叉熵损失函数那样直接地受到错误的伪标签的误导。我们在CUB数据集上的分析实验也证明了这一点:1. 在模型训练伊始,Self-Tuning和FixMatch具有相似的伪标签准确率,但是随着模型逐渐趋于收敛,Self-Tuning的测试集准确率明显高于FixMatch。2. 在具有不同类别数的CUB数据集上,Self-Tuning的测试准确率始终高于伪标签准确率,而FixMatch的测试准确率被伪标签准确率给限制住了。

如何解决模型漂移问题?

如前所述,当我们只在有限的标记数据集上微调预训练模型时,模型漂移问题往往难以避免。为了解决这个问题,近期发表的一篇名为SimCLRv2的论文提出可以综合利用预训练模型、标记数据和无标记数据的信息。他们给出了一个有趣的解决方案:首先在标记数据集()上微调预训练模型(),继而在无标记数据集()上进行知识蒸馏。然而,通过这一从再到的“序列化”方式,微调后的模型依然倾向于向有限的标记数据偏移。我们认为,应该将标记和未标记数据的探索与预训练模型的迁移统一起来。

与SimCLRv2的“序列化”方式不同,我们提出了一种“一体化”的形式来解决模型漂移问题。首先,与半监督学习从零开始训练模型的通用实践不同,Self-Tuning的模型起点是一个相对准确的大规模预训练模型,通过更准确的初始化模型来提供一个更好的隐式正则。同时,预训练模型的知识将并行地流入标记数据和无标记数据中,标记数据和无标记数据产生的梯度也会同时更新模型参数。这种“一体化”的形式有利于同时探索标记数据的判别信息和无标记数的内在结构,大大缓解模型漂移的挑战。

另一方面,在对比学习中,负样本的规模越大,模型的效果往往越好。与MoCo类似,我们也通过引入队列的方式将负样本规模与批量大小(batch-size)解耦,使得负样本规模可以远大于批量大小。另一方面,队列的方式可以保证每次对比时,每个伪类下的负样本数目恒定,不受每个minibatch随机采样的影响。与标准的对比学习不同的是,由于伪标签的引入,PGC需要维护C个队列,其中C是类别数。在每次模型迭代中,对于无标记样本,将根据他们的伪标签渐进地替换对应队列里面最早的样本。而对于标记数据,因为他们天然地拥有准确的标签,则可以根据他们的标签来更新对应的队列。值得注意的是,我们在标记数据和无标记数据间共享了这些队列。这一设计的好处在于:将标记数据中宝贵的准确标签嵌入到共享队列中,从而提高了无标记数据的候选样本的伪标签准确性。

实验

在实验部分,我们在5种数据集、3种标记数据比例和4种预训练模型下,测试了Self-Tuning的效果,同时与5种主流迁移学习方法、6种主流半监督学习方法以及他们的至强组合进行了充分的对比。

迁移学习的Benchmark

我们首先在迁移学习的常用数据集CUB-200-2011, Stanford Cas和FGVC Aircraft下进行实验,将标记数据的比例依次设置为15%,30%和50%,采用ResNet-50作为预训练模型。结果显示,Self-Tuning大幅领先于现有方法,例如,在标签比例为15%的Stanford-Cars数据集上,Self-Tuning的测试精度比fine-tuning几乎提高了一倍

半监督学习的Benchmark

在半监督学习的主流数据集CIFAR-100、CIFAR-10、SVHN和STL-10中,我们采用了类别数最多、最困难的CIFAR-100数据集。由于在ImageNet上预训练的WRN-28-8模型尚未公开,我们采用了参数少得多的EfficientNet-B2模型。实验结果表明,预训练模型的引入对于半监督学习有如虎添翼的效果。同时,由于采用了对伪标签依赖更小的PGC损失函数,Self-Tuning充分挖掘了预训练模型、标记数据和无标记数据的所有信息,在各种实验设定下均取得了state-of-the-art的测试准确率

无监督预训练模型

为了证明Self-Tuning可以拓展到无监督预训练模型中,我们做了MoCov2迁移到CUB-200的实验。无论是每类4个样本还是每类25个样本的实验设定,Self-Tuning相较于迁移学习和半监督学习的方法都有明显提升

命名实体识别

为了证明Self-Tuning可以拓展到自然语言处理(NLP)的任务中,我们在一个英语命名实体识别数据集CoNLL 2003上进行了实验。按照Co-Tuning的实验设定,我们采用掩蔽语言建模的BERT作为预训练模型。以命名实体的F1得分作为度量指标的话,fine-tuning的F1得分为90.81,BSS、L2-SP和Co-Tuning分别达到90.85、91.02和91.27,而Self-Tuning取得了明显更高的94.53的F1得分,初步证明了Self-Tuning在NLP领域的强大潜力。更加详尽的NLP实验,会在未来的期刊版本中进行拓展。

消融实验

在消融实验部分,我们从两个不同的角度进行了对比。首先是损失函数,PGC损失函数比Cross-Entropy和Contrastive Learning的损失函数有明显提升。其次是信息的探索方式,无论是去掉标记数据还是无标记数据上的PGC损失函数,抑或在标记数据和无标记数据间设置单独的负样本队列,都不及Self-Tuning所提的“一体化”信息探索。

展望

在深度学习社区中,如何减少对标记数据的需求是一个至关重要的问题。考虑到迁移学习和半监督学习的普通实践中只关注预训练模型或无标记数据的不足,本文提出了一种新的数据高效的深度学习机制,可以充分发挥预训练模型和无标记数据的优势。这一机制可能是迁移学习在工业界最为现实的落地场景,值得我们继续大力研究。另一方面,我们提出的Self-Tuning方法简单通用,是迁移学习、半监督学习和对比学习等领域的核心思想的集大成者,可以提高对伪标签的容忍度。对于其他需要用到伪标签的场景,应该也有一定的借鉴价值。

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美团点评Docker容器管理平台

本文是郑坤根据第14期美团点评技术沙龙“你不知道的美团云”演讲内容整理而成,已发表在《程序员》杂志2017年1月刊。 美团点评容器平台简介 本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”)。该平台始于2015年,是…

Python 获取本机或者服务器的 IP 地址

获取计算机名称 hostname socket.gethostname() 获取本机 IP ip socket.gethostbyname(hostname) print(ip) 具体操作 import socket hostname socket.gethostname() ip socket.gethostbyname(hostname) print(ip)通常使用 socket.gethostname() 方法即可获取本机 IP …

LeetCode 754. 到达终点数字(数学推理)

1. 题目 在一根无限长的数轴上,你站在0的位置。终点在target的位置。 每次你可以选择向左或向右移动。第 n 次移动(从 1 开始),走 n 步。 返回到达终点需要的最小移动次数。 示例 1: 输入: target 3 输出: 2 解释: 第一次移动…

论文浅尝 | 神经符号推理综述(下)

笔记整理 | 许泽众,浙江大学在读博士3、神经驱动的符号推理相比于之前的两种类型,神经驱动的符号推理的目的是挖掘规则,而神经网络在其中扮演的作用是解决纯符号推理的不确定性,并且能够有效的减少搜索空间。这种类型的方法的基本…

没有导师指导,该如何自己选题发CVPR?

| 背景底层计算机视觉技术,如图像增强、图像复原等,一直以来都是一个重要且热门的研究方向。传统的方法多基于稀疏编码、小波变换等技术,近年来,深度学习的兴起为该领域带来了新的发展机遇,同时大幅度提升了方法性能。…

Android硬件加速原理与实现简介

在手机客户端尤其是Android应用的开发过程中,我们经常会接触到“硬件加速”这个词。由于操作系统对底层软硬件封装非常完善,上层软件开发者往往对硬件加速的底层原理了解很少,也不清楚了解底层原理的意义,因此常会有一些误解&…

LeetCode 482. 密钥格式化

1. 题目 给定一个密钥字符串S,只包含字母,数字以及 ‘-’(破折号)。N 个 ‘-’ 将字符串分成了 N1 组。给定一个数字 K,重新格式化字符串,除了第一个分组以外,每个分组要包含 K 个字符&#xf…

暑期学校 | 东南大学2021年国际暑期学校项目:从感知理解到智能认知 (知识图谱及应用课程)...

国际暑期学校开课啦 项目介绍 从感知理解到智能认知——走近新一代人工智能From perceptual understanding to intelligent cognition-Approaching a new generation of AI本项目是由东南大学计算机科学与工程学院、软件学院、人工智能学院组织,通过开设人工智…

LeetCode 970. 强整数

文章目录1. 题目2. 解题2.1 暴力法2.2 优化双重循环1. 题目 给定两个正整数 x 和 y,如果某一整数等于 xi yj,其中整数 i > 0 且 j > 0,那么我们认为该整数是一个强整数。 返回值小于或等于 bound 的所有强整数组成的列表。 你可以按…

ACL'21 | 弱标签的垃圾数据,也能变废为宝!

文 | LawsonAbs编 | 小戏是不是感觉 NER 领域效果提升太过困难?最近一篇来自 Amazon 的文章提出使用强弱标签结合的方式来解决 NER 的问题。强弱标签结合其实非常立足实际的数据情况——干净又准确的强标签数据非常稀少,更多的是标注质量存在问题的弱标签…

会议交流 | “数据智能与知识服务”研讨会的专家报告题目已更新!

“数据智能与知识服务”研讨会的专家报告题目有更新啦!这些专家既有久负盛名的国际知名学者、也有具有前瞻洞见的业界领袖,更有精通各种工程实战的技术大咖。他们将围绕“数据智能与知识服务”的核心主题,为您带来一场豪华的学术盛宴&#xf…

dockerfile拉取python3.7镜像

docker构建python3.7镜像:https://zhuanlan.zhihu.com/p/137288195 FROM:需要什么环境 ENV:修改path,即增加/usr/local/bin这个环境变量 ADD:将本地代码放到虚拟容器中,它有两个参数,第一个是 .…

LeetCode 849. 到最近的人的最大距离

1. 题目 在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。 至少有一个空座位,且至少有一人坐在座位上。 亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。 返回他到离他…

可解释性:对神经网络中层特征复杂度的解释与拆分

文 | 任洁,李明杰,刘泽旭源 | 知乎大家好,我们是任洁,李明杰和刘泽旭,本研究是在张拳石老师 Qs.Zhang张拳石 指导下完成的工作。随着深度神经网络的应用日益广泛,可解释性也逐渐受到更多学者的关注。目前对…

新一代开源Android渠道包生成工具Walle

在Android 7.0(Nougat)推出了新的应用签名方案APK Signature Scheme v2后,之前快速生成渠道包的方式(美团Android自动化之旅—生成渠道包)已经行不通了,在此应用签名方案下如何快速生成渠道包呢&#xff1f…

领域应用 | 机器知道哪吒是部电影吗?解读阿里巴巴概念图谱AliCG

转载公众号 | PaperWeekly概念是人类认知世界的基石。比如对于“哪吒好看吗?”,“哪吒铭文搭配建议”两句话,人可以结合概念知识理解第一个哪吒是一部电影,第二个哪吒是王者荣耀的英雄。然而机器能理解吗?针对这一问题…

LeetCode 605. 种花问题

1. 题目 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表示没种…

美团点评业务风控系统构建经验

本文根据“第八届中国系统架构师大会”演讲内容整理而成。 美团最初以团购的形式出现,到现在有了很大的业务形态转变。尤其是经过与大众点评的业务融合,从单一业务发展成了覆盖到店餐饮、到店综合、猫眼、外卖、酒店、旅游等多个垂直领域的综合性电商&am…

95后程序员晒出工资单:狠补了这个,真香…

作为AI 初学者来说,最大的问题就是:资料太多!!!看不完!!!不知道如何取舍!!!人的精力有限!!!大部分想转行AI算法…

领域应用 | 小米在知识表示学习的探索与实践

转载公众号 | DataFunTalk导读:知识表示是知识获取与应用的基础,贯穿了小米知识图谱的构建与应用。本文将结合小米知识图谱的构建及小爱问答场景,介绍融合文本和知识图谱的知识表示学习方法,以及知识表示在知识图谱补全、实体链接…