BERT, ELMo, & GPT-2: 這些上下文相關的表示到底有多上下文化?

作者:Kawin Ethayarajh

編譯:ronghuaiyang

導讀

具有上下文信息的詞表示到底有多大程度的上下文化?這裡給出了定量的分析。

將上下文信息放到詞嵌入中 — 就像BERT,ELMo和GPT-2 — 已經證明了是NLP的一個分水嶺的想法了。使用具有上下文信息的詞表示來替換靜態詞向量(例如word2vec),在每個NLP任務上都得到了非常顯著的提升。

但是這些上下文化的表達到底有多大程度的上下文化呢?

想想“mouse”這個詞。它有多種詞義,一個指的是齧齒動物,另一個指的是設備。BERT是否有效地在每個詞的意義上創造了一種“mouse”的表達形式?或者BERT創造了無數個“mouse”的形象,每一個都是和特定的上下文相關?

BERT, ELMo, & GPT-2: 這些上下文相關的表示到底有多上下文化?

在我們的EMNLP 2019論文“How Contextual are Contextualized Word Representations?”中,我們解決了這些問題,並得出了一些令人驚訝的結論:

  1. 在BERT、ELMo和GPT-2的所有層中,所有的詞它們在嵌入空間中佔據一個狹窄的錐,而不是分佈在整個區域。
  2. 在這三種模型中,上層比下層產生更多特定於上下文的表示,然而,這些模型對單詞的上下文環境非常不同。
  3. 如果一個單詞的上下文化表示根本不是上下文化的,那麼我們可以期望100%的差別可以通過靜態嵌入來解釋。相反,我們發現,平均而言,只有不到5%的差別可以用靜態嵌入來解釋。
  4. 我們可以為每個單詞創建一種新的靜態嵌入類型,方法是將上下文化表示的第一個主成分放在BERT的較低層中。通過這種方式創建的靜態嵌入比GloVe和FastText在解決單詞類比等基準測試上的表現更好。

回到我們的例子,這意味著BERT創建了與上下文高度相關的單詞“mouse”的表示,而不是每個單詞都有一個表示。任何“mouse”的靜態嵌入都會對其上下文化表示的差異造成很小的影響。然而,如果我們選擇的向量確實最大化了可解釋的變化,我們將得到一個靜態嵌入,這比GloVe或FastText提供的靜態嵌入更好。

上下文化的度量

上下文化看起來是什麼樣的?考慮兩個場景:

A panda dog runs.

A dog is trying to get bacon off its back.

dog==dog 意味著沒有上下文化(即我們用word2vec得到的東西)。dog != dog意味著存在某種上下文化。困難在於量化這種情況發生的程度。由於沒有確定的上下文相關性度量,我們提出三個新的度量:

  1. Self-Similarity (SelfSim):一個詞在其出現的所有上下文中與自身的平均餘弦相似度,其中該詞的表示來自給定模型的同一層。例如,我們對所有不一樣的cos(, )取平均值來計算('dog')。
  2. Intra-Sentence Similarity (IntraSim): 一個詞與其上下文之間的平均餘弦相似度。對於第一個句子,其中上下文向量:幫助我們辨別上下文化是否樸素 —— 就是簡單的讓每個單詞與其相鄰的單詞更相似 —— 或者是否更微妙,認識到在相同的上下文中出現的單詞可以相互影響,同時仍然具有不同的語義。
  3. Maximum Explainable Variance (MEV): 在一個詞的表示法中,可以用它的第一個主成分來解釋這個詞的變化的比例。例如,(‘dog’)是通過,,以及數據中其他每個'dog'實例的第一個主成分來表示變化的比例。('dog') = 1表示不存在上下文化:靜態嵌入可以替換所有上下文化的表示。相反,如果('dog')接近0,則靜態嵌入幾乎不能解釋所有的變化。

注意,這些度量都是針對給定模型的給定層計算的,因為每個層都有自己的表示空間。例如,單詞‘dog’在BERT的第一層和第二層有不同的self-similarity值。

各項異性調整

當討論上下文時,考慮嵌入的各向同性是很重要的。(即它們是否在各個方向均勻地分佈)。

在下面的兩個圖中,('dog') = 0.95。左邊的圖片顯示,“dog”這個詞沒有很好的上下文化。它的表現形式在它出現的所有上下文中幾乎都是相同的,而且表示空間的高各向同性表明0.95的self-similarity是非常高的。右邊的圖像則恰恰相反:因為任何兩個單詞的餘弦相似度都超過了0.95,所以‘dog’的自相似度達到0.95就沒什麼了不起了。相對於其他單詞,‘dog’會被認為是高度上下文化的!

