如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

機器之心發表於2019-06-14
  • 論文:https://arxiv.org/pdf/1906.02715.pdf

  • 部落格:https://pair-code.github.io/interpretability/bert-tree/

語言的結構是離散的,而神經網路則基於連續資料運作:高維空間中的向量。成功的語言處理網路必須要能將語言的符號資訊轉譯為某種幾何表徵——但是這種表徵該是怎樣的形式呢?詞嵌入提供了兩種著名的示例:用距離編碼語義相似度,特定的方向則對應於極性(比如男性與女性)。

近段時間,一個激動人心的發現帶來了一種全新型別的表徵方式。關於一個句子的語言資訊中,一大關鍵部分是其句法結構。這種結構可以表示成樹,其節點對應於句子的詞。Hewitt 和 Manning 在論文《A Structural Probe for Finding Syntax in Word Representations》中表明某些語言處理網路能夠構建這種句法樹的幾何副本。詞是通過在一個高維空間的位置給定的,而(遵照一定的變換)這些位置之間的歐幾里德距離對映了樹距離。

但這一發現還伴隨著一個很有趣的謎題。樹距離與歐幾里德距離之間的對映不是線性的。相反,Hewitt 和 Manning 發現樹距離對應於歐幾里德距離的平方。他們提出了疑問:為什麼必需平方距離,是否存在其它可能的對映。

這篇文章將為這個謎題提供一些潛在的解答。我們將從數學角度表明:樹的平方距離對映是尤其自然的。甚至某些隨機化的樹嵌入也將服從近似的平方距離定律。此外,只是知道平方距離關係,就能讓我們簡單明確地描述樹嵌入的整體形狀。

我們會在一個網路(BERT)中分析和視覺化真實世界的嵌入以及它們與其數學理想形式(mathematical idealizations)的系統性差異,以對這些幾何論點進行補充說明。這些實證研究將提供用於思考神經網路中句法表徵的新的定量方法。

從理論上解讀樹嵌入

如果你要將一個樹(tree)嵌入到歐幾里德空間中,為什麼不直接將樹距離對應於歐幾里德距離呢?一個原因是:如果這個樹有分支,則無法實現等距離擴充套件。

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

圖 1:你無法在保證距離不變的同時將這個樹嵌入到歐幾里德空間中

事實上,圖 1 中的樹就是一個標準示例,表明並非所有度量空間都可以等距離地嵌入到 R^n 中。因為 d(A,B)=d(A,X)+d(X,B),所以在任意嵌入中 A、X 和 B 都是共線的。基於同一邏輯,A、X 和 C 也是共線的。但這就意味著 B=C,這是矛盾的。

如果一個樹包含分支,則其將包含該配置的一個副本,也無法以等距離的方式嵌入。

畢達哥拉斯嵌入(Pythagorean embeddings)

相反,平方距離嵌入實際上要好得多——它是如此好用以至於有專屬名稱。這個名字的來由將在後面介紹。

定義:畢達哥拉斯嵌入

令 M 為一個度量空間,其度量為 d。如果對於所有 x,y∈M,我們有如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質,就說 f:M→R^n 為一個畢達哥拉斯嵌入。

圖 1 中的樹有畢達哥拉斯嵌入嗎?有的:如圖 2 所示,我們可以將各個點分配到一個單位正方體的鄰近頂點,畢達哥拉斯定理(即勾股定理)就能提供我們想要的結果。 

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

圖 2:在單位正方體的頂點上的一個簡單畢達哥拉斯嵌入

其它小型的樹又如何呢,比如四個頂點構成的鏈?這也能在正方體的頂點中有很好的畢達哥拉斯嵌入。

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

圖 3:四個頂點構成的鏈也有在單位正方體的頂點上的畢達哥拉斯嵌入

這兩個示例都不是偶然例外。實際上我們能明確地直接寫出任何樹在單位超立方體的頂點上的畢達哥拉斯嵌入。

定理 1.1

任何有 n 個節點的樹都有在 R^(n-1) 中的畢達哥拉斯嵌入。

證明。

注:我們注意到與定理 1.1 的證明相似的論據也出現在 Hiroshi Maehara 的「有限度量空間的歐幾里德嵌入」中:https://doi.org/10.1016/j.disc.2013.08.029

令樹 T 的節點為 t_0,...,t_(n−1),其中 t_0 為根節點。令 {e_1,...,e_(n−1)} 為 R^(n-1) 的正交單位基向量。經過歸納,定義一個嵌入 f:T→R^(n−1): 

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

給定兩個不同的樹節點 x 和 y,m 是它們的樹距離 d(x,y),則我們可使用 m 個互相垂直的單位步從 f(x) 移動到 f(y),因此:

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

看待這種構建方式的一個角度是:我們為每條邊分配了一個基向量。為了得到節點的嵌入,我們走回到根並將我們經過的邊的所有向量加起來。見下圖。

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

圖 4:左:將基向量分配給邊。中:兩個示例嵌入。右:平方的距離等於樹距離。

備註

這個證明的價值不只是證明存在這個結果,而且是在明確的幾何構建中存在這個結果。同一個樹的任何兩個畢達哥拉斯嵌入都是等距離的——而且通過旋轉或反射而存在關聯,因為兩者之中所有點對之間的距離都一樣。所以我們說對於樹的畢達哥拉斯嵌入,該定理向我們說明了其確切模樣。

此外,定理 1.1 中的嵌入也有一個清晰的非形式化的描述:在圖的每個嵌入頂點,所有連線鄰近頂點的線段都是單位長度的線段,且與彼此和其它每條邊線段正交。看一下圖 1 和圖 2 就能發現它們滿足這種描述。

也可以輕鬆地看到,證明中構建的特定嵌入是一個 ℓ1 度量的樹等距對映(tree isometry),儘管這非常依賴於軸對齊。

我們也可以對定理 1.1 進行略微的泛化。考慮邊有權重的樹,兩個節點之間的距離是它們之間的最短路徑上邊的權重的和。在這種情況下,我們也總是可以建立畢達哥拉斯嵌入。

定理 1.2

任何有 n 個節點的加權的樹都有在 R^(n-1) 中的畢達哥拉斯嵌入。

證明。

和前面一樣,令樹 T 的節點為 t_0,...,t_(n−1),其中 t_0 為根節點。令 {e_1,...,e_(n−1)} 為 R^(n-1) 的正交單位基向量。現在令 w_i=d(t_i,parent(t_i))。經過歸納,定義嵌入 f 為:

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

注:定理 1.2 的嵌入不再位於單位超立方體上,而是在其一個壓扁的版本中:邊長為如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質的實體,這些邊的長度有長有短。

我們可以索引這個樹的邊,其中每條邊的索引都與在該邊上的子節點一樣。令 P 為 x 與 y 之間的最短路徑上邊的索引的集合,則

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

定理 1.2 中嵌入雖然是軸對齊的,但在 ℓ1 度量方面不再是等距離對映。但是,如果我們使用向量 w_ie_i 而不是如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質,那麼我們就可以恢復 ℓ1 等距離對映。

其它嵌入和缺乏嵌入的情況

Hewitt 和 Manning 問是否還有其它有效的樹嵌入型別,也許是基於歐幾里德度量的其它冪。我們可以提供一些有關這些嵌入的部分結論。

定義

令 M 為一個度量空間,其度量為 d。設如果對於所有的 x,y∈M,都有

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

,則我們說 f:M→R^n 是冪為 p 的嵌入。

注:對於歐幾里德空間中的嵌入的一般性問題的更多解釋,請參閱這篇漂亮的概述:https://arxiv.org/pdf/1502.02816.pdf 和這個有用的書籍章節:http://www.csun.edu/~ctoth/Handbook/chap8.pdf 

雖然使用的名字各不相同,但一般度量空間的冪為 p 的嵌入已被研究了數十年。這方面的奠基工作是 Schoenberg 1937 年的論文:https://www.jstor.org/stable/1968835。該論文的一個關鍵結果用我們的術語說來就是:如果一個度量空間 X 有在 R^n 中的冪為 p 的嵌入,那麼對於任意 q>p,它也有冪為 q 的嵌入。因此當 p>2 時,任意樹都總是有冪為 p 的嵌入。而 p=2 的情況則很不一樣,我們還沒有一種用於描述這種嵌入的幾何性質的簡單方法。

另一方面,當 p<2 時,事實證明冪為 p 的樹嵌入甚至不一定存在。

定理 2

對於任意 p<2,存在「沒有冪為 p 的嵌入」的樹。

