Categories
程式開發

BERT的正確使用姿勢


自2018年google發布開源預訓練模型BERT之後,一時席捲業內十餘項任務的state-of-art,引得無數NLPer聚焦於此。對於自然語言處理領域而言,BERT的出現,徹底改變了預訓練詞向量與下游具體NLP任務的關係,因此BERT被稱為改變了NLP遊戲規則的工作。然而,究竟如何最好的使用BERT呢?

一種自然的方法當然是改變BERT的預訓練過程,從而造出更好的預訓練語言模型。這種方法可以簡單的引入更多的語料、採用不同的預訓練任務、採用多任務學習、採用在特定領域的語料上進行fine-tune等等。然而,從頭訓練甚至fine-tune BERT均需要大量的算力才可實現。那麼另一種自然而然的想法是,我們是否可以將已有模型(LSTM或者CNN)接入到BERT之上,從而發揮二者各自的優勢呢?這是本文介紹的重點。

BERT的基礎使用方式

本文以是否fine-tune預訓練模型和是否對上層模型進行訓練作為兩個參考指標,將BERT的應用方法大致劃分為三類,如下表所示:

BERT的正確使用姿勢 1

其中,方法NFT-TM是指在BERT模型的上層添加複雜的網絡結構,在訓練時,固定BERT的參數,僅單獨訓練上層任務模型網絡。方法FT-NTM是指在在BERT模型後接一個簡單的特定任務層(如全連接網絡),在訓練時,根據任務的訓練樣本集對BERT進行fine-tune即可。

就以上NFT-TM、FT-NTM兩種方法,美國Allen人工智能研究所的Matthew Peter等人分別在ELMo及BERT兩種預訓練模型上對比了效果,希望能夠得出到底哪個方式更適合下游任務,他們針對7項NLP任務給出實驗結果。對於ELMo而言,使用上層網絡進行特徵提取效果更好,對於BERT而言,fine-tune效果略勝一籌。最終該文得出結論,對於預訓練模型,fine-tune方法(即FT-NTM)能夠更好的將其應用於特定任務。

BERT的高級使用方式

以上兩種方法看上去有些片面,如果把特徵抽取和fine-tune結合起來成為第三種模式,效果會怎樣呢?在BERT出現之前,就有人在訓練好語言模型之後,用後續網絡(如CNN,LSTM等)對詞嵌入進行微調的方法了。如果把預訓練模型看作是一個詞嵌入的強化版,那麼在BERT時代,我們在追求其應用模式革新上也應該考慮到此方法,於是百分點認知智能實驗室提出融合特徵抽取及fine-tune的方法FT-TM,其步驟如下:

  1. 在底層通過一個預訓練模型,先訓練一個可用的語言模型(視情況可停止訓練);
  2. 針對具體下游任務設計神經網絡結構,將其接在預訓練模型之後;
  3. 聯合訓練包括預訓練模型在內的整個神經網絡,以此模式嘗試進一步改善任務結果。

基於以上內容,我們對各種BERT應用方式選取了三個NLP典型任務進行實驗,並通過實踐證明,該方法在特定任務上均表現出色。

實驗一:針對序列標註任務,我們選擇了其子任務之一的命名實體識別任務(NER),並在NER的開源數據集CoNLL03上進行實驗。該實驗以僅對BERT進行fine-tune(即方法FT-NTM)的結果為baseline,對比了在BERT基礎上增加一個傳統用於NER任務的Bi-LSTM網絡(即方法FT-TM)的效果,其實驗結果如下圖所示:

BERT的正確使用姿勢 2

由圖可得,結合BERT的fine-tune和上層神經網絡的FT-TM方法在該任務上的F1值較baseline提升了近7個百分點。

實驗二:針對文本分類任務,本次實驗選取雅虎問答分類數據集,以原始BERT結果作為baseline,對比了在其基礎上分別連接了HighwayLSTM和DenseNet網絡,並對其進行模型融合後的結果。實驗結果由下圖所示:

BERT的正確使用姿勢 3

由實驗看出,雖然模型融合後的效果並不十分明顯,但也有一定的效果提升。

實驗三:針對語義等價性任務,本實驗選取包含了40萬個問題對的“Quora-Question-Pair“數據集,根據句子對進行相似度的計算。本次實驗將僅對BERT進行fine-tune的方法FT-NTM為baseline,對比了在BERT之後接BIMPM網絡的效果。同時以方法NFT-TM為baseline,對比了兩種改進BIMPM之後模型結構的效果(移除BIMPM中的第一層Bi-LSTM模型和將BIMPM的matching層與transformer相結合的模型)。注意,在模型訓練時有個重要的trick,考慮到預訓練模型本身的效果和其與頂層模型的融合問題,在訓練模型時,需要分兩步進行:先固定預訓練模型的參數,僅訓練其上層特定任務網絡,第二步再將整個網絡聯合訓練。

該任務的實驗結果如下圖所示:

BERT的正確使用姿勢 4

由實驗結果可得,Bert+Sim-Transformer結合fine-tune Bert的效果相較僅對BERT進行fine-tune的方法FT-NTM,準確率提升了近5個百分點。

因此,從上面一系列的實驗結果可以看出,我們提出的結合上層複雜模型和fine-tune的方法FT-TM是有效的,並且在某些任務中優於fine-tune的方式。同時在BERT預訓練模型上面集成的神經網絡模型好壞也會影響到最終的任務效果。

參考材料

[1]Matthew Peters, Sebastian Ruder, and Noah A Smith. To tune or not to tune?adapting pretrained representations to diverse tasks. arXiv preprintarXiv:1903.05987, 2019.

論文地址https://arxiv.org/abs/1907.05338

本文轉載自公眾號百分點(ID:baifendian_com)。

原文鏈接

https://mp.weixin.qq.com/s/1OajAJx9vP81AQ7WCf4OFA