你的 GNN,可能 99% 的参数都是冗余的
文 | iven
自從圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)面世以來,圖神經(jīng)網(wǎng)絡(luò)(GNN)的熱潮一瞬間席卷 NLP。似乎在一切 NLP 任務(wù)上,引入一個(gè)圖結(jié)構(gòu),引入一個(gè) GNN,就能讓模型擁有推理能力。更重要的是,似乎在實(shí)驗(yàn)結(jié)果上,也能證明 GNN + NLP 的有效性。
具體地,GNN + NLP 可以分成以下兩類任務(wù):
在本來就需要圖的任務(wù)上,比如知識(shí)圖譜問答(KBQA),大家從問題和答案中抽取關(guān)鍵實(shí)體,從知識(shí)圖譜中將這些實(shí)體,以及及所有路徑提取出來,作為知識(shí)圖譜針對(duì)這個(gè)問題提取出的子圖,在這上使用 GNN 進(jìn)行推理。
在本來沒有圖的任務(wù)上,比如文檔級(jí)的抽取或者理解任務(wù),大家將文檔中的關(guān)鍵實(shí)體作為節(jié)點(diǎn),并用一些簡(jiǎn)單的規(guī)則連邊(比如,在同一個(gè)句子里的實(shí)體連邊、指代同一個(gè)概念的實(shí)體連邊,等等),得到一張文檔對(duì)應(yīng)的圖,在上面用 GNN 推理。
看起來建圖是有用的,可接下來,為啥一定要用 GNN 呢?最近的文章里,人們都說 GNN 有“推理能力”,即 GNN 在圖上的信息傳播過程相當(dāng)于在圖上找路徑,這些路徑可以解釋答案得到的推理步驟。
在 KBQA 任務(wù)里,GNN 能在圖中挑選出從問題實(shí)體到答案的推理路徑。比如:
這里提問:哪里能找到有電梯的地下室呢?衣柜、教堂、辦公樓,三選一,答案顯然是辦公樓。在這個(gè) case 里,模型預(yù)測(cè)出了 elevator → building → office building 和 basement → building → office building 兩條路徑,這看起來都能解釋答案的選擇邏輯。
在文檔級(jí)關(guān)系抽取任務(wù)里,GNN 的推理路徑就表示了關(guān)系的傳遞。比如:
圖中右邊是文本,大概講的是二戰(zhàn)中幾個(gè)國家軍隊(duì)的故事,下劃線的是實(shí)體;左邊是 World War II 這個(gè)實(shí)體,在兩層 GNN 中,分別對(duì)所有實(shí)體的注意力權(quán)重。這樣我們也能得到與前一個(gè)例子相似的一些推理路徑:World War II → New Ireland → Japan 和 World War II → New Ireland → Imperial Japanesae Army。這也解釋了為什么 Japan 與 World War II 是“參與者”的關(guān)系。
但是,問題來了!推理的必要條件其實(shí)只有一張圖,我們真的需要 GNN 中復(fù)雜的節(jié)點(diǎn)與邊的表示、復(fù)雜的信息聚集和傳播,才能“推理”嗎?
今天我們帶來一篇楊迪一老師領(lǐng)銜的文章 GNN is a Counter? Revisiting GNN for Question Answering。這篇文章表明,GNN 被我們?yōu)E用了,推理真的不需要 GNN!簡(jiǎn)簡(jiǎn)單單的一個(gè)計(jì)數(shù)器就足夠!
論文題目:
GNN is a Counter? Revisiting GNN for Question Answering
論文鏈接:
https://arxiv-download.xixiaoyao.cn/pdf/2110.03192.pdf
GNN 真的有用嗎
在介紹這篇文章之前,我們還是先來回顧下在 KBQA 問題上,大家用 GNN 的做法。
KBQA 的主要知識(shí)來源有兩個(gè)方面:預(yù)訓(xùn)練模型中隱含的知識(shí)、知識(shí)圖譜中顯式的知識(shí)。為了用上預(yù)訓(xùn)練模型的知識(shí),大家用預(yù)訓(xùn)練模型作為 encoder,得到實(shí)體和問題的表示;為了用上知識(shí)圖譜中的知識(shí),大家從知識(shí)圖譜中抽取問題相關(guān)的子圖。接下來將節(jié)點(diǎn)表示、邊的表示作為輸入,過幾層 GNN,得到優(yōu)化的節(jié)點(diǎn)表示,最后送給分類器分類。
為了探究有沒有必要使用 GNN,作者使用 Sparse Variational Dropout (SparseVD) 給 GNN 的網(wǎng)絡(luò)結(jié)構(gòu)解剖。SparseVD 原本是用來尋找網(wǎng)絡(luò)結(jié)構(gòu)中,哪些參數(shù)是不重要的,以此對(duì)模型進(jìn)行剪枝和壓縮。在這篇文章中,作者使用 SparseVD 探尋 GNN 中各層對(duì)推理過程的貢獻(xiàn),sparse ratio 越低,代表這些參數(shù)越?jīng)]用。
作者在之前的 SOTA QA-GNN[1] 上進(jìn)行剪枝,得到的結(jié)果令人震驚:
隨著訓(xùn)練的推進(jìn),GNN 前面節(jié)點(diǎn)的 embedding 層越來越?jīng)]用,但邊的表示一直對(duì)最后的預(yù)測(cè)準(zhǔn)確率有很大影響。
這張圖表明,不僅節(jié)點(diǎn) embedding 層參數(shù)沒用,節(jié)點(diǎn)的初始化也沒用。甚至作者在其他模型中也對(duì)節(jié)點(diǎn)初始化剪枝,發(fā)現(xiàn)所有方法里都沒用!
在第二層 GNN 上,圖注意力模塊中的 key 和 query 完全沒用,只有 value 比較有用。那么圖注意力計(jì)算注意力權(quán)重不也就完全無效了嗎?注意力模塊注意不到任何元素,這和一個(gè)線性變換又有什么區(qū)別呢?
綜上所述,似乎 GNN 里面很多部分都是不需要的?為了證明這一點(diǎn),作者設(shè)計(jì)了一個(gè) GNN 的簡(jiǎn)化版本 —— graph soft counter。
簡(jiǎn)單的 counter,一樣有效
通過上面的實(shí)驗(yàn)我們可以發(fā)現(xiàn),GNN 中邊的表示,以及信息傳遞和聚合,都是很重要的;其它諸如圖注意力、節(jié)點(diǎn)表示,都可有可無。于是作者只留下兩個(gè)結(jié)構(gòu):Edge encoder 用來構(gòu)建邊的表示,Graph Soft Counter layer 用來做信息傳遞和聚合。
Edge encoder 是最簡(jiǎn)單的兩層 MLP,輸入邊的 1-hot 表示 。其中 表示四種節(jié)點(diǎn)類別, 表示 38 種邊的類別(這里的 38 種是 17 種關(guān)系類別,加上問題/答案的邊,以及所有類別的反向)。MLP 最后就輸出一個(gè) [0,1] 之間的 float 數(shù)字,作為邊的表示。
Graph Soft Counter layer(GSC) 完全遵照了 MPNN 信息聚合與傳播的思路,并且這是無參數(shù)的!具體步驟如下圖所示,一層 GSC 包含兩步,即先將節(jié)點(diǎn)的值加到邊上,再將邊的值加到節(jié)點(diǎn)上。
對(duì),就是這么簡(jiǎn)單的一個(gè)模型!參數(shù)還不到 GNN 的 1%!
邊的表示的維度是 1,因此這個(gè)表示就可以被看做邊的重要性分?jǐn)?shù);GSC 的信息聚集,因此也能被看做“數(shù)數(shù)”:數(shù)一數(shù)邊兩端的結(jié)點(diǎn)有多重要,數(shù)一數(shù)結(jié)點(diǎn)周圍的邊有多重要。
實(shí)驗(yàn)
作者們?cè)?CommonsenseQA 和 OpenBookQA 兩個(gè)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn)。CommonsenseQA 需要模型對(duì)常識(shí)進(jìn)行推理,而 OpenBookQA 需要對(duì)科學(xué)知識(shí)進(jìn)行推理。作者們不僅在這兩個(gè)數(shù)據(jù)集的 leaderboard 上進(jìn)行了評(píng)測(cè),還基于同一個(gè)預(yù)訓(xùn)練模型,與前人所有基于 GNN 推理的模型進(jìn)行了對(duì)比。
在 CommonsenseQA 上,GSC(本方法)超過了所有基于 GNN 的方法,在 dev 和 test 上分別由 2.57% 和 1.07% 的提升。
在 CommonsenseQA 的 Leaderboard 上,GSC 排名也非常靠前。這里排在首位的 UnifiedQA,其參數(shù)量是 GSC 的 30 倍。
在 OpenBookQA 上,GSC 也有相似的驚人效果,甚至在 leaderboard 上超過了 30 倍參數(shù)的 UnifiedQA!
怎么才能證明 GSC 也有推理的能力呢?作者們采用了這樣的一個(gè)假設(shè):如果 GSC 的預(yù)測(cè)結(jié)果和基于 GNN 推理的模型預(yù)測(cè)結(jié)果比較一致,那么就說明 GSC 也有與 GNN 差不多的推理能力。實(shí)驗(yàn)發(fā)現(xiàn),兩次 GSC 的結(jié)果與 ground truth 的交集有 69% 的重合率(下圖第一個(gè)),而 GSC 與前面不同 baseline 和 ground truth 也有 60% 左右的重合率,且與基于 GNN 推理的模型重合率更大。這表明 GSC 與 GNN 有差不多的推理能力。
此外,作者還舉出一個(gè)例子,來演示 GSC 的推理過程。直接通過每一步的分?jǐn)?shù),我們就能得到推理路徑,最終答案節(jié)點(diǎn)也得到一個(gè)分?jǐn)?shù),在不同的答案之間就用這個(gè)分?jǐn)?shù)做出選擇。
思考和總結(jié)
這篇文章表明 GNN 中很多模塊對(duì)于推理都是可有可無的。但似乎這和我們之前的印象有些不同?
大家一直都說,信息在圖上傳播的路徑就是推理路徑。GAT 的 attention 權(quán)重就是傳播信息的一個(gè)權(quán)重,因此大家在 case study 上看信息傳播路徑的時(shí)候,都是找 attention score 大的,看做信息傳播的下一跳。然而本文卻表明,attention 這部分參數(shù)對(duì)于結(jié)果幾乎沒有用?另外,在基于 counter 的模型上,case study 中依然能復(fù)現(xiàn)出信息傳播的過程。那這是不是說,節(jié)點(diǎn)之間的 attention score 沒有必要,節(jié)點(diǎn)自己的表示就足夠了?那 GAT 為什么又會(huì)比 GCN 好呢?
GNN 里面到底哪些是有用的參數(shù)?推理真正需要什么模塊?這些都需要更多的研究和思考。
萌屋作者:𝕚𝕧𝕖𝕟
在北大讀研,目前做信息抽取,對(duì)低資源、圖網(wǎng)絡(luò)都非常感興趣。希望大家在賣萌屋玩得開心 ヾ(=・ω・=)o
作品推薦
老板讓我用少量樣本 finetune 模型,我還有救嗎?急急急,在線等!
谷歌:CNN 擊敗 Transformer,有望成為預(yù)訓(xùn)練界新霸主!LeCun 卻沉默了...
中文 BERT 上分新技巧,多粒度信息來幫忙
恕我直言,很多小樣本學(xué)習(xí)的工作就是不切實(shí)際的
后臺(tái)回復(fù)關(guān)鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺(tái)回復(fù)關(guān)鍵詞【頂會(huì)】
獲取ACL、CIKM等各大頂會(huì)論文集!
?
[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
總結(jié)
以上是生活随笔為你收集整理的你的 GNN,可能 99% 的参数都是冗余的的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Facebook提出生成式实体链接、文档
- 下一篇: 正确的LeetCode刷题姿势!