證明過程請參閱我們的論文(這裡也有另一個證明:https://www.sciencedirect.com/science/article/pii/S0012365X13003841)。總結來說,對於任意給定的 p<2,沒有足夠的「空間」來嵌入帶有足夠多子節點的節點。

隨機分支的嵌入近似為畢達哥拉斯嵌入

畢達哥拉斯嵌入的性質非常穩健,至少在維度遠大於樹規模的空間中是這樣。(舉個例子,這就是我們的語言處理神經網路的激勵示例的情況。)在上面的證明中,除了使用基向量 e_1,...,e_(n−1) ∈R^(n−1),我們本可以從 R^m 的單元高斯分佈中完全隨機地選出 n 個向量。如果 m≫n,那麼結果有很高的可能性會是近似的畢達哥拉斯嵌入。

原因是在高維空間中,(1)來自單位高斯分佈的向量的長度有很高的可能性非常接近於 1;(2)當 m≫n 時,一組 n 個單位高斯向量將很有可能接近於彼此正交。

換句話說,在足夠高維度的空間中,樹的隨機分支的嵌入(其中每個子節點都與其父節點偏移一個隨機的單位高斯向量)將接近於畢達哥拉斯嵌入。

這種構建甚至可以通過一個迭代過程完成,僅需「區域性」資訊。使用完全隨機的樹嵌入進行初始化,再為每個頂點選取一個特殊的隨機向量;然後在每個步驟移動每個子節點,使其更靠近其父節點加該子節點的特殊向量。其結果會是近似的畢達哥拉斯嵌入。

畢達哥拉斯嵌入很簡潔,而且它們源自區域性隨機模型,這說明它們在表徵樹方面可能是普遍有效的。要注意,樹的大小受場景的維度所控制,它們也許是基於雙曲幾何的方法的低技術替代方法。

注:更多有關雙曲樹表徵的知識請參閱《Hyperbolic Embeddings with a Hopefully Right Amount of Hyperbole》:https://dawn.cs.stanford.edu/2018/03/19/hyperbolics/ 或 Nickel & Kiela 的《Poincaré Embeddings for Learning Hierarchical Representations》:https://arxiv.org/abs/1705.08039

實踐中的樹嵌入

我們已描述了樹嵌入的數學理想形式,現在回到神經網路世界。

我們研究的物件是 BERT 模型,這是近期一種針對自然語言處理的成功模型。我們對這一模型感興趣的一大原因是其在很多不同任務上都表現優良,這說明其能夠提取出普遍有用的語言特徵。BERT 基於 Transformer 架構。

注:BERT 背景:這是谷歌部落格的介紹:https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html ;這裡還有一篇很棒的總結:https://towardsdatascience.com/bert-explained-state-of-the-art-language-model-for-nlp-f8b21a9b6270。還有很多論文分析了這些網路,比如《BERT Rediscovers the Classical NLP Pipeline》:https://arxiv.org/abs/1905.05950。

我們這裡不會詳細描述 BERT 架構,只是簡單說一下該網路的輸入是詞序列,經過一系列層之後能為其中每個詞得到一系列嵌入。因為這些嵌入考慮了上下文,所以它們常被稱為上下文嵌入(context embedding)。

人們已經提出了很多描述句法結構的方法。在依存語法中,每個詞都是樹的一個節點,如下圖所示。

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質 很多人都研究過這些嵌入,以瞭解它們可能包含什麼資訊。概括來說,我們研究樹嵌入的動機是 Hewitt 和 Manning 的近期成果。他們的論文《A Structural Probe for Finding Syntax in Word Representations》表明上下文嵌入似乎以幾何方式編碼了依存解析樹。

但有一點要注意:首先你需要通過一個特定的矩陣 B(即所謂的結構探針(structural probe))對這個上下文嵌入進行變換。但在此之後,兩個詞的上下文嵌入之間的歐幾里德距離的平方接近兩個詞之間的解析樹距離。這就是前一節的數學計算髮揮功效的地方。用我們的術語說,這個上下文嵌入接近一個句子的依存解析樹的畢達哥拉斯嵌入。這意味我們對樹嵌入整體形狀有很好的認知——就是簡單地源自平方距離性質和定理 1.1。

視覺化和測量解析樹表徵

當然,我們並不確切知曉其形狀,因為該嵌入只是近似的畢達哥拉斯嵌入。但理想形狀和實際形狀之間的差異可能非常有趣。實驗中的嵌入和它們的數學理想形式之間的系統性差異可能能為 BERT 處理語言的方式提供進一步的線索。

注:PCA 能得到比 t-SNE 或 UMAP 更可讀的視覺化。當點在一個低維流形上聚類或分散時,非線性方法的效果可能最好——基本上與 n-立方體的頂點相反。

為了研究這些差異,我們創造了一種視覺化工具。我們的論文給出了詳細情況,這裡只提供些概述。該工具的輸入是帶有相關的依存解析樹的句子。該軟體會從 BERT 提取出該句子的上下文嵌入,經過 Hewitt 和 Manning 的「結構探針」矩陣的變換,得到一個在 1024 維空間中的點集。

然後,我們通過 PCA 將這些點對映到二維。為了展現其底層的樹結構,我們連線了表示有依存關係的詞的點對。下圖 5 展示了一個樣本句子的結果。為了比較,還給出了一個精確畢達哥拉斯嵌入、隨機分支的嵌入、節點座標完全隨機的嵌入的相同資料的 PCA 投影。

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

圖 5:PCA 檢視。a)BERT 解析樹嵌入。b)精確畢達哥拉斯嵌入。c)不同的隨機分支嵌入。d)節點位置是隨機地獨立選擇的不同嵌入。該圖的互動式版本請訪問原文。

