基于門控圖神經(jīng)網(wǎng)絡(luò)的圖序列學(xué)習(xí)
Graph-to-Sequence Learning using Gated Graph Neural Networks
墨爾本大學(xué)
University of Melbourne
本文是澳大利亞墨爾本大學(xué)發(fā)表于 ACL 2018 的工作,提出了一個(gè)在圖中編碼完整結(jié)構(gòu)信息的新模型,將門控圖神經(jīng)網(wǎng)絡(luò)與輸入變換耦合,該輸入變換允許節(jié)點(diǎn)和邊緣具有它們自己的隱層表示,并解決了先前工作中存在的參數(shù)爆炸問(wèn)題。實(shí)驗(yàn)結(jié)果表明,在AMR圖和基于句法的神經(jīng)機(jī)器翻譯中,本文模型優(yōu)于業(yè)內(nèi)的最好方法。
1 引言
圖結(jié)構(gòu)普遍存在于自然語(yǔ)言的表示中。尤其是,許多句子的語(yǔ)義框架使用有向無(wú)環(huán)圖作為基礎(chǔ)形式,而大多數(shù)基于樹的句法表示也可以看作圖。NLP應(yīng)用的范圍可以看作將圖結(jié)構(gòu)轉(zhuǎn)換成序列的過(guò)程。例如,句法機(jī)器翻譯需要將帶樹形標(biāo)注的源語(yǔ)句轉(zhuǎn)換為其翻譯。
前人工作大多依賴于基于語(yǔ)法的方法,如tree transducers和超邊替換文法。這些方法的一個(gè)關(guān)鍵限制是需要在圖形節(jié)點(diǎn)和tokens之間進(jìn)行對(duì)齊。這些對(duì)齊通常是自動(dòng)生成的,構(gòu)建語(yǔ)法時(shí)會(huì)傳播錯(cuò)誤。
在本文中,我們提出了一個(gè)圖到序列(g2s)學(xué)習(xí)模型,該模型利用神經(jīng)編碼器-解碼器架構(gòu)的最新進(jìn)展。具體地說(shuō),我們采用了一種基于門控圖神經(jīng)網(wǎng)絡(luò)的編碼器,它能夠在不損失信息的情況下生成完整的圖結(jié)構(gòu)。這樣的網(wǎng)絡(luò)用邊的信息作為標(biāo)注參數(shù),即使對(duì)于小規(guī)模標(biāo)注詞匯(按幾百的順序)來(lái)說(shuō),這都可能是有問(wèn)題的。為了解決這個(gè)問(wèn)題,本文還引入了一個(gè)圖形變換,將邊改變到其他節(jié)點(diǎn),解決了參數(shù)爆炸問(wèn)題。這也確保了邊具有特定于圖的隱藏向量,給網(wǎng)絡(luò)中的注意力和解碼模塊提供更多信息。
我們將本文模型與兩個(gè)圖序列問(wèn)題進(jìn)行比較,即摘要意義表示(AMRS)和基于源依存的信息神經(jīng)機(jī)器翻譯(NMT)。與以前的工作相比,我們的方法在不依賴于標(biāo)準(zhǔn)RNN編碼的情況下,優(yōu)于兩個(gè)任務(wù)中的強(qiáng)大的S2S基線。特別地,對(duì)于NMT,我們發(fā)現(xiàn),通過(guò)在依存樹中添加相鄰單詞之間的連續(xù)邊,避免了對(duì)RNNs的需要。這說(shuō)明了我們的方法的適用性:可以通過(guò)簡(jiǎn)單的圖形變換將語(yǔ)言偏差添加到輸入,而不需要對(duì)模型體系結(jié)構(gòu)進(jìn)行改變。
2 模型
本文架構(gòu)圖如下所示,以AMR圖為例,并將其轉(zhuǎn)換為其表面形式。與標(biāo)準(zhǔn)的S2S模型相比,主要的差別在于編碼器,在這里我們使用GGNN來(lái)構(gòu)建圖形表示。在下文中,我們將詳細(xì)解釋該體系結(jié)構(gòu)的組件。
門控圖神經(jīng)網(wǎng)絡(luò)
關(guān)于圖的遞歸網(wǎng)絡(luò)的早期方法假設(shè)參數(shù)的不動(dòng)點(diǎn)表示并使用contraction maps學(xué)習(xí)。而這限制了模型的容量,使得學(xué)習(xí)節(jié)點(diǎn)間的長(zhǎng)距離關(guān)系變得很困難。為了解決這些問(wèn)題,提出了門控圖神經(jīng)網(wǎng)絡(luò),以與門控遞歸單元類似的方式用門控機(jī)制擴(kuò)展了這些結(jié)構(gòu)。這允許通過(guò)現(xiàn)代反向傳播過(guò)程學(xué)習(xí)網(wǎng)絡(luò)。
給定有向圖
,
是節(jié)點(diǎn)
的集合,
是邊
的集合,
和
分別代表節(jié)點(diǎn)和邊的詞匯表。給定一個(gè)輸入圖,節(jié)點(diǎn)嵌入為
,GGNN定義如下:
在注意力編碼階碼模型中使用GGNNs
在S2S模型中,輸入是tokens序列,其中每個(gè)token由嵌入向量表示。然后,編碼器通過(guò)合并上下文(通常通過(guò)遞歸或卷積網(wǎng)絡(luò))將這些向量轉(zhuǎn)換為隱藏狀態(tài)表示。這些被饋送到注意力機(jī)制中,產(chǎn)生單個(gè)上下文向量,通知解碼器中的下一步操作。
我們的模型遵循類似的結(jié)構(gòu),其中編碼器是一個(gè)GGNN,它接收節(jié)點(diǎn)嵌入作為輸入,并使用圖結(jié)構(gòu)作為上下文,生成節(jié)點(diǎn)隱藏狀態(tài)作為最終輸出。從上圖的示例中可以看出,我們?cè)贏MR圖中每個(gè)節(jié)點(diǎn)上有4個(gè)隱藏向量。注意力和解碼器組件遵循類似的標(biāo)準(zhǔn)s2s模型,其中我們使用雙線性注意機(jī)制和2層LSTM作為解碼器。
雙向和位置嵌入
雖然我們的體系結(jié)構(gòu)在理論上可以與一般圖一起使用,但是有根有向無(wú)環(huán)圖(DAG)可以說(shuō)是我們所處理的問(wèn)題中最常見的一類。這意味著節(jié)點(diǎn)嵌入信息以自上而下的方式傳播。在這項(xiàng)工作中,我們也遵循這一過(guò)程,確保信息均勻地在圖中傳播。然而,這又帶來(lái)了另一個(gè)限制:因?yàn)閳D形基本上是無(wú)方向的,所以編碼器現(xiàn)在不知道輸入中存在的任何內(nèi)在層次結(jié)構(gòu)。受Geern等人的啟發(fā),本文通過(guò)在每個(gè)節(jié)點(diǎn)中加入位置嵌入來(lái)解決這個(gè)問(wèn)題。這些嵌入被表示為與根節(jié)點(diǎn)的最小距離的整數(shù)值索引,并且被學(xué)習(xí)為模型參數(shù)。這種位置嵌入被限制為有根DAG:對(duì)于一般圖,可以使用不同的距離概念。
Levi Graph Transformation
本文提出將輸入圖轉(zhuǎn)換為等價(jià)Levi圖。給定一個(gè)圖
,Levi圖定義為
,
,新的邊集合
包含出現(xiàn)在原始圖中的每一個(gè)(node,edge)對(duì)的一個(gè)邊。
直觀地,將圖轉(zhuǎn)換成其Levi圖等價(jià)為將邊轉(zhuǎn)換為附加節(jié)點(diǎn)。因?yàn)長(zhǎng)evi圖沒(méi)有標(biāo)記的邊,所以沒(méi)有參數(shù)爆炸的風(fēng)險(xiǎn):原始的邊標(biāo)簽以與節(jié)點(diǎn)相同的方式表示為嵌入。此外,編碼器自然生成原始邊的隱藏狀態(tài)。圖2詳細(xì)地展示了轉(zhuǎn)換步驟。
3 實(shí)驗(yàn)
我們使用最新的AMR語(yǔ)料,包含36521/1368/1371個(gè)訓(xùn)練、開發(fā)和測(cè)試集合的切分。每一個(gè)圖首先使用一個(gè)包含實(shí)體簡(jiǎn)化和匿名現(xiàn)象的方法。這個(gè)預(yù)處理步驟在將圖轉(zhuǎn)換為等價(jià)Levi圖之前進(jìn)行。對(duì)于s2s基線,我們也同樣添加了范圍標(biāo)記。本文的基線模型采用基于注意力機(jī)制的s2s模型。對(duì)于g2s模型,設(shè)置GGNN編碼器層次為8。維度設(shè)置為512,GGNN編碼器為576。所以模型都使用Adam進(jìn)行訓(xùn)練,初始學(xué)習(xí)率設(shè)置為0.0003,batch大小設(shè)置為16。本文使用BLEU進(jìn)行評(píng)價(jià),采用bootstrap resampling檢查統(tǒng)計(jì)的重要性。
下圖展示了在測(cè)試集上的結(jié)果。當(dāng)使用相當(dāng)數(shù)量的參數(shù)時(shí),我們的方法在單個(gè)模型和集成中都顯著優(yōu)于s2s基線。
在圖3中,我們展示了一個(gè)例子,我們的模型優(yōu)于基線。AMR圖包含四個(gè)重新引用,謂詞引用圖中先前定義的概念。我們可以看到,S2S預(yù)測(cè)超越了“India and China”這一短語(yǔ)。G2S預(yù)測(cè)避免了超生成,并且?guī)缀跬耆ヅ鋮⒖?。雖然這只是一個(gè)示例,但是它提供了保留完整的圖形結(jié)構(gòu)對(duì)這個(gè)任務(wù)有益的證據(jù),我們的定量結(jié)果證實(shí)了這一點(diǎn)。
我們的第二個(gè)評(píng)價(jià)是NMT,使用AS圖源語(yǔ)言依賴句法樹。在專注于一個(gè)媒體資源的情況下,額外的語(yǔ)言信息往往更有益。我們的實(shí)驗(yàn)包括兩種語(yǔ)言對(duì):英語(yǔ)德語(yǔ)和英語(yǔ)捷克語(yǔ)。下圖顯示了g2s+的輸入圖的示例,其中附加的順序邊連接單詞(為了簡(jiǎn)單起見,省略了反向和自身邊)。上部:具有相應(yīng)的依賴樹的句子。底部:轉(zhuǎn)換后的樹變成Levi圖,在單詞(虛線)之間有附加的順序連接。完整的圖還包含反向和自邊緣,在圖中省略。
下表顯示了這兩種語(yǔ)言對(duì)在測(cè)試集上的結(jié)果。不考慮序列信息的G2S模型落后于我們的基線。另外。我們發(fā)現(xiàn)BNNN層是獲得最佳結(jié)果的關(guān)鍵。然而,在相同的參數(shù)預(yù)算下,在單個(gè)模型和集成場(chǎng)景中,g2s+模型在BLEU得分方面優(yōu)于基線。這個(gè)結(jié)果表明,在不依賴于RN或體系結(jié)構(gòu)中的任何其他修改的情況下,在我們的模型中合并順序偏差是可能的。
有趣的是,分析CHRF++數(shù)時(shí)我們發(fā)現(xiàn)了不同的趨勢(shì)。這個(gè)度量在兩種語(yǔ)言對(duì)上都展示了PB-SMT模型的優(yōu)勢(shì),同時(shí)在En-Cs中還顯示了s2s的改進(jìn)性能。在兩個(gè)語(yǔ)言對(duì)中,無(wú)論是在系統(tǒng)層面還是句子層面上,CHRF++已經(jīng)顯示出更好的與人類判斷相聯(lián)系的BLEU。
4 總結(jié)
我們提出一種新的用于圖到序列學(xué)習(xí)的編碼器-解碼器結(jié)構(gòu),在兩個(gè)NLP任務(wù)中的表現(xiàn)都優(yōu)于基線:AMR圖生成和基于語(yǔ)法的NMT。我們的方法解決了以前工作中的線性信息丟失、參數(shù)爆炸等缺點(diǎn)。我們還特別展示了圖轉(zhuǎn)換如何在不改變底層架構(gòu)的情況下解決基于圖的網(wǎng)絡(luò)的問(wèn)題。這就是所提出的Levi圖轉(zhuǎn)換的情況,它確保解碼器可以關(guān)注邊和節(jié)點(diǎn),而且在NMT的情況下也可以關(guān)注添加到依賴樹的順序連接。總的來(lái)說(shuō),因?yàn)槲覀兊捏w系結(jié)構(gòu)可以處理一般的圖,所以以額外的節(jié)點(diǎn)和/或邊信息的形式添加語(yǔ)言偏差是很簡(jiǎn)單的。我們相信這在應(yīng)用方面是一個(gè)有趣的研究方向。
然而,我們的架構(gòu)有兩個(gè)主要的限制。第一種是GGN具有固定數(shù)量的層,即使圖在節(jié)點(diǎn)和邊的數(shù)量方面可以改變大小。更好的方法是允許編碼器具有動(dòng)態(tài)數(shù)量的層,可能基于輸入圖中的直徑(最長(zhǎng)路徑)。第二個(gè)限制來(lái)自Levi圖轉(zhuǎn)換:因?yàn)檫厴?biāo)簽表示為節(jié)點(diǎn),所以它們最終共享詞匯表,因此共享相同的語(yǔ)義空間。但這是不理想的,因?yàn)楣?jié)點(diǎn)和邊是不同的實(shí)體。一個(gè)有趣的替代方案是Weave Module Networks,它顯式地解耦節(jié)點(diǎn)和邊表示,而不會(huì)引起參數(shù)爆炸。未來(lái)工作中,我們考慮將這兩種思想結(jié)合到我們的架構(gòu)中。
-
解碼器
+關(guān)注
關(guān)注
9文章
1144瀏覽量
40836 -
編碼器
+關(guān)注
關(guān)注
45文章
3656瀏覽量
134895 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4777瀏覽量
100966
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論