BERT, ELMo, & GPT-2: 這些上下文相關的表示到底有多上下文化?

為了調整各向異性,我們為每個測量值計算各向異性基線,並從相應的原始測量值中減去每個基線。但是有必要對各向異性進行調整嗎?有!如下圖所示,BERT和GPT-2的上層是極具各向異性的,這表明高的各向異性是上下文化過程的固有特徵,或者至少是其結果:

BERT, ELMo, & GPT-2: 這些上下文相關的表示到底有多上下文化?

特定上下文

一般來說,在更高的層中,上下文化的表示更特定於上下文

。下圖所示,自相似度的降低幾乎是單調的。這類似於在NLP任務上訓練的LSTMs的上層如何學習更多特定於任務的表示(Liu et al., 2019)。GPT-2是最具特定上下文化的,其最後一層中的表示幾乎是與上下文相關程度最高的。

BERT, ELMo, & GPT-2: 這些上下文相關的表示到底有多上下文化?

自相似度最低的停止詞比如包括“the”。(最特定於上下文表示的詞)。一個詞出現在多種上下文中,而不是其固有的一詞多義,是其上下文化表示變化的原因。這表明ELMo、BERT和GPT-2並不是簡單地為每個詞賦予一個表示,否則,就不會這麼少的詞意表示會有這麼多的變化。

特定上下文表示性在ELMo、BERT和GPT-2中表現得非常不同。如下圖所示,在ELMo中,相同句子中的單詞在上層中更相似。在BERT中,同一句話的上層單詞之間的相似性更大,但平均而言,它們之間的相似性比兩個隨機單詞之間的相似性更大。相比之下,對於GPT-2,同一句話中的單詞表示彼此之間的相似性並不比隨機抽樣的單詞更大。這表明,BERT和GPT-2的上下文化比ELMo的更微妙,因為他們似乎認識到,出現在相同上下文中的單詞不一定有相同的意思。

BERT, ELMo, & GPT-2: 這些上下文相關的表示到底有多上下文化?

靜態 vs. 上下文化

平均而言,在一個詞的上下文化表示中,只有不到5%的差異可以用靜態嵌入來解釋。如果一個單詞的上下文化表示完全與上下文無關,那麼我們期望它們的第一個主成分能夠解釋100%的變化。相反,平均不到5%的變化可以被解釋。這個5%的閾值代表了最佳情況,其中靜態嵌入是第一個主成分。例如,沒有理論保證GloVe向量與最大化可解釋變化的靜態嵌入相似。這表明,BERT、ELMo和GPT-2並不是簡單地為每個詞意義分配一個嵌入:否則,可解釋的變化比例會高得多。

在許多靜態嵌入基準上,BERT的低層上下文化表示的主成分表現優於GloVe和FastText。這個方法將之前的發現歸結為一個邏輯結論:如果我們通過簡單地使用上下文化表示的第一個主成分為每個單詞創建一種新的靜態嵌入類型,結果會怎樣?事實證明,這種方法出奇地有效。如果我們使用來自底層BERT的表示,這些主成分嵌入在涉及語義相似、類比求解和概念分類的基準測試任務上勝過GloVe和FastText(見下表)。

BERT, ELMo, & GPT-2: 這些上下文相關的表示到底有多上下文化?

對於所有這三種模型,從低層創建的主成分嵌入比從高層創建的主成分嵌入更有效。那些使用GPT-2的人的表現明顯比來自ELMo和BERT的人差。考慮到上層比下層更特定於上下文,考慮到GPT-2的表示更特定於上下文,這表明不太特定於上下文的表示的主成分對這些任務更有效。

總結

在ELMo、BERT和GPT-2中,上層比下層產生更多特定於上下文的表示。但是,這些模型對單詞的上下文環境非常不同:在調整了各向異性之後,ELMo中相同句子中的單詞之間的相似性最高,而GPT-2中幾乎不存在。

平均而言,在一個詞的上下文化表示中,只有不到5%的變化可以用靜態嵌入來解釋。因此,即使在最佳情況下,靜態詞嵌入也不能很好地替代上下文化的詞。儘管如此,上下文化的表示可以用來創建更強大的靜態嵌入類型:BERT的低層上下文化表示的主成分比GloVe和FastText要好得多!

英文原文:https://kawine.github.io/blog/nlp/2020/02/03/contextual.html


分享到:


相關文章: