如何兼容自训练与预训练:更高效的半监督文本分类模型
論文標(biāo)題:
Neural Semi-supervised Learning for Text Classification Under Large-Scale Pretraining
論文作者:
Zijun Sun, Chun Fan, Xiaofei Sun, Yuxian Meng, Fei Wu, Jiwei Li
論文鏈接:
https://arxiv.org/pdf/2011.08626.pdf
代碼鏈接:
https://github.com/ShannonAI/Neural-Semi-Supervised-Learning-for-Text-Classification
概述
半監(jiān)督學(xué)習(xí)是綜合利用標(biāo)注數(shù)據(jù)與未標(biāo)注數(shù)據(jù)的學(xué)習(xí)方法。近日,香儂科技研究了如何更有效地結(jié)合半監(jiān)督自訓(xùn)練和預(yù)訓(xùn)練,即如何在大規(guī)模通用領(lǐng)域預(yù)訓(xùn)練的前提下,更好地利用大規(guī)模領(lǐng)域內(nèi)無標(biāo)注語料與標(biāo)注語料,從而最大限度地提升模型效果。
這涉及到一系列問題:
在大規(guī)模通用語料下訓(xùn)練的模型是否仍然需要在上訓(xùn)練?
如何利用?是像BERT一樣預(yù)訓(xùn)練,還是用偽標(biāo)簽的自訓(xùn)練方法?
在不同的和條件下,不同的訓(xùn)練方式會(huì)有怎樣的結(jié)果差異?
通過在文本分類任務(wù)上的實(shí)驗(yàn),我們發(fā)現(xiàn):
如果有領(lǐng)域內(nèi)語料,那么模型就不需要再在通用領(lǐng)域語料上預(yù)訓(xùn)練;
無論是采用預(yù)訓(xùn)練的方式還是自訓(xùn)練的方式,都可以顯著提升模型效果;
當(dāng)領(lǐng)域內(nèi)標(biāo)注數(shù)據(jù)較小的時(shí)候,在偽平行數(shù)據(jù)上訓(xùn)練、再在上微調(diào)的方法可以提升更多的效果;當(dāng)更大的時(shí)候,在和上聯(lián)合訓(xùn)練取得的效果更好。
但無論如何,不管以怎樣的方式去預(yù)訓(xùn)練自訓(xùn)練,我們都能取得顯著更好的文本分類效果,尤其是在小樣本的條件下,如在IMDB數(shù)據(jù)集上,通過有效結(jié)合預(yù)訓(xùn)練和自訓(xùn)練,僅使用50個(gè)標(biāo)注樣本就可以達(dá)到93.8%的準(zhǔn)確率。
更重要的是,本文對大規(guī)模通用預(yù)訓(xùn)練下的半監(jiān)督自訓(xùn)練與預(yù)訓(xùn)練進(jìn)行的探索,有助于啟發(fā)之后在自然語言處理其他領(lǐng)域上,在不同數(shù)據(jù)條件下、領(lǐng)域條件下設(shè)計(jì)更高效的半監(jiān)督學(xué)習(xí)方法。
不同的預(yù)訓(xùn)練/自訓(xùn)練模型
首先,我們將介紹不同的模型訓(xùn)練策略,以研究它們在不同條件下的表現(xiàn)。記是領(lǐng)域內(nèi)的標(biāo)注數(shù)據(jù),是數(shù)據(jù)集大小。是領(lǐng)域內(nèi)的無標(biāo)注數(shù)據(jù),大小為。下面考慮如何利用數(shù)據(jù)集。
領(lǐng)域內(nèi)預(yù)訓(xùn)練(In-domain Pretraining)
由于是無標(biāo)注數(shù)據(jù),所以一個(gè)直接的想法是像BERT那樣用掩碼預(yù)測的方式去做預(yù)訓(xùn)練。在上預(yù)訓(xùn)練之后,就可以在上微調(diào),用得到的模型進(jìn)行推理即可。
在用預(yù)訓(xùn)練的時(shí)候,可以基于一個(gè)隨機(jī)初始化的模型,也可以基于已經(jīng)在通用語料上預(yù)訓(xùn)練的模型,如BERT、RoBERTa等等。我們將在實(shí)驗(yàn)部分探究它們的影響。
偽標(biāo)簽自訓(xùn)練(Pseudo-label Self-Training)
除了直接像BERT一樣預(yù)訓(xùn)練之外,還可以用自訓(xùn)練的方式去使用。首先在上訓(xùn)練一個(gè)Teacher模型,然后用它去標(biāo)注(的一部分),得到一個(gè)偽平行數(shù)據(jù)集,其大小記為,最后再用一個(gè)Student模型,在和/或上訓(xùn)練。同領(lǐng)域內(nèi)預(yù)訓(xùn)練,Student模型可以是隨機(jī)初始化的,也可以是已經(jīng)預(yù)訓(xùn)練的。
現(xiàn)在要考慮的問題是:(1)如何構(gòu)建;(2)如何用和訓(xùn)練Student模型。
構(gòu)建
我們采取兩種方法構(gòu)建:
,即把中的所有數(shù)據(jù)都當(dāng)成訓(xùn)練數(shù)據(jù)去做標(biāo)注,然而這種方法容易引入過多噪音;
Top-K:只選取對每一類所得概率最高top-K個(gè)樣本作為,這樣就只考慮Teacher模型最有信心的數(shù)據(jù)。
訓(xùn)練Student模型
在得到了后,將與原有的一起參與訓(xùn)練Student模型。我們有下述訓(xùn)練方法:
Training on?,記為:Student直接在上訓(xùn)練,然后用于推理。這種方法的缺點(diǎn)在于中的干凈數(shù)據(jù)可能會(huì)被稀釋。
Training on??and Fine-tuning on?,記為:Student首先在上訓(xùn)練,然后在上微調(diào),從而避免第一種方法的稀釋問題。
Training on??and Fine-tuning on?,記為:Student先在上訓(xùn)練,然后再在上微調(diào),這可以在訓(xùn)練階段更多地利用。
Iterative Training:上述過程可以迭代進(jìn)行,即在訓(xùn)練好Student之后,把它當(dāng)成新的Teacher,然后構(gòu)建新的,訓(xùn)練新的Student。這個(gè)過程重復(fù)次。
實(shí)驗(yàn)
在本節(jié)中我們將探究上述構(gòu)建方法、Student訓(xùn)練方法會(huì)有怎樣的表現(xiàn)差異。我們考慮兩個(gè)不同的領(lǐng)域:
電影:領(lǐng)域內(nèi)標(biāo)注數(shù)據(jù)集是IMDB Dataset,領(lǐng)域內(nèi)未標(biāo)注數(shù)據(jù)集是3.4M個(gè)來自IMDB的影評。為了探究不同數(shù)據(jù)量情況下的模型效果,我們分別用的10, 20, 50, 100, 1K, 5K, 25K進(jìn)行實(shí)驗(yàn)。
垃圾郵件分類:領(lǐng)域內(nèi)標(biāo)注數(shù)據(jù)集包含800個(gè)訓(xùn)練樣本與800個(gè)測試樣本,領(lǐng)域內(nèi)未標(biāo)注包含1M個(gè)樣本。
模型使用RoBERTa_small和RoBERTa_large兩種,作為比較,我們還使用了BiLSTM模型。其他實(shí)驗(yàn)設(shè)置詳見原文。
Teacher模型的表現(xiàn)與領(lǐng)域內(nèi)預(yù)訓(xùn)練結(jié)果
下圖是不同的Teacher訓(xùn)練方法在IMDB和Spam上的結(jié)果。Open-domain是在大規(guī)模通用語料上預(yù)訓(xùn)練(也就是已經(jīng)預(yù)訓(xùn)練好的RoBERTa),In-domain是在上預(yù)訓(xùn)練,所有的模型最后都要在上微調(diào)。
從結(jié)果可以看到,BiLSTM效果最差是在意料之中,其實(shí)是只用Open-domain的RoBERTa。令人驚訝的是,In-domain的效果幾乎和Open-domain+In-domain完全一致,這說明:當(dāng)有足夠量的領(lǐng)域內(nèi)未標(biāo)注數(shù)據(jù)時(shí),通用領(lǐng)域預(yù)訓(xùn)練是沒有必要的。
從上圖中我們還可以觀察到一個(gè)有趣的現(xiàn)象:當(dāng)領(lǐng)域內(nèi)標(biāo)注數(shù)據(jù)很小的時(shí)候,領(lǐng)域內(nèi)預(yù)訓(xùn)練可以顯著提升最終的結(jié)果。換句話說:領(lǐng)域內(nèi)預(yù)訓(xùn)練可以取得更好的小樣本學(xué)習(xí)效果。
領(lǐng)域內(nèi)預(yù)訓(xùn)練的影響
但是,上述結(jié)論有一個(gè)前提:領(lǐng)域內(nèi)未標(biāo)注數(shù)據(jù)足夠大。那么,不同的對最終結(jié)果有怎樣的影響呢?
如下圖所示,當(dāng)?shù)臅r(shí)候,領(lǐng)域內(nèi)預(yù)訓(xùn)練和呈現(xiàn)出明顯的正相關(guān)關(guān)系。
很小的時(shí)候,效果差于開放領(lǐng)域預(yù)訓(xùn)練,當(dāng)足夠大的時(shí)候,領(lǐng)域內(nèi)預(yù)訓(xùn)練就超過了開放領(lǐng)域預(yù)訓(xùn)練。這說明:領(lǐng)域內(nèi)未標(biāo)注數(shù)據(jù)的大小對最終結(jié)果影響極大,總的趨勢是越多越好。
自訓(xùn)練結(jié)果
上面我們探究了在不同模型、數(shù)據(jù)情況下領(lǐng)域內(nèi)預(yù)訓(xùn)練的結(jié)果,下面我們繼續(xù)來探究自訓(xùn)練方法的效果。結(jié)果如下表所示,從表中我們可以觀察到:
幾乎在所有的與下,和始終優(yōu)于;
模型效果隨著的增加而增大,當(dāng)?shù)揭欢ǖ拇笮r(shí),增長趨于緩慢;
當(dāng)較小的時(shí)候,表現(xiàn)更好,當(dāng)較大的時(shí)候,表現(xiàn)更好。這是因?yàn)楫?dāng)小的時(shí)候,模型在上的稀釋問題更加嚴(yán)重,需要再用上的微調(diào)“矯正”;而大的時(shí)候,Teacher模型的預(yù)測大部分都是正確的,也即中的噪音減少,如果再在上微調(diào),就會(huì)稀釋中的“干凈樣本”。
那么,的大小、的大小會(huì)對最終結(jié)果有怎樣的影響呢?下圖是不同的(第一行)與不同的(第二行)對結(jié)果的影響。
從第一行可以看到,當(dāng)比較小的時(shí)候,和會(huì)有比較好的效果;而當(dāng)比較大的時(shí)候,四個(gè)方法的結(jié)果都差不多。
從第二行可以看到,當(dāng)比較小的時(shí)候,表現(xiàn)最好,并且隨著的增大效果先提升后降低。
這是因?yàn)榇藭r(shí)當(dāng)持續(xù)增大到一定程度之后,Teacher模型得到的不確定樣本就會(huì)更多,引入了更多噪聲,Student模型的效果就會(huì)受到影響。
相反,當(dāng)足夠大的時(shí)候,的影響就占據(jù)主導(dǎo),此時(shí)增大就不會(huì)有損效果。
迭代訓(xùn)練結(jié)果
下圖是不同的迭代訓(xùn)練的結(jié)果。顯然,無論迭代多少次,的大小直接決定了模型的效果。從趨勢來講,都是隨著迭代次數(shù)的增加效果變好,但當(dāng)超過一定迭代次數(shù)后(N=2),效果就不再變化了。
結(jié)合領(lǐng)域內(nèi)預(yù)訓(xùn)練和自訓(xùn)練
上面我們分別考察了領(lǐng)域內(nèi)預(yù)訓(xùn)練和自訓(xùn)練的結(jié)果,這二者是否可以結(jié)合起來進(jìn)一步提升效果呢?答案是肯定的,而且我們已經(jīng)在論文自訓(xùn)練 + 預(yù)訓(xùn)練 = 更好的自然語言理解模型講解中闡述了這一點(diǎn)。
下表是結(jié)合二者的得到結(jié)果。無論是RoBERTa_small還是RoBERTa_large,在領(lǐng)域內(nèi)預(yù)訓(xùn)練的基礎(chǔ)上再次使用自訓(xùn)練,就可以顯著提升效果,分別提升了+0.5與+0.4,相比Open-domain pretraining提升了+1.1和+1.0。
小結(jié)
在這篇文章中,我們綜合分析了文本分類任務(wù)下不同預(yù)訓(xùn)練和自訓(xùn)練方法對結(jié)果的影響,通過大量的實(shí)驗(yàn)得到了下面三個(gè)主要結(jié)論:
足量的領(lǐng)域內(nèi)語料使模型不需要再在通用領(lǐng)域語料上預(yù)訓(xùn)練;
無論是采用預(yù)訓(xùn)練的方式還是自訓(xùn)練的方式,都可以顯著提升模型效果,二者結(jié)合可以得到最佳結(jié)果;
當(dāng)領(lǐng)域內(nèi)標(biāo)注數(shù)據(jù)較小的時(shí)候,在偽平行數(shù)據(jù)上訓(xùn)練、再在上微調(diào)的方法可以提升更多的效果;當(dāng)更大的時(shí)候,在和上聯(lián)合訓(xùn)練取得的效果更好。
我們發(fā)現(xiàn),預(yù)訓(xùn)練和自訓(xùn)練相結(jié)合尤其可以在小樣本場景下取得突出效果,在IMDB數(shù)據(jù)集上,僅用50個(gè)標(biāo)注樣本就可以實(shí)現(xiàn)93.8%的準(zhǔn)確率。我們希望本文可以為今后NLP領(lǐng)域更高效的半監(jiān)督學(xué)習(xí)方法提供啟發(fā)。
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的如何兼容自训练与预训练:更高效的半监督文本分类模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人工智能定义介绍(人工智能定义)
- 下一篇: Perturbed Masking:和参