【NLP】Prompt-Tuning這么好用?
使用prompts去調(diào)節(jié)預(yù)訓(xùn)練模型處理文本分類(lèi)任務(wù)在小樣本上已經(jīng)取得了比直接finetuning模型更好的效果,prompt-tuning的核心思想就是嵌入一小段文本,比如對(duì)于文本分類(lèi)任務(wù),將其轉(zhuǎn)變成填空任務(wù),還有就是構(gòu)建個(gè)映射器(verbalizer)可以在label和word之間相互映射,verbalizer是人工精妙設(shè)計(jì)的且用梯度下降學(xué)習(xí)的。論文提到verbalizer可能缺少覆蓋度且引入很高的偏差和方差,所以論文提出引入額外知識(shí)到verbalizer里,構(gòu)建一個(gè)Knowledgable Prompt-tuning(KPT)去提升效果。Finetuning雖然效果很好,但是也需要充足的樣本去重新訓(xùn)練網(wǎng)絡(luò),在模型tuning領(lǐng)域,有很多prompts的研究在預(yù)訓(xùn)練目標(biāo)和下游任務(wù)構(gòu)建了橋梁。論文給了個(gè)很好的例子:
句子x: What's the relation between speed and acceleration?
category: SCIENCE
模板: A [MASK] question: x
預(yù)估結(jié)果基于[MASK]所填word的概率,如果[MASK]填science概率比較高,那verbalizer的作用就是把science映射到真正的類(lèi)別SCIENCE上。verbalizer就是構(gòu)建vocabulary和label之間的橋梁。
現(xiàn)存很多工作都是人工制定verbalizer的,人工指定verbalizer就有很多問(wèn)題,比如上述例子只把science映射成SCIENCE類(lèi),就很多限制,因?yàn)閜hysics和maths同樣可以映射到SCIENCE,因此這種人工one-one映射限制了模型的收斂,同時(shí)預(yù)估也會(huì)有問(wèn)題,也容易在verbalizer中引入偏差。還有很多工作嘗試緩解人工verbalizer的缺陷,用梯度下降尋找最好的verbalizer,然而這樣的方法很難推斷science和physics之間的聯(lián)系。如果我們能把{science, physics}->SCIENCE這種信息直接注入到verbalizer,預(yù)估的效果就會(huì)顯著提升,這就是KPT做的事。


KPT概述
KPT有3步
construction stage
用external KBs為每個(gè)label創(chuàng)建一系列的label words。值得注意的是擴(kuò)展label words不僅僅是找同義詞,而是從各種粒度視角。
refinement stage
用PLM本身去給擴(kuò)展的label words降噪。對(duì)于zero-shot的效果,該文提出了contextualized calibration去刪除一些先驗(yàn)概率較低的words。對(duì)于few-shot learning,該文又提出了一個(gè)可學(xué)習(xí)的權(quán)重用于verbalizer的降噪。
utilization stage
最后用個(gè)average loss function去優(yōu)化expanded verbalizers,把對(duì)一系列l(wèi)abel words的打分映射到真正標(biāo)簽的打分上。
整體框架如下圖:

該文的重點(diǎn)就是構(gòu)建一個(gè)優(yōu)秀的融合各種外在知識(shí)的verbalizer。verbalizer就是把vocabulary中的少數(shù)詞的概率,映射到label的概率,label words的集合是V,label空間是Y,Vy表示標(biāo)簽y的label words集合,是V的子集,最終預(yù)估y的概率就是下式,g就是把label words的概率轉(zhuǎn)成label的概率:



KPT Method
基于上下文預(yù)估m(xù)asked的word并不是一個(gè)單選問(wèn)題,是沒(méi)有標(biāo)準(zhǔn)答案的,所以verbalizer必須有兩個(gè)特性,廣覆蓋和少主觀偏差。幸運(yùn)的是external structured knowledge在主題分類(lèi)和情感分類(lèi)會(huì)同時(shí)滿(mǎn)足這兩個(gè)特性。對(duì)于主題分類(lèi)而言,核心就是要從各個(gè)角度找到與topic相關(guān)的label words,論文選了個(gè)知識(shí)圖譜作為外部信息(external KB),該圖譜可以用來(lái)衡量label words和topic直接的相關(guān)性,用此選出與topic最相關(guān)的label words集合,如下表所示:

盡管用了個(gè)知識(shí)圖譜構(gòu)建了一個(gè)verbalizer,但是這個(gè)verbalizer是充滿(mǎn)噪聲的,因?yàn)镻LM可能根本不認(rèn)可,所以需要refinement的過(guò)程。對(duì)于zero-shot learning,有3個(gè)問(wèn)題需要解決。首先就是OOV問(wèn)題,PLM沒(méi)見(jiàn)過(guò)KB推薦的詞咋辦呢?這些詞可能有很多類(lèi)目的信息,處理這個(gè)問(wèn)題,可以簡(jiǎn)單的把沒(méi)見(jiàn)過(guò)的詞mask后預(yù)估應(yīng)該填的詞的平均概率,作為這個(gè)詞的概率。第二個(gè)問(wèn)題是處理一些長(zhǎng)尾詞匯,PLM預(yù)估長(zhǎng)尾詞匯的概率往往是不準(zhǔn)確的。該文提出用contextualized calibration去刪除一些先驗(yàn)概率較低的words,具體是我們可以計(jì)算label words的概率期望:

我們從訓(xùn)練集采樣一批樣本然后mask掉word v并近似計(jì)算其期望:

如果這個(gè)值小于一個(gè)閾值就刪除。
第三個(gè)問(wèn)題就是有些label words和其他相比,很難被預(yù)估個(gè)比較高的score,所以KB中的label words的概率需要被修正,用下公式:

對(duì)于Few-shot learning,處理起來(lái)就相對(duì)簡(jiǎn)單了,給每個(gè)label words使用一個(gè)可學(xué)習(xí)的wv,最終weight歸一化后如下:

最后就是優(yōu)化的目標(biāo)了,一種是averge的方式,一種是加權(quán),如下所示:





實(shí)驗(yàn)
實(shí)驗(yàn)效果如圖所示:




參考文獻(xiàn)
1 KnowLedgeble Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification
https://arxiv.org/pdf/2108.02035.pdf
往期精彩回顧 本站qq群955171419,加入微信群請(qǐng)掃碼:
