博客專欄

EEPW首頁(yè) > 博客 > 騰訊AI Lab聯(lián)合清華、港中文,萬(wàn)字解讀圖深度學(xué)習(xí)歷史、最新進(jìn)展與應(yīng)用(6)

騰訊AI Lab聯(lián)合清華、港中文,萬(wàn)字解讀圖深度學(xué)習(xí)歷史、最新進(jìn)展與應(yīng)用(6)

發(fā)布人:騰訊AI實(shí)驗(yàn)室 時(shí)間:2020-09-28 來(lái)源:工程師 發(fā)布文章

4.圖神經(jīng)網(wǎng)絡(luò)的自監(jiān)督/無(wú)監(jiān)督學(xué)習(xí)

前面討論的 GNN 的表達(dá)能力、深度和規(guī)模都是基于監(jiān)督式方法,也就是說(shuō)我們有輸入圖的標(biāo)簽。但在現(xiàn)實(shí)生活中,獲取這些標(biāo)簽卻并非易事。比如在分子屬性預(yù)測(cè)任務(wù)中,為了獲取基本真值標(biāo)簽,我們必需專業(yè)人士的協(xié)助。此外,訓(xùn)練任務(wù)與測(cè)試任務(wù)并不總是一致的,比如對(duì)于社交網(wǎng)絡(luò)推薦任務(wù),我們可能在訓(xùn)練中使用的是節(jié)點(diǎn)用戶購(gòu)買商品的數(shù)據(jù),但我們卻想知道節(jié)點(diǎn)用戶是否想看某部電影,此時(shí)訓(xùn)練標(biāo)簽可能對(duì)測(cè)試就毫無(wú)作用了。因此,我們需要研究如何在沒有標(biāo)簽的情況下訓(xùn)練 GNN。

目前在自監(jiān)督圖學(xué)習(xí)方面已經(jīng)有一些研究成果了。我們可以根據(jù)它們的機(jī)制將其分為兩大類別:預(yù)測(cè)方法和基于信息論的方法。而根據(jù)所要解決的任務(wù)的差異,又可以分為兩種情況:節(jié)點(diǎn)分類和圖分類。

1.png

預(yù)測(cè)方法

首先來(lái)看預(yù)測(cè)方法。Yann LeCun 說(shuō)過(guò):「自監(jiān)督學(xué)習(xí)的系統(tǒng)是根據(jù)其輸入的某些部分來(lái)預(yù)測(cè)輸入的其它部分?!惯@就意味著在自監(jiān)督學(xué)習(xí)中,輸入的結(jié)構(gòu)是很重要的。而圖就是高度結(jié)構(gòu)化的,因此天生就很適合自監(jiān)督學(xué)習(xí)。

對(duì)于節(jié)點(diǎn)分類任務(wù),實(shí)現(xiàn)自監(jiān)督學(xué)習(xí)的方法通常有兩種。一是強(qiáng)制使用相鄰節(jié)點(diǎn)之間的相似性,二是基于鄰近節(jié)點(diǎn)執(zhí)行每個(gè)節(jié)點(diǎn)的重建。

首先,我們來(lái)看第一種方法,這種方法由 GraphSAGE 引入,其基本思想是強(qiáng)制每個(gè)節(jié)點(diǎn)與其鄰近節(jié)點(diǎn)有相似的表征。在這種情況下,設(shè) h_u 為 h_v 的鄰近節(jié)點(diǎn),則我們的目標(biāo)是最大化它們的內(nèi)積。我們稱這些鄰近節(jié)點(diǎn)為正例樣本。然后,我們最小化 h_v 與通過(guò)負(fù)采樣得到的其它節(jié)點(diǎn)之間的相似性,這些節(jié)點(diǎn)通常是從整個(gè)圖均勻采樣的。這樣,我們就可以使用反向傳播來(lái)訓(xùn)練 GNN 的參數(shù)了。

至于第二種方法,來(lái)自 Durán & Niepert 提出的 EP-B,其首先會(huì)計(jì)算鄰近節(jié)點(diǎn)的表征的聚合。目標(biāo)是最小化重建的結(jié)果與真實(shí)表征之間的距離。與此同時(shí),又最大化這個(gè)聚合表征與其它節(jié)點(diǎn)的表征之間的距離。

EP-B 和 GraphSAGE 的主要區(qū)別是 EP-B 強(qiáng)制使用了鄰近節(jié)點(diǎn)和每個(gè)其它節(jié)點(diǎn)的聚合之間的相似性,而 GraphSAGE 則直接強(qiáng)制使用了鄰近節(jié)點(diǎn)與每個(gè)節(jié)點(diǎn)的相似性。

在圖分類方面又有哪些方法呢?

我們要介紹的第一種方法是 N-Gram Graph。該方法分為兩個(gè)階段:節(jié)點(diǎn)表征階段和圖表征階段。節(jié)點(diǎn)表征階段使用了一種傳統(tǒng)的自監(jiān)督式節(jié)點(diǎn)嵌入方法 CBoW 來(lái)學(xué)習(xí)節(jié)點(diǎn)表征。在第二個(gè)階段,由于已有節(jié)點(diǎn)表征,則首先會(huì)為每條長(zhǎng)度為 n 的路徑計(jì)算表征,稱為 n-gram 路徑。這個(gè)路徑表征是以該路徑中每個(gè)節(jié)點(diǎn)的表征的積形式得到的。因此,它們將歷經(jīng)圖中所有的 n-gram 路徑并歸總所有路徑的表征。最終的圖表征是通過(guò)將 1-gram 到 T-gram 的路徑連接起來(lái)而得到的。

2.jpg

