要說自然語言處理在18年最奪目閃耀的是什么事情,那當屬 BERT 刷新各個任務的記錄了,至今已經過去了近兩年半的時間,但其影響力未曾衰減,無論學術界還是工業界,很多的工作與部署都圍繞其展開,對很多的下游任務都有舉足輕重的作用,真的是里程碑啊。
相信大家都有過BERT、ALBERT等預訓練語言模型應用在自己任務上的實踐經歷,可能是情感分析、分類、命名實體識別、閱讀理解、相似度計算等等,使用的方法也無非是在自己任務上 fine-tune 或者作為預訓練Embedding,使用的預訓練模型大多是公開的,大佬們(財大氣粗、資源無數)訓練好的。(有錢真好)
在用預訓練模型的時候,根據任務的不同,用到信息也不同,有的需要是詞表示,比如命名實體識別、詞性標注等任務,有的需要的是句子表示,比如分類、句子語意匹配等。這里我要說的句子表示這一類的任務,大家經常會用到的 [CLS] 特征信息作為句子向量表示,CLS 作為 BERT/ALBERT序列信息中特殊的一個存在,在最開始設計模型的時候便考慮將其作為后續文本分類的表示,然而直接使用 CLS 的效果真的會滿足我們的預期嘛?相信大家在實踐的過程中都有所體會~,另外 ALBERT 和 BERT 在下游任務應用上面孰好孰壞,是否有一個定論?
我最近看到了一篇 Arxiv 的文章,題目是 《Evaluation of BERT and ALBERT Sentence Embedding Performance on Downstream NLP Tasks》,這篇文章在 BERT/ALBERT 提取信息作為句子信息表示應用在下游任務,對其效果進行了評測,或許會解答我們實踐中的疑惑,也或者會給我們一些預訓練模型在下游任務應用的啟發,讓我們來看下~
評測對比
有一系列的對比實驗,來看在下游任務上面的效果~
[CLS] embeddings
CLS 通過 Self-Attention 機制來獲取句子級別的信息表示,在不同的任務上 Fine-tune 之后,CLS 會捕捉特定環境下的上下文信息表示。
Pooled embeddings
將文本中的所有詞做 Avg-pooling 或者 max-pooling。
Sentence-X(SBERT/ALBERT)
BERT 在語義相似度任務上面也取得了很不錯的效果,然后其內部的結構在計算過程中會導致非常耗時,不適合做語義相似度匹配任務,特別是在工業界,BERT 的耗時無法滿足上線的需要。針對這個問題,有人提出 Sentence-BERT,采用孿生網絡模型框架,將不同的句子輸入到參數共享的兩個BERT模型中,獲取句子信息表示,用于語義相似度計算,最終相比BERT效率大大提升,滿足工業界線上需要。SBERT 從65小時降到5秒,具體詳見參考資料2。
CNN-SBERT/SALBERT
在上圖中,SBERT 采用 Avg-pooling 獲取句子向量表示,本文將其替換成 CNN 網絡結構獲取句子向量表示。
結果分析
評測任務
STS:Semantic Textual Similarity
NLI:Natural Language Inference
評測指標
Pearson and Spearman’s rank coefficients(皮爾遜和斯皮爾曼相關系數)
評測數據
Semantic Textual Similarity benchmark(STSb)
Multi-Genre Natural Language Inference(MultiNLI)
Stanford Natural Language Inference(SNLI)
上面列出來相關的評測任務、評測指標以及評測所用到的數據,下面先給出一張結果表,然后再詳細分析~
詳細分析
微調有效:這個是符合我們認知的,肯定是微調的效果要好。
CLS 效果:CLS 的效果要遜色很多,無論是在微調上面,還是不微調上面,CLS的效果都要遠遜色于平均池化操作或者其他方法。
不同方法效果:總體上來看,CNN-BERT > SBERT > Avg pooling > CLS
BERT 與 ALBERT:從上圖中大概能夠看出,不微調的情況下,兩者的效果差不多,但是微調之后,ALBERT的效果要比BERT差很多,僅僅在STSb上微調的時候,CLS 和平均池化的方法要好于BERT。
CNN的效果
從上圖來看,最好的結果是采用了 CNN 網絡結構,說明 CNN 起到了正向的作用,仔細觀察發現,CNN 對 ALBERT 的改進要遠大于對 BERT 的改善提高。ALBERT 由于內部參數共享,可能存在不穩定性,CNN 網絡結構或許可以減緩這種不穩定性。
下圖也進行了一些對比,在幾個不同的數據集上驗證 CNN 的有效性,從最終的 Avg 結果來看,CNN 網絡結構對 ALBERT 有改善提升。
以上是根據實驗結果進行的簡單分析,其中有一些結論和對比可以在我們日常的實踐中借鑒并嘗試,說不定會有不錯的效果~
原文標題:【BERT】BERT中CLS效果真的好嘛?這篇文章告訴你答案
文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
人工智能
+關注
關注
1796文章
47666瀏覽量
240281 -
自然語言
+關注
關注
1文章
291瀏覽量
13398
原文標題:【BERT】BERT中CLS效果真的好嘛?這篇文章告訴你答案
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論