搜尋意圖: 如果你在找「異質圖 是什麼」或「異質圖 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 包含多種節點類型和邊類型的圖,其中不同類型的節點或邊具有不同的特徵和語義。
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
包含多種節點類型和邊類型的圖,其中不同類型的節點或邊具有不同的特徵和語義。
核心概念
異質圖形式上表示為 G = (V, E, T_V, T_E),其中:
- V 是節點集合
- E 是邊集合
- T_V 是節點類型集合,|T_V| > 1
- T_E 是邊類型集合,|T_E| > 1
每個節點和邊都有一個類型標籤,指定其所屬的類型。同質圖是異質圖的特例,|T_V| = 1 且 |T_E| = 1。
異質圖比同質圖更富表現力,因為不同類型的節點和邊可以有完全不同的特徵維數、分佈和語義。但這也增加了學習的複雜性。
- 元路徑(Meta-path)是異質圖上的重要概念。元路徑是類型序列 t1 - t2 - ... - tk,表示沿著邊類型序列遍歷異質圖的路徑。例如,在學術網路中,元路徑 "作者 - 論文 - 作者" 表示「兩個作者發表過同一篇論文」的關係。元路徑捕捉了異質圖中的高階語義。
運作原理
類型感知的特徵表示:不同類型的節點可以有不同的特徵維數和表示。模型需要分別初始化和處理。
類型特定的消息傳遞:異質圖神經網路(HAN、HGT 等)修改消息傳遞機制以適應多種邊類型:
按邊類型聚合:對每種邊類型分別聚合消息,然後組合結果。 h_v^(l+1) = Combine({Aggregate_r(h_u^(l) : u∈N_r(v)) : r∈T_E}) 其中 N_r(v) 是通過邊類型 r 連接到 v 的鄰域,r 遍歷所有邊類型。
元路徑感知的聚合:沿著特定元路徑聚合信息,捕捉高階語義。 h_v = Σ_p weight_p * Aggregate_{meta-path=p}() 其中 p 遍歷不同的元路徑。
注意力權重:為不同的邊類型或元路徑分配不同的權重,指示它們對當前任務的重要程度。
時間動態(可選):若異質圖隨時間演變(如社交網路的邊動態產生),需要時態異質圖神經網路(如 HGT 中的時間編碼)。
實際應用
推薦系統:二部圖(使用者-物品)是異質圖的常見形式。異質圖神經網路能同時學習使用者和物品的嵌入,改進推薦性能。騰訊、阿里巴巴等大型推薦系統應用此技術。
學術社群分析:在學術引用網路中,節點包括論文、作者、會議、機構,邊類型包括發表、引用、同作者等。異質圖神經網路能識別研究群體、追蹤學科演進、預測合作關係。
生物醫學知識發現:生物醫學知識圖譜包含基因、蛋白質、疾病、藥物等多種實體,邊代表不同的生物關係(相互作用、調控、關聯等)。異質 GNN 可預測新的基因-疾病關聯,加速藥物發現。
電商搜索和推薦:電商中的異質圖包含商品、類別、品牌、屬性等節點。異質 GNN 能理解複雜的商品關係,改進搜索排名和推薦結果。
社交媒體分析:社交平台的圖包含使用者、貼文、標籤、地點等節點類型。異質 GNN 能進行使用者分析、內容推薦、社群檢測等任務。
常見誤區
誤區一:異質圖可簡單轉化為同質圖。某些設計將異質圖的所有類型融合為同一表示。但這會丟失類型信息和語義區別,通常效果不佳。應用應保留異質性,根據類型分別處理。
誤區二:元路徑是異質圖的唯一重要結構。元路徑捕捉高階語義,但一階邊類型和節點類型本身也很重要。過度依賴元路徑而忽視基本結構會導致性能下降。
誤區三:異質圖神經網路會自動找到最重要的邊類型。即使模型有類型選擇機制(如注意力),在訓練數據不足時,也可能學不到正確的類型權重。需要領域知識和實驗驗證。
誤區四:所有類型都應平等對待。在某些應用中,某些類型的邊或節點比其他類型重要得多。應用設計應反映這些優先級,而非假設平等。
與相關技術的比較
同質圖神經網路:標準 GNN(GCN、GAT)設計用於同質圖。可透過節點類型編碼(embedding)轉化為同質 GNN 輸入,但損失了類型結構信息。異質 GNN 顯式處理多種類型,更自然高效。
知識圖譜嵌入:知識圖譜也是異質圖(實體和關係),但傳統 KGE 方法(TransE、RotatE)基於三元組評分,不直接利用圖的拓撲結構。異質 GNN 強調信息聚合和傳播,適合預測缺失邊和進行推理。
屬性圖:屬性圖包含節點屬性(特徵),異質圖區分節點類型。二者可結合(異質屬性圖),提供更豐富的表示能力。
超圖:超圖中邊可以連接多個節點(稱為超邊)。異質圖和超圖是正交的擴展,可結合得到異質超圖。
常見問題
如何在異質圖中定義元路徑?選擇哪些元路徑?
元路徑由節點類型序列定義,通常 2-4 層長(如 A-B-A 或 A-B-C-A)。選擇元路徑的方式:(1) 領域知識:根據應用背景選擇語義有意義的元路徑,(2) 任務導向:選擇與目標任務相關的元路徑,(3) 實驗:嘗試不同的元路徑組合,評估下游任務性能。通常,3-5 條精心選擇的元路徑已足夠;過多元路徑會增加計算複雜度,可能引入噪聲。
異質圖神經網路如何處理不同節點類型的不同特徵維數?
異質圖中不同類型的節點可以有完全不同的特徵維數。常見的處理方式包括:(1) 類型特定的投影矩陣,將不同維數的節點特徵投影到共同的嵌入空間,(2) 類型特定的編碼器,為每種節點類型設計獨立的特徵編碼,(3) 共享嵌入空間,使用足夠大的嵌入維數容納所有類型。選擇應根據類型數量和特徵差異程度而定。通常,類型特定的投影矩陣是最靈活和有效的。
異質圖學習中如何避免類型偏差(某些類型過度表示)?
異質圖中,若某些類型的邊或節點數量遠超其他類型,模型可能過度關注多數類型而忽視少數類型。應對策略包括:(1) 類型正規化,在損失函數中為少數類型添加權重,(2) 分層採樣,確保各類型的均衡採樣,(3) 類型別的評估指標,分別評估各類型上的性能,(4) 數據增強,為少數類型生成合成樣本。特別在知識圖譜補全和推薦系統中,應當關注長尾類型的性能。