論文資訊
論文標題:Graph Contrastive Clustering
論文作者:Huasong Zhong, Jianlong Wu, Chong Chen, Jianqiang Huang, Minghua Deng, Liqiang Nie, Zhouchen Lin, Xian-Sheng Hua
論文來源:2021, ICCV
論文地址:download
論文程式碼:download
1 Introduction
研究方向:解決傳統的 URL 沒有考慮到類別資訊和聚類目標的問題。
傳統對比學習和本文研究的對比:
- 傳統方式:圖及其增強檢視為正對;
- 本文:一個聚類簇中的檢視也應共享相似的特徵表示;
2 Method
2.1 Task
將 $N$ 個未標記影像通過一個基於CNN 的網路聚類分配為 $K$ 個不同的類:
$\ell_{i}=\arg \underset{j}{\text{max}} \left(p_{i j}\right), 1 \leq j \leq K$
2.2 Graph Contrastive (GC)
Symmetric normalized Laplacian:
$L^{\mathrm{sym}}:=D^{-1 / 2} L D^{-1 / 2}=I-D^{-1 / 2} A D^{-1 / 2}$
即:
$L_{i, j}^{s y m}:=\left\{\begin{array}{ll}1 & \text { if } i=j \text { and } \operatorname{deg}\left(v_{i}\right) \neq 0 \\-\frac{1}{\sqrt{\operatorname{deg}\left(v_{i}\right) \operatorname{deg}\left(v_{j}\right)}} & \text { if } i \neq j \text { and } v_{i} \text { is adjacent to } v_{j} \\0 & \text { otherwise. }\end{array}\right.$
【著重觀察:$L_{i j}=-\frac{A_{i j}}{\sqrt{d_{i} d_{j}}}, i \neq j$】
社群檢測中的基本思想: 同一社群中特徵表示的相似性應該大於社群之間的相似性。
圖上的基本思想:鄰居之間的表示相似性應該大於非鄰居的相似性。
社群內(intra-community)的相似性定義為:
$\mathcal{S}_{i n t r a}=\sum\limits _{L_{i j}<0}-L_{i j} S\left(x_{i}, x_{j}\right)$
社群間(inter-community)的相似性定義為:
$\mathcal{S}_{\text {inter }}=\sum\limits _{L_{i j}=0} S\left(x_{i}, x_{j}\right)$
$S\left(x_{i}, x_{j}\right)$ 是相似性函式,本文設定為:
$S\left(x_{i}, x_{j}\right)=e^{-\left\|x_{i}-x_{j}\right\|_{2}^{2} / \tau} $
其中,$\left\|x_{i}-x_{j}\right\|_{2}^{2}=\left\|x_{i}\right\|_{2}^{2}+\left\|x_{j}\right\|_{2}^{2}-2 x_{i} \cdot x_{j}=2-2x_ix_j$ 【通常 表示 $\left\|z_{i}\right\|_{2}=1$ (經過正則化)】
本文的相似性函式是 $S\left(x_{i}, x_{j}\right)=e^{x_{i} \cdot x_{j} / \tau}$ 。
然後,計算 GC 的總損失為:
$\mathcal{L}_{G C}=-\frac{1}{N} \sum\limits _{i=1}^{N} \log \left(\frac{\sum\limits_{L_{i j}<0}-L_{i j} S\left(x_{i}, x_{j}\right)}{\sum\limits_{L_{i j}=0} S\left(x_{i}, x_{j}\right)}\right)$
最小化 $\mathcal{L}_{G C}$ 可以同時增加社群內總相似度,降低社群間總相似度,從而提高可分離性,得到學習得到的特徵表示與圖結構一致的結果。
2.3 Framework
框架如下:
2.3.1 Graph Construction
深度模型在訓練過程中經常波動,一個 epoch 的特徵表示可能有較大的偏差,本文采用移動平均去解決這個問題。
假設 $\Phi_{\theta}^{(t)}$ 代表著模型,第 $t$ 個 epoch 的特徵表示 $Z^{(t)}= \left(z_{1}^{(t)}, \cdots, z_{N}^{(t)}\right)=\left(\Phi_{\theta}^{(t)}\left(I_{1}\right), \cdots, \Phi_{\theta}^{(t)}\left(I_{N}\right)\right) $ ,採用的移動平均如下:
${\large \bar{z}_{i}^{(t)}=\frac{(1-\alpha) \bar{z}_{i}^{(t-1)}+\alpha z_{i}^{(t)}}{\left\|(1-\alpha) \bar{z}_{i}^{(t-1)}+\alpha z_{i}^{(t)}\right\|_{2}}} , i=1, \cdots, N,$
其中 $\alpha$ 是權衡引數,$\bar{z}_{i}^{(0)}=z_{i}^{(0)}$ 。
然後根據特徵表示構造 KNN 圖,並計算鄰接矩陣:
$A_{i j}^{(t)}=\left\{\begin{array}{ll}1, & \text { if } \bar{z}_{j}^{(t)} \in \mathcal{N}^{k}\left(\bar{z}_{i}^{(t)}\right) \text { or } \bar{z}_{i}^{(t)} \in \mathcal{N}^{k}\left(\bar{z}_{j}^{(t)}\right) \\0, & \text { otherwise }\end{array}\right. \quad\quad\quad(6)$
接著計算其對應的 $L^{\mathrm{sym}}$。
2.3.2 Representation Graph Contrastive
在得到 $L^{\mathrm{sym}}$ 後計算 RGC 損失:
$\mathcal{L}_{R G C}^{(t)}=-\frac{1}{N} \sum\limits _{i=1}^{N} \log {\Large \left(\frac{\sum\limits_{L_{i j}^{(t)}<0}-L_{i j}^{(t)} e^{z_{i}^{\prime} \cdot z_{j}^{\prime} / \tau}}{\sum\limits_{L_{i j}=0} e^{z_{i}^{\prime} \cdot z_{j}^{\prime} / \tau}}\right)} \quad\quad\quad(8)$
2.3.3 Assignment Graph Contrastive
傳統:image 本身以及其增強 image 應該分配給同一個簇;
本文:外加 image 的鄰居也應該分配給同一個簇;
假設 $I^{\prime}=\left\{I_{1}^{\prime}, \ldots, I_{N}^{\prime}\right\}$ 是原始影像 $\mathbf{I}=\left\{I_{1}, \ldots, I_{N}\right\}$ 的隨機增強檢視。$\tilde{I}^{\prime}=\left\{\tilde{I}_{1}^{\prime}, \ldots, \tilde{I}_{N}^{\prime}\right\} $ 中 $\tilde{I}_{i}^{\prime}$ 是 $I_{i}$ 根據圖鄰接矩陣 $A(t)$ 選擇的隨機鄰居,$I^{\prime}$ 和 $ \tilde{I}^{\prime}$ 的概率分配矩陣如下:【行向量角度】
其中,$\operatorname{RN}\left(I_{i}\right)$ 表示影像 $I_{i}$ 的一個隨機鄰居。
對上述概率分配矩陣進行轉換:【列向量的角度】
$\mathbf{q}^{\prime}=\left[q_{1}^{\prime}, \quad \ldots \quad, q_{K}^{\prime}\right]_{N \times K}$
$\tilde{\mathbf{q}}^{\prime}=\left[\tilde{q}_{1}^{\prime}, \quad \cdots \quad, \tilde{q}_{K}^{\prime}\right]_{N \times K}$
其中 $q_{i}^{\prime}$ 和 $\tilde{q}_{i}^{\prime}$ 可以告訴我們 $\mathbf{I}^{\prime}$ 和 $\tilde{\mathbf{I}}^{\prime}$ 中的哪些圖片將分別被分配給簇 $i$ 。那麼我們可以將AGC的學習損失定義為:
$\mathcal{L}_{A G C}=-\frac{1}{K} \sum\limits _{i=1}^{K} \log \left({\Large \frac{e^{q_{i}^{\prime} \cdot \tilde{q}_{i}^{\prime} / \tau}}{\sum _{j=1}^{K} e^{q_{i}^{\prime} \cdot \tilde{q}_{j}^{\prime} / \tau}} }\right)\quad\quad\quad(9)$
2.3.4 Cluster Regularization Loss
在深度聚類中,很容易陷入區域性最優解,將大多數樣本分配到少數聚類中。為了避免簡單的解決方案,我們還新增了一個類似於 PICA[16] 和 SCAN[33] 的聚類正則化損失:
$\mathcal{L}_{C R}=\log (K)-H(\mathcal{Z})\quad\quad\quad(10)$
其中,$H$ 是熵函式,${\large \mathcal{Z}_{i}=\frac{\sum_{j=1}^{N} q_{i j}}{\sum _{i=1}^{K} \sum_{j=1}^{N} q_{i j}}} $,$\mathbf{q}=\left[q_{1}, \cdots, q_{K}\right]_{N \times K}$ 是 $\mathbf{I}$ 的分配概率。
那麼GCC的總體目標函式可以表述為:
$\mathcal{L}=\mathcal{L}_{R G C}+\lambda \mathcal{L}_{A G C}+\eta \mathcal{L}_{C R}\quad\quad\quad(11)$
其中,$ \lambda$ 和 $\eta$ 是權重引數。
2.4 Model Training
訓練過程如下:
3 Experiments
實驗結果
相關論文
基於 reconstruction 的深度聚類方法:[39, 28, 8, 11, 40]基於 self-augmentation 的深度聚類方法:[3, 36, 17, 12, 16, 33, 44]
經典的聚類演算法:[43, 10, 2, 35, 37]
譜聚類:[26]
子空間聚類:[24, 9]
深度自適應聚類:[3]
深度綜合相關挖掘:[36]
聚類正則化:PICA [16]、SCAN [33]