文 | ????????????????
编 | 小轶

以前的小样本学习(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~

真正的小样本学习

可能大家被我上面说的各种“小样本学习”的情景搞晕了,为了清楚,我们可以总结成这样的一张表:

表中列举了四种情况:

  1. Data-Rich Supervised 表示传统有大量数据的有监督学习。

  2. Multi-Distribution Few-Shot 表示原始的小样本学习情景,即在大量 n-way k-shot 上进行训练。由于每个 task 都包含不同的数据分布,因此这相当于在不同的分布中训练,在新的分布中使用模型。

  3. Tuned Few-Shot 表示从 GPT3 开始的,用 prompt 的方式对预训练模型微调。

  4. True Few-Shot 就是本文提出的啦!

本文认为,对于小样本学习,既不应该有其它分布的数据辅助、也不应该有很多训练数据,更不应该有很多验证集的数据。因为这些数据全都是需要标注的!

那还能调参嘛?

界定了真正的小样本学习,作者就想:之前那些 prompt 的方法用了大量验证集信息来调整超参、选择最好的 prompt。他们对性能的提升其实都来自验证集中蕴含的信息。那么,在没有验证集的情况下(对!作者为了更好的比较,就只留少量样本的训练集),该怎么调参呢?作者给了两个方法:

  1. k 折交叉验证:将数据集分为 k 个部分,用其中 k-1 个部分作为训练集,剩下的一个部分作为验证集。在后面的实验中,这种方法被称作 CV(cross validation)。

  2. 类似在线学习的交叉验证:将数据集分为 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

作品推荐

  1. 老板让我用少量样本 finetune 模型,我还有救吗?急急急,在线等!

  2. 谷歌:CNN击败Transformer,有望成为预训练界新霸主!LeCun却沉默了...

  3. 中文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

恕我直言,很多小样本学习的工作就是不切实际的相关推荐

  1. ICCV 2019 | 基于全局类别表征的小样本学习

    点击我爱计算机视觉标星,更快获取CVML新技术 作者:Weiran Huang,清华大学计算机博士 来源:知乎,已获作者授权,禁止二次转载. https://zhuanlan.zhihu.com/p/ ...

  2. 小样本学习及其在美团场景中的应用

    美团的各个业务有着丰富的NLP场景,而这些场景中模型的构建需要很多的标注资源,成本很高.小样本学习致力于在数据资源稀少的情况下训练出比较好的模型.本文从主动学习.数据增强.半监督学习.领域迁移.集成学 ...

  3. 【论文翻译】小样本学习(Few-Shot Learning)背景和主要方向简介

    [论文翻译]小样本学习(Few-Shot Learning)背景和主要方向简介 本文主要翻译自论文Generalizing from a Few Examples: A Survey on Few-S ...

  4. 【深度长文】小样本学习及其在美团场景中的应用

    美团的各个业务有着丰富的NLP场景,而这些场景中模型的构建需要很多的标注资源,成本很高.小样本学习致力于在数据资源稀少的情况下训练出比较好的模型.本文从主动学习.数据增强.半监督学习.领域迁移.集成学 ...

  5. 《预训练周刊》第21期:FlipDA:有效且稳健的数据增强小样本学习、开放域低资源适应的生成式聊天机器人...

    No.21 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第21期&l ...

  6. 谈谈实现小样本学习的两条路径

    来源:混沌巡洋舰 小样本学习是当下机器学习界的一个核心课题.大数据是当下深度学习的咽喉,面临收集成本昂贵,甚至根本无法采集的弊端, 小样本学习的实践价值不言而喻.对于众多产业来说, 真正能够收集到大量 ...

  7. 必须要GPT-3吗?不,BERT的MLM模型也能小样本学习

    ©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 大家都知道现在 GPT-3 风头正盛,然而,到处都是 GPT-3.GPT-3 地推,读者是否记得 GPT- ...

  8. 小样本点云深度学习库_小样本学习综述报告

    文章内容整理:Enneng Yang, Xiaoqing Cao 本文仅作为学习交流使用,如有问题,请联系ennengyang@qq.com. 1.小样本问题的研究意义✚●○ 深度学习已经在各个领域取 ...

  9. 基于小样本学习的图像分类技术综述

    基于小样本学习的图像分类技术综述 人工智能技术与咨询 昨天 本文来自<自动化学报>,作者李颖等 关注微信公众号:人工智能技术与咨询.了解更多咨询! 图像分类是一个经典的研究课题, 典型的图 ...

最新文章

  1. 全球及中国LCP行业应用项目布局及产能规模预测报告2021版
  2. sap 常用事务代码
  3. 语言 micropython_MicroPython蓝牙BLE例程实操(一)
  4. 降维后输入分类器分类时报错_逻辑回归解决多分类方法及其优缺点分析
  5. jquery中prop()方法和attr()方法
  6. [Android Pro] 内容提供者ContentProvider的基本使用
  7. SolidWorks2016 从入门到入坟 下载安装+画图
  8. 刷题42-m升水倒入n个杯子(动态规划)
  9. 桌面图标无法删除之解决方案
  10. GMM-HMM 详解
  11. 路由器与交换机知识总
  12. mysql查询叠字的名字_好听到爆的叠字小名
  13. MyCAT  In Action中文版
  14. 饮料自动售货机C++
  15. 学习记录609@python实现数据样本的过采样与欠采样
  16. python输入一个三位数输出它的百位十位个位_python输入一个水仙花数(三位数) 输出百位十位个位实例...
  17. Excel 2003文档的密码忘了怎么办
  18. html表单自动编号,Q&A|如何实现会员自动编号?
  19. Android系统学习(一)------编译系统Android7.0
  20. 家庭宽带服务器有什么作用,服务器用的宽带和家用宽带有什么区别?

热门文章

  1. 冲刺阶段 day 6
  2. 2013 ACM区域赛长沙 K Pocket Cube hdu 4801
  3. (转)基因芯片数据GO和KEGG功能分析
  4. HDU 1213 How Many Tables【并查集】
  5. SQL Server常用的系统存储过程应用实例(转)
  6. 将源字符串的前count个字符拷贝到目的字符串中strncpy()
  7. 父母悄悄给自己买房,我很生气,要怎么调整心态?
  8. Secure CRT 自动记录日志
  9. harmonyos手机开发者beta,HarmonyOS 手机应用开发者 Beta 版到来,对开发者意味着什么...
  10. python 分位数计算代码_Python数据分析第十一节 数据运算