預(yù)訓(xùn)練模型介紹:BERT、GPT陪拘、XLNet厂镇、RoBERTa、ALBERT和ELECTRA

預(yù)訓(xùn)練

預(yù)訓(xùn)練是Transformer模型學(xué)習(xí)建模語言的過程左刽。換句話說捺信,“Transformer”將學(xué)習(xí)良好的,取決于上下文的表示文本序列的方式欠痴。然后迄靠,該知識可以在下游任務(wù)中重用,因為模型已經(jīng)學(xué)習(xí)了語言功能喇辽,并且現(xiàn)在只需要微調(diào)其表示以執(zhí)行特定任務(wù)掌挚,就可以大大減少所需的特定于任務(wù)的,標(biāo)記數(shù)據(jù)菩咨。對于預(yù)訓(xùn)練疫诽,在數(shù)據(jù)方面的唯一要求是許多(希望)干凈的數(shù)據(jù)。無需標(biāo)簽旦委!

BERT

BERT(Bidirectional Encoder Representations from Transformers)是Google Research的研究人員在2018年提出的一種自然語言處理模型奇徒。

BERT的關(guān)鍵技術(shù)創(chuàng)新是雙向的Transformer的訓(xùn)練。這與以前的工作相反缨硝,之前的工作是從左到右或從左到右和從右到左的組合訓(xùn)練查看文本序列摩钙。與單向語言模型相比,經(jīng)過雙向訓(xùn)練的語言模型可以對語言上下文和流程有更深的了解查辩。在論文中胖笛,研究人員詳細(xì)介紹了一種名為Masked LM(MLM)的新技術(shù)网持,該技術(shù)允許在以前不可能的模型中進(jìn)行雙向訓(xùn)練。

已發(fā)布的開源代碼就帶有兩個版本的預(yù)訓(xùn)練模型BERT BASE和BERT LARGE长踊,它們在大量數(shù)據(jù)集上進(jìn)行了訓(xùn)練功舀。BERT還使用了許多以前的NLP算法和體系結(jié)構(gòu),例如半監(jiān)督訓(xùn)練身弊,OpenAI Transformer辟汰,ELMo嵌入,ULMFit阱佛,Transformer帖汞。

BERT模型體系結(jié)構(gòu):

BERT以\scriptstyle BERT_{BASE}\scriptstyle BERT_{LARGE}兩種尺寸發(fā)布。BASE模型用于測量與另一種體系結(jié)構(gòu)相當(dāng)?shù)捏w系結(jié)構(gòu)性能凑术,而LAR??GE模型產(chǎn)生的最新結(jié)果已在研究論文中進(jìn)行了報道翩蘸。

BASE和LARGE體系結(jié)構(gòu)

BERT基本上是Transformer架構(gòu)的編碼器堆棧。Transformer體系結(jié)構(gòu)是一種編碼器-解碼器網(wǎng)絡(luò)淮逊,它在編碼器使用self-attention催首,在解碼器使用注意力。\scriptstyle BERT_{BASE}在編碼器堆棧中具有12層泄鹏,而\scriptstyle BERT_{LARGE}在編碼器堆棧中具有24層郎任。這些不只是原始論文中描述的Transformer體系結(jié)構(gòu)(6個編碼器層)。與原始論文中建議的Transformer體系結(jié)構(gòu)相比命满,BERT體系結(jié)構(gòu)(BASE和LARGE)還具有更大的前饋網(wǎng)絡(luò)(分別為768和1024個隱藏單元)和更多的關(guān)注點(diǎn)(分別為12和16)。它包含512個隱藏單元和8個attention head绣版。BERT BASE包含110M參數(shù)胶台,而BERT LARGE具有340M參數(shù)。

半監(jiān)督學(xué)習(xí):

BERT在不同的NLP任務(wù)上表現(xiàn)良好的主要原因之一是使用半監(jiān)督學(xué)習(xí)杂抽。這意味著該模型針對特定任務(wù)進(jìn)行了訓(xùn)練诈唬,使其能夠理解語言的模式。訓(xùn)練后缩麸,模型(BERT)具有語言處理功能铸磅,可用于授權(quán)我們使用監(jiān)督學(xué)習(xí)構(gòu)建和訓(xùn)練的其他模型。

ELMo Word Embeddings:

ELMo\根據(jù)上下文(即上下文化詞嵌入)對一個詞進(jìn)行嵌入杭朱。為了生成詞的嵌入阅仔,ELMo會查看整個句子而不是固定的詞嵌入。
Elmo使用為特定任務(wù)訓(xùn)練的雙向LSTM弧械,以便能夠創(chuàng)建這些嵌入八酒。該模型在使用我們數(shù)據(jù)集語言的海量數(shù)據(jù)集上進(jìn)行了訓(xùn)練,然后我們可以將其用作執(zhí)行特定語言任務(wù)所需的其他體系結(jié)構(gòu)中的組件刃唐。

Elmo Contextualize嵌入架構(gòu)

ELMo受過訓(xùn)練以預(yù)測單詞序列中的下一個單詞羞迷,從而獲得了對語言的理解-這項任務(wù)稱為“語言建慕缧”。這很方便衔瓮,因為我們擁有大量的文本數(shù)據(jù)浊猾,而無需訓(xùn)練標(biāo)簽就可以從這種模型中學(xué)習(xí)。

ULM-Fit:NLP中的轉(zhuǎn)移學(xué)習(xí):

ULM-Fit引入了新的語言模型和過程热鞍,可以針對特定任務(wù)有效地微調(diào)該語言模型葫慎。這使NLP體系結(jié)構(gòu)可以在預(yù)訓(xùn)練模型上執(zhí)行轉(zhuǎn)移學(xué)習(xí),類似于在許多計算機(jī)視覺任務(wù)中執(zhí)行的模型碍现。

Open AI Transformer:預(yù)訓(xùn)練:

上面的Transformer架構(gòu)僅對編碼器架構(gòu)進(jìn)行了預(yù)訓(xùn)練幅疼。這種預(yù)訓(xùn)練對某些任務(wù)(如機(jī)器翻譯等)很有用,但對于諸如句子分類之類的任務(wù)昼接,下一個單詞預(yù)測則無法使用爽篷。在這種架構(gòu)中,我們僅訓(xùn)練解碼器慢睡。這種訓(xùn)練解碼器的方法將最適合下一個單詞預(yù)測任務(wù)逐工,因為它掩蓋了與此任務(wù)相似的將來標(biāo)記(單詞)。
該模型具有12個解碼器層堆棧漂辐。由于沒有編碼器泪喊,因此這些解碼器層僅具有self-attention層。
我們可以通過為模型提供大量未標(biāo)記的數(shù)據(jù)集(例如書籍等)來訓(xùn)練該模型以進(jìn)行語言建模(下一個單詞預(yù)測)任務(wù)髓涯。

BERT工作

BERT利用Transformer(一種注意機(jī)制)來學(xué)習(xí)文本中單詞(或子單詞)之間的上下文關(guān)系袒啼。原始形式的Transformer包含兩種獨(dú)立的機(jī)制-讀取文本輸入的編碼器和為任務(wù)生成預(yù)測的解碼器。由于BERT的目標(biāo)是生成語言模型纬纪,因此僅需要編碼器機(jī)制蚓再。

與定向模型(順序讀取文本輸入(從左到右或從右到左))相反,Transformer編碼器一次讀取整個單詞序列包各。因此摘仅,盡管說它是非定向的更為準(zhǔn)確,但它被認(rèn)為是雙向的问畅。此特征使模型可以基于單詞的所有周圍環(huán)境(單詞的左右)來學(xué)習(xí)單詞的上下文娃属。

訓(xùn)練語言模型時,定義預(yù)測目標(biāo)存在挑戰(zhàn)护姆。許多模型預(yù)測序列中的下一個單詞(例如“孩子從___回家”)矾端,這是一種定向方法,固有地限制了情境學(xué)習(xí)卵皂。為了克服這一挑戰(zhàn)须床,BERT使用了兩種訓(xùn)練策略:Masked LM(MLM)Next Sentence Prediction(NSP)

Masked LM(MLM)

