天天看點

粗讀《Visualizing and Measuring the Geometry of BERT》

BERT和類似的語言模型到底學會了何種語言的關系和模式,一直是大家想知道的,本文嘗試從幾個實驗探索這一點。

假設:Attention學習到了詞之間的依賴關系(依存關系)

Bert一共有12層,每層有12個head(multi-head attention),每個attention head相當于一個SxS的矩陣,這裡S是句子長度(或者說包含的詞數),也就是說在每個attention矩陣中,兩個詞包含兩個關系,指向與被指向,我們隻考慮指向的話就是一個浮點數。12層x12個head=144次元的attention vector

粗讀《Visualizing and Measuring the Geometry of BERT》

方法:

輸入attention vector訓練兩個簡單的linear model,分别是binary的和softmax的,代表詞之間是否有依存樹上的指向關系和具體的指向标簽。

準确率達到了85.8%和71.9%,當然不是SOTA,不過也證明了這種關系應該包含在了attention表示中。

問題:如果從embedding的角度表示樹?

基本讨論:我們不能使用可以同構(isometrically)的距離表示樹

這裡isometrically應該是指,假設ab和bc分别父子,ac則為爺孫,則 d(a, c) = d(a, b) + d(b, c) 不能成立

如果可以同構,假設表示一個樹有三個幾點A、B、C,假設A、B是父子距離為1,B、C是父子距離為1,則可以得出A到C的距離為2,則在歐基裡徳空間中ABC應共線。

那麼假設B還有一個不同于C的孩子D,按照假設ABD也應該共線,但是這樣就說明C=D,則不可能。

是以下圖的同構情況不可能:

粗讀《Visualizing and Measuring the Geometry of BERT》

是以我們事實上是隻能用下面的距離來表示一棵樹的:

粗讀《Visualizing and Measuring the Geometry of BERT》
粗讀《Visualizing and Measuring the Geometry of BERT》

結果:樹的可視化

粗讀《Visualizing and Measuring the Geometry of BERT》
粗讀《Visualizing and Measuring the Geometry of BERT》
粗讀《Visualizing and Measuring the Geometry of BERT》
粗讀《Visualizing and Measuring the Geometry of BERT》

詞義資訊表達

這一部分主要的猜想是BERT是否能區分不同上下文情況下的語境

實驗1:使用詞的embedding簡單建構Nearest Neighbour訓練器

在詞的消歧(word-sense disambiguation)任務中,隻是簡單的NN方法就可以得到很好的結果

粗讀《Visualizing and Measuring the Geometry of BERT》

這種語義表達是否包含一個子空間?

在BERT最後一層之上建構了一個線性映射矩陣B,通過對它進行一定的訓練發現結果的達到/超過所有次元都使用的效果,則我們可以認為,肯定存在一個語義子空間,它就可以更好的表達部分的語義效果

粗讀《Visualizing and Measuring the Geometry of BERT》

實驗2:BERT是否真的編碼了上下文資訊?

假設一個詞有兩個詞義A和B,并且所有詞義取平均值為A-center和B-center,那麼從詞義A中的詞的表示,到A-center的距離應該比到B-center的更近(如果是歐基裡徳距離的話更近就是越小,cosine距離更近就是越從0接近1)

實驗2.1:如果在包含詞義A的句子中,随機加入一個句子,用and連接配接,取A中的詞的embedding,對比到A-center和B-center的結果比例(比例越高就代表到A-center更接近1,到B-center更接近0,則分歧差距越大,是我們想得到的)

實驗2.2:如果在包含詞義A的句子中,加入一個詞義B中的句子,用and連接配接,取A中的詞的embedding,對比到A-center和B-center的結果比例

那麼2.1的結果應該顯著好于2.2的結果,從結果來看也是這樣:

粗讀《Visualizing and Measuring the Geometry of BERT》