大部分處理影像的神經網路,例如簡單的神經網路、CNN、物件偵測、語義分割、臉部辨識等,都是以像素為輸入特徵,圖神經網路 (GNN) 則是以圖形理論 (Graph Theory) 為基礎,以向量作為輸入,內含節點 (Node) 及邊 (Edge),如下圖,以圖形表達集團交叉持股的關係及持股比例。
圖神經網路 (Graph Neural Network, GNN),可以應用到許多方面:
●物理 (Physical System),例如3D物件 (Particles) 的座標與關聯。
●化學 (Chemistry):例如分子結構 (Molecules)。
●地理 (Geography):地圖、交通、道路等,可表達A點到B點的距離、時間、方向等。
●醫學:藥物間的交互作用 (Drug-drug interaction)。
●影像:向量圖、影像分類…等。
●文字:文章引用、語意分析、知識圖譜 (Knowledge Graph),例如各種機率分配的關聯…等。
●商品推薦:相似或互補商品的關聯、組合包 (Sales kits) …等。
●商業應用:產品製造清單 (BOM)、集團交叉持股…等。
●社群軟體:社交圈 (Social Circle) 偵測、追蹤 (Follow) / 被追蹤關係、假新聞的辨識與追蹤。
圖形理論應用的層面非常廣泛,因此,近幾年學者也試圖結合神經網路,進行各種更進階、複雜的任務。
目前支援圖神經網路的套件至少有三個:
1. PyTorch Geometric (PyG):建置在PyTorch之上。
2. Deep Graph Library (DGL):建置在PyTorch、TensorFlow及MXNet之上。
3. Spektral:建置在TensorFlow 2/Keras之上。
★圖形理論概論。
★NetworkX套件的使用。
★圖形理論應用。
★GNN主要的神經層:『圖卷積神經網路』 (Graph Convolutional Network, GCN),與PyTorch整合。
★GNN範例實作。
《開發者傳授 PyTorch 秘笈》/ 陳昭明 著