大數據文摘出品
來源:pair-code.github
作者:Andy Coenen等
編譯:劉佳瑋、萬如苑、龍心塵
本文是論文(Visualizing and Measuring the Geometry of BERT)的系列筆記的第一部分。這篇論文由Andy Coenen、Emily Reif、Ann Yuan、Kim、Adam Pearce、Fernanda Viegas和Martin Wattenberg撰寫。
近日,谷歌大腦負責人Jeff Dean在推特上安利了一篇文章
.
這篇文章是為了補充解釋論文,大致呈現了主要的結論。請參閱論文以獲得完整的參考文獻和更多信息。
語言是由離散結構構成的,而神經網絡是在連續數據——高維空間的向量——上運算的。一個成功的語言處理網絡必須將這些符號信息轉換成某種幾何形式來表示——但是是以什麼形式呢?詞嵌入(Word Embedding)提供了兩個眾所周知的樣例:用距離來編碼語義相似性,而某些方向則對應詞語的極性(例如男性和女性)。
最近一項驚人的發現指向了一種全新的表示形式。句子的句法結構是句子語言信息的一個重要組成部分。這個結構可以用樹來表示,它的節點則對應於句子中的單詞。休伊特(Hewitt)和曼寧(Manning)在《一種用於在單詞表示中查找語法的結構探針》中指出,一些語言處理網絡構造了這種語法樹的幾何副本。而單詞是在高維空間中給定的位置,並且(經過一定的轉換)這些位置之間的歐氏距離(Euclidean distance)可以映射到樹的距離。
但這一發現帶來了一個有趣的難題。樹的距離與歐氏距離之間的映射不是線性的。相反,休伊特和曼寧發現樹的距離對應著歐氏距離的平方。他們於是提出了為什麼需要平方距離,以及是否存在其他可能的映射的問題。
這篇短文為這個難題提供了一些可能的答案。我們證明了從數學的角度來看,樹映射的平方距離是特別自然的。甚至某些隨機的樹嵌入也遵循近似的平方距離定律。而且,只要知道平方距離關係,我們就可以對嵌入樹的整體形狀給出一個簡單、明確的描述。
我們通過分析和可視化一個網絡(BERT)中的真實世界的嵌入,以及它們如何系統地不同於它們的數學理想化狀態來完善這些觀點。這些經驗性的發現提出了一種新的定量的方法來思考神經網絡中的語法表示。(如果你只是為了看經驗結果和可視化效果,請直接跳到這一節。)
樹嵌入理論
如果你要把一棵樹嵌入歐氏空間,為什麼不讓樹的距離直接對應於歐氏距離呢?一個原因是,如果樹有分支,就不可能等構地(isometrically)實現。
圖1所示。你不能等構地把這棵樹嵌入歐氏空間
事實上,圖1中的樹是一個標準示例,它表明並不是所有度量空間都可以等構地嵌入到R^n其中。因為d(A,B)=d(A,X)+d(X,B), 在任何嵌入中,A,X, B都是共線的。同理,A,X,C是共線的。但這意味著B=C,這就矛盾了。所以並不是所有度量空間都可以等構地嵌入到R^n其中。
如果一棵樹有任何分支也包含一個類似圖一示例的結構,則它也不能被等構地嵌入。
畢達哥拉斯嵌入
譯註:畢達哥拉斯是古希臘數學家,證明了勾股定理,在西方稱作畢達哥斯拉定理。
相比之下,平方距離嵌入結果非常好,以至於我們可以直接給它命名。這個名字背後的原因很快就會揭曉。
定義:畢達哥拉斯嵌入
設M是一個度量空間,其距離度量是d。我們說f:M→R^n 是一個畢達哥拉斯嵌入,如果所有屬於M的x, y滿足d(x,y)=∥f(x)f(y)∥^2。
圖1中的樹是否嵌入了畢達哥拉斯嵌入?答案是顯然的:如圖2所示,我們可以為一個單位立方體的相鄰頂點分配樹的結點,而勾股定理給出了我們想要的結果。
圖2。嵌入到單位立方體頂點中的簡單畢達哥拉斯嵌入。
那麼其他的更小的樹呢,比如一個由四個頂點組成的鏈?這也可以通過一個簡潔的畢達哥拉斯嵌入到立方體的頂點。
圖3。一個由四個點組成的鏈也通過一個畢達哥拉斯嵌入進了一個單位立方體的頂點中。
這兩個例子並不是巧合。實際上,這很容易寫出一個顯式的畢達哥拉斯嵌入,使任何樹都可以被嵌入到一個單位超立方體的頂點中。
定理1.1
任何具有n節點的樹都有一個畢達哥拉斯嵌入到R^(n-1)中。
證明:
我們已經知道,類似於定理1.1的論證出現在Hiroshi Maehara的《有限度量空間的歐幾裡德嵌入》文章中。
設樹T的節點為t0,…,tn - 1,且 t0為根節點。讓{e1,……,en - 1}為R^n1維的正交單位基向量。 歸納來說,定義一個嵌入f:T→R^n1通過
給定兩個不同的樹節點x和y, 其中m是樹的距離d(x,y)我們可以用m個相互垂直的單位基向量從f(x)跳躍到f(y), 因此∥f(x)f(y)∥^2=m=d(x,y)。
另一種理解這個結構的方法是我們給每條邊分配了一個基向量。為了計算出節點的嵌入,我們回到根節點並將經過的所有邊向量相加。請參閱下面的圖。
圖4。左圖:給邊分配基向量。中間兩圖:兩個嵌入示例。右圖:距離的平方等於樹的距離。
附註
這種證明的價值不僅在於結果本身,而且在於其能夠顯式地幾何構造出一個結果。任何同一樹結構的兩個畢達哥拉斯嵌入都是等構的,並且通過旋轉或反射相互關聯,每對點之間的距離在這兩種情況下都是相同的。我們可以說這是樹結構的畢達哥拉斯嵌入,這個定理清楚地告訴我們它的結構是什麼樣的。
此外,定理1.1中的嵌入有一個清晰的非正式描述:在圖中的每個嵌入頂點上,所有到相鄰頂點的線段都是彼此正交的單位距離線段,並且與每條邊都正交。如果你查看圖1和圖2,你會看到它們符合是這個描述的。
我們也很容易看到在證明中構造的特定嵌入是一個l^1度量中等構的樹,儘管這很大程度上依賴於軸對齊。
我們可以對定理1.1做一個簡單的推廣。考慮有邊權值的樹,與兩個節點之間的距離是它們之間最短路徑的邊權值之和。在這種情況下,我們也總是可以創建一個畢達哥拉斯嵌入。
定理1.2
任何有n個節點的加權樹都有一個嵌入到R^n - 1中的畢達哥拉斯嵌入。
證明:
如前所述,設樹的節點為t0,…,tn - 1, t0為根節點。讓{e1,……,en - 1}為R^n1維的正交單位基向量。 現在,使wi=d(ti,parent(ti)). 歸納來說,定義一個嵌入f,也就是
定理1.2中的嵌入不再存在於單位超立方體上,而是存在於它的壓縮版本中:一個邊長為{wi^(1/2)}的矩形實體。
我們可以對樹結構的邊進行索引,每條邊都具有與該邊上的子節點相同的索引。設P為x和y之間最短路徑上的邊的指標集,則
∥f(x)f(y)∥^2=∑i∈P wi=d(x,y)[jg2]
儘管嵌入定理1.2是軸對齊的,也不再是一個1度量下的等構體。然而,如果我們使用向量wiei而不是wi^(1/2)ei則可以使其恢復一個1度量下的等構體。
替代嵌入,以及缺乏替代嵌入
休伊特和曼寧問是否可能存在其他有效的樹嵌入類型,也許答案是基於歐幾裡德度量的其他冪。我們可以提供一些關於這類嵌入的部分結論。
定義
設M是一個度量空間,度規d,我們說f:M→Rn是一個冪為p的嵌入,如果對於所有x,y∈M,我們有
結果表明,在不同的術語下,一般度量空間下冪為p的嵌入已經被研究了幾十年。其中奠基之作是勳伯格1937年的一篇論文。那篇論文的一個關鍵結果,用我們的術語來說,就是如果一個度規空間X有一個冪為p的嵌入到Rn中,那麼它也有一個冪為q的嵌入對於任意q>p。因此,對於p>2,任何樹都有一個冪為p的嵌入。與p=2的情況不同,我們尚不知道怎樣用一種簡單的方法來描述這種嵌入的幾何形狀。
另一方面,事實證明,當p <2時,p次冪樹嵌入不一定存在。
定理二
對於任意p <2,存在一棵沒有p次冪嵌入的樹。
詳細證明請參閱我們的論文。總結一下這個想法,對於任何給定的p <2,沒有足夠的「空間」來嵌入具有足夠多子節點的樹的節點。
隨機分支嵌入是畢達哥拉斯嵌入的近似
畢達哥拉斯嵌入的屬性十分強大,至少在維度上遠高於樹形結構。(在用於NLP的神經網絡激活函數中就是這樣。)在上面的證明中,我們可以完全隨機地選擇n個向量,而不是使用來自Rm中的單位高斯分布e1,...,en-1∈Rn-1中的基向量。如果m遠大於n,很可能結果是近似的畢達哥拉斯嵌入。
原因在於,在高維中,(1)從單位高斯分布提取的向量長度接近1的概率很高; (2)當m遠大於n時,n個單位高斯向量可能近似相互正交。
換句話說,在足夠高維度的空間中,樹的隨機分支嵌入(其中每個子節點通過隨機單位高斯向量從其父節點偏移)將近似為畢達哥拉斯(Pythagorean)嵌入。
這種結構甚至可以通過迭代過程完成,只需要本地信息。使用完全隨機的樹嵌入進行初始化,另外為每個頂點選擇一個特殊的隨機向量;然後在每個步驟中,移動每個子節點,使其更接近其父節點的位置加上子節點的特殊向量。結果將是近似的畢達哥拉斯嵌入。
由於其簡單性以及來自局部隨機模型的事實,畢達哥拉斯嵌入通常可用於表示樹型結構。需要注意的是樹的大小是由環境維度控制的,畢達哥拉斯嵌入可能是基於雙曲幾何的方法的簡單替代方案。
有關雙曲樹表示的更多信息,請參閱這兩篇文章。
樹嵌入的實踐
在描述了樹嵌入的數學定義之後,讓我們回到神經網絡的世界。
我們的研究對象是BERT模型,這是一個最近在NLP領域十分成功的模型。我們對這個模型感興趣的一個原因是它對許多不同的任務表現良好,這表明它正在提取通常有用的語言特徵。 BERT是Transformer架構的一個案例。
我們不會在這裡描述BERT架構,但粗略地說,網絡將一系列單詞作為輸入,並且在一系列層中為每個單詞生成一系列嵌入。因為這些嵌入考慮了上下文,所以它們通常被稱為上下文嵌入。
人們提出了許多描述句法結構的方法。在依存句法分析中,每個單詞都是樹的節點。
很多人研究過這些嵌入,看看它們可能包含哪些信息。為了概括介紹,我們研究樹嵌入的動機是Hewitt和Manning的最新成果。他們的論文「一種用於在單詞表示中查找語法的結構探針」中表明,上下文嵌入似乎在幾何上編碼依存句法分析樹。
這個地方有點繞:首先你需要將上下文嵌入通過某個矩陣B(一個所謂的結構探針)進行轉換。但在此之後,兩個單詞的上下文嵌入之間的歐式距離的平方近又似於兩個單詞之間的分析樹距離。
這是上一節中的數學成果。在我們的術語中,上下文嵌入近似於畢達哥拉斯嵌入句子的依存句法分析樹。這意味著我們有一個樹嵌入的好主意:簡單地利用平方距離屬性和定理1.1
可視化和測量解析樹的表示
當然,我們並不能精確地知道形狀,因為嵌入只是近似於畢達哥拉斯嵌入。但理想形狀和實際形狀之間的差異可能非常有趣。經驗嵌入與其數學理想化之間的系統差異可以為BERT如何處理語言提供進一步的線索。
註:PCA比t-SNE或UMAP的可視化有更好的可讀性。當點聚類或分布在低維流形上時,非線性方法可能做得最好——幾乎與n立方體的頂點相反。
為了研究這些差異,我們創建了一個可視化工具。我們的論文有詳細介紹,但我們將在此提供一個廣泛的描述。作為輸入,該工具採用具有相關依存句法分析樹的句子。該工具從BERT中提取該句子的上下文嵌入,由Hewitt和Manning的「結構探針」矩陣轉換,在1024維空間中產生一組點。
然後,我們通過PCA將這些點投影到兩個維度。為了顯示基本的樹結構,我們連接表示具有依賴關係的單詞的點對。下面的圖5顯示了樣本句子的結果,並且為了比較,顯示了精確畢達哥拉斯嵌入、隨機分支嵌入和節點坐標完全隨機的嵌入對於相同數據的PCA預測。
圖5. a)BERT解析樹嵌入的PCA視圖。 b)精確的畢達哥拉斯嵌入。 c)不同的隨機分支嵌入。 d)不同的嵌入,其中節點位置是隨機獨立選擇的。
PCA映射很有趣——BERT嵌入和理想化之間有一定的相似性。圖5c展示了一系列隨機分支嵌入,它們也類似於BERT嵌入。作為基準,圖5d顯示了一系列嵌入,其中單詞隨機獨立放置。
但我們可以更進一步,並展示嵌入與理想化模型的不同之處。在下面的圖6中,每條邊的顏色表示歐幾裡德距離和樹距離之間的差異。我們還用虛線連接沒有依賴關係但其位置(在PCA之前)比預期更接近的單詞對。
生成的圖像讓我們既可以看到樹嵌入的整體形狀,也可以看到偏離真正的畢達哥拉斯嵌入的細粒度信息。圖5顯示了兩個示例。這些是典型案例,說明了一些共同的主題。在圖中,橙色虛線連接part/of、same/as和sale/of.。這種效果是特徵性的,介詞嵌入到與它們相關的單詞附近。我們還看到兩個名詞之間的聯繫顯示為藍色,表明它們比預期的更遠——這是另一種常見模式。
圖8在本文末尾顯示了這些可視化的其他示例,你可以在其中查找更多模式。
基於這些觀察,我們決定對不同依賴關係如何影響嵌入距離進行更系統的研究。回答這個問題的一種方法是考慮一大組句子並測試單詞對之間的平均距離是否與它們的句法關係有任何關聯。我們用一組Penn Treebank句子以及派生的解析樹進行了這個實驗。
圖7.具有給定依賴性的兩個單詞之間的平均平方邊長
圖7顯示了該實驗的結果。事實證明,每個依賴關係的平均嵌入距離變化很大:從大約1.2(prt,advcl)到2.5(mwe,parataxis,auxpass)。推測這些系統差異的原因是有趣的。它們可能是非句法特徵的影響,例如句子中的單詞距離。或者,使用加權樹,BERT的句法表示可能超出了普通的依存語法。
結論
神經網絡究竟如何代表語言信息仍然是神秘的。但我們開始看到了吸引人的線索。Hewitt和Manning最近的工作提供了解析樹的直接幾何表示的證據。他們發現了一種有趣的平方距離效應,我們認為它反映了一種數學上自然的嵌入類型——這使我們對嵌入幾何有了驚人的完整概念。同時,BERT中解析樹嵌入的實證研究表明,可能還有更多定量方面的關於解析樹表示的內容。
非常感謝James Wexler對本筆記的幫助。感謝David Belanger,Tolga Bolukbasi,Dilip Krishnan,D。Sculley,Jasper Snoek和Ian Tenney對本研究的有益反饋和討論。有關語義和語法的更多詳細信息和結果,請閱讀我們的全文!敬請期待本系列中的更多筆記。
閱讀另一篇BERT可視化文章,請戳《用可視化解構BERT,我們從上億參數中提取出了6種直觀模式》