Graph Contrastive Learning with Model Perturbation
論文地址:https://openreview.net/pdf?id=rfvuuHmqHOQ
https://openreview.net/forum?id=rfvuuHmqHOQ
這篇文章借鑒了無(wú)增強(qiáng)的圖對(duì)比學(xué)習(xí),提出了對(duì)模型進(jìn)行擾動(dòng)的圖對(duì)比學(xué)習(xí)方法PerturbGCL。在此之前,已經(jīng)有無(wú)增強(qiáng)的圖對(duì)比學(xué)習(xí)方法了,例如2022年提出的SimGRACE.
SimGRACE添加的是Gaussian noise擾動(dòng),PerturbGCL還額外添加了data-driven的adaptive noise perturbation.也就是說(shuō),PerturbGCL不僅有weight perturbation,還有weight Prune.
論文題目中說(shuō)是Model Perturbation,但是更準(zhǔn)確地是perturb GNN architectures.為了達(dá)到這個(gè)目的,PerturbGCL同時(shí)從message passing和model weight這兩個(gè)角度入手,分別使用randMP和weightPrune這兩個(gè)擾動(dòng)策略。因此,用上述提出的模型擾動(dòng)來(lái)模擬數(shù)據(jù)增強(qiáng)的效果。
在方法層面,這篇文章提出的方法并不難理解。PerturbGCL以GraphCL為基礎(chǔ),在其基礎(chǔ)上進(jìn)行構(gòu)建。GraphCL是一種傳統(tǒng)的圖對(duì)比學(xué)習(xí)方法,它的輸入是2個(gè)不同增廣后的圖像,并被輸入到網(wǎng)絡(luò)中(網(wǎng)絡(luò)的參數(shù)和結(jié)構(gòu)是一模一樣的)。與之相反,PerturbGCL的輸入是原始的graph,但是輸入到2個(gè)不同的網(wǎng)絡(luò)分支中。網(wǎng)絡(luò)的第一個(gè)分支是傳統(tǒng)的GNN,沒(méi)有經(jīng)過(guò)改動(dòng),但是網(wǎng)絡(luò)的第2個(gè)分支發(fā)生了變化,改變了消息傳播的過(guò)程,并改變了模型的權(quán)重參數(shù)(disturbs the message propagation process and model weights)。
為了擾動(dòng)message propagation過(guò)程,改變模型權(quán)重,作者分別提出了2個(gè)對(duì)應(yīng)的模塊:randMP和weightPrune.
randMP
消息傳遞是GNN體系結(jié)構(gòu)的一個(gè)關(guān)鍵組件,因?yàn)樗峁┝藦亩嗵従泳酆咸卣鞯撵`活性。在圖G上執(zhí)行k次MP相當(dāng)于基于節(jié)點(diǎn)v的k跳局部子圖更新節(jié)點(diǎn)v的表示。有鑒于此,k可以自然地被視為擾動(dòng)因子,其中不同的k值為同一節(jié)點(diǎn)生成不同但語(yǔ)義相關(guān)的表示。
進(jìn)行不同次數(shù)的消息傳遞
weightPrune
通過(guò)prune目標(biāo)編碼器的模型參數(shù)來(lái)創(chuàng)建擾動(dòng)分支。具體地說(shuō),用表示目標(biāo)分支的權(quán)重,用
表示剪枝分支的mask,這個(gè)mask與
具有相同的size.在每一輪迭代中,根據(jù)預(yù)先定義的剪枝系數(shù)
來(lái)修剪目標(biāo)分支。這個(gè)剪枝系數(shù)與權(quán)重值的大小有關(guān),如果它們的幅度排名低于
,則mask權(quán)重。通過(guò)改變
,我們可以在一定程度上控制目標(biāo)分支的失真程度。之后,目標(biāo)分支和擾動(dòng)分支將分別使用
和
作為模型權(quán)重來(lái)生成圖表征,然后將其送到對(duì)比損失中。由于掩碼指示符
是從最新的目標(biāo)模型不斷更新的,因此這兩個(gè)分支將在訓(xùn)練期間共同進(jìn)化。