恕我直言,很多小样本学习的工作就是不切实际的
文 | ????????????????
编 | 小轶
以前的小样本学习(Few-shot Learning),是需要用一个巨大的训练集训练的。测试时只给出 n-way k-shot,在这 N * k 个样本上学习并预测。我第一次看到这种任务设定的时候真是非常失望:这和现实情况的需求也相差太远了!真实场景下的小样本学习,哪有大量的训练数据呢?
从 GPT3 开始,学术界开启了一个新的小样本风潮。借助预训练模型,人们只给出几条或几十条样本作为训练集,用小小训练集进行 finetune。看到这些工作,我觉得这样才是真正的小样本学习!
最近有一些工作也在这种任务设定下取得了不错的进展。所谓prompt,就是结合具体场景,设计新的 finetune 任务形式,从而将与当前任务相关的提示信息(prompt)引入模型,以此更好地利用预训练模型的结构与先验知识。我们大名鼎鼎的 GPT 系列就是这么干的。比如我们拿 GPT3 做 QA 的 finetune,直接喂给他一串“Question:问题内容 Answer:”,剩下的答案部分就让 GPT3 自己填完。
卖萌屋之前还推送过其中一个工作(刚刚被评为 NAACL 的最佳短文!详见这里)。这篇工作表明,基于 prompt 的方法能在几分之一的训练数据下,达到传统 finetune 的训练结果。
但!是!这样的任务设定就是真正的小样本学习了吗?今天这篇 NYU、facebook、CIFAR 三巨头一起带来的文章直接 打脸了所有人:以上任务设定也还不是真正的小样本学习!由于给出了一个巨大的验证集,因此人们用这个验证集挑选最好的 prompt、用它调参,这也是不切合实际的!真正的小样本学习,训练集验证集都要小!
另外,本文还在真正的小样本学习任务设定下,评测了挑选 prompt、调参的效果,实验发现,我们对模型小样本学习的能力还是过于乐观了????????
论文题目:
True Few-Shot Learning with Language Models
论文链接:
http://arxiv-download.xixiaoyao.cn/pdf/2105.11447v1.pdf
代码地址:
https://github.com/ethanjperez/true_few_shot
Arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【0616】 下载论文PDF~
真正的小样本学习
可能大家被我上面说的各种“小样本学习”的情景搞晕了,为了清楚,我们可以总结成这样的一张表:
表中列举了四种情况:
Data-Rich Supervised 表示传统有大量数据的有监督学习。
Multi-Distribution Few-Shot 表示原始的小样本学习情景,即在大量 n-way k-shot 上进行训练。由于每个 task 都包含不同的数据分布,因此这相当于在不同的分布中训练,在新的分布中使用模型。
Tuned Few-Shot 表示从 GPT3 开始的,用 prompt 的方式对预训练模型微调。
True Few-Shot 就是本文提出的啦!
本文认为,对于小样本学习,既不应该有其它分布的数据辅助、也不应该有很多训练数据,更不应该有很多验证集的数据。因为这些数据全都是需要标注的!
那还能调参嘛?
界定了真正的小样本学习,作者就想:之前那些 prompt 的方法用了大量验证集信息来调整超参、选择最好的 prompt。他们对性能的提升其实都来自验证集中蕴含的信息。那么,在没有验证集的情况下(对!作者为了更好的比较,就只留少量样本的训练集),该怎么调参呢?作者给了两个方法:
k 折交叉验证:将数据集分为 k 个部分,用其中 k-1 个部分作为训练集,剩下的一个部分作为验证集。在后面的实验中,这种方法被称作 CV(cross validation)。
类似在线学习的交叉验证:将数据集分为 k 个部分,第 1 轮用第 1 部分训练,第 2 部分验证,第 i 轮用前 i 部分训练,第 i+1 部分验证。在后面的实验中,这种方法被称作 MDL(minimum description lengthm),因为其本质上遵循的是最小描述长度准则。
另外,作者还给出一个交叉验证的准则:即在训练和验证集之间,样本 loss 的差距要尽可能小。
实验和分析
作者使用以上两种交叉验证方法,在 LAMA[1] 数据集上,对基于 prompt 的模型[2]进行了实验。LAMA 是一个评测语言模型的数据集,它给出一句话,让语言模型提取这句话在知识图谱中对应的三元组。
首先,是对不同 prompt 的对比:
实验发现,无论是在多大参数量的模型上,基于两种方法选择 prompt(图中蓝色粉色),都要比随机挑选 prompt (图中黄色)的效果好,但选出的 prompt 效果还是远不如最好的 prompt(图中绿色)。
如果把随机选择 prompt 作为基线,最好的 prompt 作为上界,那么两种交叉验证带来的性能提升便如下图所示:
在理想的验证集里,我们是能挑选出最好的 prompt 的,因此最好的 prompt 就代表了在理想的巨量验证集中挑选 prompt 最好的结果。从上图可以看出,在没有验证集时,作者提出的两个交叉验证方法只能带来理想验证集带来的大约 25% 的性能增益。因此,没了大量数据作为验证集,的确也就不能有很好的交叉验证效果了。
另外,作者还对“在验证集上调参”这件事进行了实验。模型中有两个参数是需要调整的,一个是 epoch 数量,另一个是输入文本中被 mask 掉的 token 的比例。这里的评测使用 SuperGLUE 的任务,其中包含文本蕴含、阅读理解等等和理解相关的任务。实验结果如下图所示:
这里发现,用两种交叉验证在小验证集上调参,其结果和随机参数差不多,甚至总体上看还更差一点!甚至在 MultiRC 上,调参出来的结果与最坏的一组参数表现差不多,表明在小验证集上调参,并不一定就能稳定提升性能。这结果太让人失望了,不过作者不死心,还进行了一个有意思的实验:
有多少数据之后,才一定能通过调参,得到一组比随机更好的参数呢?上面这张图是在 WiC 任务上,使用 k 折交叉验证来调参,横轴代表总的训练样本数量,纵轴是模型性能,灰色的区域是 16 组不同参数的模型性能区间。实验发现,到了 2000 多个样本时,调参才是确定有效的!
总结
这篇文章表明,在真正的小样本情境下,模型选择做的还不太好。为此,作者对未来的小样本学习给出了以下建议:
在写文章的时候,同时注明模型选择的原则,以及所有超参数和尝试的 prompts。
将验证集的数量也归入小样本学习的“数据量”里。
当有大量样本作为验证集的时候,先不要用!先在测试集直接得到结果、做消融实验,等所有试验完成后,最后再引入验证集。这样避免实验结果使用验证集大量样本的信息。
不要使用前人工作中的超参数,只在这少量样本中重新调参。
最严格的一种方式是,在设计评测任务时,只给出小小的训练集和小小的验证集,真正评分的测试集不给出,只能在线评测。
这篇文章说了真正的小样本学习,自然地,就延伸出来一个问题:在零样本学习(Zero-shot Learning)的情境下,还能进行调参吗?还能挑选模型吗?
个人感觉,似乎不行了。
萌屋作者:????????????????
在北大读研,目前做信息抽取,对低资源、图网络都非常感兴趣。希望大家在卖萌屋玩得开心 ヾ(=・ω・=)o
作品推荐
老板让我用少量样本 finetune 模型,我还有救吗?急急急,在线等!
谷歌:CNN击败Transformer,有望成为预训练界新霸主!LeCun却沉默了...
中文BERT上分新技巧,多粒度信息来帮忙
寻求报道、约稿、文案投放:
添加微信xixiaoyao-1,备注“商务合作”后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群
后台回复关键词【顶会】
获取ACL、CIKM等各大顶会论文集!
[1].Fabio Petroni, et al., "Language models as knowledge bases?", EMNLP 2019, http://arxiv-download.xixiaoyao.cn/pdf/1909.01066v2.pdf
[2].Derek Tam, et al., "Improving and simplifying pattern exploiting training.", http://arxiv-download.xixiaoyao.cn/pdf/2103.11955.pdf
恕我直言,很多小样本学习的工作就是不切实际的相关推荐
- ICCV 2019 | 基于全局类别表征的小样本学习
点击我爱计算机视觉标星,更快获取CVML新技术 作者:Weiran Huang,清华大学计算机博士 来源:知乎,已获作者授权,禁止二次转载. https://zhuanlan.zhihu.com/p/ ...
- 小样本学习及其在美团场景中的应用
美团的各个业务有着丰富的NLP场景,而这些场景中模型的构建需要很多的标注资源,成本很高.小样本学习致力于在数据资源稀少的情况下训练出比较好的模型.本文从主动学习.数据增强.半监督学习.领域迁移.集成学 ...
- 【论文翻译】小样本学习(Few-Shot Learning)背景和主要方向简介
[论文翻译]小样本学习(Few-Shot Learning)背景和主要方向简介 本文主要翻译自论文Generalizing from a Few Examples: A Survey on Few-S ...
- 【深度长文】小样本学习及其在美团场景中的应用
美团的各个业务有着丰富的NLP场景,而这些场景中模型的构建需要很多的标注资源,成本很高.小样本学习致力于在数据资源稀少的情况下训练出比较好的模型.本文从主动学习.数据增强.半监督学习.领域迁移.集成学 ...
- 《预训练周刊》第21期:FlipDA:有效且稳健的数据增强小样本学习、开放域低资源适应的生成式聊天机器人...
No.21 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第21期&l ...
- 谈谈实现小样本学习的两条路径
来源:混沌巡洋舰 小样本学习是当下机器学习界的一个核心课题.大数据是当下深度学习的咽喉,面临收集成本昂贵,甚至根本无法采集的弊端, 小样本学习的实践价值不言而喻.对于众多产业来说, 真正能够收集到大量 ...
- 必须要GPT-3吗?不,BERT的MLM模型也能小样本学习
©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 大家都知道现在 GPT-3 风头正盛,然而,到处都是 GPT-3.GPT-3 地推,读者是否记得 GPT- ...
- 小样本点云深度学习库_小样本学习综述报告
文章内容整理:Enneng Yang, Xiaoqing Cao 本文仅作为学习交流使用,如有问题,请联系ennengyang@qq.com. 1.小样本问题的研究意义✚●○ 深度学习已经在各个领域取 ...
- 基于小样本学习的图像分类技术综述
基于小样本学习的图像分类技术综述 人工智能技术与咨询 昨天 本文来自<自动化学报>,作者李颖等 关注微信公众号:人工智能技术与咨询.了解更多咨询! 图像分类是一个经典的研究课题, 典型的图 ...
最新文章
- 全球及中国LCP行业应用项目布局及产能规模预测报告2021版
- sap 常用事务代码
- 语言 micropython_MicroPython蓝牙BLE例程实操(一)
- 降维后输入分类器分类时报错_逻辑回归解决多分类方法及其优缺点分析
- jquery中prop()方法和attr()方法
- [Android Pro] 内容提供者ContentProvider的基本使用
- SolidWorks2016 从入门到入坟 下载安装+画图
- 刷题42-m升水倒入n个杯子(动态规划)
- 桌面图标无法删除之解决方案
- GMM-HMM 详解
- 路由器与交换机知识总
- mysql查询叠字的名字_好听到爆的叠字小名
- MyCAT In Action中文版
- 饮料自动售货机C++
- 学习记录609@python实现数据样本的过采样与欠采样
- python输入一个三位数输出它的百位十位个位_python输入一个水仙花数(三位数) 输出百位十位个位实例...
- Excel 2003文档的密码忘了怎么办
- html表单自动编号,Q&A|如何实现会员自动编号?
- Android系统学习(一)------编译系统Android7.0
- 家庭宽带服务器有什么作用,服务器用的宽带和家用宽带有什么区别?
热门文章
- 冲刺阶段 day 6
- 2013 ACM区域赛长沙 K Pocket Cube hdu 4801
- (转)基因芯片数据GO和KEGG功能分析
- HDU 1213 How Many Tables【并查集】
- SQL Server常用的系统存储过程应用实例(转)
- 将源字符串的前count个字符拷贝到目的字符串中strncpy()
- 父母悄悄给自己买房,我很生气,要怎么调整心态?
- Secure CRT 自动记录日志
- harmonyos手机开发者beta,HarmonyOS 手机应用开发者 Beta 版到来,对开发者意味着什么...
- python 分位数计算代码_Python数据分析第十一节 数据运算