近來發現非常多的建模問題中都使用了GNN方法,便去學習了壹番,後來發現了壹篇非常不錯的GNN的可視化解釋文章,便將其翻譯整理和大家壹起分享。
目前圖模型的應用非常廣泛,最典型的如社交網絡,蛋白質結構等。最近越來越多的圖算法也被應用於搜索推薦,時間序列等的問題,並且都取得了非常大的成功,本文我們直觀的不帶有任何數學等形式的了解壹下圖神經網絡。
社交媒體中,對用戶進行聚類的時候可以使用,依據每個用戶follow和被follow的信息構建圖,然後學習每個用戶的embeddings信息聚類。
我們賦予節點和邊不同的含義的話,那麽圖就可以非常多的信息,例如每個節點是用戶,邊是打電話的話,那麽就可以表示壹個電話相關的社交;如果節點是商品,邊表示用戶的購買順序的話,那麽就是壹個用戶的購物網絡。
recurrent單元,嵌入向量表示和前向神經網絡。所有的節點被轉化為壹個recurrent單元, 所有的邊組成壹個前向神經網絡。
壹旦節點和邊的轉換完成,圖就會在節點之間執行消息傳遞。這個過程也被稱為Neighbourhood Aggregation,因為它涉及到通過有向邊從給定引用節點周圍的周圍節點推送消息。
對於GNNs,對於單個參考節點,相鄰節點通過邊神經網絡將其信息(embeddings)傳遞到參考節點上的遞歸單元中。遞歸單元的新嵌入將通過將所說的遞歸函數應用於當前embeddings和相鄰節點embeddings的邊緣神經網絡輸出的總和來更新。
當前每個節點對自己和相鄰節點的信息(特征)會有更多的了解,從而得到整個圖更精確的表示。為了在pipeline的更高層進行進壹步的處理,或者簡單地表示圖,我們可以將所有embeddings相加,得到表示整個圖形的向量。
使用H比使用鄰接矩陣往往效果更好,這些矩陣不代表圖形的特征或獨特方面,盡管存在任何圖形扭曲-只是節點之間的邊連接。