PCA 投影已經很有趣了——BERT 嵌入和理想形式之間有明顯的相似性。圖 5c 展示了一系列隨機分支的嵌入,也類似於 BERT 嵌入。圖 5d 是基線,展示了一系列詞是隨機地獨立放置的嵌入。

但我們還可以更進一步,展示嵌入不同於理想模型的方式。在下面的圖 6 中,每條邊的顏色表示歐幾里德距離與樹距離之間的差。我們也用虛線連線了沒有依存關係但位置(在 PCA 之前)比預期的近得多的詞對。

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

圖 6:在應用了 Hewitt-Manning 探針後兩個句子的嵌入的視覺化。在每一對影像中,左圖是傳統的解析樹試圖,但每個分支的豎直長度表示嵌入距離。右圖是上下文嵌入的 PCA 投影,其中的顏色表示偏離預期距離的程度。該圖的互動式版本請訪問原文。

所得到的影像既能讓我們看到樹嵌入的整體形狀,也能讓我們看到離真實畢達哥拉斯嵌入的偏離程度的細粒度資訊。圖 6 給出了兩個示例。它們都是典型的情況,展示了一些常見的主題。圖中,橙色虛線連線了 part/of、same/as、sale/of。這個效果很有特點,可以看到介詞嵌入的位置與它們所相關的詞出乎意料地近。我們還可以看到藍色標示的兩個名詞之間的連線,這說明它們比預期的更遠——另一個常見模式。

文末的圖 8 展示了這些視覺化的更多示例,你可以進一步檢視這些模式。

基於這些觀察,我們決定更系統地研究不同的依存關係將可能如何影響嵌入距離。回答這一問題的一種方式是考慮一個大型句子集並測試詞對之間的平均距離是否與它們的句法關係存在任何關聯。我們使用一個 Penn Treebank 句子集以及派生的解析樹執行了這個實驗。

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

圖 7:給定的依存關係下,兩個詞之間的平方邊長的平均

圖 7 展示了這一實驗的結果。結果表明每個依存關係的平均嵌入距離的變化範圍很大:從大約 1.2(compound : prt, advcl)到 2.5(mwe, parataxis, auxpass)。研究這些系統性差異的含義是很有趣的。或許也許使用加權的樹,BERT 的句法表徵有優於普通依存語法的其它定量方面。

總結

神經網路表徵語言資訊的確切方式依然還是一個謎。但我們已經開始看到了有吸引力的線索。Hewitt 和 Manning 的近期研究為解析樹的直接的幾何表徵提供了證據。他們發現了一種有趣的平方距離效應,我們認為這反映了一種數學上自然的嵌入型別——這能為我們提供一種驚人完整的嵌入幾何思想。與此同時,對 BERT 中解析樹嵌入的實驗研究表明可能還有更多知識有待發掘,還有在解析樹表徵的更多定量方面有待探索。

如何視覺化BERT?你需要先理解神經網路的語言、樹和幾何性質

圖 8:其它解析樹示例;說明見圖 6。該圖的互動式版本請訪問原文。

原文連結:https://pair-code.github.io/interpretability/bert-tree/

相關文章