论文笔记:Semi-Supervised Classification with Graph Convolutional Networks
生活随笔
收集整理的這篇文章主要介紹了
论文笔记:Semi-Supervised Classification with Graph Convolutional Networks
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Semi-Supervised Classification with Graph Convolutional Networks
1、四個(gè)問(wèn)題
- 半監(jiān)督任務(wù)。給定一個(gè)圖,其中一部節(jié)點(diǎn)已知標(biāo)簽,剩下的未知,要對(duì)整個(gè)圖上的節(jié)點(diǎn)進(jìn)行分類(lèi)。
- 提出了一種卷積神經(jīng)網(wǎng)絡(luò)的變種,即提出了一種新的圖卷積方法。
- 使用譜圖卷積(spectral graph convolution)的局部一階近似,來(lái)確定卷積結(jié)構(gòu)。
- 所提出的的網(wǎng)絡(luò)可以學(xué)習(xí)圖上局部結(jié)構(gòu)的特征,并進(jìn)行編碼。
- 在引文網(wǎng)絡(luò)(citation network)和知識(shí)圖譜(knowledge graph)等的數(shù)據(jù)集上比其之前的方法效果更好。
- 最大的問(wèn)題就是對(duì)GPU顯存的占用較大,要使用較大規(guī)模的圖來(lái)訓(xùn)練網(wǎng)絡(luò)只能用CPU替代。
- 文中的模型只是為無(wú)向圖設(shè)計(jì)的,并不支持對(duì)邊特征的提取。盡管能夠?qū)⒁粋€(gè)有向圖看做一個(gè)無(wú)向加權(quán)聯(lián)合圖,但這個(gè)模型對(duì)于有向圖的支持能力還是有限。
2、論文概述
1、簡(jiǎn)介
- 使用神經(jīng)網(wǎng)絡(luò)f(X,A)f(X, A)f(X,A)對(duì)圖的結(jié)構(gòu)進(jìn)行編碼,對(duì)所有帶標(biāo)簽的節(jié)點(diǎn)進(jìn)行有監(jiān)督訓(xùn)練。
- XXX是輸入數(shù)據(jù),AAA是圖鄰接矩陣。
- 在圖的鄰接矩陣上調(diào)整f(?)f(\cdot)f(?)能讓模型從監(jiān)督損失L0L_0L0?。
2、圖上的快速近似卷積
- 圖卷積的前向傳播公式:
(1)H(l+1)=σ(D~?12A~D~?12H(l)W(l))H^{(l+1)} = \sigma( \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)} ) \tag{1}H(l+1)=σ(D~?21?A~D~?21?H(l)W(l))(1)
- $ \tilde{A} = A + I_N $ 是無(wú)向圖GGG的自環(huán)鄰接矩陣。
- INI_NIN?是單位矩陣。
- $ \tilde{D}{ii} = \sum_j \tilde{A}{ij} $ 是A~\tilde{A}A~的度矩陣。
- W(l)W^{(l)}W(l)是可訓(xùn)練的權(quán)重矩陣,即網(wǎng)絡(luò)的參數(shù)。
- σ(?)\sigma(\cdot)σ(?)是激活函數(shù),比如ReLU。
- H(l)∈RN×DH^{(l)} \in \mathbb{R}^{N \times D}H(l)∈RN×D是第lll層的激活矩陣,即網(wǎng)絡(luò)的輸出。H(0)=XH^{(0)}=XH(0)=X,第一層為輸入。
2、譜圖卷積
2.1、原始GCN
- 將圖卷積通過(guò)傅里葉變換拓展到圖的頻域中。
- 對(duì)于一個(gè)輸入信號(hào)x∈RNx \in \mathbb{R}^Nx∈RN,在傅里葉域中取一個(gè)θ∈RN\theta \in \mathbb{R}^Nθ∈RN為參數(shù)的濾波器gθ=diag(θ)g_{\theta} = diag(\theta)gθ?=diag(θ):
- (2)gθ?x=UgθU?xg_{\theta} \star x=U g_{\theta} U^{\top} x \tag{2}gθ??x=Ugθ?U?x(2)
- UUU是圖的拉普拉斯矩陣LLL的特征向量矩陣。
- 拉普拉斯矩陣:L=IN?D?12AD?12=UΛUTL=I_N - D^{-\frac{1}{2}} A D^{-\frac{1}{2}} = U \Lambda U^TL=IN??D?21?AD?21?=UΛUT。
- Λ\LambdaΛ是拉普拉斯矩陣LLL的特征值組成的對(duì)角矩陣。
- UTxU^T xUTx就是圖上的傅里葉變換。
- 也可以將gθg_{\theta}gθ?看成是拉普拉斯矩陣LLL的一系列特征值組成的對(duì)角矩陣gθ(Λ)g_{\theta}(\Lambda)gθ?(Λ)。
- 公式(2)中做的事就是,借助傅里葉變換,將原始信號(hào)xxx變換到頻域,在頻域乘上一個(gè)信號(hào),再做傅里葉逆變換還原到空域。由傅里葉變換的特性有,在頻域相乘相當(dāng)于空域卷積,這樣就回避了空域上對(duì)不確定結(jié)構(gòu)的圖進(jìn)行卷積的問(wèn)題。
- 這是最原始的GCN,但是這套方法的缺點(diǎn)就是計(jì)算非常復(fù)雜,每次需要對(duì)矩陣進(jìn)行分解,如果圖的規(guī)模非常大,這會(huì)帶來(lái)巨大的計(jì)算開(kāi)銷(xiāo)。
2.2、加速版本的GCN
- 為了減少計(jì)算量,有人提出一個(gè)特殊的卷積核設(shè)計(jì)方法,即:將gθ(Λ)g_{\theta}(\Lambda)gθ?(Λ)用切比雪夫多項(xiàng)式進(jìn)行KKK階逼近。
- 切比雪夫多項(xiàng)式:
- T0(x)=1T_0 (x) = 1T0?(x)=1
- T1(x)=xT_1(x) = xT1?(x)=x
- Tk(x)=2xTk?1(x)?Tk?1(x)T_k(x) = 2x T_{k-1}(x) - T_{k-1}(x)Tk?(x)=2xTk?1?(x)?Tk?1?(x)
- 改進(jìn)的卷積核:
- (3)gθ′(Λ)≈∑k=0Kθk′Tk(Λ~)g_{\theta^{\prime}}(\Lambda) \approx \sum_{k=0}^{K} \theta_{k}^{\prime} T_{k}(\tilde{\Lambda}) \tag{3}gθ′?(Λ)≈k=0∑K?θk′?Tk?(Λ~)(3)
- Λ~=2λmax?Λ?IN\tilde{\Lambda}=\frac{2}{\lambda_{\max }} \Lambda-I_{N}Λ~=λmax?2?Λ?IN?。λmax\lambda_{max}λmax?是拉普拉斯矩陣LLL中最大的特征值。
- θ′∈RK\theta^{\prime} \in \mathbb{R}^{K}θ′∈RK是切比雪夫多項(xiàng)式的系數(shù)。
- (3)gθ′(Λ)≈∑k=0Kθk′Tk(Λ~)g_{\theta^{\prime}}(\Lambda) \approx \sum_{k=0}^{K} \theta_{k}^{\prime} T_{k}(\tilde{\Lambda}) \tag{3}gθ′?(Λ)≈k=0∑K?θk′?Tk?(Λ~)(3)
- 將該卷積核代入圖卷積的公式:
- (4)gθ′?x≈∑k=0Kθk′Tk(L~)xg_{\theta^{\prime}} \star x \approx \sum_{k=0}^{K} \theta_{k}^{\prime} T_{k}(\tilde{L}) x \tag{4}gθ′??x≈k=0∑K?θk′?Tk?(L~)x(4)
- L~=2λmax?L?IN\tilde{L}=\frac{2}{\lambda_{\max }} L-I_{N}L~=λmax?2?L?IN?。
- 這個(gè)公式為拉普拉斯算子的KKK階切比雪夫多項(xiàng)式形式,即它受到距離中央節(jié)點(diǎn)KKK步以?xún)?nèi)的節(jié)點(diǎn)影響。
- (4)gθ′?x≈∑k=0Kθk′Tk(L~)xg_{\theta^{\prime}} \star x \approx \sum_{k=0}^{K} \theta_{k}^{\prime} T_{k}(\tilde{L}) x \tag{4}gθ′??x≈k=0∑K?θk′?Tk?(L~)x(4)
- 這里的加速版本的GCN,將參數(shù)減少到了KKK個(gè),并且不再需要對(duì)拉普拉斯矩陣做特征分解,直接使用即可。
2.3、線(xiàn)性模型
- K=1K=1K=1時(shí),模型有兩個(gè)參數(shù),GCN公式:
- (4)gθ′?x≈∑k=0Kθk′Tk(L~)xg_{\theta^{\prime}} \star x \approx \sum_{k=0}^{K} \theta_{k}^{\prime} T_{k}(\tilde{L}) x \tag{4}gθ′??x≈k=0∑K?θk′?Tk?(L~)x(4)
- 這里的公式(4)就對(duì)應(yīng)一個(gè)GCN層。
- 作者在論文中提到,通過(guò)使用這種形式的GCN,我們可以緩解模型在圖的局部結(jié)構(gòu)上的過(guò)擬合。此外,很大程度上減小了計(jì)算開(kāi)銷(xiāo),使得我們可以堆疊多個(gè)GCN來(lái)獲得一個(gè)更深的模型,提取特征。
- 近似地認(rèn)為λmax≈2\lambda_{max} \approx 2λmax?≈2,公式(5)可以簡(jiǎn)化為下式:
- (5)gθ′?x≈θ0′x+θ1′(L?IN)x=θ0′x?θ1′D?12AD?12xg_{\theta^{\prime}} \star x \approx \theta_{0}^{\prime} x+\theta_{1}^{\prime}\left(L-I_{N}\right) x=\theta_{0}^{\prime} x-\theta_{1}^{\prime} D^{-\frac{1}{2}} A D^{-\frac{1}{2}} x \tag{5} gθ′??x≈θ0′?x+θ1′?(L?IN?)x=θ0′?x?θ1′?D?21?AD?21?x(5)
- 這里有兩個(gè)自由參數(shù):θ0′\theta_0^{\prime}θ0′?和θ1′\theta_1^{\prime}θ1′?。濾波器的參數(shù)在整個(gè)圖上共享。
- 通過(guò)連續(xù)堆疊這種形式的濾波器,可以作用到卷積節(jié)點(diǎn)的KKK階領(lǐng)域上,其中KKK是卷積層的個(gè)數(shù)。
- 進(jìn)一步簡(jiǎn)化公式(5)中的模型,公式如下:
- (6)gθ?x≈θ(IN+D?12AD?12)xg_{\theta} \star x \approx \theta\left(I_{N}+D^{-\frac{1}{2}} A D^{-\frac{1}{2}}\right) x \tag{6}gθ??x≈θ(IN?+D?21?AD?21?)x(6)
- 這里令θ=θ0′=?θ1′\theta=\theta_{0}^{\prime}=-\theta_{1}^{\prime}θ=θ0′?=?θ1′?,將公式(5)中的兩個(gè)參數(shù)都替換成了θ\thetaθ。
- 但是,這里的IN+D?12AD?12I_{N}+D^{-\frac{1}{2}} A D^{-\frac{1}{2}}IN?+D?21?AD?21?的特征值范圍為[0,2][0, 2][0,2],這可能會(huì)導(dǎo)致數(shù)值不穩(wěn)定和梯度消失/爆炸。所以還需要增加一步歸一化操作。
- 歸一化:
- IN+D?12AD?12→D~?12A~D~?12I_{N}+D^{-\frac{1}{2}} A D^{-\frac{1}{2}} \rightarrow \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}}IN?+D?21?AD?21?→D~?21?A~D~?21?
- A~=A+IN\tilde{A}=A+I_{N}A~=A+IN?
- D~ii=∑jA~ij\tilde{D}_{i i}=\sum_{j} \tilde{A}_{i j}D~ii?=j∑?A~ij?
- 現(xiàn)在可以將卷積操作推廣到信號(hào)X∈RC×FX \in \mathbb{R}^{C \times F}X∈RC×F,輸入通道數(shù)為CCC,有FFF個(gè)濾波器。推廣的圖卷積形式如下:
- (7)Z=D~?12A~D~?12XΘZ=\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} X \Theta \tag{7}Z=D~?21?A~D~?21?XΘ(7)
- Θ∈RC×F\Theta \in \mathbb{R}^{C \times F}Θ∈RC×F是濾波器的參數(shù)矩陣。
- Z∈RN×FZ \in \mathbb{R}^{N \times F}Z∈RN×F是卷積后輸出的信號(hào)矩陣。
3、半監(jiān)督節(jié)點(diǎn)分類(lèi)
- 回到半監(jiān)督任務(wù)上,前面介紹了優(yōu)化后的圖卷積結(jié)構(gòu)。在現(xiàn)在的半監(jiān)督任務(wù)中,作者希望通過(guò)已知的數(shù)據(jù)XXX和鄰接矩陣AAA來(lái)訓(xùn)練圖卷積網(wǎng)絡(luò)f(X,A)f(X, A)f(X,A)。 作者認(rèn)為,在鄰接矩陣中包含了一些XXX中沒(méi)有的隱含的圖的結(jié)構(gòu)信息,而我們可以利用這些信息進(jìn)行推理。
- 下圖中,左圖是一個(gè)GCN網(wǎng)絡(luò)示意圖,輸入有CCC維特征,輸出有FFF維特征,中間有若干隱藏層,XXX是訓(xùn)練數(shù)據(jù),YYY是標(biāo)簽。右圖是使用一個(gè)兩層GCN在Cora數(shù)據(jù)集上(只是用了5%的標(biāo)簽)得到的可視化結(jié)果。
3.1、實(shí)例
- 在預(yù)處理中,首先計(jì)算好:A^=D~?12A~D~?12\hat{A}=\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}}A^=D~?21?A~D~?21?。
- 然后,前向傳播的模型可以寫(xiě)成下式:
- (8)Z=f(X,A)=softmax?(A^ReLU?(A^XW(0))W(1))Z=f(X, A)=\operatorname{softmax}\left(\hat{A} \operatorname{ReLU}\left(\hat{A} X W^{(0)}\right) W^{(1)}\right) \tag{8}Z=f(X,A)=softmax(A^ReLU(A^XW(0))W(1))(8)
- 這是一個(gè)很簡(jiǎn)單的兩層GCN。
- W(0)∈RC×HW^{(0)} \in \mathbb{R}^{C \times H}W(0)∈RC×H是輸入到隱藏層的權(quán)重矩陣,隱藏層上的特征維度是HHH。
- W(1)∈RH×FW^{(1)} \in \mathbb{R}^{H \times F}W(1)∈RH×F是隱藏層到輸出的權(quán)重矩陣。
- softmaxsoftmaxsoftmax就不多說(shuō)了。
- 損失函數(shù)采用交叉熵,評(píng)估所有有標(biāo)簽的數(shù)據(jù):
- (9)L=?∑l∈YL∑f=1FYlfln?Zlf\mathcal{L}=-\sum_{l \in \mathcal{Y}_{L}} \sum_{f=1}^{F} Y_{l f} \ln Z_{l f} \tag{9}L=?l∈YL?∑?f=1∑F?Ylf?lnZlf?(9)
- YL\mathcal{Y}_{L}YL?為帶標(biāo)簽節(jié)點(diǎn)組成的集合。
- 訓(xùn)練:SGD,引入了BN和Dropout。
4、實(shí)驗(yàn)
- 數(shù)據(jù)集描述:
- 半監(jiān)督分類(lèi)準(zhǔn)確率:
3、參考資料
- Semi-Supervised Classification with Graph Convolutional Networks
總結(jié)
以上是生活随笔為你收集整理的论文笔记:Semi-Supervised Classification with Graph Convolutional Networks的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 论文笔记:CycleGAN
- 下一篇: 论文笔记:Spherical CNN