【GCN】圖卷積網絡初探——基於圖(Graph)的傅里葉變換和卷積


【GCN】圖卷積網絡初探——基於圖(Graph)的傅里葉變換和卷積

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接: https://blog.csdn.net/qq_41727666/article/details/84622965

一、CNN(卷積神經網絡)中的離散卷積

推薦閱讀:如何通俗易懂地解釋卷積?

1、CNN中的離散卷積:共享參數的過濾器

2、CNN中的卷積操作:通過計算中心像素點以及相鄰像素點的【加權和】構成【feature map】;
加權系數=卷積核的權重系數

【實例】下式是一個隱藏神經元的輸出計算公式,b為偏置,w為5×5的權重向量,a為上一層的激活值,σ()為激活函數。
可以看出,將上一層的5×5=25的神經元(a)加權(w)求和
在這里插入圖片描述

3、CNN中的卷積目的:空間特征的提取

4、確定卷積核的系數:隨機化初值,訓練中根據誤差函數loss,通過反向傳播+梯度下降進行迭代優化。

二、GCN基本概念介紹

(一)圖Graph

定義:頂點和邊建立的關系拓撲圖

(二)研究GCN的原因

1、CNN的【平移不變性】在【非矩陣結構】數據上不適用

2、希望在【拓撲圖】上提取空間特征來進行機器學習

3、GCN主要工作:引入可以優化的【卷積參數】

(三)提取【拓撲圖】空間特征的兩種方式

1、vertex domain(spatial domain):頂點域(空間域)

操作:把每個頂點相鄰的neighbors找出來

缺點:每個頂點的neighbors不同,計算處理必須針對每個節點

2、spectral domain:譜域

過程:

(1)定義graph上的Fourier Transformation傅里葉變換

(利用Spectral graph theory,借助圖的拉普拉斯矩陣的特征值和特征向量研究圖的性質)

(2)定義graph上的convolution卷積

三、圖的拉普拉斯矩陣

(一)定義:拉普拉斯矩陣L

L=DAL=D-AL=DA
其中,L為Laplacian矩陣;
      D是頂點的度矩陣(對角矩陣),對角線上的元素依次為各個頂點的度(與該頂點相連的邊的條數);
      A是圖的鄰接矩陣。

計算方法實例:
在這里插入圖片描述

(二)拉普拉斯矩陣L的良好性質

1、是對稱矩陣,可以進行譜分解(特征分解),與GCN的spectral domain對應

2、只在【中心節點】和【一階相連的頂點】這兩種位置上有非0元素,其余位置都是0
注:一階相連就是通過一條邊直接相連,如上圖中與頂點1一階相連的頂點為5和2;
二階相連就是通過兩條邊相連,如上圖中與頂點1二階相連的頂點為4(1-5-4)、2(1-5-2)、5(1-2-5)、3(1-2-3)

3、可以通過拉普拉斯算子與拉普拉斯矩陣進行類比

(三)拉普拉斯矩陣L的譜分解(特征分解)

1、矩陣L的特征分解定義:將矩陣L分解為由特征值λ和特征向量u表示的矩陣之積

(1)求特征值和特征向量:λ為特征值,u為特征向量,則滿足下式:
Lu=λuLu=\lambda uLu=λu

(2)求特征分解:

令 L是一個 N×N 的方陣,且有 N 個線性無關的特征向量 。
這樣, L可以被分解為:
L=UΛU1=U⎛⎝⎜λ1...λ3⎞⎠⎟U1L=U\Lambda U^{-1} =U\begin{pmatrix}\lambda_1& & \\ &...& \\ & & \lambda_3 \end{pmatrix} U^{-1}L=UΛU1=Uλ1...λ3U1
其中,U是N×N方陣,且其第i列為L的特征向量ui,ui為列向量;
U=(u1⃗ ,u2⃗ ,...,un⃗ )U=(\vec{u_1},\vec{u_2},...,\vec{u_n})U=(u1,u2,...,un)
      Λ是對角矩陣,其對角線上的元素為對應的特征值。

2、拉普拉斯矩陣:【半正定】【對稱】矩陣
性質:
(1)有n個線性無關的特征向量
(2)特征值非負
(3)特征向量相互正交,即Q為正交矩陣
設拉普拉斯矩陣L中,λi為特征值,ui為特征向量,U為特征向量ui作為列向量組成的方陣,那么拉普拉斯矩陣的譜分解形式為:
在這里插入圖片描述

四、Graph上的傅里葉變換與卷積

(一)核心工作

把拉普拉斯算子的【特征函數】
變為
Graph對應的拉普拉斯矩陣的【特征向量】

(二)Graph上的傅里葉變換

1、傳統傅里葉變換:
在這里插入圖片描述
在這里插入圖片描述

2、Graph上的傅里葉變換

  • 拉普拉斯矩陣=離散拉普拉斯算子
  • 拉普拉斯矩陣的【特征向量U】=拉普拉斯算子的【特征函數exp(-iwt)】

仿照上面傳統傅里葉定義,得到Graph上的傅里葉變換:

  • i為第i個頂點
  • λl為第l個特征值;ul為第l個特征向量
  • f為待變換函數,f尖為其對應的傅里葉變換,f和f尖與頂點i一一對應
    在這里插入圖片描述
    在這里插入圖片描述

3、Graph上的傅里葉逆變換:
在這里插入圖片描述

(三)Graph上的卷積

1、傳統卷積定理:

  • f為待卷積函數,h為卷積核(根據需要設計)
  • f*h為卷積結果
    在這里插入圖片描述

2、Graph上的卷積:仿照上面定義

  • f為待卷積函數,h為卷積核(根據需要設計)
  • f*h為卷積結果
    在這里插入圖片描述
    在這里插入圖片描述

3、由式(1)可以看出,U為特征向量,f為待卷積函數,重點在於設計含有【可訓練】【共享參數】的【卷積核h】
diag(hˆ(λl))卷積參數就是diag(\hat{h}(\lambda_l))diag(h^(λl))

五、深度學習中的GCN

1、第一代GCN:

  • 卷積核:
    diag(hˆ(λl))diag(θl)diag(\hat{h}(\lambda_l)): diag(\theta_l)diag(h^(λl))diag(θl)

  • output公式:
    在這里插入圖片描述
    在這里插入圖片描述

  • 缺點:有n個參數θn,計算量大

2、第二代GCN:

  • 卷積核:
    hˆ(λl)Kj=0αjλjl\hat{h}(\lambda_l):\sum_{j=0}^K \alpha_j\lambda_l^jh^(λl)j=0Kαjλlj
  • output公式:
    在這里插入圖片描述

注意到下式:
在這里插入圖片描述
進而可以導出下式:
在這里插入圖片描述
在這里插入圖片描述

  • 經過矩陣變換,簡化后的output公式:
    在這里插入圖片描述
    在這里插入圖片描述

3、實例

  • K=1時,對於頂點i,將頂點i以及頂點i的一階相連頂點(j,k,m,n)的feature值(f函數值)做加權求和,權重就是參數αj,最終輸出新的feature值(g函數),為提取得到的空間特征
  • K=2時,對於頂點i,將頂點i以及頂點i的一階相連頂點、二階相連頂點的feature值加權求和,輸出新的feature值
    在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM