Deep Learning 101, Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101

AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。

Deep Learning 101 Buy Me A Coffee

去 YouTube 訂閱 | Facebook | 回 GitHub Pages | 到 GitHub 點星 | 網站 | 到 Hugging Face Space 按愛心


大語言模型 語音處理 自然語言處理 電腦視覺
Large Language Model Speech Processing Natural Language Processing, NLP Computer Vision

用 AI 懂 AI

AI 技術 體驗/分享

手把手帶你一起踩 AI 坑https://www.twman.org/AI


AI 技術 開源/試用

Semi-Supervised Classification with Graph Convolutional Networks YouTube

2019/01/11 Bean Yen


圖形卷積網路 (Graph Convolutional Networks, GCN) 核心概念與重要進展入門

圖形結構資料,例如社群網路、分子結構或引用網路,具有不規則且非歐幾里德 (Non-Euclidean) 的特性,不像圖像或語音資料那樣具有明確的網格或序列結構 [1-3]。傳統的神經網路,特別是卷積神經網路 (CNN),雖然在處理網格狀資料(如 2D 圖像)方面取得了巨大成功,但由於其固定的濾波器尺寸和對規則座標系統的依賴,難以直接應用於圖形資料 [1-3]。這正是圖形卷積網路誕生的主要原因:它專門設計用於處理這種非歐幾里德結構資料,並嘗試將類似卷積的操作應用於圖形上,以捕捉節點的局部和結構資訊 [1-3]。

對於新手來說,理解圖形資料與傳統網格資料的根本差異是關鍵的第一步。想像一下一張圖片,每個像素都有固定的位置和固定數量的鄰居(上下左右斜對角)。但在圖形中,每個點(節點)的鄰居數量可能不同,它們之間也沒有固定的空間順序或座標系 [2, 3]。如何在這樣的結構上定義「卷積」,即如何有效地聚合周圍鄰居的資訊來更新當前節點的表示,是 GCN 研究的核心挑戰之一 [1, 3]。

處理圖形資料的早期方法:基於 Embedding

在 GCNs 出現之前,處理圖形資料的常見方法是基於節點 Embedding [1, 4-7]。這類方法的核心思想是將圖中的每個節點映射到一個低維度的連續向量空間(即 Embedding),使得在圖中相似或相關的節點在向量空間中的距離較近 [4, 5, 8]。

新手可能好奇,為什麼要 Embedding?這是因為許多下游任務(如分類、聚類)需要固定長度的向量作為輸入。圖形結構本身大小不一, Embedding 提供了一種將圖形結構中的離散節點轉換為固定維度向量的方式,方便後續使用傳統機器學習或神經網路模型進行處理 [4, 8]。

然而,這些傳統 Embedding 方法通常是兩階段的:先計算好 Embedding,然後再將這些 Embedding 用於下游任務 [1, 10, 11]。Embedding 的學習與下游任務的目標是分開的,參數不是聯合訓練的 (non-End-to-End) [1, 10, 11]。

圖形卷積網路 (GCNs) 的發展:頻域方法

GCNs 試圖以更直接的方式在圖形上定義卷積操作。一種主要的思路是利用圖信號處理 (Graph Signal Processing) 中的概念,在頻率域 (Spectral Domain) 定義卷積 [1, 4, 5]。

對於新手,可以想像成是把圖上的資料(節點特徵)分解成不同的「頻率」成分(就像聲音可以分解成不同頻率一樣),然後在頻率域對這些成分應用一個「濾波器」(這個濾波器是一個函數,它根據頻率的高低決定如何加權或處理),最後再把處理後的頻率成分組合成新的節點特徵 [13]。

頻域方法的挑戰與改進

早期的頻域 GCN 方法雖然在理論上優雅,但存在嚴重的實際應用問題 [1, 18]:

  1. 計算效率低落:對大型圖的拉普拉斯矩陣進行完整的特徵分解計算量巨大且非常耗時 (O(N^3),其中 N 是節點數) [1, 2, 15, 18]。
  2. 計算複雜度高:拉普拉斯矩陣的特徵向量矩陣通常是密集矩陣 (dense matrix),將節點特徵向量與特徵向量矩陣相乘的計算量非常大 (O(N^2)),難以應用於大規模圖 [2, 15, 18]。
  3. 非局部性:由於濾波器是在全局的頻率域上定義的,導致濾波器缺乏局部性,一個濾波器會作用於整個圖上的所有節點,難以捕捉圖的精確局部結構特徵 [18]。此外,直接對拉普拉斯特徵值進行參數化會導致需要學習的參數數量過多 [14, 15]。

2016 年的重大進展:Chebyshev 多項式逼近

為了解決頻域 GCN 的計算效率問題,2016 年的一篇重要論文提出了一個關鍵性的改進 [1, 4, 15, 18]。他們的核心思想是利用 Chebyshev 多項式 來逼近頻域的濾波器函數 [1, 2, 4, 15, 18]。

對於新手,可以這樣理解:原來的濾波器很複雜,需要在一個特殊的「頻率空間」裡操作,而進入這個空間需要昂貴的計算(特徵分解)。Chebyshev 多項式就像是一個「替身」,它可以在原來的圖結構空間(或與拉普拉斯矩陣直接相關的空間)裡做類似的工作,而且這個替身的操作非常有效率,不需要先跑到那個特殊的頻率空間去 [2, 15, 18]。

2017 年的簡化 GCN (Kipf & Welling)

在 2016 年的工作基礎上,2017 年 Kipf & Welling 提出了一個更簡潔的 GCN 模型,迅速成為了該領域的熱門方法,有時甚至被視為「標準」的 GCN [1, 4].

對於新手,2017 年的 GCN 公式可能是最常看到的入門公式。它的核心思想非常直觀:一個節點的新特徵是由它自己和它直接相連的鄰居的特徵加權平均(或更複雜的聚合)後,再經過一個神經網路層變換得到的 [6, 20]。通過堆疊多層 GCN,節點的特徵可以逐步整合來自更遠鄰居(二階、三階…)的資訊 [11, 20].

End-to-End 訓練的優勢

相較於 DeepWalk 或 Node2Vec 等傳統 Embedding 方法先計算好 Embedding 再用於下游任務,GCNs 等基於神經網路的架構是 End-to-End 可訓練的 [1, 10, 11]. 這是一個明確的優勢 [1, 10]. 在 GCNs 中,節點 Embedding 的學習(即鄰居資訊的聚合方式和權重)與最終的下游任務(如節點分類)是聯合訓練的 [1, 10]. 模型的參數會根據下游任務的損失信號進行端到端的優化, Embedding 的學習直接受到最終任務標記的監督 [1, 10, 11]. 這使得學習到的 Embedding 更能服務於特定的任務目標 [1, 10, 11].

處理不同圖形結構的挑戰與方案

前面討論的方法(特別是頻域方法,如 2016 和 2017 的原始形式)主要是針對單一張圖進行節點分類 [1, 4, 23, 24]. 如果需要處理的是一個包含許多獨立圖形(例如,每個圖代表一個分子結構或一個文件)的集合,並對這些圖進行分類,那麼就需要能夠在批次 (mini-batch) 中處理不同的圖 [1, 4, 23, 24].

對於新手,理解「對圖進行分類」和「對圖中的節點進行分類」是不同的任務。前者需要模型能夠學習整個圖的表示,而後者是在給定一個圖的前提下,對其中的點進行標記。處理不同圖形的分類需要模型能夠處理不同大小、不同結構的圖,並學習能夠泛化到未見過圖的特徵表示。

其他應用方向與未來挑戰

GCNs 的潛力不僅限於社群網路或引用網路的節點分類。資料中也提及了一些重要的應用方向和相關挑戰:

進一步討論與研究視角

從研究角度來看,GCN 領域仍有許多值得探索和深入研究的議題:

對於新手研究者,這些挑戰正是未來研究的機會所在。理解現有方法的優勢和局限性,是開展創新工作的重要基礎。

總結而言,圖形卷積網路為處理非歐幾里德資料提供了一個強大的框架。從早期的 Embedding 方法,到基於頻域並透過多項式逼近提高效率,再到簡潔而有效的 GCN 模型,以及針對不同圖形和任務的特定設計,GCN 領域在不斷演進。理解其核心概念(如拉普拉斯矩陣、頻域操作、鄰居聚合、End-to-End 訓練)以及不同方法的演進脈絡和權衡(如效率與表達能力、單圖與多圖處理),是入門並深入該領域的關鍵。未來的研究將繼續探索更有效、更通用、理論更堅實的圖形表示學習方法,並將 GCNs 應用於更多複雜的實際問題中。