當時在進行碩論研究,替我的任務挑適合的圖神經網路 (GNN) 架構時,了解到 GNN 模型具有直推式 (transductive) 和歸納式 (inductive) 兩種學習的設定,覺得十分神奇,最近複習的時候突然回憶起來,決定記錄一下。
Graph data 具有節點和邊,可以透過邊來得到鄰居節點的資訊,這也導致一個問題:如果未知的測試節點有邊連接到訓練用的節點,那我們在訓練的時候要把這個邊考慮進去嗎?
直推式 (Transductive)
如果訓練時利用到了整個圖的結構,模型訓練時可以看到測試節點和與其連接的邊,那麼這個模型就是使用直推式學習。
GNN 的經典 GCN 論文當中就是使用直推式學習,訓練時輸入的是整個鄰接矩陣 (adjacency matrix),因此聚合時會考慮到測試集節點,計算 loss 時才會只計算訓練節點。
直推式因為考慮了完整的圖結構,因此通常能得到較好的推論結果,然而也因為訓練時輸入整個圖,很大的問題便是無法處理在訓練時完全未見過的新節點或新圖。