PET-文本分類的又一種妙解

更好的閱讀體驗請?zhí)D(zhuǎn)至PET-文本分類的又一種妙解

之前的一篇《模型增強-從label下手》中,我們提到了通過轉(zhuǎn)換label,將分類轉(zhuǎn)換為NLG的方法,而由于性能沒有得到增加,所以就沒有繼續(xù)往下做。今天看到兩篇文章,思路略微相似,也讓我眼前一亮,發(fā)現(xiàn)原來我與頂會思路這么近(誤),所以總結(jié)對比一下。

Classification to NLG

對于分類任務(wù),我們可以將其轉(zhuǎn)換為一個生成任務(wù)。比如此時我們有一個樣本:

"context:'「天天特價房」華庭仁和國際 3室2廳2衛(wèi)僅售65萬', label: '房產(chǎn)', label_id: 0"

通常我們直接預(yù)測對應(yīng)的label id,而由于其也有l(wèi)abel,所以我們可以將其轉(zhuǎn)換為一個NLG任務(wù),即:

"context:['「天天特價房」華庭仁和國際 3室2廳2衛(wèi)僅售65萬', '房產(chǎn)']"

即通過樣本生成label對應(yīng)的token。借助UniLM同時具有NLU與NLG的能力,只需要很小的改動就可以利用BERT做該任務(wù)了,對應(yīng)的示意圖如下:


unilm.png

不過當(dāng)時考慮到UniLM中提到seq2seq的訓(xùn)練<code>不能</code>提高NLU的能力,所以當(dāng)時并沒有選擇使用MLM來嘗試,最后得到的結(jié)論是:

1.* 將分類轉(zhuǎn)為生成后,性能基本一致;*
2.* 將分類與生成聯(lián)合起來訓(xùn)練,性能與單個任務(wù)性能基本一致。*

MLM

MLM,即Masked Language Model,中文翻譯又叫“掩碼語言模型”,即以自監(jiān)督的方式,mask 掉一部分,然后通過剩余的部分來還原被mask 掉的部分,示意圖如下:


mlm.png

而mask的方式也有多種,如隨機選擇token進行mask;將token所在的整個詞都mask(whole word mask);或者將某個span內(nèi)的token都mask掉(span mask)。
雖然mlm在預(yù)訓(xùn)練任務(wù)上已經(jīng)被證明十分有效,但是通常認(rèn)為mlm部分的參數(shù)是與mlm任務(wù)相關(guān)的,而通常在下游任務(wù)中我們是別的任務(wù),所以會舍棄掉這部分參數(shù),而只使用encoder部分。
但是論文It's Not Just Size That Matters: Small Language Models Are Also Few-Shot LearnersExploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference卻告訴我們,mlm不僅有用,在few-shot場景下,通過一下簡單的融合手段,性能能超過當(dāng)前的明星GPT-3.

任務(wù)轉(zhuǎn)換

與之前的思路類似,我們針對分類任務(wù),不再直接對label進行預(yù)測,而是預(yù)測其label description,即將其轉(zhuǎn)換為完形填空形式的任務(wù),來預(yù)測不同label description的概率。
而如何轉(zhuǎn)換成完形填空呢?也很簡單,我們添加一個簡單的語義通順的描述,然后將其中與分類有關(guān)的內(nèi)容mask掉即可。舉個例子:
假如我們現(xiàn)在的任務(wù)是短文本分類,一個樣本為“context:'「天天特價房」華庭仁和國際 3室2廳2衛(wèi)僅售65萬', label: '房產(chǎn)'”,我們添加一個統(tǒng)一的描述句,將其變?yōu)椋?br> "下面是一則__相關(guān)新聞標(biāo)題: 「天天特價房」華庭仁和國際 3室2廳2衛(wèi)僅售65萬",其中的空格可選的內(nèi)容是所有的label description,對應(yīng)的真實值是"房產(chǎn)"兩個字,這樣,我們就將分類任務(wù)轉(zhuǎn)換為一個完形填空的形式。
而添加的方式也可以分為前綴、后綴兩種,完整的方式:

"以下是一則__相關(guān)新聞標(biāo)題: 「天天特價房」華庭仁和國際 3室2廳2衛(wèi)僅售65萬"
"「天天特價房」華庭仁和國際 3室2廳2衛(wèi)僅售65萬,以上是一則__相關(guān)新聞標(biāo)題"

