<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          復旦邱錫鵬教授:2020最新NLP預訓練模型綜述

          共 18957字,需瀏覽 38分鐘

           ·

          2020-12-06 15:38



            新智元報道  

          編輯:SF

          【新智元導讀】本文該綜述系統(tǒng)地介紹了nlp中的預訓練模型,深入盤點了目前主流的預訓練模型,提出了一種預訓練模型的分類體系。


          本篇文章主要介紹邱錫鵬老師在2020年發(fā)表的一篇預訓練模型的綜述:「Pre-trained Models for Natural Language Processing: A survey」


          該綜述系統(tǒng)地介紹了nlp中的預訓練模型。主要的貢獻包括:

          1、深入盤點了目前主流的預訓練模型,如word2vec,ELMo,BERT等。
          2、提出了一種預訓練模型的分類體系,通過四種分類維度來劃分目前已有的預訓練模型。包括:
          • 表征的類型,即:是否上下文感知

          • 編碼器結(jié)構(gòu),如:LSTM、CNN、Transformer

          • 預訓練任務類型,如:語言模型LM,帶掩碼的語言模型MLM,排列語言模型PLM,對比學習等

          • 針對特定場景的拓展和延伸。如:知識增強預訓練,多語言預訓練,多模態(tài)預訓練和模型壓縮等

          3、如何將PTMs學到的知識遷移到下游的任務中

          4、收集了目前關(guān)于PTMs的學習資料

          5、指明PTMs未來的研究方向,如:局限、挑戰(zhàn)、建議。


          由于篇幅原因,本文主要針對前面兩點進行梳理,即「目前主流的預訓練模型」和「預訓練模型的分類體系」。



          背景


          「nlp、cv領(lǐng)域的傳統(tǒng)方法極度依賴于手動特征工程」。例如nlp中的log-linear、CRF模型等,cv中各種抽取特征的模型,如sift特征等。深度學習中本質(zhì)上是一種表示學習,能夠一定程度上避免手動的特征工程。


          究其原因,主要得益于深度學習中一系列很強大的特征提取器,如CNN、RNN、Transformer等,這些特征提取器能夠有效地捕獲原始輸入數(shù)據(jù)中所蘊含的特點和規(guī)律。


          nlp領(lǐng)域的發(fā)展比cv領(lǐng)域相對緩慢的原因是什么呢?


          相比于cv領(lǐng)域,「nlp領(lǐng)域的劣勢在于有監(jiān)督數(shù)據(jù)集大小非常小」(除了機器翻譯),導致深度學習模型容易過擬合,不能很好地泛化。



          但是相反,nlp領(lǐng)域的優(yōu)勢在于,存在大量的無監(jiān)督數(shù)據(jù)集,如果能夠充分利用這類數(shù)據(jù)進行訓練,那么勢必能夠提升模型的能力以及在下游任務中的表現(xiàn)。


          nlp中的預訓練模型就是這樣一類能夠在大規(guī)模語料上進行無監(jiān)督訓練,學習得到通用的語言表征,有助于解決下游任務的nlp模型。


          那么什么是好的語言表征呢?


          作者引用了Bengio的話,「好的表征能夠表達非特定任務的通用先驗知識,能夠有助于學習器來解決AI任務」 

          "a good representation should express general-purpose priors that are not task-speci?c but would be likely to be useful for a learning machine to solve AI-tasks."


          nlp領(lǐng)域好的文本表征則意味著能夠捕捉蘊含在文本中的隱性的語言學規(guī)則和常識性知識


          "capture the implicit linguistic rules and common sense knowledge hiding in text data, such as lexical meanings, syntactic structures, semantic roles, and even pragmatics." 



          目前主流的語言表征方式采用的是「分布式表征」(distributed representation),即低維實值稠密向量,每個維度沒有特定的含義,但是「整個向量表達了一種具體的概念」。預訓練模型是學習分布式表征的重要途徑之一,它的好處主要包括:

          • 在大規(guī)模語料上進行預訓練能夠?qū)W習到「通用的語言表示」,并有助于下游任務。

          • 提供好的模型「參數(shù)初始化」,提高泛化性和收斂速度。

          • 在「小數(shù)據(jù)集」上可以看作是一種「正則化」,防止過擬合。


          預訓練分類體系


          下面將圍繞四種分類方式來介紹目前主流的預訓練模型,這些分類方式包括:

          • 表征的類型」,即:學習到的表征是否是上下文感知的;
          • 編碼器結(jié)構(gòu)」,如:LSTM、Transformer;
          • 預訓練任務類型」,如LM,MLM,PLM;
          • 針對特定場景的拓展」,如跨語言預訓練,知識增強,多模態(tài)預訓練,模型壓縮等。


          這些分類方式是交叉的,也就是說同一個模型可以劃分到多個分類體系下。

          先一睹為快,這幅圖是該綜述的精華之一。下面將圍繞上述4種分類體系來介紹預訓練任務的工作。

          PTMs分類體系
          2.1 表征類型


          根據(jù)表征類型的不同可以分為:「非上下文感知的表征」 (Non-Contextual Representation)和「上下文感知的表征」(Contextual Representation)。上下文可以從字面上來理解,即:這個詞所在的上下文,如句子,段落等。


          非上下文感知的詞嵌入」。缺點是:「靜態(tài)的」,不隨上下文變化而變化,不管這個詞位于哪個句子中,詞的表示都是唯一的,無法解決一詞多義問題。也無法解決「out-of-vocabulary」問題,這種情況下,一般只能通過character-level或者sub-word embedding來解決,即通過拆解詞粒度為字符粒度來解決泛化性問題。


          上下文感知的詞嵌入」:詞嵌入會隨著詞所在的「上下文」不同而動態(tài)變化,能夠解決一詞多義問題。形式化的,給定文本 ,每個token  是個詞或子詞,為了形成上下文感知的嵌入, 的表示需要「依賴于整個文本。」 即: 

          稱為token  的上下文感知的詞嵌入或動態(tài)詞嵌入,因為其融入了整個文本中的「上下文信息」。 可以稱之為「上下文感知的Encoder」。

          NLP通用Encoder架構(gòu)


          如上圖,將非上下文和上下文結(jié)合在一起。形成通用的NLP任務的架構(gòu)。

          即:「非上下文感知的詞嵌入」(如word2vec訓練的embeddings),「輸入到上下文感知的Encoder」(例如:Transformer,能夠捕獲句子中詞之間的依賴關(guān)系),每個詞的表示都會融入句子中其它上下文詞的信息,得到「上下文感知的詞嵌入」。同一個詞在不同的語句中會得到不同的表示。


          根據(jù)「表征類型的不同」,作者將預訓練模型的發(fā)展「主要劃分為了兩代」:

          • 第一代預訓練模型由于「不是致力于解決下游任務」,主要致力于「學習好word embeddings本身,即不考慮上下文信息(context-free),只關(guān)注詞本身的語義(semantic meanings),」,同時為了計算的考慮,這些模型通常非常淺。如「Skip-Gram, GloVe」等。由于是上下文無關(guān)的,這些方法通常無法捕獲高階的概念(high-level concepts),如一詞多義,句法結(jié)構(gòu),語義角色,指代消解。代表性工作包括:「NNLM」,「word2vec」,「GloVe」。


          • 第二代預訓練模型致力于學習「contextual」 word embeddings。第一代預訓練模型主要是word-level的。很自然的想法是將預訓練模型拓展到「sentence-level」或者更高層次,這種方式輸出的向量稱為contextual word embeddings,即:依賴于上下文來表示詞。此時,預訓練好的「Encoder」需要在下游任務「特定的上下文中」提取詞的表征向量。代表性工作包括兩方面,


          1、僅作為特征提取器(feature extractor)


          特征提取器產(chǎn)生的上下文詞嵌入表示,在下游任務訓練過程中是「固定不變」的。相當于只是把得到的上下文詞嵌入表示喂給下游任務的模型,作為「補充的特征」,只學習下游任務特定的模型參數(shù)。

          代表性工作包括:

          • 「CoVe」 用帶注意力機制的「seq2seq」從「機器翻譯任務」中預訓練一個LSTM encoder。輸出的上下文向量(CoVe)有助于提升一系列NLP下游任務的性能。

          • 「ELMo」用「兩層的Bi-LSTM」從「雙向語言模型任務BiLM」(包括1個前向的語言模型以及1個后向的語言模型)中預訓練一個「Bi-LSTM Encoder」,能夠顯著提升一系列NLP下游任務的性能。

            (此圖僅為示例)

             2、微調(diào)(fine-tuning)

           

          在下游任務中,「上下文編碼器」的參數(shù)也會進行微調(diào),即:把預訓練模型中的「encoder」模型結(jié)構(gòu)都提供給下游任務,這樣下游任務可以對「Encoder」的參數(shù)進行fine-tune。


          代表性工作有:

          • 「ULMFiT」(Universal Language Model Fine-tuning):通過在文本分類任務上微調(diào)預訓練好的語言模型達到了state-of-the-art結(jié)果。這篇也被認為是「預訓練模型微調(diào)」模式的開創(chuàng)性工作。

            提出了3個階段的微調(diào):在通用數(shù)據(jù)上進行語言模型的預訓練來學習「通用語言特征」;在目標任務所處的領(lǐng)域特定的數(shù)據(jù)上進行語言模型的微調(diào)來學習「領(lǐng)域特征」;在目標任務上進行微調(diào)。文中還介紹了一些微調(diào)的技巧,如區(qū)分性學習率、斜三角學習率、逐步unfreezing等。


          • 「GPT」(Generative Pre-training) :使用「單向的Transformer」預訓練「單向語言模型」。單向的Transformer里頭用到了masked self-attention的技巧(相當于是Transformer原始論文里頭的Decoder結(jié)構(gòu)),即當前詞只能attend到前面出現(xiàn)的詞上面。之所以只能用單向transformer,主要受制于單向的預訓練語言模型任務,否則會造成信息leak。


          • 「BERT」(Bidirectional Encoder Representation from Transformer):使用雙向Transformer作為Encoder(即Transformer中的Encoder結(jié)構(gòu)),引入了新的預訓練任務,帶mask的語言模型任務MLM和下一個句子預測任務NSP。由于MLM預訓練任務的存在,使得Transformer能夠進行「雙向」self-attention。


          除此之外,還有些挺有意思的工作研究「上下文嵌入」中「所融入的知識」,如語言知識、世界知識等。


          2.2  上下文編碼器架構(gòu)


          對于上下文感知的Encoder,根據(jù)「架構(gòu)」的不同,可以進一步分為「3種」,

          • 「卷積模型」 (convolutional models):通過卷積操作來匯聚目標詞的「鄰居的局部信息」,從而捕獲目標詞的語義。優(yōu)點在于容易訓練,且能夠很捕獲「局部上下文信息」。典型工作是EMNLP 2014的文章TextCNN[13],卷積網(wǎng)絡(luò)應用于nlp中特征提取的開創(chuàng)性工作。還比如Facebook在ICML2017的工作。

          • 「序列模型」 (Sequential models):以序列的方式來捕獲詞的上下文信息。如LSTMs、GRUs。實踐中,通常采取bi-directional LSTMs或bi-directional GRUs來同時捕獲「目標詞雙向的信息」

            優(yōu)點在于能夠捕獲「整個語句序列」上的依賴關(guān)系,缺點是捕獲的「長距離依賴較弱」。典型工作是NAACL 2018的文章:「ELMo」。

          • 「圖模型」 (Graph-based models):將詞作為圖中的結(jié)點,通過預定義的詞語之間的語言學結(jié)構(gòu)(e.g., 句法結(jié)構(gòu)、語義關(guān)系等)來學習詞語的「上下文表示」。缺點是,構(gòu)造好的圖結(jié)構(gòu)很困難,且非常依賴于專家知識或外部的nlp工具,如依存關(guān)系分析工具。典型的工作如:NAACL 2018上的工作。


          作者還提到,「Transformer實際上是圖模型的一種特例」。這個觀點「醍醐灌頂」,也解釋了Transformer應用于圖神經(jīng)網(wǎng)絡(luò)中的可行性。



          即:句子中的詞構(gòu)成一張全連接圖,圖中任意兩個詞之間都有連邊,連邊的權(quán)重衡量了詞之間的關(guān)聯(lián),通過「self-attention來動態(tài)計算」,目標是讓模型自動學習到圖的結(jié)構(gòu)(實際上,圖上的結(jié)點還帶了詞本身的屬性信息,如位置信息等)。


          值得注意的是,Transformer在預訓練中的應用一般會拆解為3種方式,「單向的」 (即:Transformer Decoder,使用了masked self-attention防止attend到future信息),如GPT, GPT-2;「雙向的」 (即:Transformer Encoder,兩側(cè)都能attend),如Bert,XLBert等;或者「單雙向都使用」(即:Transformer)。這些編碼器的示意圖如下:

          3種編碼器結(jié)構(gòu)


          • 卷積編碼器只能編碼「局部的信息」到目標詞上;

          • 序列模型能夠捕獲整個語句上的依賴關(guān)系,但「長距離依賴」較弱;

          • 圖編碼器任意兩個詞都有連接,能夠捕獲「任意詞之間的依賴關(guān)系」,「不受距離影響。」


          2.3 預訓練任務

          預訓練任務對于學習通用的表征非常重要。甚至可以說是「最重要的一環(huán)」,引導著表征學習的整個過程。作者將預訓練任務分為了3種,


          • 「監(jiān)督學習」 (supervised learning):從"輸入-輸出pair"監(jiān)督數(shù)據(jù)中,學習輸入到輸出的映射函數(shù)。

          • 「無監(jiān)督學習」 (unsupervised learning):從無標簽數(shù)據(jù)中學習內(nèi)在的知識,如聚類、隱表征等。

          • 「自監(jiān)督學習」 (self-supervised learning):監(jiān)督學習和無監(jiān)督學習的折中。訓練方式是監(jiān)督學習的方式,但是輸入數(shù)據(jù)的「標簽是模型自己產(chǎn)生的」。

            核心思想是,用輸入數(shù)據(jù)的一部分信息以某種形式去預測其另一部分信息(predict any part of the input from other parts in some form)。例如BERT中使用的MLM就是屬于這種,輸入數(shù)據(jù)是句子,通過句子中其它部分的單詞信息來預測一部分masked的單詞信息。


          在nlp領(lǐng)域,除了機器翻譯存在大量的監(jiān)督數(shù)據(jù),能夠采用監(jiān)督學習的方式進行預訓練以外(例如CoVe利用機器翻譯預訓練Encoder,并應用于下游任務),大部分預訓練任務都是使用「自監(jiān)督學習」的方式。下面圍繞自監(jiān)督學習,來介紹主流的預訓練任務。


          2.3.1 語言模型 (LM)


          最著名的預訓練任務是語言模型 (Language Modeling),語言模型是指一類能夠求解句子概率的概率模型,通常通過概率論中的鏈式法則來表示整個句子各個單詞間的聯(lián)合概率

          形式化的,給定文本序列, ,其聯(lián)合概率 可以被分解為:


          其中, 是特殊的token,用于標識句子的開頭 (此處應該也要有個標識句子結(jié)尾的特殊token)。 是詞典。


          上述式子是典型的概率論中的鏈式法則。鏈式法則中的每個部分 是給定上下文 條件下,當前要預測的詞 在整個詞典上的條件概率分布。這意味著「當前的單詞只依賴于前面的單詞,即單向的或者自回歸的,這是LM的關(guān)鍵原理」,也是這種預訓練任務的特點。因此,LM也稱為auto-regressive LM or unidirectional LM。


          對于上下文 ,可以采用神經(jīng)編碼器 來進行編碼,然后通過一個預測層來預測單詞 的條件概率分布,形式化的:

          其中, 是預測層 (比如softmax全連接層),用于輸出當前單詞 在整個詞典上的條件概率分布。目標損失函數(shù)為:  

          LM的「缺點」在于,除了本身的信息之外,每個單詞的編碼「只融入了其所在句子左側(cè)的上下文單詞的信息」。而實際上,每個單詞左右兩側(cè)上下文信息都是非常重要的。


          為什么不能同時融入左右兩側(cè)的單詞信息呢?


          主要是因為我們的學習目標是預測下一個詞 ,如果讓當前詞同時融入兩側(cè)的信息,會造成」label的leak問題。


          解決這個問題的方法是采用bidirectional LM (Bi-LM)即: 分別考慮從左到右的LM和從右到左的LM,這兩個方向的LM是分開建模的


          也就是說,訓練過程中,「不會在一個LM預測下一個詞的時候,用到另一個LM的encode的信息」。最后訓練完成后,每個單詞可以把兩個 的「輸出拼接」在一起來形成最終的表征。

          2.3.2 帶掩碼的語言模型(MLM)

          MLM主要是從BERT開始流行起來的,能夠解決單向的LM的問題,進行雙向的信息編碼。MLM就好比英文中的完形填空問題,需要借助語句/語篇所有的上下文信息才能預測目標單詞。


          具體的做法就是隨機mask掉一些token,使用特殊符號[MASK]來替換真實的token,這個操作相當于告知模型哪個位置被mask了,然后訓練模型通過其它沒有被mask的上下文單詞的信息來預測這些mask掉的真實token。


          具體實現(xiàn)時,實際上是個多分類問題,將masked的句子送入上下文編碼器Transformer中進行編碼,「[MASK]特殊token位置對應的最終隱向量」輸入到softmax分類器進行真實的masked token的預測。損失函數(shù)為:

          其中, 表示句子 中被mask掉的單詞集合; 是除了masked單詞之外的其它單詞。


          MLM的缺點有幾大點:

          • 會造成pre-training和fine-tuning之間的「gap」。在fine-tuning時是不會出現(xiàn)pre-training時的特殊字符[MASK]。為了解決這個問題,作者對mask過程做了調(diào)整,即:在隨機挑選到的15%要mask掉的token里頭做了進一步處理。
            其中,80%使用[MASK] token替換目標單詞;10%使用隨機的詞替換目標單詞;10%保持目標單詞不變。除了解決gap之外,還有1個好處,即:「預測一個詞匯時」,模型并不知道輸入對應位置的詞匯是否為正確的詞 (10%概率)。
            這就迫使「模型更多地依賴于上下文信息去預測目標詞」,并且賦予了模型一定的「糾錯」能力。

          • MLM「收斂的速度比較慢」,因為訓練過程中,一個句子只有15%的masked單詞進行預測。
          • MLM不是標準的語言模型,其有著自己的「獨立性假設(shè)」,即假設(shè)mask詞之間是相互獨立的。
          • 自回歸LM模型能夠通過聯(lián)合概率的鏈式法則來計算句子的聯(lián)合概率,而MLM只能進行「聯(lián)合概率的有偏估計」(mask之間沒有相互獨立)。
          • MLM的變體有很多種。

          2.4 預訓練的延伸方向

          預訓練模型延伸出了很多新的研究方向。包括了:

          • 基于「知識增強」的預訓練模型,Knowledge-enriched PTMs
          • 「跨語言或語言特定的」預訓練模型,multilingual or language-specific PTMs
          • 「多模態(tài)」預訓練模型,multi-modal PTMs
          • 「領(lǐng)域特定」的預訓練模型,domain-specific PTMs
          • 「壓縮」預訓練模型,compressed PTMs

          2.4.1 基于知識增強的預訓練模型


          PTMs主要學習通用語言表征,但是缺乏領(lǐng)域特定的知識。因此可以考慮把外部的知識融入到預訓練過程中,讓模型同時捕獲「上下文信息」和「外部的知識」。


          早期的工作主要是將知識圖譜嵌入和詞嵌入一起訓練。從BERT開始,涌現(xiàn)了一些融入外部知識的預訓練任務。代表性工作如:

          • 「SentiLR」: 引入word-level的語言學知識,包括word的詞性標簽(part-of-speech tag),以及借助于SentiWordNet獲取到的word的情感極性(sentiment polarity),然后將MLM拓展為label-aware MLM進行預訓練。

                  包括:給定sentence-level的label,進行word-level的知識的預測 (包括詞性和情  

                   感極性); 基于語言學增強的上下文進行sentence-level的情感傾向預測。



                   作者的做法挺簡單的,就是把sentence-level label或word-level label進行embed

                   ding然后加到token embedding/position embedding上,類似BERT的做法。然

                   后,實驗表明該方法在下游的情感分析任務中能夠達到state-of-the-art水平。


          • 「ERNIE (THU)」: 將知識圖譜上預訓練得到的entity embedding融入到文本中相對應的entity mention上來提升文本的表達能力

                   具體而言,先利用TransE在KG上訓練學習實體的嵌入,作為外部的知識。然后用

                   Transformer在文本上提取文本的嵌入,將文本的嵌入以及文本上的實體對應的KG

                   實體嵌入進行異構(gòu)信息的融合。學習的目標包括MLM中mask掉的token的預測;

                   以及mask文本中的實體,并預測KG上與之對齊的實體。

                類似的工作還包括KnowBERT, KEPLER等,都是通過實體嵌入的方式將知識圖譜上的結(jié)構(gòu)化信息引入到預訓練的過程中。

          • 「K-BERT」 : 將知識圖譜中與句子中的實體相關(guān)的三元組信息作為領(lǐng)域知識注入到句子中,形成樹形拓展形式的句子。然后可以加載BERT的預訓練參數(shù),不需要重新進行預訓練。

                   也就是說,作者關(guān)注的不是預訓練,而是直接將外部的知識圖譜信息融入到句子

                   中,并借助BERT已經(jīng)預訓練好的參數(shù),進行下游任務的fine-tune。這里難點在

                   于,異構(gòu)信息的融合和知識的噪音處理,需要設(shè)計合適的網(wǎng)絡(luò)結(jié)構(gòu)融合不同向量空

                  間下的embedding;以及充分利用融入的三元組信息(如作者提到的soft position

                   和visible matrix)。


          2.4.2 跨語言或語言特定的預訓練模型


          這個方向主要包括了跨語言理解和跨語言生成這兩個方向。

          對于「跨語言理解」,傳統(tǒng)的方法主要是學習到多種語言通用的表征,使得同一個表征能夠融入多種語言的相同語義,但是通常需要對齊的弱監(jiān)督信息。但是目前很多跨語言的工作不需要對齊的監(jiān)督信息,所有語言的語料可以一起訓練,每條樣本只對應一種語言。代表性工作包括:

          • 「mBERT」:在104種維基百科語料上使用MLM預訓練,即使沒有對齊最終表現(xiàn)也非常不錯,沒有用對齊的監(jiān)督信息。
          • 「XLM」:在mBERT基礎(chǔ)上引入了一個翻譯任務,即:目標語言和翻譯語言構(gòu)成的雙語言樣本對輸入到翻譯任務中進行對齊目標訓練。這個模型中用了對齊的監(jiān)督信息。
          • 「XLM-RoBERTa」:和mBERT比較像,沒有用對齊的監(jiān)督信息。用了更大規(guī)模的數(shù)據(jù),且只使用MLM預訓練任務,在XNLI, MLQA, and NER.等多種跨語言benchmark中取得了SOA效果。

          對于「跨語言生成」,一種語言形式的句子做輸入,輸出另一種語言形式的句子。比如做機器翻譯或者跨語言摘要。和PTM不太一樣的是,PTM只需要關(guān)注encoder,最后也只需要拿encoder在下游任務中fine-tune,在跨語言生成中,encoder和decoder都需要關(guān)注,二者通常聯(lián)合訓練。代表性的工作包括:

          • 「MASS」:微軟的工作,多種語言語料,每條訓練樣本只對應一種語言。在這些樣本上使用Seq2seq MLM做預訓練。在無監(jiān)督方式的機器翻譯上,效果不錯。

          • 「XNLG」:使用了兩階段的預訓練。第一個階段預訓練encoder,同時使用單語言MLM和跨語言MLM預訓練任務。第二個階段,固定encoder參數(shù),預訓練decoder,使用單語言DAE和跨語言的DAE預訓練任務。這個方法在跨語言問題生成和摘要抽取上表現(xiàn)很好。


          2.4.3 多模態(tài)預訓練模型

          多模態(tài)預訓練模型,即:不僅僅使用文本模態(tài),還可以使用視覺模態(tài)等一起預訓練。目前主流的多模態(tài)預訓練模型基本是都是文本+視覺模態(tài),采用的預訓練任務是visual-based MLM,包括masked visual-feature modeling and visual-linguistic matching兩種方式,即視覺特征掩碼和視覺-語言語義對齊和匹配。這里頭關(guān)注幾個關(guān)于image-text的多模態(tài)預訓練模型。


          這類預訓練模型主要用于下游視覺問答VQA和視覺常識推理VCR等。

          • 「雙流模型」:在雙流模型中文本信息和視覺信息一開始先經(jīng)過兩個獨立的Encoder(Transformer)模塊,然后再通過跨encoder來實現(xiàn)不同模態(tài)信息的融合,代表性工作如:NIPS 2019, 「ViLBERT」和EMNLP 2019, 「LXMERT」。

          • 「單流模型」:在單流模型中,文本信息和視覺信息一開始便進行了融合,直接一起輸入到Encoder(Transformer)中,代表性工作如:「VisualBERT」,「ImageBERT」和「VL-BERT」。

          2.4.4 模型壓縮方法

          預訓練模型的參數(shù)量過大,模型難以部署到線上服務。而模型壓縮能夠顯著減少模型的參數(shù)量并提高計算效率。壓縮的方法包括:

          • 「剪枝」(pruning):去除不那么重要的參數(shù)(e.g. 權(quán)重、層數(shù)、通道數(shù)、attention heads)

          • 「量化」(weight quantization):使用占位更少(低精度)的參數(shù)

          • 「參數(shù)共享」(parameter sharing):相似模型單元間共享參數(shù)

          • 「知識蒸餾」(knowledge diistillation):用一些優(yōu)化目標從原始的大型teacher模型中蒸餾出一個小的student模型。通常,teacher模型的輸出概率稱為soft label,大部分蒸餾模型讓student去擬合teacher的soft label來達到蒸餾的目的。

                   蒸餾之所以work,核心思想是因為「好模型的目標不是擬合訓練數(shù)據(jù),而是學習

                  如何泛化到新的數(shù)據(jù)」。所以蒸餾的目標是讓學生模型學習到教師模型的泛化能

                   力,理論上得到的結(jié)果會比單純擬合訓練數(shù)據(jù)的學生模型要好。


          當然,模型壓縮通常還會結(jié)合上述多種方法,比如剪枝+蒸餾的融合方法。常見的知識蒸餾的 PTMs如下表所示。

                                            模型壓縮方法


          總結(jié)

          本文是對邱錫鵬老師2020年的一篇預訓練模型survey的簡單梳理。主要針對survey中提到的四大類預訓練模型的分類體系做了梳洗,「這四大類預訓練模型分類體系為:」

          • 表征的類型,即:是否上下文感知;

          • 編碼器結(jié)構(gòu),如:LSTM、CNN、Transformer;

          • 預訓練任務類型,如:語言模型LM,帶掩碼的語言模型MLM,排列語言模型PLM,對比學習等。

          • 針對特定場景的拓展和延伸。如:知識增強預訓練,多語言預訓練,多模態(tài)預訓練和模型壓縮等。



          編者注:本文有大量的參考鏈接,如需參考請點擊閱讀原文,謝謝!





          瀏覽 73
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩操屄视频 | 操逼视频黄色 | 99精品一区二区三区 | 青娱乐成人在线视頻 | 荫蒂添到高潮免费视频 |