友快網

導航選單

你的 GNN,可能 99% 的引數都是冗餘的

作者:iven

自從圖卷積神經網路(GCN)面世以來,圖神經網路(GNN)的熱潮一瞬間席捲 NLP。似乎在一切 NLP 任務上,引入一個圖結構,引入一個 GNN,就能讓模型擁有推理能力。更重要的是,似乎在實驗結果上,也能證明 GNN + NLP 的有效性。

具體地,GNN + NLP 可以分成以下兩類任務:

在本來就需要圖的任務上,比如知識圖譜問答(KBQA),大家從問題和答案中抽取關鍵實體,從知識圖譜中將這些實體,以及及所有路徑提取出來,作為知識圖譜針對這個問題提取出的子圖,在這上使用 GNN 進行推理。

在本來沒有圖的任務上,比如文件級的抽取或者理解任務,大家將文件中的關鍵實體作為節點,並用一些簡單的規則連邊(比如,在同一個句子裡的實體連邊、指代同一個概念的實體連邊,等等),得到一張文件對應的圖,在上面用 GNN 推理。

看起來建圖是有用的,可接下來,為啥一定要用 GNN 呢?最近的文章裡,人們都說 GNN 有“推理能力”,即 GNN 在圖上的資訊傳播過程相當於在圖上找路徑,這些路徑可以解釋答案得到的推理步驟。

在 KBQA 任務裡,GNN 能在圖中挑選出從問題實體到答案的推理路徑。比如:

這裡提問:哪裡能找到有電梯的地下室呢?衣櫃、教堂、辦公樓,三選一,答案顯然是辦公樓。在這個 case 裡,模型預測出了 elevator → building → office building 和 basement → building → office building 兩條路徑,這看起來都能解釋答案的選擇邏輯。

在文件級關係抽取任務裡,GNN 的推理路徑就表示了關係的傳遞。比如:

圖中右邊是文字,大概講的是二戰中幾個國家軍隊的故事,下劃線的是實體;左邊是 World War II 這個實體,在兩層 GNN 中,分別對所有實體的注意力權重。這樣我們也能得到與前一個例子相似的一些推理路徑:World War II → New Ireland → Japan 和 World War II → New Ireland → Imperial Japanesae Army。這也解釋了為什麼 Japan 與 World War II 是“參與者”的關係。

但是,問題來了!推理的必要條件其實只有一張圖,我們真的需要 GNN 中複雜的節點與邊的表示、複雜的資訊聚集和傳播,才能“推理”嗎?

今天我們帶來一篇楊迪一老師領銜的文章 GNN is a Counter? Revisiting GNN for Question Answering。這篇文章表明,GNN 被我們濫用了,推理真的不需要 GNN!簡簡單單的一個計數器就足夠!

論文題目:

GNN is a Counter? Revisiting GNN for Question Answering

論文連結:

https://arxiv-download。xixiaoyao。cn/pdf/2110。03192。pdf

GNN 真的有用嗎

在介紹這篇文章之前,我們還是先來回顧下在 KBQA 問題上,大家用 GNN 的做法。

KBQA 的主要知識來源有兩個方面:預訓練模型中隱含的知識、知識圖譜中顯式的知識。為了用上預訓練模型的知識,大家用預訓練模型作為 encoder,得到實體和問題的表示;為了用上知識圖譜中的知識,大家從知識圖譜中抽取問題相關的子圖。接下來將節點表示、邊的表示作為輸入,過幾層 GNN,得到最佳化的節點表示,最後送給分類器分類。

為了探究有沒有必要使用 GNN,作者使用 Sparse Variational Dropout (SparseVD) 給 GNN 的網路結構解剖。SparseVD 原本是用來尋找網路結構中,哪些引數是不重要的,以此對模型進行剪枝和壓縮。在這篇文章中,作者使用 SparseVD 探尋 GNN 中各層對推理過程的貢獻,sparse ratio 越低,代表這些引數越沒用。

作者在之前的 SOTA QA-GNN[1] 上進行剪枝,得到的結果令人震驚:

隨著訓練的推進,GNN 前面節點的 embedding 層越來越沒用,但邊的表示一直對最後的預測準確率有很大影響。

這張圖表明,不僅節點 embedding 層引數沒用,節點的初始化也沒用。甚至作者在其他模型中也對節點初始化剪枝,發現所有方法裡都沒用!

第二層 GNN 上,圖注意力模組中的 key 和 query 完全沒用,只有 value 比較有用。那麼圖注意力計算注意力權重不也就完全無效了嗎?注意力模組注意不到任何元素,這和一個線性變換又有什麼區別呢?

