【GNN】啥是GNN?GNN咋学?GNN何用?
時(shí)晴,本文大多摘自引文Rishabh Anand的文章
GNN的可視化解釋!
簡(jiǎn) 介
近來(lái)發(fā)現(xiàn)非常多的建模問題中都使用了GNN方法,便去學(xué)習(xí)了一番,后來(lái)發(fā)現(xiàn)了一篇非常不錯(cuò)的GNN的可視化解釋文章,便將其翻譯整理和大家一起分享。
目前圖模型的應(yīng)用非常廣泛,最典型的如社交網(wǎng)絡(luò),蛋白質(zhì)結(jié)構(gòu)等。最近越來(lái)越多的圖算法也被應(yīng)用于搜索推薦,時(shí)間序列等的問題,并且都取得了非常大的成功,本文我們直觀的不帶有任何數(shù)學(xué)等形式的了解一下圖神經(jīng)網(wǎng)絡(luò)。
大家一定會(huì)非常好奇,圖神經(jīng)網(wǎng)絡(luò)究竟哪里好,它能學(xué)到其它網(wǎng)絡(luò)學(xué)不到的東西嗎?下面我們就一起來(lái)看看GNN是如何工作的。
GNN
1.關(guān)于圖
圖一般由兩個(gè)核心模塊組成,分別是:節(jié)點(diǎn)和邊。
如上圖所示,黑色的箭頭是邊的指向,表示一種關(guān)系,注意此處我們表示的是有向圖。
雖然圖很簡(jiǎn)單,但如果我們賦予節(jié)點(diǎn)和邊不同的含義的話,那么圖就可以非常多的信息,例如每個(gè)節(jié)點(diǎn)是用戶,邊是打電話的話,那么就可以表示一個(gè)電話相關(guān)的社交;如果節(jié)點(diǎn)是商品,邊表示用戶的購(gòu)買順序的話,那么就是一個(gè)用戶的購(gòu)物網(wǎng)絡(luò)。
? 2.一些概念
recurrent單元,嵌入向量表示和前向神經(jīng)網(wǎng)絡(luò)。
我們假設(shè)特征向量是當(dāng)前節(jié)點(diǎn)索引的一個(gè)熱編碼,標(biāo)簽用顏色表示,如下圖所示:
所有的節(jié)點(diǎn)被轉(zhuǎn)化為一個(gè)recurrent單元, 所有的邊組成一個(gè)前向神經(jīng)網(wǎng)絡(luò)。
3.信息傳遞
一旦節(jié)點(diǎn)和邊的轉(zhuǎn)換完成,圖就會(huì)在節(jié)點(diǎn)之間執(zhí)行消息傳遞。這個(gè)過(guò)程也被稱為Neighbourhood Aggregation,因?yàn)樗婕暗酵ㄟ^(guò)有向邊從給定引用節(jié)點(diǎn)周圍的周圍節(jié)點(diǎn)推送消息。
對(duì)于GNNs,對(duì)于單個(gè)參考節(jié)點(diǎn),相鄰節(jié)點(diǎn)通過(guò)邊神經(jīng)網(wǎng)絡(luò)將其信息(embeddings)傳遞到參考節(jié)點(diǎn)上的遞歸單元中。遞歸單元的新嵌入將通過(guò)將所說(shuō)的遞歸函數(shù)應(yīng)用于當(dāng)前embeddings和相鄰節(jié)點(diǎn)embeddings的邊緣神經(jīng)網(wǎng)絡(luò)輸出的總和來(lái)更新。
注意:邊神經(jīng)網(wǎng)絡(luò)輸出的和(圖中的黑色封套)是輸出順序的不變量。
4.傳遞之后最終得到的向量表示是什么呢?
執(zhí)行了幾次鄰域聚合/消息傳遞之后,我們的每個(gè)節(jié)點(diǎn)單元就變成了一組全新的embedding。
當(dāng)前每個(gè)節(jié)點(diǎn)對(duì)自己和相鄰節(jié)點(diǎn)的信息(特征)會(huì)有更多的了解,從而得到整個(gè)圖更精確的表示。
為了在pipeline的更高層進(jìn)行進(jìn)一步的處理,或者簡(jiǎn)單地表示圖,我們可以將所有embeddings相加,得到表示整個(gè)圖形的向量。
使用H比使用鄰接矩陣往往效果更好,這些矩陣不代表圖形的特征或獨(dú)特方面,盡管存在任何圖形扭曲-只是節(jié)點(diǎn)之間的邊連接。
小 結(jié)
從上面的分析我們可以發(fā)現(xiàn),在使用圖的時(shí)候我們可以簡(jiǎn)單的將其劃分為下面幾步:
給定一個(gè)圖,首先將節(jié)點(diǎn)轉(zhuǎn)化為遞歸單元,將邊轉(zhuǎn)化為前饋神經(jīng)網(wǎng)絡(luò);
對(duì)所有節(jié)點(diǎn)執(zhí)行n次鄰域聚合(消息傳遞)。
對(duì)所有節(jié)點(diǎn)的嵌入向量求和得到圖表示H。
將H傳遞到更高的層中,或者使用它來(lái)表示圖形的獨(dú)特屬性!
何時(shí)使用?
從上面GNN的直觀解釋中,我們知道了圖形神經(jīng)網(wǎng)絡(luò)是如何工作的,那什么時(shí)候使用它會(huì)更為方便或者什么時(shí)候可以直接使用它呢?
社交媒體中,對(duì)用戶進(jìn)行聚類的時(shí)候可以使用,依據(jù)每個(gè)用戶follow和被follow的信息構(gòu)建圖,然后學(xué)習(xí)每個(gè)用戶的embeddings信息聚類;
內(nèi)容推薦,依據(jù)用戶流量?jī)?nèi)容的關(guān)聯(lián)關(guān)系,對(duì)用戶進(jìn)行內(nèi)容推薦;
當(dāng)然,我覺得只要是能構(gòu)建成圖的數(shù)據(jù),都可以嘗試使用gnn。
參考文獻(xiàn)
1.An Illustrated Guide to Graph Neural Networks
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯溫州大學(xué)《機(jī)器學(xué)習(xí)課程》視頻 本站qq群851320808,加入微信群請(qǐng)掃碼:總結(jié)
以上是生活随笔為你收集整理的【GNN】啥是GNN?GNN咋学?GNN何用?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chrome用户不喜新版:宁用其他浏览器
- 下一篇: Win11锁屏快捷键是什么 Win11锁