在將單詞序列饋入BERT之前,每個序列中15%的單詞被替換為[MASK]標(biāo)記渐裂。然后豺旬,該模型將根據(jù)序列中其他未屏蔽單詞提供的上下文钠惩,嘗試預(yù)測被屏蔽單詞的原始值。用技術(shù)術(shù)語來說族阅,輸出單詞的預(yù)測需要:

  • 1篓跛、在編碼器輸出的頂部添加分類層。
  • 2坦刀、將輸出向量與嵌入矩陣相乘愧沟,將其轉(zhuǎn)換為詞匯量。
  • 3鲤遥、用softmax計算詞匯中每個單詞的概率沐寺。

BERT損失函數(shù)僅考慮Mask值的預(yù)測,而忽略非Mask的預(yù)測盖奈。結(jié)果混坞,該模型的收斂速度比定向模型慢,這一特征被上下文感知能力的提高所抵消钢坦。

Next Sentence Prediction(NSP)

在BERT訓(xùn)練過程中究孕,模型接收成對的句子作為輸入,并學(xué)習(xí)預(yù)測成對的第二句話是否是原始文檔中的后續(xù)句子爹凹。在訓(xùn)練期間厨诸,輸入的50%是一對,其中第二個句子是原始文檔中的后續(xù)句子禾酱,而在其他50%的輸入中微酬,從語料庫中選擇一個隨機(jī)句子作為第二個句子。假定隨機(jī)句子將與第一句斷開颤陶。

為了幫助模型區(qū)分訓(xùn)練中的兩個句子颗管,在輸入模型之前,將以以下方式處理輸入:

  • 1.在第一個句子的開頭插入一個[CLS]標(biāo)記指郁,在每個句子的末尾插入一個[SEP]標(biāo)記忙上。
  • 2.將指示句子A或句子B的句子嵌入添加到每個標(biāo)記拷呆。句子嵌入在概念上與詞匯量為2的標(biāo)記嵌入相似闲坎。
  • 3.將位置嵌入添加到每個標(biāo)記以指示其在序列中的位置。

要預(yù)測第二句話是否確實(shí)與第一句話相關(guān)茬斧,請執(zhí)行以下步驟:

  • 整個輸入序列通過Transformer模型腰懂。
  • [CLS]標(biāo)記的輸出使用簡單的分類層(權(quán)重和偏差的學(xué)習(xí)矩陣)轉(zhuǎn)換為2×1形狀的矢量。
  • 用softmax計算IsNextSequence的概率项秉。
  • 在訓(xùn)練BERT模型時绣溜,將同時屏蔽Masked LM和Next Sentence Prediction,目的是最小化這兩種策略的組合損失函數(shù)娄蔼。

GPT

GPT-1

使用未標(biāo)記的數(shù)據(jù)學(xué)習(xí)生成語言模型怖喻,然后通過提供特定的下游任務(wù)示例(例如分類底哗,情感分析,文本蘊(yùn)含等)來對模型進(jìn)行微調(diào)锚沸。

無監(jiān)督學(xué)習(xí)是有監(jiān)督的微調(diào)模型的預(yù)訓(xùn)練目標(biāo)跋选,因此被稱為“生成式預(yù)訓(xùn)練”。

學(xué)習(xí)目標(biāo)和概念:這種針對NLP任務(wù)的半監(jiān)督學(xué)習(xí)(無監(jiān)督的預(yù)訓(xùn)練哗蜈,然后進(jìn)行有監(jiān)督的微調(diào))具有以下三個組成部分:

  • a.無監(jiān)督語言建模(預(yù)訓(xùn)練):對于無監(jiān)督學(xué)習(xí)前标,使用標(biāo)準(zhǔn)語言模型目標(biāo)。
    L_{1}(T)=\sum_{i} \log P\left(t_{i} \mid t_{i-k}, \ldots, t_{i-1} ; \theta\right)
    其中\scriptstyle T是無監(jiān)督數(shù)據(jù)\scriptstyle {t_1距潘,…炼列,t_n}中的標(biāo)記集,\scriptstyle k是上下文窗口的大小音比,\scriptstyle θ是使用隨機(jī)梯度下降訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的參數(shù)俭尖。

  • b.有監(jiān)督的微調(diào):這部分旨在最大程度地觀察給定特征或標(biāo)記\scriptstyle x_1,…硅确,x_n的標(biāo)簽\scriptstyle y目溉。
    L_{2}(C)=\sum_{x, y} \log P\left(y \mid x_{1}, \ldots, x_{n}\right)
    其中\scriptstyle C是由訓(xùn)練示例組成的標(biāo)記數(shù)據(jù)集
    另外添加了用于有監(jiān)督的微調(diào)的輔助學(xué)習(xí)目標(biāo),以實(shí)現(xiàn)更好的泛化和更快的收斂菱农。修改后的培訓(xùn)目標(biāo)如下:
    L_{3}(C)=L_{2}(C)+\lambda L_{1}(C)
    其中\scriptstyle L_1(C)是學(xué)習(xí)語言模型的輔助目標(biāo)缭付,而\scriptstyle λ是賦予該次要學(xué)習(xí)目標(biāo)的權(quán)重。\scriptstyle λ設(shè)定為0.5循未。
    通過在Transformer模型上添加線性層和softmax層以獲得下游任務(wù)的任務(wù)標(biāo)簽陷猫,可以實(shí)現(xiàn)有監(jiān)督的微調(diào)。

  • C.任務(wù)特定的輸入轉(zhuǎn)換:為了在微調(diào)期間對模型的體系結(jié)構(gòu)進(jìn)行最小的更改的妖,將特定下游任務(wù)的輸入轉(zhuǎn)換為有序序列绣檬。標(biāo)記以以下方式重新排列:
    —開始標(biāo)記和結(jié)束標(biāo)記已添加到輸入序列中。
    —在示例的不同部分之間添加了定界符標(biāo)記嫂粟,以便可以按有序序列發(fā)送輸入娇未。對于諸如問答,多項選擇題等任務(wù)星虹,每個示例均發(fā)送了多個序列零抬。例如,一個訓(xùn)練示例宽涌,包括情境平夜,問題和回答問題任務(wù)的答案序列。

GPT-1證明語言模型是有效的預(yù)訓(xùn)練目標(biāo)卸亮,可以幫助模型很好地推廣忽妒。該體系結(jié)構(gòu)促進(jìn)了轉(zhuǎn)移學(xué)習(xí),并且只需很少的調(diào)整就可以執(zhí)行各種NLP任務(wù)。該模型顯示了生成式預(yù)訓(xùn)練的強(qiáng)大功能段直,并為其他模型開辟了道路吃溅,可以通過更大的數(shù)據(jù)集和更多的參數(shù)更好地釋放這種潛力。

GPT-2

學(xué)習(xí)目標(biāo)和概念:以下是在NLP上下文中本文討論的兩個重要概念鸯檬。

  • 任務(wù)條件:我們已經(jīng)看到語言模型的訓(xùn)練目標(biāo)被表述為P(輸出|輸入)罕偎。但是,GPT-2旨在使用相同的無監(jiān)督模型學(xué)習(xí)多個任務(wù)京闰。為此颜及,應(yīng)將學(xué)習(xí)目標(biāo)修改為P(輸入,任務(wù))蹂楣。這種修改稱為任務(wù)調(diào)節(jié)俏站,其中期望模型為不同任務(wù)的相同輸入產(chǎn)生不同的輸出。一些模型在架構(gòu)級別上實(shí)現(xiàn)任務(wù)調(diào)節(jié)痊土,在該級別上將模型(輸入和任務(wù))都饋入模型肄扎。對于語言模型,輸出赁酝,輸入和任務(wù)都是自然語言的序列犯祠。因此,對于語言模型任務(wù)調(diào)理執(zhí)行通過向模型提供示例或自然語言指令來執(zhí)行任務(wù)酌呆。
  • Zero Shot Learning(ZSL) 和 Zero Short Task Transfer:GPT 2的一項有趣功能是Zero Short Task Transfer衡载。ZSL是ZSL傳輸?shù)囊环N特殊情況,其中根本不提供任何示例隙袁,并且模型根據(jù)給定的指令理解任務(wù)痰娱。無需像對GPT-1進(jìn)行微調(diào)那樣重新排列順序,而是以一種期望模型能夠理解任務(wù)性質(zhì)并提供答案的格式提供給GPT-2的輸入菩收。這樣做是為了模擬Zero Short Task Transfer行為梨睁。例如,對于英語到法語的翻譯任務(wù)娜饵,給模型提供英語句子坡贺,后跟單詞French和提示(:)。該模型應(yīng)該理解為翻譯任務(wù)箱舞,并為法語提供英語句子遍坟。

GPT-2表明,在更大的數(shù)據(jù)集上進(jìn)行訓(xùn)練并具有更多的參數(shù)可以提高語言模型理解任務(wù)的能力褐缠,并超越零射擊設(shè)置下許多任務(wù)的最新技術(shù)水平政鼠。該論文指出风瘦,隨著模型容量的增加队魏,性能以對數(shù)線性方式增加。而且,語言模型的困惑性下降并未顯示出飽和胡桨,并且隨著參數(shù)數(shù)量的增加而持續(xù)下降官帘。實(shí)際上,GPT-2在不適合WebText數(shù)據(jù)集的情況下進(jìn)行訓(xùn)練并花費(fèi)更多時間可以進(jìn)一步減少困惑昧谊。這表明GPT-2的模型大小不是限制刽虹,并且建立更大的語言模型可以減少困惑,并使語言模型更易于理解自然語言呢诬。

GPT-3

為了尋求建立非常強(qiáng)大的語言模型涌哲,而無需進(jìn)行微調(diào),并且只需進(jìn)行少量演示即可理解任務(wù)并執(zhí)行它們尚镰,Open AI構(gòu)建了具有1,750億個參數(shù)的GPT-3模型阀圾。該模型的參數(shù)比Microsoft強(qiáng)大的Turing NLG語言模型多10倍,參數(shù)比GPT-2多100倍狗唉。由于有大量參數(shù)初烘,并且已經(jīng)對GPT-3進(jìn)行了廣泛的數(shù)據(jù)集訓(xùn)練,因此它在零觸發(fā)和少觸發(fā)設(shè)置下的下游NLP任務(wù)中表現(xiàn)良好分俯。由于其功能強(qiáng)大肾筐,它具有類似于撰寫文章的能力,這些文章難以與人類撰寫的文章區(qū)分開缸剪。它還可以執(zhí)行從未對其進(jìn)行過明確訓(xùn)練的即時任務(wù)吗铐,例如,對數(shù)字求和杏节,編寫SQL查詢和代碼抓歼,對句子中的單詞進(jìn)行加擾。

學(xué)習(xí)目標(biāo)和概念:讓我們討論兩個概念拢锹。

  • 上下文學(xué)習(xí):大型語言模型使用他們所訓(xùn)練的文本數(shù)據(jù)來發(fā)展模式識別和其他技能谣妻。在學(xué)習(xí)預(yù)測給定上下文單詞的下一個單詞的主要目的的同時,語言模型還開始識別數(shù)據(jù)中的模式卒稳,這有助于它們將對語言建模任務(wù)的損失降到最低蹋半。稍后,此功能可在零次任務(wù)傳輸期間幫助模型充坑。語言模型只有很少的示例和/或需要執(zhí)行的操作的描述時减江,會將示例的模式與過去為類似數(shù)據(jù)所學(xué)的內(nèi)容進(jìn)行匹配,并使用該知識來執(zhí)行任務(wù)捻爷。這是大型語言模型的強(qiáng)大功能辈灼,隨著模型參數(shù)數(shù)量的增加而增加。
  • Few-shot也榄,One-shot和Zero-shot設(shè)置:如前所述巡莹,F(xiàn)ew-shot司志,One-shot和Zero-shot設(shè)置是Zero-shot任務(wù)傳輸?shù)奶厥馇闆r。在Few-shot設(shè)置中降宅,為模型提供任務(wù)描述和盡可能多的示例骂远,以適應(yīng)模型的上下文窗口。在One-shot設(shè)置中腰根,僅提供了一個示例激才,在Zero-shot設(shè)置中,未提供示例额嘿。隨著模型容量的增加瘸恼,模型的少,One-shot和Zero-shot能力也得到改善册养。

除了評估常規(guī)NLP任務(wù)上的模型外钞脂,還對綜合任務(wù)(如算術(shù)加法,單詞加擾捕儒,新聞文章生成冰啃,學(xué)習(xí)和使用新穎單詞等)進(jìn)行模型評估。對于這些任務(wù)刘莹,性能也隨著數(shù)量的增加而提高阎毅。參數(shù)和模型在Few-shot設(shè)置下的效果要好于One-shot和Zero-shot。

XLNet

