成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能學術 正文
    發私信給MrBear
    發送

    0

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    本文作者: MrBear 2020-06-28 16:09
    導語:能回答出這 21 個問題,才算真正入門了 NLP 遷移學習。

    2018 年 10月,Bert 問世。從此,一波自然語言處理(NLP)遷移學習的浪潮向我們襲來。

    你知道 BERT 的掩碼語言模型由來已久嗎?

    你知道注意力機制的時間復雜度不一定是輸入的二次方量級嗎?

    你知道你可以反向實現 Google 的模型嗎?

    當下,全球研究人員已經在此領域做出了大量的工作,取得了豐碩的成果!NLP 也許是當前最吸引人的研究領域。

    NLP 是一個龐大的話題,在本文中我們并不對 NLP 的基本理論進行過多的展開。

    下面,我們向大家提出 21 個問題,它們可以測試你對 NLP 的最新進展有多么熟悉,使你足以面對任何將要到來的技術討論。

    畢竟,從某種程度上來說,掌握多少專業術語決定了你的水平。

    Q1:NLP 預訓練模型(PTM,Pre-trained models)的最新進展如何?

    參考論文:Pre-trained Models for Natural Language Processing: A Survey,https://arxiv.org/pdf/2003.08271.pdf

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      

    圖 1:具有代表性的 PTM 的分類情況

    近年來,大量的研究工作表明,大規模語料庫上的預訓練模型可以學習到通用的語言表征,這有助于下游的 NLP 任務,可以避免從頭開始訓練一個新的模型。隨著算力的發展,各種深度學習模型(例如,Transformer)層出不窮。

    隨著網絡訓練技巧的發展,PTM 的架構也逐漸從淺層向深層發展:

    「第一代 PTM」旨在學習優秀的詞嵌入。由于在下游任務中,這些第一代 PTM 方法自身并不被需要,出于對計算效率的考慮,它們往往層數很淺(例如,Skip-Gram 和 GloVe)。盡管這些預訓練的嵌入可以捕獲單詞的語義,但是它們是上下文無關的,不能捕獲文本中更高級的概念(例如,詞義排歧、句法結構、語義角色、指代)。

    「第二代 PTM」重點關注學習上下文相關的詞嵌入(例如,CoVe,ELMo、OpenAI GPT,以及 BERT)。在下游任務中,仍然需要這些學習到的編碼器來表征上下文中的單詞。此外,針對于不同的目的,研究人員也提出了各種各樣的預訓練任務來學習 PTM。

    第一代 PTM:「上下文無關」的預訓練詞嵌入

    將單詞表征為稠密的向量由來已久。「現代的」詞嵌入技術首先在神經網絡語言模型(NNLM)中被提出。Collobert 等人說明在未標記數據上預訓練的詞嵌入可以顯著地改進許多 NLP 任務。為了解決計算復雜度的問題,他們并沒有使用語言模型,而是通過 pairwise 的排序任務學習詞嵌入。他們的工作首次嘗試了使用未標記數據獲取對于其它任務有用的通用詞嵌入。

    Mikolov 等人指出,深度神經網絡沒有必要構建良好的詞嵌入。他們提出了兩種淺層的架構:連續詞袋(CBOW)和跳字(Skip-Gram)模型。盡管這些模型很簡單,但是它們仍然可以學習到高質量的詞嵌入,從而捕獲潛在的單詞之間的句法和語義相似性。

    Word2vec 是一種最流行的這些模型的實現,它讓 NLP 領域的各種任務都可以使用預訓練的詞嵌入。此外,GloVe 也是一種被廣泛使用的獲取預訓練詞嵌入的模型,它是根據一個大型語料庫中全局詞共現的統計量計算而來的。

    盡管研究人員已經證實了預訓練詞嵌入在 NLP 任務中是有效的,但它們與上下文無關,并且大多數是通過淺層模型訓練而來。當它們被用于下游任務時,仍然需要從頭開始學習整體模型中的其余部分。

    第二代 PTM:「上下文相關」的預訓練編碼器

    由于大多數 NLP 任務并不僅僅停留在單詞層面上,研究人員自然而然地想到在句子或更高的層面上預訓練神經編碼器。由于神經編碼器的輸出向量表征了依賴于上下文的單詞語義,它們也被稱為「上下文相關的詞嵌入」。

    Dai 和 Le 提出了第一個成功的用于 NLP 領域的 PTM。他們通過一個語言模型(LM)或一個序列自編碼器初始化 LSTM,發現預訓練可以提升 LSTM 在很多文本分類任務上的訓練和泛化能力。

    Liu 等人通過 LM 預訓練了一個共享的 LSTM 編碼器,并且在多任務學習(MTL)的框架下對其進行了調優。他們發現預訓練和調優可以在一些文本分類任務中進一步提升 MTL 的性能。

    Ramachandran 等人發現可以通過無監督預訓練顯著提升 Seq2Seq 模型的性能。編碼器和解碼器的權值都是通過兩個預訓練語言模型的權值初始化,并且使用有標記數據調優的。

    除了通過 LM 預訓練上下文相關的編碼器,McCann 等人還通過用于機器翻譯(MT)任務的注意力序列到序列模型預訓練了一個深度 LSTM 編碼器。預訓練的編碼器輸出的上下文向量(CoVe)可以提升模型在各種常見的 NLP 任務中的性能。

    現代的 PTM 通常是在更大規模的語料庫上,使用更強大或更深的架構(如 Transformer),通過新的預訓練任務訓練而來。

    Peter 等人使用一個雙向語言模型(BiLM)預訓練了一個 2 層的 LSTM,這個 BiLM 由一個前向傳播 LM 和一個反向傳播 LM。上下文相關的表征是通過預訓練 BiLM、ELMo(語言模型嵌入)得來的,研究人員已證實這種表征可以為多種 NLP 任務帶來巨大的性能提升。

    Akbik 等人通過字符層面上的 LM 訓練的上下文相關字符串嵌入捕獲了單詞語義。然而,這兩種 PTM 往往被用作生成上下文相關詞嵌入的特征提取器,生成的嵌入會被用作下游任務的主要模型的輸入。BiLM 和 ELMo 的參數是固定的,主要模型中其它的參數也是從頭開始訓練的。

    ULMFiT(通用語言模型調優)試圖針對文本分類(TC)任務對預訓練的 LM 進行調優,并且在 6 個被廣為使用的 TC 數據集上取得了最先進的性能。ULMFiT 包含 3 個步驟:(1)在通用領域的數據上訓練 LM(2)在目標數據上對 LM 進行調優(3)在目標任務上進行調優。ULMFiT 也研究了一些有效的調優策略,包括分層調優(discriminative fine-tuning)、斜三角學習率(slanted triangular learning rates )、逐層解凍(gradual unfreezing)。

    最近,層數非常深的 PTM 已經在學習通用語言表征的任務中,例如 OpenAI GPT(生成式預訓練),BERT(基于 Transformer 的雙向編碼器表征)。除了 LM 之外,研究人員還提出了越來越多的自監督任務,從而使 PTM 能從大型文本語料庫中捕獲更多的知識。

    自從 ULMFiT 和 BERT 問世以來,調優已經成為了使 PTM 適應下游任務的主流方法。

    Q2:被用來訓練 PTM的任務都有哪些?

    參考論文:Pre-trained Models for Natural Language Processing: A Survey,https://arxiv.org/pdf/2003.08271.pdf

    預訓練任務對于學習語言的通用表征是非常重要的。通常,這些預訓練任務應該是具有挑戰性的,并且有大量的訓練數據。我們將預訓練任務總結為三類:監督學習、無監督學習、自監督學習。

    1. 監督學習(SL)是基于「輸入-輸出」對組成的訓練數據,學習將輸入映射到輸出的函數。

    2. 無監督學習(UL)是從未標記的數據中發現一些內在的知識,如簇、密度(densities)、潛在表征。

    3.自監督學習(SSL)是監督學習和無監督學習的折中。SSL 的學習范式與監督學習完全相同,但是訓練數據的標簽是自動生成的。SSL 的關鍵思想是以某種方式根據輸入中的其它部分預測任一部分的輸入。例如,掩模語言模型(MLM)是一種自監督任務,它嘗試通過一個句子中其余的詞去預測被掩模屏蔽的詞。

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    1、語言建模(LM)

    NLP 領域中最常見的無監督任務是概率化的語言建模(LM),這是一個經典的概率密度估計問題。雖然 LM 是一個通用概念,但在實踐中,LM通常特指自回歸 LM 或單向 LM。

    給定文本序列 x_(1:T) = [x_1, x_2,...,x_T],其聯合概率 p(x1:T) 可被分解為:

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      

    其中  x_0 是表示句子開頭的特殊詞例。

    條件概率 p(x_t|x_0:t?1) 可以通過給定語言上下文 x_0:t?1 的詞匯集合上的概率分布來建模。通過神經編碼器 fenc(.) 對上下文 x_0:t?1 建模,得到的條件概率為:

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      

    其中,g_LM(.) 是預測層。

    給定一個大型的語料庫,我們可以通過最大似然估計訓練整個網絡。

    2、掩模語言建模

    掩模語言建模(MLM)最早由 Taylor 提出,他將其作為一個完形填空任務。Devlin 等人將此任務改造為一種新的預訓練任務,從而克服標準單向 LM 的缺點。簡而言之,MLM 首先對輸入語句中的一些詞例進行掩模處理,然后訓練模型通過其它詞例來預測被屏蔽的詞例。但是,由于掩模詞例在調優階段并沒有出現,這種預訓練方法將造成預訓練階段和調優階段之間的不匹配。根據經驗,Devlin 等人在 80% 的情況下用 [MASK],10% 的情況下用隨機的詞例,10% 的情況下用原始詞例來執行掩模操作。

    1)序列到序列的掩模語言建模(Seq2Seq MLM)

    研究人員通常將 MLM 作為分類問題來求解。我們將掩模處理后的序列輸入給一個神經編碼器,其輸出向量進一步被進送入一個 softmax 分類器來預測被屏蔽的詞例。或者,我們可以將編碼-解碼器架構用于 MLM,此時我們將掩模處理后的序列送入編碼器,解碼器以自回歸的方式按照順序產生掩模處理后的詞例。我們將這種 MLM 稱為序列到序列的 MLM(Seq2Seq MLM),該任務已被用于 MASS 和 T5。Seq2Seq MLM 有助于 Seq2Seq類的下游任務(例如問答、摘要和機器翻譯)。

    2)增強的掩模語言建模(E-MLM)

    目前,有多個研究提出了不同的 MLM 的增強版本,從而進一步改進 BERT。RoBERTa 并沒有使用靜態掩模,而是通過動態掩模改進了 BERT。

    UniLM 將掩模預測任務擴展到三類的語言建模任務上:單向、雙向、序列到序列預測。XLM 在平行的雙語句子對的串聯上執行 MLM,這杯稱為翻譯語言建模(TLM)。SpanBERT 用隨機連續字掩模(Random Contiguous Words Masking)和跨度邊界目標(Span Boundary Objective,SBO)代替 MLM,將結構信息集成到預訓練中,這要求系統基于跨度邊界來預測經過了掩模處理的跨度區間中的內容。此外,StructBERT 還引入了跨度順序恢復任務進一步引入語言結構。

    另一種豐富 MLM 的方式是引入外部知識。

    3、排列語言模型 (PLM)

    盡管 MLM 任務在預訓練中被廣泛使用,但 Yang 等人認為,當模型被用于下游任務時,MLM 的預訓練過程中使用的一些特殊詞例(如[MASK])并不存在。這導致了預訓練和調優階段之間存在差異性。為了克服這個問題,研究人員提出用 PLM 作為預訓練目標來替代 MLM。簡而言之,PLM 是一種在輸入序列的隨機排列上進行的語言建模任務。每種排列(permutation)是從所有可能的排列中隨機抽取得來的。然后,我們將序列的排列中的一些詞例選取為目標,并訓練模型根據其它的詞例以及目標的自然位置,來預測目標詞例。注意,這種排列并不影響序列的自然位置,只定義詞例預測的順序。實際上,由于收斂較慢,我們只能預測排列后的序列中的最后幾個詞例。針對面向目標的表征,研究人員還引入了雙流自注意力機制。

    4、去噪自編碼器(DAE)

    DAE 接收部分被損壞的輸入,旨在恢復出原始的無損輸入。在 NLP 領域中,研究人員使用序列到序列模型(如標準的 Transformer)來重建原始文本。損壞文本的方式包含:

    1)詞例屏蔽(token masking):從輸入中隨機采樣詞例并用 [MASK] 元素替換它們。

    2)詞例刪除:從輸入中隨機刪除詞例。與詞例屏蔽的不同之處在于,模型需要確定刪除后的輸入的位置。

    3)文本填充:類似于 SpanBERT ,對一些文本跨度區間進行采樣,將其替換為一個 [MASK]。每個跨度區間的長度服從泊松分布(λ= 3)。模型需要預測在一個跨度區間中刪除了多少個詞例。

    4)句子排列:根據句號將一個文檔互粉成若干個句子,并將這些句子按照隨機順序排列。

    5)文檔旋轉:隨機均勻地選擇一個詞例,并旋轉文檔,使其以該token開始。模型需要識別文檔的實際開始位置。

    5、對比學習(CTL)

    對比學習假設一些觀測到的文本對之間的語義相似度要高于隨機采樣得到的文本對。通過最小化下面的目標函數來學習文本對 (x, y) 的得分函數 s(x, y):

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      

    其中 (x, y+) 代表相似的文本對,y- 可能與 x 不相似。y+ 和 y- 通常被稱為正樣本和負樣本。得分函數 s(x, y) 通常由一個可學習的神經編碼器以兩種方式計算:

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!       或        對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      

    CTL 背后的指導思想是「通過比較學習」。與 LM 相比,CTL 的計算復雜度往往更低,因此對于 PTM 來說是另一種理想的訓練標準。

    近年來,研究人員提出的 CTL 任務包括:Deep InfoMax(DIM)、替換詞例探測(RTD)、CBOW-NS、ELECTRA、后續句子預測(NSP)、據此順序預測(SOP)等。

    除了上述任務,研究人員還設計了許多其它的輔助預訓練任務,它們被用于引入事實知、提升在跨語言任務上的性能、多模態應用,或其它的特定任務。

    Q3:PTM 在 GLUE 對比基準上的最新進展如何?

    參考論文:Pre-trained Models for Natural Language Processing: A Survey,https://arxiv.org/pdf/2003.08271.pdf

    通用語言理解評價(GLUE)基準是 9 個自然語言理解任務的集合,包括單句分類任務(CoLA 和 SST-2)、成對文本分類任務(MNLI、RTE、WNLI、QQP 和 MRPC)、文本相似度任務(STSB)和相關性排序任務(QNLI)。GLUE 對比基準被設計用來評估模型的魯棒性和泛化能力,它不為測試集提供標簽,而是設置了一種評估器。

    一些具有代表性的模型在 GLUE 對比基準上的性能如下:

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    在上圖中,Transformer Enc 和 Transformer Dec 分別代表標準 Transformer 架構的編碼器和解碼器。它們的區別在于解碼器部分使用經過三角矩陣掩模處理的自注意力,從而防止詞例注意未來出現的(右側的)位置上的詞例。Transformer 指標準的編碼器-解碼器架構。

    GLUE 是在 9 個 GLUE 對比基準上的平均得分。

    「*」代表不包含 WNLI 任務。

    Q4:使用更多的數據是否總是能夠得到更好的語言模型?

    參考論文:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer,https://arxiv.org/pdf/1910.10683.pdf

    這篇論文指出,當數據量達到一定規模時,數據的質量比數據的數量對于模型性能的提升更加重要。如下圖所示,未過濾的 C4 數據集規模達到了 6.1 TB,過濾后的 C4 數據集規模則為 745GB。然而,在過濾后的 C4 數據集上,預訓練模型的各項指標均優于未過濾的情況。

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    Q5:對預訓練語言模型來說,使用哪種分詞方法是最好的?

    參考論文:Byte Pair Encoding is Suboptimal for Language Model Pretraining,https://arxiv.org/pdf/2004.03720.pdf

    論文指出,一種新的 Unigram 語言建模(https://www.aclweb.org/anthology/P18-1007.pdf)方法比BPE(字節對編碼)和 WordPiece 方法更好。

    Unigram LM 方法可以恢復出更好地與底層詞法相匹配的子詞單元,并且避免 BPE 詞干提取的貪心構造過程中的一些缺點。作者還對比了使用 Unigram、BPE 等分詞方法的相同的 Transformer 掩模語言模型的調優性能。

    他們發現,在下游任務中,Unigram LM 分詞方法的性能始終優于  BPE。在各種調優任務上的實驗結果如下圖所示。 對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    Q6:哪種任務能夠最好地訓練一個語言模型?

    目前最佳的方法是 ELECTRA,該方法使用一個生成器替換輸入序列中的詞例,然后使用一個判別器預測哪個詞例被替換了。

    參考論文:ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS,https://arxiv.org/pdf/2003.10555.pdf對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    在論文中,作者在 GLUE 自然語言理解對比基準和 SQuAD 問答對比基準上對各種替換詞例探測(RTD)任務和掩模語言模型(MLM)任務進行了實驗分析。實驗結果表明,在給定相同的模型規模的情況下,ELECTRA 的性能始終優于基于 MLM 的方法(例如,BERT、XLNet)。

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    針對任務的目標序列長度,論文「Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer」(https://arxiv.org/pdf/1910.10683.pdf)進一步指出,將丟棄的跨度區間長度選擇為 3 是較為合適的。具體而言,作者將平均跨度區間設置為 3,原始序列的丟棄率設置為 15%。他們發現這種目標可以得到較好的性能,此時由于目標序列長度較短使得計算效率較高。

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    Q7:對于訓練 Transformer 的任務來說,逐層解凍(gradual unfreezing)是否有必要?

    參考論文:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer,https://arxiv.org/pdf/1910.10683.pdf

    該論文指出,并不一定需要進行逐層解凍。

    作者發現,在所有的對比基準任務上,盡管逐層解凍確實在調優階段帶來了一定的速度提升,但是它會造成少許的性能下降。

    下圖為使用不同的模型參數子集的情況下,不同調優方法的對比。對于適配器層來說,d 代表適配器的內部維度。

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    Q8:如果你的訓練資源預算有限,為了得到更好的語言模型,你會選擇做出什么改變?

    參考論文:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer,https://arxiv.org/pdf/1910.10683.pdf

    這篇論文中,作者建議我們同時增大模型參數的規模和訓練步數。

    下圖為不同的擴展基線模型的方法的對比。除了集成調優模型之外, 所有的方法都以 4 倍的計算量為對比基線。「Size」代表模型中的參數量,「Training time」代表預訓練和調優階段使用的步數。

    一般來說,相較于僅僅增大訓練訓練時間或批處理規模來說,同時增大模型參數的規模會得到顯著的性能提升。

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    Q9:如果你的序列長度長于 512 個詞例,你會使用哪種模型?

    眾所周知,多頭注意力機制 (Multi-Head Self-Attention) 的計算開銷很大。在處理長度為 n 的序列時,其        對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      的時間復雜度會使得原始的 Transformer 模型難以處理長文本序列。

    目前,較為流行的做法是使用 Transformer-XL(將先前「段落」的隱藏狀態作為循環段落層的輸入,并且使用使這種策略容易實現的相對位置編碼方案)或 Longformer(詳見雷鋒網AI科技評論文章:這六大方法,如何讓 Transformer 輕松應對高難度長文本序列?)

    Q10:隨著序列的長度增長,Transformer 的時間復雜度將如何增長?

    由于自注意力機制在運算的過程中每兩個詞例之間將形成一對注意力,此時時間復雜度的增長速率是        對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      的。

    Q11:由于 Transformer 的計算時間復雜度是序列長度的二次函數,如何降低其在處理長文本時的運算時間?

    近年來,許多研究工作都著眼于提升 Transformer 在長序列上的計算效率。它們主要關注自回歸的語言建模,然而在遷移學習環境中將長文本 Transformer 應用于文本級的 NLP 任務仍然是一個急需解決的問題。

    Longformer 使用了一種計算時間可以線性地隨著序列長度增長而增長的注意力機制(窗口化的局部上下文的自注意力和由終端任務激活的全局注意力)。

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      

    Longformer 在語義搜索任務上,有很好的編碼長文本的能力。下圖展示了目前該領域的研究進展。

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!       

    Q12:BERT 是因為其注意力層才取得了優秀的性能嗎?

    參考論文:Attention is not Explanation,https://www.aclweb.org/anthology/N19-1357.pdf

    該論文認為,盡管研究人員往往聲稱注意力機制為模型提供了透明度(使用注意力機制的模型給出了對于輸入單元的注意力分布),但是注意力權重和模型的輸出之間存在怎樣的關系還不明確。

    作者在各種各樣的 NLP 上進行了大量的實驗,發現注意力機制并不能恰當地與輸出相關聯。例如,學習到的注意力權重往往與基于梯度的特征重要性度量無關,我們可以發現有些差異非常大的注意力分布可以產生相同的預測結果。因此我們不能認為模型是由于注意力機制才取得了優秀的性能。

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!       

    Q13:如果我們去掉一個注意力頭,BERT 的性能會顯著下降嗎?

    答案是:不會。

    在論文「Revealing the Dark Secrets of BERT」中,作者使用了一部分 GLUE 任務,以及一些手動收集的特征,提出了一些研究方法并且對 BERT 的注意力頭編碼的信息進行了定量和定性的分析。

    論文地址:https://arxiv.org/pdf/1908.08593.pdf

    實驗結果表明,不同的注意力頭會重復一些特定的注意力模式,這說明模型存在過參數化的現象。盡管不同的注意力頭會使用相同的注意力模式,但是他們在不同的任務上對性能有不同的影響。作者指出,手動去掉某些注意力頭的注意力,一般會使得條右后的 BERT 模型獲得性能的提升。

    具體而言,由于 BERT 在很大程度上依賴于學習到的注意力權重,作者將去除一個注意力頭定義為將某個注意力頭對于輸入句子中的每個詞例的注意力值修改為一個常量 a=1/L(其中 L 是句子的長度)。因此,每個詞例都會得到相同的注意力,這樣做可以有效地去除注意力模式,同時保留原始模型的信息流。請注意,通過使用這種框架,作者可以去除任意數目的注意力頭(從去除每個模型中的單個注意力頭到整個一層注意力,或者多層注意力)。

    實驗結果表明,某些注意力頭對 BERT 的整體表現有負面的影響,這一趨勢適用于所有選擇到的任務。令人意想不到的是,去除一些注意力頭并沒有如人們預期的那樣導致準確率的下降,而是提升了性能。如下圖所示,這種影響因任務和數據集而異。       對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    Q14:如果我們去掉一個網絡層,BERT 的性能會顯著下降嗎?

    答案是:不會。

    在論文「Revealing the Dark Secrets of BERT」中,作者指出,去掉整個一層的注意力(即給頂層中的 12 個注意力頭),也會提升模型的性能。如下圖所示,當去除不同的層時,在識別文本蘊含(RTE) 的任務中,去掉第一層注意力會取得極其顯著的性能提升(3.2%)。

    論文地址:https://arxiv.org/pdf/1908.08593.pdf   對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    Q15:如果我們隨機初始化BERT,BERT 的性能會顯著下降嗎?

    不一定會。

    在論文「Revealing the Dark Secrets of BERT」中,為了評價預訓練 BERT 對于整體性能的影響,作者考慮了兩種權值初始化方式:預訓練 BERT 權值,以及從正態分布中隨機采樣得到的權值。

    論文地址:https://arxiv.org/pdf/1908.08593.pdf

    如下表所示,對使用正太分布中隨機采樣得到的權值初始化的 BERT 進行調優,其性能得分始終低于使用預訓練權值初始化的 BERT。然而,在某些任務(如 MRPC )上,性能的下降并不太顯著。

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!       

    Q16:我們真的需要模型壓縮技術嗎?

    并不一定。

    模型壓縮是一種收縮訓練好的神經網絡的技術。 壓縮后的模型通常與原始模型相似,而它只使用一小部分計算資源。 然而,在許多應用中的瓶頸是在壓縮之前訓練原來的大型神經網絡。 

    博文「Do We Really Need Model Compression?」指出,模型壓縮技術說明了過參數化的模型趨向于收斂到哪些類型的解上,從而提示我們如何訓練適當參數化的模型。目前有許多類型的模型壓縮方法,每一種都利用了訓練好的神經網絡中易于發現的不同類型的「樸素特性」:

    許多權值接近于 0(剪枝)

    權值矩陣是低秩的(權值分解)

    權值可以被表征為少數幾個比特(量化)

    網絡的層通常會學習到相似的函數(權值共享)

    博文地址:http://mitchgordon.me/machine/learning/2020/01/13/do-we-really-need-model-compression.html

    Q17:如果一個模型的 API 暴露出來,我們能否反向實現出這個模型?

    是的!可以。

    參考論文:Thieves on Sesame Street! Model Extraction of BERT-based APIs,https://arxiv.org/abs/1910.12366

    作者在這篇 ICLR2020 論文中展示了,在不使用任何真實輸入訓練數據的情況下反向實現出基于 BERT 的自然語言處理模型是可能的。 攻擊者向被攻擊的模型輸入了無意義的隨機采樣得到的詞序列,然后根據被攻擊模型預測的標簽對他們自己的 BERT 進行調優。

    該方法的有效性指出了:如果通過調優訓練公共托管的 NLP 推理 API,這些模型存在被反向實現的風險。 惡意用戶可以通過隨機查詢向 API 發送垃圾信息,然后使用輸出重建模型的副本,從而發起模型提取攻擊。

    Q18:知識蒸餾的最新研究進展如何?

    知識蒸餾是一種壓縮技術,它通過訓練一個被稱為學生模型的小型模型來復現一個被稱為教師模型的大模型。在這里,教師模型可以是許多模型的集合,它們通常都被預訓練好了。與模型壓縮不同,知識蒸餾技術通過一些優化目標根據一個固定的教師模型學習一個小型的學生模型,而壓縮技術旨在搜索一個更稀疏的模型架構。

    一般來說,知識蒸餾機制可以被分為三類:(1)從軟目標概率(soft target probabilities)中蒸餾(2)從其它知識中蒸餾(3)蒸餾成其它的結構:

    (1)從軟目標概率(soft target probabilities)中蒸餾:Bucilua 等人指出,讓學生模型近似教師模型可以從教師模型向學生模型遷移知識。通常的方法是近似教師模型的 logit。DistilBERT 用教師模型的軟目標概率作為蒸餾損失訓練學生模型:

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!      

    其中 t_i 和 s_i 分別是教師模型和學生模型估計出的概率。

    從軟目標概率中蒸餾出的知識也可以被用于特定任務的模型中(如信息檢索和序列標記)。

    (2)從其他知識中提煉:從軟目標概率中蒸餾模型將教師模型視為黑盒,只關注其輸出。此外,分解教師模型,正流出更多的知識,可以提升學生模型的性能。

    TinyBERT 使用嵌入輸出、隱藏狀態,以及自注意力分布進行層到層的蒸餾。MobileBERT 也使用軟目標概率、隱藏狀態,以及自注意力分布進行層到層的蒸餾。MiniLM 從教師模型中正流出自注意力分布以及自注意力值關系。

    此外,其它模型也通過許多不同的方法蒸餾知識。Sun 等人提出了一種「patient」教師-學生機制,Liu 等人利用知識蒸餾改進了預訓練的多任務深度神經網絡。

    (3)蒸餾成其他結構:一般來說,學生模型的結構和教師模型是一樣的,只是學生網絡中層的規模更小,隱層的規模也更小。然而,減少參數,以及將模型從 Transformer 簡化為 RNN 或 CNN 結構,可以降低計算復雜度。  對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    Q19:更大的 Transformer 模型訓練的更快,還是更小的 Transformer 模型訓練的更快?

    博文「Speeding Up Transformer Training and Inference By Increasing Model Size」指出,較大的模型可以更快地獲得更高的準確率。對于預訓練 RoBERTa,增加模型寬度和 / 或深度都會導致訓練地更快。對于機器翻譯任務,更寬模型比更深的模型更有效。

    博文地址:https://bair.berkeley.edu/blog/2020/03/05/compress/

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!       

    Q20:學生-教師框架的實際應用有哪些?

    參考論文:TINYBERT: DISTILLING BERT FOR NATURAL LANGUAGE UNDERSTANDING,https://arxiv.org/pdf/1909.10351.pdf

    論文中,作者為了加速模型推理并且提升模型在資源有限的設備上的執行效率,提出了一種 Transformer 蒸餾方法。通過使用這種方法,大量的「教師」BERT 中被編碼的知識可以被很好地遷移到小型的「學生」網絡 TinyBERT 中。

    此外,作者還引入了一種新的兩階段學習框架:在預訓練和特定任務學習階段都執行 Transformer 蒸餾。這種框架保證了 TinyBERT 可以同時捕獲 BERT中通用領域中和特定任務的知識。

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    在論文「Scaling Laws for Neural Language Models」中,作者提出了一種簡單高效的方法將現有的句子嵌入模型擴展到新的語言上,從而為不同的語言生成相似的句子嵌入。作者使用原始的單語言模型為源語言生成句子嵌入,然后根據翻譯后的句子訓練了一個新的系統來模仿原始模型。

    論文地址:https://arxiv.org/pdf/2004.09813v1.pdf

           對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!     

    Q21:如何設計模型?最重要的參數是什么?

    這個問題很難回答!

    論文「Scaling Laws for Neural Language Models」對這個問題進行了說明,它向我們揭示了以下幾種關系:

    測試損失 Vs 計算開銷

    測試損失 Vs 數據集規模

    測試損失 Vs 參數規模

    想要設計并訓練一個模型,我們首先要決定其架構,然后決定參數的數目。接著,你才能夠計算損失。最后,選擇數據的規模以及需要的計算開銷。  雷鋒網雷鋒網雷鋒網

    論文地址:https://arxiv.org/pdf/2001.08361.pdf

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

    對 NLP 遷移學習了解得有多深,回答完這 21 個問題就知道了!

    分享:
    相關文章

    知情人士

    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說