1. 程式人生 > >關於Graph Convolutional Network的初步理解

關於Graph Convolutional Network的初步理解

  為給之後關於圖卷積網路的科研做知識積累,這裡寫一篇關於GCN基本理解的部落格。GCN的本質是一個圖網路中,特徵資訊的互動+與傳播。這裡的圖指的不是圖片,而是資料結構中的圖,圖卷積網路的應用非常廣泛 ,經常被舉到的典型例子就是一個空間中熱量的傳遞和互動,這裡不多作贅述。

一、圖卷積網路與普通卷積網路的應用範圍

  圖卷積網路為什麼叫圖卷積網路呢?圖卷積網路,其實就是就是GCN,但GCN為什麼是圖神經網路呢?小編也很疑惑。

  好了!開玩笑的話先打住,進入正題。首先複習一下卷積神經網路的工作原理,以檢測圖片的過程為例,卷積神經網路提取圖片特徵的過程,其實就是對每個畫素周邊畫素加權求和的過程,初始每個畫素對應的卷積核的權重隨機,在通過反向傳遞、逐層梯度下降的優化之後才會得到合理的權重,根據這個權重得到的feature map便是特徵提取的結果。對於影象等畫素排列規整的結構來說,使用普通的卷積神經網路提取特徵沒有任何問題,但對於某些形如交通網、電網等“不整齊”的結構,普通的CNN就沒有用武之地了,引用知乎大佬學術性的話講,就是“CNN在Non Euclidean Structure的資料上無法保持平移不變性”,翻譯成人話就是對於圖結構的資料,其每個點鄰接的數量各不相同,會給CNN提取特徵帶來很大的困難;要提取圖結構的空間特徵進行後續的機器學習,就需要使用圖卷積網路。簡而言之,GCN是CNN的升級版,CNN做不到的,GCN可以做,GCN做的到的,CNN做不到。

二、圖卷積網路提取空間特徵的方式

  提取拓撲圖空間特徵有兩種方法:空間領域與譜領域。這裡我只對譜領域的提取方法作總結概述(空間領域的沒學),通過定義圖上的傅立葉變換,圖的卷積方式得到表示方式,與深度學習結合得到最終的圖卷積網路。在進行傅立葉和卷積的推導前先複習一下線代?一張圖的拉普拉斯矩陣一般為其度矩陣D減去其鄰接矩陣A,其他常見定義也有D-1LD與D-1L。

1.圖的特徵分解

  對圖的拉普拉斯矩陣進行譜分解,說的通俗易懂一點就是對角化。使用拉普拉斯矩陣進行運算的優勢在這裡體現:拉普拉斯矩陣滿足譜分解所需線性無關的條件。圖的拉普拉斯矩陣分解形式為UPU-1,其中U=[u1,u2,…,un],為列向量是單位特徵向量的矩陣;P為含有n個特徵值的對角矩陣。

2.含特徵向量與特徵值矩陣的傅立葉變換定義

  在瀏覽一些大佬的部落格與知乎時我常常感到詫異:進行完矩陣分解後怎麼突然講到傅立葉變化了?理清思路後發現相關矩陣傅立葉變換的定義是最後卷積公式推導的基礎,由於兩函式的卷積是其函式傅立葉變換乘積的逆變換,即:

  為了能將針對圖的傅立葉變換類比代入上述公式,我們需要推廣傅立葉變換,把特徵函式 eiωt 變為拉普拉斯矩陣的特徵向量。

  由傅立葉變換的一般形式:

  類比特徵方程定義:

LV=λV

  L、V、λ分別代表拉普拉斯矩陣、特徵向量/函式、特徵值。將特徵向量與前面定義的u矩陣對應,得到最終圖的傅立葉變換定義為:

 

  其中f(i)對應圖的各個頂點,ux*(i)表示第x個特徵向量的第 i 個分量。那麼特徵值λx下F的圖傅立葉變換就是與λx對應的特徵向量ux進行內積運算。矩陣形式為:

  即f^=UT f。同時由傅立葉逆變換基本公式:

  得到傅立葉逆變換的矩陣形式:

  

  即f=Uf^。

3.圖卷積推導  

  在定義完圖上的傅立葉變換之後,總算要開始讓夢想照進現實將卷積運算推廣到圖上了。由卷積定理:

     將對應圖上各點的f與卷積核h的傅立葉定義代入其中,卷積核在圖上的傅立葉變換被定義為:

  按卷積定理將兩者傅立葉變換形式相乘得到:

  最後乘U求得傅立葉變換乘積的逆變換,最終得到卷積:

  以上,GCN粗略的推導過程就整理完畢了。

 

  參考網站: https://www.zhihu.com/question/54504471?sort=created

        https://www.cnblogs.com/h2zZhou/p/8405717.