事實(shí)上,這樣的計(jì)算就等于沒有訓(xùn)練的 GNN。N-Gram Graph 的訓(xùn)練無(wú)需任何監(jiān)督。

另一種用于圖分類的方法是 PreGNN,它同樣分為兩個(gè)階段:第一個(gè)階段是執(zhí)行節(jié)點(diǎn)表征(但使用了兩種全新方法),第二階段是使用簡(jiǎn)單的讀出基于所有節(jié)點(diǎn)獲取圖層面的表征。但它是通過(guò)一種監(jiān)督式策略交叉熵來(lái)訓(xùn)練圖層面的表征。該研究指出,節(jié)點(diǎn)層面和圖層面的訓(xùn)練對(duì)最終性能而言都很重要。

3.jpg

因?yàn)槠涞诙€(gè)階段很普通,所以我們只解讀一下第一個(gè)階段。

在這一階段,PreGNN 提出了兩種損失函數(shù)。周圍結(jié)構(gòu)預(yù)測(cè)(context prediction)是強(qiáng)制節(jié)點(diǎn)表征與其周圍結(jié)構(gòu)相似。另外我們還執(zhí)行負(fù)采樣來(lái)最小化 h_v 與其它節(jié)點(diǎn)的周圍結(jié)構(gòu)之間的相似性。這個(gè)方法的思路很簡(jiǎn)單:每個(gè)節(jié)點(diǎn)周圍的結(jié)構(gòu)定義了該節(jié)點(diǎn)的局部拓?fù)浣Y(jié)構(gòu)。

另一個(gè)損失則是屬性掩碼(attribute masking)。這個(gè)損失的設(shè)計(jì)靈感來(lái)自強(qiáng)大的 NLP 模型 BERT。簡(jiǎn)單來(lái)說(shuō),就是隨機(jī)地使用掩碼替換節(jié)點(diǎn),然后構(gòu)建訓(xùn)練損失函數(shù)來(lái)預(yù)測(cè)輸入。方法很簡(jiǎn)單,但效果很好。

另一種值得一提的方法是 GCC。該方法使用了對(duì)比學(xué)習(xí)(contrastive learning)來(lái)執(zhí)行圖層面的無(wú)監(jiān)督學(xué)習(xí)。不過(guò) GCC 的一大主要問題是沒有節(jié)點(diǎn)層面的訓(xùn)練。

4.jpg

總結(jié)一下,在圖分類任務(wù)上,N-Gram Graph 和 PreGNN 都使用了節(jié)點(diǎn)層面的自監(jiān)督,而 GCC 使用了圖層面的自監(jiān)督。那么,我們自然會(huì)問:能不能同時(shí)使用節(jié)點(diǎn)層面和圖層面的自監(jiān)督?

答案當(dāng)然是肯定的。這就要談到騰訊 AI Lab 研究團(tuán)隊(duì)提出的 GROVER 了。

GROVER 同樣分為兩個(gè)階段。在節(jié)點(diǎn)階段,我們還同時(shí)考慮了邊,但為了說(shuō)明簡(jiǎn)單,這里僅討論節(jié)點(diǎn)表征過(guò)程。在這一階段,首先為每個(gè)節(jié)點(diǎn)提取一個(gè)詞典池。我們稱之為 key。然后我們像 BERT 一樣為每個(gè)節(jié)點(diǎn)加掩碼,然后預(yù)測(cè)每個(gè)節(jié)點(diǎn)周圍的局部結(jié)構(gòu)。如果局部結(jié)構(gòu)與詞典中的一個(gè) key 匹配,則在該維度上輸出 1,否則便輸出 0。注意這是一個(gè)多標(biāo)簽分類問題,因?yàn)槊總€(gè)節(jié)點(diǎn)的局部結(jié)構(gòu)通常有多個(gè)。這樣,我們僅需要一類掩碼就能做到 PreGNN 的兩件事。

5.jpg

然后在圖階段,預(yù)測(cè)是相似的。我們也首先提取 graph motif,其由典型的官能團(tuán)(比如苯環(huán))構(gòu)成。然后我們使用 GNN 獲取每個(gè)圖的輸出。使用該輸出,我們將預(yù)測(cè)這個(gè)圖是否包含這些 graph motif。注意這也是一個(gè)多標(biāo)簽分類問題。

6.jpg

除此之外,騰訊 AI Lab 還在該研究中提出了一種類似 Transformer 的強(qiáng)大 GNN 模型:GTransformer。其首先會(huì)使用一種新提出的名為 dyMPN 的 動(dòng)態(tài)擴(kuò)展范圍MPNN 來(lái)獲取每個(gè)輸入圖的 key、查詢和值,然后會(huì)像 Transformer 一樣獲取最終輸出結(jié)果。實(shí)驗(yàn)結(jié)果證明了這一模式的強(qiáng)大能力。

7.jpg

以上這些就是 GROVER 的關(guān)鍵組件。更進(jìn)一步的,我們還實(shí)現(xiàn)了一個(gè)分布式的圖訓(xùn)練框架,最終成功在1000 萬(wàn)個(gè)無(wú)標(biāo)注分子數(shù)據(jù)上預(yù)訓(xùn)練帶有 1 億個(gè)參數(shù)的大模型。

使用這個(gè)預(yù)訓(xùn)練的模型,我們可以針對(duì)下游任務(wù)進(jìn)行微調(diào)。在此基礎(chǔ)上,GROVER 可以取得顯著優(yōu)于 MPNN 和 DMPNN 等傳統(tǒng)方法的表現(xiàn),同時(shí)也優(yōu)于 N-Gram 和 PreGNN 等自監(jiān)督方法。

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