论文小综 | Pre-training on Graphs
本文轉載自公眾號:浙大KG。
作者:方尹、楊海宏,浙江大學在讀博士,主要研究方向為圖表示學習。
在過去幾年中,圖表示學習和圖神經網絡(Graph Neural Network, GNN)已成為分析圖結構數據的熱門研究領域。圖表示學習旨在將具有復雜結構的圖數據轉換為保留多樣化圖屬性和結構特征的低維空間中的密集表示。通常,GNN將具有屬性的圖作為輸入,并利用卷積層逐層生成節點級別的表示。針對輸入圖上的一項任務,以端到端的方式利用監督信息訓練GNN模型。也就是說,對于同一張圖上的不同任務,需要具有足夠多且不同標簽的數據集,以訓練與每個任務相對應的特定GNN。但對于這些任務,尤其是對于大規模圖數據,獲取標簽的代價很大,難以得到足量的標注數據。
一種有效的解決此問題的方式是,在未標注的數據上通過自監督的方式對GNN模型進行預訓練。這樣,在下游任務上只需少量的標注數據對模型進行微調。
接下來我們將結合4篇論文簡述預訓練方法在圖結構數據上的應用。
GPT-GNN: Generative Pre-Training of Graph Neural Networks
發表會議:KDD 2020
論文鏈接:https://arxiv.org/pdf/2006.15437v1.pdf
這篇文章提出的GPT-GNN通過生成式預訓練的方式來初始化GNN,下圖為GPT-GNN的預訓練-微調流程。
如上圖所示,首先通過重構/生成輸入圖的結構信息和節點屬性信息來預訓練GNN,再將預訓練好的GNN及參數用于下游任務,針對少部分的標注數據進行微調。
在預訓練過程中,出于對訓練效率的考慮,作者希望只對輸入圖運行一次GNN就計算出節點屬性生成和邊生成過程的損失,且同時進行節點屬性生成和邊生成兩個任務。但是,邊的生成過程需要用到節點的屬性信息,如果兩個生成過程同時進行,會導致信息泄漏。為避免該問題,文章將節點在不同的階段分為屬性生成節點和邊生成節點兩種類型。值得注意的是,同一節點在不同階段既可以作為屬性生成節點又可以作為邊生成節點。
如圖,作者給出了屬性圖生成過程的一個具體例子。第一部分為對輸入圖的預處理過程:確定輸入圖的排列順序,隨機挑選一部分與目標節點相連的邊作為觀測到的邊,其余的邊作為masked邊,并刪除這些masked邊。第二部分為預訓練過程:首先將節點分為屬性生成節點和和邊生成節點,計算節點3,4和5的表示,包括它們的屬性生成節點和邊生成節點。最后,通過對每個節點并行進行節點屬性預測和masked邊的預測來訓練GNN模型。
表中總結了在OAG和Amazon上使用不同的預訓練方法在下游任務中表現出的性能。實驗在預訓練和微調階段之間設置了三種不同的傳輸設置:分別使用來自2014年之前和2014年之后的數據進行預訓練和微調(Time Transfer);將CS領域的論文用于下游微調,將其他領域的所有論文用于預訓練(Field Transfer);在其他領域2014年之前的論文上進行預訓練,并在CS領域2014年之后的論文上微調(Time+Field Transfer).總體而言,GPT-GNN框架顯著提高了兩個數據集上所有下游任務的性能。
Strategies for pre-training graph neural networks
發表會議:ICLR 2020
論文鏈接:https://arxiv.org/pdf/1905.12265.pdf
這篇文章提出了一種新的GNN預訓練策略及自監督方法。但是,只在整張圖或是只在單個節點上進行GNN預訓練時帶來的提升有限,甚至會導致在部分下游任務上出現負遷移。因此,本文在單個節點及整張圖上進行預訓練,使GNN同時學習局部和全局的信息傳遞。
圖為作者提出的節點級別的兩種自監督學習方法。其中,在context prediction任務中,通過子圖預測其周圍的圖結構,使模型具有通過中心節點預測周圍結構的能力;在attribute masking任務中,讓網絡能夠預測masked掉的節點或邊,以學習圖的性質及領域知識。
在進行節點級別預訓練后,接著進行圖級別的預訓練。為了將特定領域的信息編碼到圖表示中,作者提出圖級別的多任務的有監督預訓練,共同預測多個圖的標簽,每個屬性都對應于一個二分類任務,在得到圖表示之后利用線性分類器進行分類。
預訓練結束后,將得到的GNN模型在下游任務中進行微調。圖級別的表示經過線性分類器后預測下游任務的圖標簽。如下表所示,該預訓練框架在分子性質預測和蛋白質功能預測任務中超越了SOTA.
Self-Supervised Graph Transformer on Large-Scale Molecular Data
發表會議:NeurIPS 2020
論文鏈接:https://proceedings.neurips.cc/paper/2020/file/94aef38441efa3380a3bed3faf1f9d5d-Paper.pdf
這篇文章認為不應將上下文和節點/邊的信息分開考慮,由此提出Graph Representation frOm self-superVised mEssage passing tRansformer (GROVER)框架。
作者提出利用如上圖所示的GNN Transformer模型捕捉兩方面的信息:利用可隨機選擇跳數的動態信息傳遞網絡dyMPN得到query, key, value的向量表示,可得到子圖的結構信息;利用transformer作為encoder,可得到節點之間的全局信息。
本文在節點和邊級別及圖級別上分別提出了新的自監督任務。在上下文屬性預測任務中,將分子圖輸入GROVER后,可獲得節點和邊的表示,隨機選擇節點,獲得其表示后,為了讓該節點表示能夠編碼一些上下文的信息,統計固定跳數的子結構的統計信息作為標簽,并用該節點的表示去預測其上下文統計信息。在圖級別的主題預測任務中,作者統計了包含領域信息的子結構作為主題標簽,預測圖的主題標簽實際上是一個多分類任務。
該論文探索了大規模(一千萬個未標記分子數據、一億參數)預訓練GNN模型的潛力。利用自監督學習任務和提出的GTransfomer模型,GROVER可以從龐大的未標記分子數據集中學習到豐富的領域知識。通過對GROVER微調,可在11個benchmark上相比當前SOTA有不錯的提升。?
GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training
發表會議:KDD 2020
論文鏈接:https://arxiv.org/pdf/2006.09963.pdf
這篇文章設計了一種自監督的圖對比編碼(GCC)預訓練框架,關注圖結構的相似性,使兩個局部結構相似的節點擁有相近的表示。
對比學習旨在讓正樣本的表示空間更相近,并讓負樣本距離更遠。在GCC中,每個樣本被定義為一個針對特定節點的r階鄰居網絡(r-ego network)。如圖所示,正樣本為從同一個節點(紅色)采樣得到的一個r-ego子圖,大量負樣本為從其他節點(藍色)采樣的r-ego子圖。任意GNN均可以作為GCC的編碼器,本文選取Graph Isomorphism Network(GIN)作為編碼器。
GCC可用于多種下游任務。本文探索了GCC在節點分類、圖分類及相似搜索中的應用。具體地,在節點分類任務中,利用GCC預訓練得到的編碼器對節點的r-ego子圖進行編碼;在圖分類任務中,對輸入圖直接進行編碼;在相似搜索中,利用GCC分別對兩個節點的r-ego子圖進行編碼,并計算編碼后兩者的距離作為相似度的度量。
本文提出的GCC預訓練框架,利用對比學習的方法,有效的捕捉了圖的結構化信息,且可以遷移到各類下游任務及各類圖中。實驗結果表明了GCC在多中任務多個數據集上都獲得了較為突出的表現,證明了GCC的有效性。
綜上所述,為了提升模型的泛化性能,充分利用圖結構數據本身豐富的結構信息和特征信息,上述論文使用不同的思路(包括引入對比學習,生成式預訓練,模仿BERT的Masked Prediction策略等),將“預訓練-微調”的思路應用于圖表示學習中,從而進一步提升下游任務的性能。
“預訓練-微調”相關方案的主要特點是充分利用大量無標注數據。這一點與大規模圖結構數據高度契合。相關任務仍有較大的提升空間。除了圖結構的信息挖掘之外,知識圖譜等圖結構數據中所包含的語義信息與推理邏輯仍未被充分挖掘。歡迎大家補充和交流。
? ?
浙江大學知識引擎實驗室
?
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 網站。
總結
以上是生活随笔為你收集整理的论文小综 | Pre-training on Graphs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 评测通知 | 2022年全国知识图谱与语
- 下一篇: 论文浅尝 | 对于知识图谱嵌入表示的几何