iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
AI & Data

[自然語言處理NLP]BERT系列Model的應用、訓練技巧與實戰系列 第 7

【Day 7】BERT的[CLS]真的能代表句義嗎?

恭喜,BERT模型的基礎部分已經講解到昨日為止了,接下來我們來談一些質疑、檢討、改進基礎BERT的內容。今天我們來講解一個頗有爭議的問題:[CLS]是否真的能代表句義或文義?

[CLS]為什麼能被用來代表句義?

要理解這個問題,最重要的是先知道[CLS]所對應的Embedding被使用來代表句義的原理。為什麼選擇它而不是其他任何一個Token來代表文義?在Google的用法中,其實是因為這個Token本身不帶有任何具體意義。所以,一張白紙的[CLS]可以被用來更「公平」地表示整句話的意思。

https://ithelp.ithome.com.tw/upload/images/20210910/20127672ogSPq7de1o.jpg
取自進擊的 BERT:NLP 界的巨人之力與遷移學習

按照這樣的原理,在下游任務的Fine-tune過程中,[CLS]不斷被使用來進行文本分類,從而也慢慢學習到去Attention整句話中最適合進行分類的那些Token(如上圖所示)。等Fine-tune完成的時候,[CLS]就會成為一個句義地良好表示。

但是要注意了,上述原理有一個大前提,就是一定要進行Fine-tune,[CLS]才能被充分訓練到可以表示句義。而另一個問題則是,上述假設中「[CLS]本身不帶有任何具體意義」是有問題的。因為在預訓練階段的NSP(下一句預測)任務中,[CLS]也是被拿來進行句子是否相接續的預測,所以即使未進行Fine-tune,[CLS]本身就已經包含了原有的語料中的基於下一句預測的句義表達。

上述部分,在大多數應用情境中不會出現問題。[CLS]可以進行良好的句義表示,但這不代表[CLS]的效果是最佳的。而且,如果Fine-tune階段資料量太少,或甚至無法進行Fine-tune的應用情境,用[CLS]來當作句義就有很大問題了。

除了[CLS],我們還有其他方式表達句義嗎?

當然有。每一個Token的Embedding其實都是用來進行句義表示的好資源。但問題是我們如何將每個Token的Embedding來轉化成整個序列的Embedding,這個過程稱為聚合(Aggregation)。

簡單的方法包括取每個維度(在同一個模型的情況下,各Embedding的維度數量是一致的)的平均值或最大值。複雜一點的方法,你可以加一個CNN或LSTM在這些Embedding之後專門用於聚合。這些方法的效果如何呢?已經有人做過相應的實驗了。

Hyunjin Choi等韓國三星的研究者在文本相似的任務上進行過一系列實驗,他們嘗試了未Fine-tune和Fine-tune情況下使用[CLS]、平均Token Embedding的表現以及後接CNN進行聚合的表現。在此之外,他們額外還使用了一個名為Siamese network structure的方式來進行模型訓練,此方式與我們一般將兩個句子中間加[SEP]進行連接一起送入句子進行訓練的方式不同,是同時讓兩個句子分別進入模型得出Embedding後再採用平均Token Embedding或接CNN的方式計算空間距離。下面是該結構的示意圖。

https://ithelp.ithome.com.tw/upload/images/20210910/20127672IucNfZ31LC.jpg

而結果如何呢?簡單地說,[CLS]是效果最差的那位,平均Token Embedding效果還不錯,Siamese BERT情況下的平均Token Embedding效果第二名,第一是Siamese BERT + CNN的組合。

https://ithelp.ithome.com.tw/upload/images/20210910/20127672qmzsNoe5rl.jpg

雖然我有點懷疑,[CLS]的效果是否真的有這麼差(尤其是Fine-tune之後),會不會是實驗者並沒有給使用[CLS]的方式一個適當的超參數呢?但無論如何,關於[CLS]的使用的確已經引起了許多討論,以後你在進行有關句義表達的任務時,不妨嘗試看看上面說的其他方法。

參考論文

Choi, H., Kim, J., Joe, S., & Gwon, Y. (2021, January). Evaluation of BERT and ALBERT Sentence Embedding Performance on Downstream NLP Tasks. In 2020 25th International Conference on Pattern Recognition (ICPR) (pp. 5482-5487). IEEE.


上一篇
【Day 6】BERT由Transformer模型構建而成
下一篇
【Day 8】Adaptation!適應!讓BERT更好地過渡到下游任務!
系列文
[自然語言處理NLP]BERT系列Model的應用、訓練技巧與實戰9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言