文章名稱
【Arxiv-2021】【Sun Yat-sen University/Sea AI Lab/Tencent Jarvis Lab,】Prototypical Graph Contrastive Learning
核心要點
文章旨在解決現(xiàn)有圖神經(jīng)網(wǎng)絡(luò)依賴標(biāo)注數(shù)據(jù),而圖對學(xué)習(xí)方法采用均勻采樣負樣本的方式導(dǎo)致負樣本可能存在與正樣本具有相同語義信息的問題,提出PGCL方法,利用聚類的方法尋找樣本的聚類中心(文章中每個圖是一個樣本),拉近不同圖增廣視圖下,同聚類中的樣本的向量表示。在構(gòu)造負樣本時只從與目標(biāo)樣本屬于不同類別的聚類中采樣。并且,利用聚類中心的距離對樣本進行加權(quán)。
上節(jié)介紹了作者的研究背景和思路,以及如何利用聚類consistency進行對比,本節(jié)繼續(xù)介紹reweithed的做法。
研究背景
為了解決對標(biāo)注樣本的依賴,許多圖算法被提出,通過對比不同增廣視圖下的樣本向量表示,學(xué)習(xí)可遷移的、魯棒的向量表示。然而,作者認為現(xiàn)有圖對比學(xué)習(xí)方法,存在兩個問題,
- 現(xiàn)有方法主要側(cè)重于建模樣本級別的結(jié)構(gòu)相似性,并沒有顯示的建模圖數(shù)據(jù)中整體結(jié)構(gòu)的差異(其實就是區(qū)分局部結(jié)構(gòu)在整體網(wǎng)絡(luò)中的差別,也就是不同的聚類)。
-
通過均勻隨機負采樣得到的負樣本,很可能在不經(jīng)意的情況下,語義上與目標(biāo)樣本相同。具體案例如下圖Figure1所示,其中,fasle negative與目標(biāo)樣本具有相同的六邊形環(huán)結(jié)構(gòu),因此,其實是“right positive”。這樣的負樣本會導(dǎo)致向量空間中本應(yīng)該被拉近的點被推遠,因而降低了模型性能[15]。
sampling bias
方法細節(jié)
Prototypical Graph Contrastive Learning
PGCL的整體框架如下圖所示。與現(xiàn)有的圖對比學(xué)習(xí)方法一樣,采用兩個不同的圖增廣方法對原始圖數(shù)據(jù)進行增廣,并得到兩個增廣后視圖
。隨后,經(jīng)過共享的GNN網(wǎng)絡(luò)
得到對應(yīng)的向量表示
。PGCL利用如下2個核心策略提升對比學(xué)習(xí)的效果。

上節(jié)節(jié)介紹了如何利用聚類consistency進行對比,接下來介紹reweithed的做法。
Reweighted Contrastive Objective。為了緩解上述采樣偏差的問題,作者從不同聚類中采樣負樣本,并利用其與目標(biāo)樣本所屬聚類中心的聚類加權(quán)負樣本。具體的采樣和損失函數(shù)可以形式化為如下圖所示。
negative sampling with cluster center
除了false negative以外,隨機負采樣可能導(dǎo)致負樣本中存在大量的easy case,導(dǎo)致學(xué)習(xí)的效果不夠充分,因此作者進一步采用如下圖所示的方式對負樣本進行weighting。
reweighted objective
是樣本間權(quán)重,其具體計算公式如下圖所示,其中
。
是歸一化系數(shù)。而
表示樣本目標(biāo)樣本
與各個聚類中心之間距離的均值和方差。
weights值得注意的是,這里的的距離是兩個樣本聚類中心的劇烈,而不是樣本之間的自然距離。
PGCL的整體損失綜合了上述兩個部分,用參數(shù)來調(diào)節(jié),具體形式如下圖所示。