OpenAI小組展示了可以使用預(yù)訓(xùn)練的語言模型來解決下游任務(wù)点弯,而無需進(jìn)行邊界或體系結(jié)構(gòu)修改扇调。他們已經(jīng)在一個龐大而又不同的數(shù)據(jù)集上準(zhǔn)備了一個主要模型1.5B參數(shù)變壓器,該數(shù)據(jù)集包含從4500萬個網(wǎng)站頁面抓取的文字抢肛。該模型產(chǎn)生連貫的文本段落狼钮,并在各種各樣的任務(wù)上實(shí)現(xiàn)有希望的,有競爭力的或最前沿的結(jié)果捡絮。

XLNet與BERT有何不同熬芜?
XLNet將BERT的雙向功能與Transformer-XL的自回歸技術(shù)結(jié)合在一起:

  • 像BERT一樣,XLNet也使用雙向設(shè)置福稳,這意味著它會查看給定標(biāo)記前后的單詞以預(yù)期它應(yīng)該是什么涎拉。為此,XLNet會針對因分解階數(shù)的所有可能排列放大序列的正常對數(shù)概率的圆。
  • 作為一種自回歸語言模型鼓拧,XLNet并不依賴于信息破壞,并且由于mask(例如越妈,預(yù)訓(xùn)練-微調(diào)錯誤和未掩蓋的標(biāo)記互不相關(guān)的假設(shè))季俩,因此擺脫了BERT的限制。

為了進(jìn)一步改進(jìn)梅掠,XLNet整合了TransformerXL的機(jī)制:

  • 遞歸機(jī)制:超越當(dāng)前序列酌住,實(shí)現(xiàn)cpature長期依賴關(guān)系店归。
  • 相對位置編碼:使遞歸機(jī)制起作用。

RoBERTa(嚴(yán)格優(yōu)化的BERT方法)

這項研究是由Facebook AI和華盛頓大學(xué)的研究人員進(jìn)行的赂韵,他們分析了Google BERT模型的訓(xùn)練,并區(qū)分了改進(jìn)制備方法的一些改進(jìn)方法挠蛉。特別是祭示,研究人員利用另一個更大的數(shù)據(jù)集進(jìn)行準(zhǔn)備,對模型進(jìn)行了更多的迭代訓(xùn)練谴古,并消除了下一個序列預(yù)測訓(xùn)練目標(biāo)质涛。

RoBERTa與BERT有何不同?
Facebook AI研究團(tuán)隊改進(jìn)了BERT的訓(xùn)練掰担,以進(jìn)一步優(yōu)化它:

  • 他們使用160GB的文本汇陆,而不是最初用于訓(xùn)練BERT的16GB數(shù)據(jù)集。
  • 將迭代次數(shù)從100K增加到300K带饱,然后進(jìn)一步增加到500K毡代。
  • 動態(tài)更改應(yīng)用于訓(xùn)練數(shù)據(jù)的mask 模式。
  • 從訓(xùn)練過程中刪除下一個序列預(yù)測目標(biāo)勺疼。

ALBERT(精簡版BERT)

BERT存在一個問題教寂,即預(yù)訓(xùn)練語言模型的大小持續(xù)增長,這會導(dǎo)致內(nèi)存限制执庐,更長的準(zhǔn)備時間以及出乎意料的性能下降酪耕。Google學(xué)者介紹了A Lite BERT(ALBERT)架構(gòu),該架構(gòu)結(jié)合了兩種參數(shù)減少技術(shù):分解式參數(shù)化嵌入和跨層參數(shù)共享轨淌。另外迂烁,改善句子順序的預(yù)測。

ALBERT與BERT有何不同递鹉?

  • 分解因子嵌入?yún)?shù)化-在BERT中盟步,嵌入尺寸與隱藏層的大小相關(guān)。增加隱藏層的大小變得更加困難躏结,因為它會增加嵌入大小址芯,從而增加參數(shù)。
  • 跨層參數(shù)共享-ALBERT跨層共享所有參數(shù)窜觉,以提高參數(shù)效率谷炸。

通過引入用于句子順序預(yù)測的自我監(jiān)督損失,可以解決在訓(xùn)練NLP和MLM在一起的NSP任務(wù)很容易的情況禀挫,從而進(jìn)一步提高了ALBERT的性能旬陡。但是ALBERT使用的任務(wù)是模型必須預(yù)測句子是否連貫。