Pattern-Exploiting Training

上面我們添加的前綴/后綴句子稱為<code>Pattern</code>, 而label description可以有多種方式,比如,對于“房產(chǎn)”這個label,我們也可以用“地產(chǎn)”來表達,對于“娛樂”label,也可以用“八卦”來表達,所以需要一個token到label的映射,這個映射可以是多對一的,這個被稱為<code>Verbalizer</code>,所以在預(yù)測時可以將多個token的概率結(jié)合起來判斷其對應(yīng)的label。
由于是few-shot,為了提高性能,作者采用了與Knowledge Distillation類似的思路,具體方案如下:

1.* 對每個Pattern利用多個pre-train model 進行fine-tuning,得到多個模型.其中loss=L_{ce} + L_{mlm};*
2.* 將多個模型的結(jié)果進行融合,得到一個融合模型Teacher Model;*
3.* 利用Teacher Model在大量unlabed數(shù)據(jù)上進行預(yù)測,得到對應(yīng)的soft labels;*
4.* 利用soft labels數(shù)據(jù),訓(xùn)練一個常規(guī)的分類模型(非MLM模型)。*

以上就是論文Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference中提到的PET。
此外,該論文中還提到了一個改進:iPET。其中的區(qū)別是:在ipet中,得到mlm的多個model后,增加一個迭代:每次會從訓(xùn)練mlm的model中抽取一個m_i,然后從剩余的model中選取一部分對unlabeled data進行預(yù)測,將其中預(yù)測結(jié)果確定(不是準(zhǔn)確,此時意味著結(jié)果的熵很?。┑牟糠执蛏弦粋€fake label,讓m_i進行訓(xùn)練。重復(fù)多次后,融合模型對unlabeled data進行預(yù)測,得到一個soft labels data,在此基礎(chǔ)上訓(xùn)練一個常規(guī)分類器。

可以看到,PET的方式主要適用label description為有限空間,即選擇題,此外,每個樣本的label description需要長度相同,而且由于mask之間相互獨立,所以長度也不能太長。

與NLG差異

在之前的腦洞中,我們將分類任務(wù)轉(zhuǎn)變?yōu)镹LG任務(wù),即利用樣本來生成對應(yīng)的label description,而他與PET中的主要差別主要有幾點:

1.* NLG中我們并沒有沒有限制label description的長度,且不同label對應(yīng)description也可能是不同長度;*
2.* NLG中我們每個token的生成是有依賴關(guān)系的,即后面的token會依賴之前的token,所以token長度可以比PET中稍微長一些;*
3.* PET中對應(yīng)的解碼空間大大減小,只需要得到label對應(yīng)token的概率即可;*
4.* PET中的pattern可以放在前綴也可以放在后綴,NLG可以看作是后綴PET.*
5.* PET 中由于pre-train是mlm任務(wù),所以zero-show性能更好。*

實驗

針對這些差異嘗試做了幾組實驗,驗證一下想法。

  1. NLG中l(wèi)abel長度同一且解碼時利用PET的方式解碼,在few-shot下準(zhǔn)確率從52.4%上升到52.9%,所以生成的label越短,解碼空間越小越準(zhǔn)確;
  2. PET前綴pattern下準(zhǔn)確率為%53.7%$,所以前綴pattern比后綴性能更好,這也與蘇劍林《必須要GPT3嗎?不,BERT的MLM模型也能小樣本學(xué)習(xí)》的結(jié)論一致。
  3. zero-shot情況下,PET的準(zhǔn)確率為47.2%, 而NLG只有17.9%,考慮到數(shù)據(jù)集全量下目前最好成績才60.7%,說明PET的方式在zero-shot下效果相當(dāng)驚人。

主要實驗代碼在classification_pet_seq2seqclassification_tnews_pet

總結(jié)

本文介紹了一種新的轉(zhuǎn)變分類任務(wù)獲得更好性能的方法:即將分類任務(wù)轉(zhuǎn)化為mlm模型進行完形填空,同時與之前腦洞的將分類轉(zhuǎn)變?yōu)樯扇蝿?wù)進行對比,通過實驗驗證了兩者的差異與有效性。同時也提醒自己,多想幾步,也許就能有新的發(fā)現(xiàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容