圖注意力網(wǎng)絡(luò)(GAT致燥,GraphAttentionNetwork)

GAT(GRAPH ATTENTION NETWORKS)是一種使用了self attention機(jī)制圖神經(jīng)網(wǎng)絡(luò)膝但,該網(wǎng)絡(luò)使用類似transformer里面self attention的方式計(jì)算圖里面某個(gè)節(jié)點(diǎn)相對(duì)于每個(gè)鄰接節(jié)點(diǎn)的注意力洒忧,將節(jié)點(diǎn)本身的特征和注意力特征concate起來(lái)作為該節(jié)點(diǎn)的特征碟绑,在此基礎(chǔ)上進(jìn)行節(jié)點(diǎn)的分類等任務(wù)。

圖1:節(jié)點(diǎn)的特征由節(jié)點(diǎn)本身和直接相連的節(jié)點(diǎn)共同決定

下面是transformer self attention原理圖:


圖2:Transformer self attention

GAT使用了類似的流程計(jì)算節(jié)點(diǎn)的self attention愿卒,首先計(jì)算當(dāng)前節(jié)點(diǎn)和每個(gè)鄰接節(jié)點(diǎn)的注意力score,然后使用該score乘以每個(gè)節(jié)點(diǎn)的特征潮秘,累加起來(lái)并經(jīng)過(guò)一個(gè)非線性映射琼开,作為當(dāng)前節(jié)點(diǎn)的特征。


圖3:節(jié)點(diǎn)的特征計(jì)算

Attention score公式表示如下:
圖4

圖5

這里使用W矩陣將原始的特征映射到一個(gè)新的空間枕荞,a代表self attention的計(jì)算柜候,如前面圖2所示,這樣計(jì)算出兩個(gè)鄰接節(jié)點(diǎn)的attention score躏精,也就是Eij渣刷,然后對(duì)所有鄰接節(jié)點(diǎn)的score進(jìn)行softmax處理,得到歸一化的attention score矗烛。
代碼可以參考這個(gè)實(shí)現(xiàn):https://github.com/gordicaleksa/pytorch-GAT
核心代碼:

    def forward(self, data):
        in_nodes_features, connectivity_mask = data  
        num_of_nodes = in_nodes_features.shape[0]
        in_nodes_features = self.dropout(in_nodes_features)
        # V
        nodes_features_proj = self.linear_proj(in_nodes_features).view(-1, self.num_of_heads, self.num_out_features)

        nodes_features_proj = self.dropout(nodes_features_proj)  
        # Q辅柴、K
        scores_source = torch.sum((nodes_features_proj * self.scoring_fn_source), dim=-1, keepdim=True)
        scores_target = torch.sum((nodes_features_proj * self.scoring_fn_target), dim=-1, keepdim=True)

        scores_source = scores_source.transpose(0, 1)
        scores_target = scores_target.permute(1, 2, 0)
        # Q * K
        all_scores = self.leakyReLU(scores_source + scores_target)
        all_attention_coefficients = self.softmax(all_scores + connectivity_mask)
        # Q * K * V
        out_nodes_features = torch.bmm(all_attention_coefficients, nodes_features_proj.transpose(0, 1))

        out_nodes_features = out_nodes_features.permute(1, 0, 2)
        # in_nodes_features + out_nodes_features(attention)
        out_nodes_features = self.skip_concat_bias(all_attention_coefficients, in_nodes_features, out_nodes_features)
        return (out_nodes_features, connectivity_mask)

該GAT的實(shí)現(xiàn)也包含在了PYG庫(kù)中,這個(gè)庫(kù)涵蓋了各種常見(jiàn)的圖神經(jīng)網(wǎng)絡(luò)方面的論文算法實(shí)現(xiàn)瞭吃。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末碌嘀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子歪架,更是在濱河造成了極大的恐慌股冗,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件和蚪,死亡現(xiàn)場(chǎng)離奇詭異止状,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)攒霹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)怯疤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人催束,你說(shuō)我怎么就攤上這事集峦。” “怎么了泣崩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵少梁,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我矫付,道長(zhǎng)凯沪,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任买优,我火速辦了婚禮妨马,結(jié)果婚禮上挺举,老公的妹妹穿的比我還像新娘。我一直安慰自己烘跺,他們只是感情好湘纵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著滤淳,像睡著了一般梧喷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脖咐,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天铺敌,我揣著相機(jī)與錄音,去河邊找鬼屁擅。 笑死偿凭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的派歌。 我是一名探鬼主播弯囊,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼胶果!你這毒婦竟也來(lái)了匾嘱?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤稽物,失蹤者是張志新(化名)和其女友劉穎奄毡,沒(méi)想到半個(gè)月后折欠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體贝或,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年锐秦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咪奖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡酱床,死狀恐怖羊赵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扇谣,我是刑警寧澤昧捷,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站罐寨,受9級(jí)特大地震影響靡挥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鸯绿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一跋破、第九天 我趴在偏房一處隱蔽的房頂上張望簸淀。 院中可真熱鬧,春花似錦毒返、人聲如沸租幕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)劲绪。三九已至,卻和暖如春盆赤,著一層夾襖步出監(jiān)牢的瞬間珠叔,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工弟劲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祷安,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓兔乞,卻偏偏與公主長(zhǎng)得像汇鞭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子庸追,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容