一、BERT-wwm
wwm是Whole Word Masking(對全詞進行Mask),它相比於Bert的改進是用Mask標簽替換一個完整的詞而不是子詞,中文和英文不同,英文中最小的Token就是一個單詞,而中文中最小的Token卻是字,詞是由一個或多個字組成,且每個詞之間沒有明顯的分隔,包含更多信息的是詞,全詞Mask就是對整個詞都通過Mask進行掩碼。
例如:
論文下載鏈接:https://arxiv.org/pdf/1906.08101.pdf
二、BERT-wwm-ext
它是BERT-wwm的一個升級版,相比於BERT-wwm的改進是增加了訓練數據集同時也增加了訓練步數。
已訓練好中文模型下載:https://github.com/brightmart/albert_zh
三、RoBERTa
相比於Bert的改進:更多的數據、更多的訓練步數、更大的批次(用八千為批量數),用字節進行編碼以解決未發現詞的問題。
對Adam算法中的兩處進行了調整:
Adam 中二階矩估計時的 β_2,一般對於梯度稀疏之問題,如 NLP 與 CV,建議將此值設大,接近 1,因此通常默認設置為 0.999,而此處卻設 0.98。
調節最早只用來防止除零情況發生的ε,通過對ε的調節能夠提高模型的穩定性,有時能夠提升模型性能。
對於Mask不再使用靜態的Mask而是動態的Mask,對於同一句話,在不同的批次中參與訓練其Mask的位置是不同的。(這樣做相當於對數據進行了簡單的增強)
取消了Next Sentence這一預訓練任務,輸入的不再是通過[SEP]隔開的句子對,而是一個句子段,對於短句會進行拼接,但是最大長度仍是512(這樣做是因為更長的語境對模型更有利,能夠使模型獲得更長的上下文),同時輸入的句子段不跨文檔(是因為引入不同文檔的語境會給MLM帶來噪音)。
論文下載地址:https://arxiv.org/pdf/1907.11692.pdf
已訓練好中文模型下載:https://github.com/brightmart/roberta_zh
四、SpanBERT
作者提出一種分詞級別的預訓練方法。它不再是對單個Token進行掩碼,而是隨機對鄰接分詞添加掩碼。對於掩碼詞的選取,作者首先從幾何分布中采樣得到分詞的長度,該幾何分布是偏態分布,偏向於較短的分詞,分詞的最大長度只允許為10(超過10的不是截取而是舍棄)。之后隨機(均勻分布)選擇分詞的起點。對選取的這一段詞進行Mask,Mask的比例和Bert相同,15%、80%、10%、10%。
對於損失函數也進行了改進,去除了Next Sentence,
具體做法是,在訓練時取 Span 前后邊界的兩個詞,值得指出,這兩個詞不在 Span 內,然后用這兩個詞向量加上 Span 中被遮蓋掉詞的位置向量,來預測原詞。
詳細做法是將詞向量和位置向量拼接起來,作者使用一個兩層的前饋神經網絡作為表示函數,該網絡使用 GeLu 激活函數,並使用層正則化:
作者使用向量表示yi來預測xi,並和 MLM 一樣使用交叉熵作為損失函數,就是 SBO 目標的損失,之后將這個損失和 BERT 的 Mased Language Model(MLM)的損失加起來,一起用於訓練模型
論文下載地址:https://arxiv.org/pdf/1907.10529.pdf
五、ERNIE2
它的主要創新是ERNIE2采用Multi-task進行預訓練,訓練任務有詞級別的、結構級別、語義級別三類。同時多任務是輪番學習,學習完一個任務再學習下一個任務,不同任務使用相應損失函數,類似於教課,不同課應該分開上,若多任務同時學習會學的較為混亂,多個任務同時學習最好是任務之間存在關系,能夠相互指導。
論文下載地址:https://arxiv.org/pdf/1907.12412.pdf