ELECTRA

ELECTRA (Efficiently Learning an Encoder that Classifies Token Replacements Accurately) 是一個新的預(yù)訓(xùn)練方法以匹配或超過一個的下游性能旨在MLM(Masked Language Modelling)預(yù)訓(xùn)練的模型语婴,同時使用顯著更少的計算資源的訓(xùn)練前階段描孟。ELECTRA中的預(yù)訓(xùn)練任務(wù)基于檢測輸入序列中被替換的標(biāo)記驶睦。此設(shè)置需要兩個Transformer模型,一個生成器和一個鑒別器


ELECTRA預(yù)訓(xùn)練設(shè)置

讓我們逐步分解預(yù)訓(xùn)練過程匿醒。

  • 對于給定的輸入序列场航,用[MASK]標(biāo)記隨機(jī)替換一些標(biāo)記。
  • 該生成器預(yù)計所有mask標(biāo)記的原始記號廉羔。
  • 通過使用生成器預(yù)測替換[MASK]標(biāo)記來構(gòu)建鑒別器的輸入序列溉痢。
  • 對于序列中的每個令牌,鑒別器預(yù)測它是原始標(biāo)記還是已被生成器替換憋他。

生成器模型被訓(xùn)練去預(yù)測被屏蔽掉的原始標(biāo)記孩饼,而鑒別模型被訓(xùn)練以預(yù)測哪些標(biāo)記給定損壞的序列已被替換。這意味著在對每個輸入令牌執(zhí)行預(yù)測時竹挡,可以在所有輸入令牌上計算鑒別器損失镀娶。使用MLM時,僅對mask標(biāo)記計算模型損失揪罕。事實(shí)證明梯码,這是兩種方法之間的主要區(qū)別,也是ELECTRA效率更高的主要原因好啰。

此設(shè)置類似于GAN(通用對抗網(wǎng)絡(luò))的訓(xùn)練設(shè)置忍些,不同之處在于,沒有訓(xùn)練生成器嘗試欺騙鑒別器(因此它本身不是對抗性的)坎怪。另外罢坝,如果生成器碰巧正確地預(yù)測了被masked 標(biāo)記的初始標(biāo)記,則將該標(biāo)記視為原始標(biāo)記(因為該標(biāo)記尚未損壞/更改)搅窿。

鑒別器模型用于下游任務(wù)嘁酿,并且生成器在預(yù)訓(xùn)練后被扔掉了。

參考

Explanation of BERT Model – NLP
BERT Explained : State of the art language model for NLP
The Journey of Open AI GPT models
XLNet, RoBERTa, ALBERT models for Natural Language Processing (NLP)
Understanding ELECTRA and Training an ELECTRA Language Model

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末男应,一起剝皮案震驚了整個濱河市闹司,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌沐飘,老刑警劉巖游桩,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異耐朴,居然都是意外死亡借卧,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門筛峭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铐刘,“玉大人,你說我怎么就攤上這事影晓×常” “怎么了檩禾?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長疤祭。 經(jīng)常有香客問我盼产,道長,這世上最難降的妖魔是什么勺馆? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任戏售,我火速辦了婚禮,結(jié)果婚禮上谓传,老公的妹妹穿的比我還像新娘蜈项。我一直安慰自己芹关,他們只是感情好续挟,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著侥衬,像睡著了一般诗祸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上轴总,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天直颅,我揣著相機(jī)與錄音,去河邊找鬼怀樟。 笑死功偿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的往堡。 我是一名探鬼主播械荷,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼虑灰!你這毒婦竟也來了吨瞎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤穆咐,失蹤者是張志新(化名)和其女友劉穎颤诀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體对湃,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡崖叫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拍柒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片归露。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖斤儿,靈堂內(nèi)的尸體忽然破棺而出剧包,到底是詐尸還是另有隱情恐锦,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布疆液,位于F島的核電站一铅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏堕油。R本人自食惡果不足惜潘飘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掉缺。 院中可真熱鬧卜录,春花似錦、人聲如沸眶明。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搜囱。三九已至丑瞧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜀肘,已是汗流浹背绊汹。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扮宠,地道東北人西乖。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像坛增,于是被迫代替她去往敵國和親获雕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345