熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

"); //-->

博客專欄

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

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

發(fā)布人:騰訊AI實驗室 時間:2020-09-28 來源:工程師 發(fā)布文章

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

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

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

1.png

預(yù)測方法

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

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

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

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

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

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

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

2.jpg

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

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

3.jpg

因為其第二個階段很普通,所以我們只解讀一下第一個階段。

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

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

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

4.jpg

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

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

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

5.jpg

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

6.jpg

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

7.jpg

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

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

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



關(guān)鍵詞:

相關(guān)推薦

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

關(guān)閉