恕我直言,很多小样本学习的工作就是不切实际的
文 | ????????????????
編 | 小軼
以前的小樣本學(xué)習(xí)(Few-shot Learning),是需要用一個(gè)巨大的訓(xùn)練集訓(xùn)練的。測(cè)試時(shí)只給出 n-way k-shot,在這 N * k 個(gè)樣本上學(xué)習(xí)并預(yù)測(cè)。我第一次看到這種任務(wù)設(shè)定的時(shí)候真是非常失望:這和現(xiàn)實(shí)情況的需求也相差太遠(yuǎn)了!真實(shí)場(chǎng)景下的小樣本學(xué)習(xí),哪有大量的訓(xùn)練數(shù)據(jù)呢?
從 GPT3 開(kāi)始,學(xué)術(shù)界開(kāi)啟了一個(gè)新的小樣本風(fēng)潮。借助預(yù)訓(xùn)練模型,人們只給出幾條或幾十條樣本作為訓(xùn)練集,用小小訓(xùn)練集進(jìn)行 finetune。看到這些工作,我覺(jué)得這樣才是真正的小樣本學(xué)習(xí)!
最近有一些工作也在這種任務(wù)設(shè)定下取得了不錯(cuò)的進(jìn)展。所謂prompt,就是結(jié)合具體場(chǎng)景,設(shè)計(jì)新的 finetune 任務(wù)形式,從而將與當(dāng)前任務(wù)相關(guān)的提示信息(prompt)引入模型,以此更好地利用預(yù)訓(xùn)練模型的結(jié)構(gòu)與先驗(yàn)知識(shí)。我們大名鼎鼎的 GPT 系列就是這么干的。比如我們拿 GPT3 做 QA 的 finetune,直接喂給他一串“Question:問(wèn)題內(nèi)容 Answer:”,剩下的答案部分就讓 GPT3 自己填完。
賣萌屋之前還推送過(guò)其中一個(gè)工作(剛剛被評(píng)為 NAACL 的最佳短文!詳見(jiàn)這里)。這篇工作表明,基于 prompt 的方法能在幾分之一的訓(xùn)練數(shù)據(jù)下,達(dá)到傳統(tǒng) finetune 的訓(xùn)練結(jié)果。
但!是!這樣的任務(wù)設(shè)定就是真正的小樣本學(xué)習(xí)了嗎?今天這篇 NYU、facebook、CIFAR 三巨頭一起帶來(lái)的文章直接 打臉了所有人:以上任務(wù)設(shè)定也還不是真正的小樣本學(xué)習(xí)!由于給出了一個(gè)巨大的驗(yàn)證集,因此人們用這個(gè)驗(yàn)證集挑選最好的 prompt、用它調(diào)參,這也是不切合實(shí)際的!真正的小樣本學(xué)習(xí),訓(xùn)練集驗(yàn)證集都要小!
另外,本文還在真正的小樣本學(xué)習(xí)任務(wù)設(shè)定下,評(píng)測(cè)了挑選 prompt、調(diào)參的效果,實(shí)驗(yàn)發(fā)現(xiàn),我們對(duì)模型小樣本學(xué)習(xí)的能力還是過(guò)于樂(lè)觀了????????
論文題目:
True Few-Shot Learning with Language Models
論文鏈接:
http://arxiv-download.xixiaoyao.cn/pdf/2105.11447v1.pdf
代碼地址:
https://github.com/ethanjperez/true_few_shot
Arxiv訪問(wèn)慢的小伙伴也可以在 【夕小瑤的賣萌屋】訂閱號(hào)后臺(tái)回復(fù)關(guān)鍵詞 【0616】 下載論文PDF~
真正的小樣本學(xué)習(xí)
可能大家被我上面說(shuō)的各種“小樣本學(xué)習(xí)”的情景搞暈了,為了清楚,我們可以總結(jié)成這樣的一張表:
表中列舉了四種情況:
Data-Rich Supervised 表示傳統(tǒng)有大量數(shù)據(jù)的有監(jiān)督學(xué)習(xí)。
Multi-Distribution Few-Shot 表示原始的小樣本學(xué)習(xí)情景,即在大量 n-way k-shot 上進(jìn)行訓(xùn)練。由于每個(gè) task 都包含不同的數(shù)據(jù)分布,因此這相當(dāng)于在不同的分布中訓(xùn)練,在新的分布中使用模型。
Tuned Few-Shot 表示從 GPT3 開(kāi)始的,用 prompt 的方式對(duì)預(yù)訓(xùn)練模型微調(diào)。
True Few-Shot 就是本文提出的啦!
本文認(rèn)為,對(duì)于小樣本學(xué)習(xí),既不應(yīng)該有其它分布的數(shù)據(jù)輔助、也不應(yīng)該有很多訓(xùn)練數(shù)據(jù),更不應(yīng)該有很多驗(yàn)證集的數(shù)據(jù)。因?yàn)檫@些數(shù)據(jù)全都是需要標(biāo)注的!
那還能調(diào)參嘛?
界定了真正的小樣本學(xué)習(xí),作者就想:之前那些 prompt 的方法用了大量驗(yàn)證集信息來(lái)調(diào)整超參、選擇最好的 prompt。他們對(duì)性能的提升其實(shí)都來(lái)自驗(yàn)證集中蘊(yùn)含的信息。那么,在沒(méi)有驗(yàn)證集的情況下(對(duì)!作者為了更好的比較,就只留少量樣本的訓(xùn)練集),該怎么調(diào)參呢?作者給了兩個(gè)方法:
k 折交叉驗(yàn)證:將數(shù)據(jù)集分為 k 個(gè)部分,用其中 k-1 個(gè)部分作為訓(xùn)練集,剩下的一個(gè)部分作為驗(yàn)證集。在后面的實(shí)驗(yàn)中,這種方法被稱作 CV(cross validation)。
類似在線學(xué)習(xí)的交叉驗(yàn)證:將數(shù)據(jù)集分為 k 個(gè)部分,第 1 輪用第 1 部分訓(xùn)練,第 2 部分驗(yàn)證,第 i 輪用前 i 部分訓(xùn)練,第 i+1 部分驗(yàn)證。在后面的實(shí)驗(yàn)中,這種方法被稱作 MDL(minimum description lengthm),因?yàn)槠浔举|(zhì)上遵循的是最小描述長(zhǎng)度準(zhǔn)則。
另外,作者還給出一個(gè)交叉驗(yàn)證的準(zhǔn)則:即在訓(xùn)練和驗(yàn)證集之間,樣本 loss 的差距要盡可能小。
實(shí)驗(yàn)和分析
作者使用以上兩種交叉驗(yàn)證方法,在 LAMA[1] 數(shù)據(jù)集上,對(duì)基于 prompt 的模型[2]進(jìn)行了實(shí)驗(yàn)。LAMA 是一個(gè)評(píng)測(cè)語(yǔ)言模型的數(shù)據(jù)集,它給出一句話,讓語(yǔ)言模型提取這句話在知識(shí)圖譜中對(duì)應(yīng)的三元組。
首先,是對(duì)不同 prompt 的對(duì)比:
實(shí)驗(yàn)發(fā)現(xiàn),無(wú)論是在多大參數(shù)量的模型上,基于兩種方法選擇 prompt(圖中藍(lán)色粉色),都要比隨機(jī)挑選 prompt (圖中黃色)的效果好,但選出的 prompt 效果還是遠(yuǎn)不如最好的 prompt(圖中綠色)。
如果把隨機(jī)選擇 prompt 作為基線,最好的 prompt 作為上界,那么兩種交叉驗(yàn)證帶來(lái)的性能提升便如下圖所示:
在理想的驗(yàn)證集里,我們是能挑選出最好的 prompt 的,因此最好的 prompt 就代表了在理想的巨量驗(yàn)證集中挑選 prompt 最好的結(jié)果。從上圖可以看出,在沒(méi)有驗(yàn)證集時(shí),作者提出的兩個(gè)交叉驗(yàn)證方法只能帶來(lái)理想驗(yàn)證集帶來(lái)的大約 25% 的性能增益。因此,沒(méi)了大量數(shù)據(jù)作為驗(yàn)證集,的確也就不能有很好的交叉驗(yàn)證效果了。
另外,作者還對(duì)“在驗(yàn)證集上調(diào)參”這件事進(jìn)行了實(shí)驗(yàn)。模型中有兩個(gè)參數(shù)是需要調(diào)整的,一個(gè)是 epoch 數(shù)量,另一個(gè)是輸入文本中被 mask 掉的 token 的比例。這里的評(píng)測(cè)使用 SuperGLUE 的任務(wù),其中包含文本蘊(yùn)含、閱讀理解等等和理解相關(guān)的任務(wù)。實(shí)驗(yàn)結(jié)果如下圖所示:
這里發(fā)現(xiàn),用兩種交叉驗(yàn)證在小驗(yàn)證集上調(diào)參,其結(jié)果和隨機(jī)參數(shù)差不多,甚至總體上看還更差一點(diǎn)!甚至在 MultiRC 上,調(diào)參出來(lái)的結(jié)果與最壞的一組參數(shù)表現(xiàn)差不多,表明在小驗(yàn)證集上調(diào)參,并不一定就能穩(wěn)定提升性能。這結(jié)果太讓人失望了,不過(guò)作者不死心,還進(jìn)行了一個(gè)有意思的實(shí)驗(yàn):
有多少數(shù)據(jù)之后,才一定能通過(guò)調(diào)參,得到一組比隨機(jī)更好的參數(shù)呢?上面這張圖是在 WiC 任務(wù)上,使用 k 折交叉驗(yàn)證來(lái)調(diào)參,橫軸代表總的訓(xùn)練樣本數(shù)量,縱軸是模型性能,灰色的區(qū)域是 16 組不同參數(shù)的模型性能區(qū)間。實(shí)驗(yàn)發(fā)現(xiàn),到了 2000 多個(gè)樣本時(shí),調(diào)參才是確定有效的!
總結(jié)
這篇文章表明,在真正的小樣本情境下,模型選擇做的還不太好。為此,作者對(duì)未來(lái)的小樣本學(xué)習(xí)給出了以下建議:
在寫文章的時(shí)候,同時(shí)注明模型選擇的原則,以及所有超參數(shù)和嘗試的 prompts。
將驗(yàn)證集的數(shù)量也歸入小樣本學(xué)習(xí)的“數(shù)據(jù)量”里。
當(dāng)有大量樣本作為驗(yàn)證集的時(shí)候,先不要用!先在測(cè)試集直接得到結(jié)果、做消融實(shí)驗(yàn),等所有試驗(yàn)完成后,最后再引入驗(yàn)證集。這樣避免實(shí)驗(yàn)結(jié)果使用驗(yàn)證集大量樣本的信息。
不要使用前人工作中的超參數(shù),只在這少量樣本中重新調(diào)參。
最嚴(yán)格的一種方式是,在設(shè)計(jì)評(píng)測(cè)任務(wù)時(shí),只給出小小的訓(xùn)練集和小小的驗(yàn)證集,真正評(píng)分的測(cè)試集不給出,只能在線評(píng)測(cè)。
這篇文章說(shuō)了真正的小樣本學(xué)習(xí),自然地,就延伸出來(lái)一個(gè)問(wèn)題:在零樣本學(xué)習(xí)(Zero-shot Learning)的情境下,還能進(jìn)行調(diào)參嗎?還能挑選模型嗎?
個(gè)人感覺(jué),似乎不行了。
萌屋作者:????????????????
在北大讀研,目前做信息抽取,對(duì)低資源、圖網(wǎng)絡(luò)都非常感興趣。希望大家在賣萌屋玩得開(kāi)心 ヾ(=・ω・=)o
作品推薦
老板讓我用少量樣本 finetune 模型,我還有救嗎?急急急,在線等!
谷歌:CNN擊敗Transformer,有望成為預(yù)訓(xùn)練界新霸主!LeCun卻沉默了...
中文BERT上分新技巧,多粒度信息來(lái)幫忙
尋求報(bào)道、約稿、文案投放:
添加微信xixiaoyao-1,備注“商務(wù)合作”后臺(tái)回復(fù)關(guān)鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺(tái)回復(fù)關(guān)鍵詞【頂會(huì)】
獲取ACL、CIKM等各大頂會(huì)論文集!
?
[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
總結(jié)
以上是生活随笔為你收集整理的恕我直言,很多小样本学习的工作就是不切实际的的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Attention模型:我的注意力跟你们
- 下一篇: 谷歌、CMU发文:别压榨单模型了!集成+