【NLP】PET——文本分类的又一种妙解
作者?|?許明??????
整理?|?NewBeeNLP
之前的一篇《模型增強-從label下手》[1]中,我們提到了通過轉換label,將分類轉換為NLG的方法,而由于性能沒有得到增加,所以就沒有繼續往下做。今天看到兩篇文章,思路略微相似,也讓我眼前一亮,發現原來我與頂會思路這么近(誤),所以總結對比一下。
Classification to NLG
對于分類任務,我們可以將其轉換為一個生成任務。比如此時我們有一個樣本:
"context:'「天天特價房」華庭仁和國際 3室2廳2衛僅售65萬', label:?'房產', label_id:?0"通常我們直接預測對應的label id,而由于其也有label,所以我們可以將其轉換為一個NLG任務,即:
"context:['「天天特價房」華庭仁和國際 3室2廳2衛僅售65萬', '房產']"即通過樣本生成label對應的token。借助UniLM同時具有NLU與NLG的能力,只需要很小的改動就可以利用BERT做該任務了,對應的示意圖如下:
不過當時考慮到UniLM中提到seq2seq的訓練不能提高NLU的能力,所以當時并沒有選擇使用MLM來嘗試,最后得到的結論是:
將分類轉為生成后,性能基本一致;
將分類與生成聯合起來訓練,性能與單個任務性能基本一致。
MLM
MLM,即Masked Language Model,中文翻譯又叫“掩碼語言模型”,即以自監督的方式,mask 掉一部分,然后通過剩余的部分來還原被mask 掉的部分,示意圖如下:
而mask的方式也有多種,如隨機選擇token進行mask;將token所在的整個詞都mask(whole word mask);或者將某個span內的token都mask掉(span mask)。
雖然mlm在預訓練任務上已經被證明十分有效,但是通常認為mlm部分的參數是與mlm任務相關的,而通常在下游任務中我們是別的任務,所以會舍棄掉這部分參數,而只使用encoder部分。但是論文《It's Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners》[2]?與 《Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference》[3]卻告訴我們,mlm不僅有用,在few-shot場景下,通過一下簡單的融合手段,性能能超過當前的明星GPT-3.
任務轉換
與之前的思路類似,我們針對分類任務,不再直接對label進行預測,而是預測其label description,即將其轉換為完形填空形式的任務,來預測不同label description的概率。而如何轉換成完形填空呢?也很簡單,我們添加一個簡單的語義通順的描述,然后將其中與分類有關的內容mask掉即可。舉個例子:
假如我們現在的任務是短文本分類,一個樣本為“context:'「天天特價房」華庭仁和國際 3室2廳2衛僅售65萬', label: '房產'”,我們添加一個統一的描述句,將其變為:"下面是一則__相關新聞標題: 「天天特價房」華庭仁和國際 3室2廳2衛僅售65萬",其中的空格可選的內容是所有的label description,對應的真實值是"房產"兩個字,這樣,我們就將分類任務轉換為一個完形填空的形式。而添加的方式也可以分為前綴、后綴兩種,完整的方式:
"以下是一則__相關新聞標題:?「天天特價房」華庭仁和國際?3室2廳2衛僅售65萬" "「天天特價房」華庭仁和國際?3室2廳2衛僅售65萬,以上是一則__相關新聞標題"Pattern-Exploiting Training
上面我們添加的前綴/后綴句子稱為Pattern, 而label description可以有多種方式,比如,對于“房產”這個label,我們也可以用“地產”來表達,對于“娛樂”label,也可以用“八卦”來表達,所以需要一個token到label的映射,這個映射可以是多對一的,這個被稱為Verbalizer。所以在預測時可以將多個token的概率結合起來判斷其對應的label。
由于是few-shot,為了提高性能,作者采用了與Knowledge Distillation類似的思路,具體方案如下:
對每個Pattern利用多個pre-train model 進行fine-tuning,得到多個模型.其中 ;
將多個模型的結果進行融合,得到一個融合模型Teacher Model;
利用Teacher Model在大量unlabed數據上進行預測,得到對應的soft labels;
利用soft labels數據,訓練一個常規的分類模型(非MLM模型)。
以上就是論文Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference[4]中提到的PET。
此外,該論文中還提到了一個改進:iPET。其中的區別是:在ipet中,得到mlm的多個model后,增加一個迭代:每次會從訓練mlm的model中抽取一個 ,然后從剩余的model中選取一部分對unlabeled data進行預測,將其中預測結果確定(不是準確,此時意味著結果的熵很小)的部分打上一個fake label,讓 進行訓練。重復多次后,融合模型對unlabeled data進行預測,得到一個soft labels data,在此基礎上訓練一個常規分類器。
可以看到,PET的方式主要適用label description為有限空間,即選擇題,此外,每個樣本的label description需要長度相同,而且由于mask之間相互獨立,所以長度也不能太長。
與NLG差異
在之前的腦洞中,我們將分類任務轉變為NLG任務,即利用樣本來生成對應的label description,而他與PET中的主要差別主要有幾點:
NLG中我們并沒有沒有限制label description的長度,且不同label對應description也可能是不同長度;
NLG中我們每個token的生成是有依賴關系的,即后面的token會依賴之前的token,所以token長度可以比PET中稍微長一些;
PET中對應的解碼空間大大減小,只需要得到label對應token的概率即可;
PET中的pattern可以放在前綴也可以放在后綴,NLG可以看作是后綴PET.
PET 中由于pre-train是mlm任務,所以zero-show性能更好。
實驗
針對這些差異嘗試做了幾組實驗,驗證一下想法。
NLG中label長度同一且解碼時利用PET的方式解碼,在few-shot下準確率從 上升到 ,所以生成的label越短,解碼空間越小越準確;
PET前綴pattern下準確率為 , 所以前綴pattern比后綴性能更好,這也與蘇劍林《必須要GPT3嗎?不,BERT的MLM模型也能小樣本學習》[5]的結論一致。
zero-shot情況下,PET的準確率為 , 而NLG只有 ,考慮到數據集全量下目前最好成績才 ,說明PET的方式在zero-shot下效果相當驚人。
主要實驗代碼在classification_pet_seq2seq[6] 與 classification_tnews_pet[7]
總結
本文介紹了一種新的轉變分類任務獲得更好性能的方法:即將分類任務轉化為mlm模型進行完形填空,同時與之前腦洞的將分類轉變為生成任務進行對比,通過實驗驗證了兩者的差異與有效性。同時也提醒自己,多想幾步,也許就能有新的發現。
本文參考資料
[1]
《模型增強-從label下手》: https://xv44586.github.io/2020/09/13/classification-label-augment/
[2]It's Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners: http://arxiv.org/abs/2009.07118
[3]Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference: http://arxiv.org/abs/2001.07676
[4]Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference: http://arxiv.org/abs/2001.07676
[5]《必須要GPT3嗎?不,BERT的MLM模型也能小樣本學習》: https://spaces.ac.cn/archives/7764
[6]classification_pet_seq2seq: https://github.com/xv44586/toolkit4nlp/blob/master/examples/classification_pet_seq2seq.py
[7]classification_tnews_pet: https://github.com/xv44586/toolkit4nlp/blob/master/examples/classification_tnews_pet.py
-?END?-
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【NLP】PET——文本分类的又一种妙解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11怎么设置提高电脑游戏性能
- 下一篇: PP视频如何开启允许非WI-FI下载