綜上所述,似乎 GNN 裡面很多部分都是不需要的?為了證明這一點,作者設計了一個 GNN 的簡化版本 —— graph soft counter。

簡單的 counter,一樣有效

透過上面的實驗我們可以發現,GNN 中邊的表示,以及資訊傳遞和聚合,都是很重要的;其它諸如圖注意力、節點表示,都可有可無。於是作者只留下兩個結構:Edge encoder 用來構建邊的表示,Graph Soft Counter layer 用來做資訊傳遞和聚合。

Edge encoder 是最簡單的兩層 MLP,輸入邊的 1-hot 表示

。其中

表示四種節點類別,

表示 38 種邊的類別(這裡的 38 種是 17 種關係類別,加上問題/答案的邊,以及所有類別的反向)。MLP 最後就輸出一個 [0,1] 之間的 float 數字,作為邊的表示。

Graph Soft Counter layer(GSC) 完全遵照了 MPNN 資訊聚合與傳播的思路,並且這是無引數的!具體步驟如下圖所示,一層 GSC 包含兩步,即先將節點的值加到邊上,再將邊的值加到節點上。

對,就是這麼簡單的一個模型!引數還不到 GNN 的 1%!

邊的表示的維度是 1,因此這個表示就可以被看做邊的重要性分數;GSC 的資訊聚集,因此也能被看做“數數”:數一數邊兩端的結點有多重要,數一數結點周圍的邊有多重要。

實驗

作者們在 CommonsenseQA 和 OpenBookQA 兩個資料集進行了實驗。CommonsenseQA 需要模型對常識進行推理,而 OpenBookQA 需要對科學知識進行推理。作者們不僅在這兩個資料集的 leaderboard 上進行了評測,還基於同一個預訓練模型,與前人所有基於 GNN 推理的模型進行了對比。

在 CommonsenseQA 上,GSC(本方法)超過了所有基於 GNN 的方法,在 dev 和 test 上分別由 2。57% 和 1。07% 的提升。

在 CommonsenseQA 的 Leaderboard 上,GSC 排名也非常靠前。這裡排在首位的 UnifiedQA,其引數量是 GSC 的 30 倍。

在 OpenBookQA 上,GSC 也有相似的驚人效果,甚至在 leaderboard 上超過了 30 倍引數的 UnifiedQA!

怎麼才能證明 GSC 也有推理的能力呢?作者們採用了這樣的一個假設:如果 GSC 的預測結果和基於 GNN 推理的模型預測結果比較一致,那麼就說明 GSC 也有與 GNN 差不多的推理能力。實驗發現,兩次 GSC 的結果與 ground truth 的交集有 69% 的重合率(下圖第一個),而 GSC 與前面不同 baseline 和 ground truth 也有 60% 左右的重合率,且與基於 GNN 推理的模型重合率更大。這表明 GSC 與 GNN 有差不多的推理能力。

此外,作者還舉出一個例子,來演示 GSC 的推理過程。直接透過每一步的分數,我們就能得到推理路徑,最終答案節點也得到一個分數,在不同的答案之間就用這個分數做出選擇。

思考和總結

這篇文章表明 GNN 中很多模組對於推理都是可有可無的。但似乎這和我們之前的印象有些不同?

大家一直都說,資訊在圖上傳播的路徑就是推理路徑。GAT 的 attention 權重就是傳播資訊的一個權重,因此大家在 case study 上看資訊傳播路徑的時候,都是找 attention score 大的,看做資訊傳播的下一跳。然而本文卻表明,attention 這部分引數對於結果幾乎沒有用?另外,在基於 counter 的模型上,case study 中依然能復現出資訊傳播的過程。那這是不是說,節點之間的 attention score 沒有必要,節點自己的表示就足夠了?那 GAT 為什麼又會比 GCN 好呢?

GNN 裡面到底哪些是有用的引數?推理真正需要什麼模組?這些都需要更多的研究和思考。

參考資料:

[1] Michihiro Yasunaga, et。al。, “QA-GNN: Reasoning with Language Models and Knowledge Graphs for Question Answering”, NAACL 2021, https://arxiv-download。xixiaoyao。cn/pdf/2104。06378。pdf

[2] Guoshun Nan, et。al。, “Reasoning with Latent Structure Refinement for Document-Level Relation Extraction”, ACL 2020, https://arxiv-download。xixiaoyao。cn/pdf/2005。06312。pdf

上一篇:戰雙帕彌什:隨隨便便寫一點肉雞簡易攻略
下一篇:茄子這樣做比肉都香,我家隔三差五做一回,剛上桌5分鐘就光碟!