實驗結(jié)果
Comparison with SOTA
作者采用GIN作為編碼器,利用SVM做分類器,并在7個數(shù)據(jù)集上,對比了包括Graph Kernel,無監(jiān)督和與監(jiān)督圖學(xué)習(xí)方法在內(nèi)的多個基準(zhǔn)。采用10折交叉驗證的準(zhǔn)確率作為性能評估指標(biāo),并進行5次實驗求實驗結(jié)果的均值和方差,其結(jié)果如下圖所示。

個人感覺,整體上看優(yōu)于很多方法,但是和GIN相比還是有2%以內(nèi)的gap。作者提到,相比于其他方法,PGCL已經(jīng)向GIN迫近很多了。
Ablation Study
作者以InfoNCE為基準(zhǔn),進行了消融實驗。單獨和InfoNCE比,consistency和reweighted效果都是好的,并且consistency+reweighted優(yōu)于InfoNCE+consistency。為什么作者沒比較InfoNCE+reweighted?個人感覺是因為reweighted就包含了consistency的信息。

Sensitivity Analysis
可以看到,聚類數(shù)量在10-20左右效果最好,多了效果反而變差,符合直覺,因為很多細小的類會簇擁在一起。而batch size一直能提升模型效果,如同心得體會里說的,和simCLR一樣,作者做的mini-batch操作(聚類),所以必然要大的batch size效果才好。

代碼實現(xiàn)
PGCL的訓(xùn)練偽代碼如下圖所示。


心得體會
聚類先驗
其實很多文章提到[*1](LP這篇引用了當(dāng)前這篇文章,后續(xù)也絮叨一下LP這篇)圖增廣(更準(zhǔn)確應(yīng)該說數(shù)據(jù)增廣就是在引入先驗知識。所以,從這個角度來說,文章做的聚類就是在引入某種角度下的先驗,其實有點類似深度聚類,利用聚類標(biāo)簽指導(dǎo)監(jiān)督學(xué)習(xí)。
這里存在兩個值得討論的地方,
- 如何尋找聚類先驗?
- 聚類先驗是否可靠?
作者采用引入隨機初始化的聚類中心向量,并依據(jù)深度聚類的方法,共同學(xué)習(xí)聚類中心和編碼器。文中作者表示可以直接把聚類中心當(dāng)做Linear層的權(quán)重矩陣實現(xiàn),因為是要和編碼器學(xué)習(xí)的向量表示做矩陣相乘。
但是,作者的聚類是在mini-batch里做,并沒有像沒有想其他deep clustering的方法一樣提純聚類標(biāo)簽。并且,這樣的做法和SimCLR等方法一樣,需要較大的batch size(作者在消融實驗里也提及了batch size的敏感度)。
平均分割
作者要求樣本被聚類平均分割,個人感覺,這種做法符合最大熵原理,并且主要是為了消除平凡解。但是,這里的假設(shè)是不知道聚類中樣本的比例大概是多少。如果可以用一些簡單的聚類確定大致的聚類數(shù)量以及每個聚類下樣本的個數(shù),是否也可以在要求聚類不是平均分配的呢?
值得商榷的地方
如果沒理解錯,的dimension好像寫錯了。如果每列是一個聚類中心的話,
?

此外,吹毛求疵的覺得不同的Augmentation view應(yīng)該和數(shù)據(jù)對上,比如...
文章引用
[15] Ching-Yao Chuang, Joshua Robinson, Lin Yen-Chen, Antonio Torralba, and Stefanie Jegelka. Debiased contrastive learning. NeurIPS, 2020.
[27] Yuki Markus Asano, Christian Rupprecht, and Andrea Vedaldi. Self-labelling via simultaneous clustering and representation learning. ICLR, 2020.
[29] Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, and Armand Joulin. Unsupervised learning of visual features by contrasting cluster assignments. NeurIPS, 2020.
[41] Marco Cuturi. Sinkhorn distances: Lightspeed computation of optimal transport. NeurIPS, 26:2292–2300, 2013.
[*1] You, Yuning, Tianlong Chen, Zhangyang Wang and Yang Shen. “Bringing Your Own View: Graph Contrastive Learning without Prefabricated Data Augmentations.” Proceedings of the Fifteenth ACM International Conference on Web Search and Data Mining (2022): n. pag.



