原創(chuàng) | 圖注意力神經(jīng)網(wǎng)絡(luò)(Graph Attention Networks)綜述(1)
數(shù)無(wú)形時(shí)少直覺,形少數(shù)時(shí)難入微–華羅庚
1 圖注意力神經(jīng)網(wǎng)絡(luò)的介紹
1.1GAT的原理與特性
圖形,由點(diǎn)、線、面和體構(gòu)成,代表了一種理解抽象概念和表達(dá)抽象思想的有效工具。圖形語(yǔ)言的優(yōu)勢(shì)在于其跨越語(yǔ)言障礙的能力,這種能力和技術(shù)大多是人類為了理解世界而發(fā)展出來(lái)的。計(jì)算機(jī)科學(xué)和人工智能的快速進(jìn)步,使得理解和學(xué)習(xí)事物之間的更深層次客觀關(guān)系變得可能。圖神經(jīng)網(wǎng)絡(luò)(GNN)的誕生,更加幫助人類通過圖形來(lái)了解和解決問題。圖注意力神經(jīng)網(wǎng)絡(luò)(GAT)是一種專為處理圖結(jié)構(gòu)數(shù)據(jù)而設(shè)計(jì)的特殊神經(jīng)網(wǎng)絡(luò)。不同于傳統(tǒng)神經(jīng)網(wǎng)絡(luò),GAT在處理輸入數(shù)據(jù)時(shí),會(huì)充分考慮數(shù)據(jù)間的關(guān)系,使其在處理圖結(jié)構(gòu)數(shù)據(jù)時(shí)能更準(zhǔn)確地捕捉到數(shù)據(jù)間的關(guān)聯(lián)性。GAT的主要優(yōu)勢(shì)在于其自動(dòng)學(xué)習(xí)節(jié)點(diǎn)間關(guān)系的能力,無(wú)需人工預(yù)設(shè)。
GAT的核心工作原理是通過注意力機(jī)制來(lái)計(jì)算節(jié)點(diǎn)間的關(guān)系。在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)的狀態(tài)更新是獨(dú)立進(jìn)行的。而在GAT中,每個(gè)節(jié)點(diǎn)的狀態(tài)更新會(huì)考慮到其鄰居節(jié)點(diǎn)的狀態(tài),GAT會(huì)計(jì)算一個(gè)節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)之間的注意力權(quán)重,然后根據(jù)這個(gè)權(quán)重來(lái)更新節(jié)點(diǎn)的狀態(tài)。通過計(jì)算權(quán)重而更新 信息的方式使得GAT能更好地捕捉到圖中的結(jié)構(gòu)信息。在計(jì)算權(quán)重分值和捕捉信息的方面,GAT采用了類似于Transformer的掩蔽自注意力機(jī)制,由堆疊在一起的圖注意力層構(gòu)成,每個(gè)圖注意力層獲取節(jié)點(diǎn)嵌入作為輸入,輸出轉(zhuǎn)換后的嵌入,節(jié)點(diǎn)嵌入會(huì)關(guān)注到它所連接的其他節(jié)點(diǎn)的嵌入(Velickovic et al.,2017)。在GAT的實(shí)際運(yùn)算中,注意力分?jǐn)?shù)的計(jì)算是通過一個(gè)名為“注意力頭”的結(jié)構(gòu)完成的。每個(gè)注意力頭都會(huì)計(jì)算一組注意力分?jǐn)?shù),并且在最后的結(jié)果中,所有的注意力頭的結(jié)果會(huì)被平均或者拼接起來(lái),以得到最終的節(jié)點(diǎn)嵌入。這樣做的好處是,每個(gè)注意力頭可以關(guān)注到不同的特征或者模式,從而使得GAT能夠捕捉到更多的信息。具體的數(shù)學(xué)內(nèi)容將在下面的文章中解釋。
此外,GAT引入了圖池化的概念,這是一種選擇最具信息的節(jié)點(diǎn)子集的方法,可以生成更具區(qū)分性的圖。在圖池化過程中,GAT使用一個(gè)可學(xué)習(xí)的投影向量來(lái)計(jì)算每個(gè)節(jié)點(diǎn)的投影分?jǐn)?shù),然后根據(jù)投 影分?jǐn)?shù)來(lái)選擇保留的節(jié)點(diǎn)。這種方式可以進(jìn)一步提高GAT的性能。GAT還有一個(gè)重要特性是模型級(jí)別的融合。在處理復(fù)雜的問題時(shí),GAT可以通過模型級(jí)別的融合來(lái)利用不同的信息源。這種能力已經(jīng)使 得GAT在許多領(lǐng)域顯示出其優(yōu)越性,包括圖像識(shí)別、自然語(yǔ)言處理和推薦系統(tǒng)等。在圖像識(shí)別中,GAT 可以有效地處理圖像中的像素之間的關(guān)系,從而提高圖像識(shí)別的準(zhǔn)確性。在自然語(yǔ)言處理中,GAT可以有效地處理文本中的詞語(yǔ)之間的關(guān)系,從而提高文本理解的準(zhǔn)確性。在推薦系統(tǒng)中,GAT可以有效地處理用戶和商品之間的關(guān)系,從而提高推薦的準(zhǔn)確性。
1.2GAT在生活中的例子
為了更加直觀地理解圖注意力神經(jīng)網(wǎng)絡(luò)(GAT),可以通過一個(gè)生活中的例子來(lái)揭示其工作原理和應(yīng)用。
在中國(guó)的傳統(tǒng)婚禮中,座位安排是一項(xiàng)重要的任務(wù)。主辦方需要考慮所有賓客間的關(guān)系,以確保每個(gè)人在婚禮上都能享受到愉快的體驗(yàn)。這個(gè)過程可以被視為一個(gè)圖,其中每個(gè)賓客代表一個(gè)節(jié)點(diǎn),賓客間的關(guān)系代表邊。主辦方的目標(biāo)是找到一個(gè)最優(yōu)的座位安排,使得每個(gè)桌子的賓客都能和諧相處。
在GAT的框架下,這個(gè)過程被建模為一個(gè)注意力機(jī)制。每個(gè)節(jié)點(diǎn)(賓客)都用一個(gè)向量表示,稱其為嵌入,可以被視為節(jié)點(diǎn)的特征或?qū)傩?。在這個(gè)例子中,賓客的嵌入可能包括他們的年齡、性別、興趣等信息。注意力機(jī)制的工作原理是通過計(jì)算每個(gè)節(jié)點(diǎn)(賓客)與其他節(jié)點(diǎn)(其他賓客)之間的相似度,來(lái)決定每個(gè)節(jié)點(diǎn)的重要性。這個(gè)相似度被稱為注意力分?jǐn)?shù),它是通過一個(gè)叫做“點(diǎn)積注意力”的函數(shù)計(jì)算得出的。注意力分?jǐn)?shù)越高,表示這個(gè)節(jié)點(diǎn)與其他節(jié)點(diǎn)的關(guān)系越好,他們被安排在同一個(gè)位置的可能性就越大。在這個(gè)例子中,如果兩個(gè)賓客的注意力分?jǐn)?shù)很高,那么他們可能會(huì)被安排在同一個(gè)桌子上。在這個(gè)過程中,GAT還會(huì)考慮到每個(gè)桌子的負(fù)責(zé)人。這個(gè)負(fù)責(zé)人需要有較高的注意力分?jǐn)?shù),因 為他需要照顧到桌子上的每一個(gè)賓客,確保他們都能享受到婚禮。這就像是在圖中找出最重要的節(jié)點(diǎn)。
然而,就像在實(shí)際的婚禮座位安排中一樣,GAT也有一些局限性。例如,如果賓客數(shù)量非常多,計(jì)算每個(gè)賓客的注意力分?jǐn)?shù)可能會(huì)非常復(fù)雜。此外,GAT可能會(huì)忽略一些重要的信息,例如,一些賓客可能雖然與其他人的關(guān)系不是很好,但是他們可能是婚禮的重要人物。這就需要在計(jì)算注意力分?jǐn)?shù)時(shí),引入更多的信息,例如賓客的地位、他們對(duì)婚禮的貢獻(xiàn)等。
總的來(lái)說,GAT是一種強(qiáng)大的工具,它可以幫助解決一些復(fù)雜的問題。然而,也需要理解它的局限性,并且在使用它的時(shí)候,需要考慮到問題的具體情況。通過將GAT與日常生活中的經(jīng)驗(yàn)相聯(lián)系,可以更好地理解和應(yīng)用這個(gè)強(qiáng)大的工具。接下來(lái)本文將著重介紹GAT的工作原理以及部分算法的設(shè)計(jì)原理和數(shù)學(xué)知識(shí)。
2 GAT的工作原理
本文根據(jù)提出GAT文章Velickovic et al.(2017)中論述的順序,簡(jiǎn)單介紹一下GAT的工作原理。如果初次接觸圖神經(jīng)網(wǎng)絡(luò)相關(guān)知識(shí),推薦先移步至DGL Team (2023) and LabML Team (2023)了解基礎(chǔ)相關(guān)工作。
GAT通常由多個(gè)單層圖注意力層組成,以下為一個(gè)單層圖注意力層的解釋。N個(gè)點(diǎn)與F個(gè)特征的輸入可以記為:
(1)
這里的作為輸入的特征。這樣的輸入層會(huì)對(duì)于點(diǎn)生成新的特征,所以輸出結(jié)果可以表示為:
(2)
這里的.為了將輸入的特征轉(zhuǎn)換為高維的特征,這里至少需要一個(gè)科學(xué)系的線性轉(zhuǎn)換。在 (Velickovic et al.,2017)中,作者對(duì)于每一個(gè)點(diǎn)使用了一個(gè)共享的線性轉(zhuǎn)換方式,同時(shí)介紹了一個(gè)權(quán)重矩陣來(lái)參數(shù)化線性轉(zhuǎn)換。
2.1自注意力機(jī)制(Self-Attention Mechanism)
區(qū)別于注意力機(jī)制,自注意力關(guān)注每一個(gè)點(diǎn)和自己的關(guān)系,而與每個(gè)點(diǎn)間重要關(guān)系不同,按照相應(yīng)關(guān)系得出權(quán)重,將權(quán)重按照重要關(guān)系賦予點(diǎn)與點(diǎn)之間的連接上。結(jié)合上文提到的W, (Velickovic et al.,2017) 提出了自注意力機(jī)制。因此,對(duì)于節(jié)點(diǎn)i來(lái)說,節(jié)點(diǎn)j的特征重要性可以用以下式子衡量:
(3)
這樣的機(jī)制可以讓每個(gè)節(jié)點(diǎn)彼此之間產(chǎn)生聯(lián)系,并且摒棄了所有的結(jié)構(gòu)化新消息。
2.2多頭注意力機(jī)制(Multi-head Attention)
相較于上述的單一注意力機(jī)制中對(duì)于h1的處理方法,多頭注意力機(jī)制在每一個(gè)注意力頭中獲取一個(gè)h1k。多頭注意力機(jī)制中每個(gè)頭的特征值串聯(lián),串聯(lián)后的特征以下方式表示: (4)
在多頭注意力機(jī)制下,最終的輸出值將不再是F’個(gè)特征,而是KF’ 個(gè)特征。對(duì)于重復(fù)計(jì)算得出的結(jié)果可以通過取平均值或者向量的連接(Concatenation)
對(duì)于更細(xì)致的解釋和數(shù)學(xué)推導(dǎo),有興趣的讀者可以移步繼續(xù)學(xué)習(xí)研究:(Graph Attention NetworksExperiment 2022;Graph Attention Networks 2022)。
2.3分步圖示
本文參照(LaBonne,2022)的例子,更好地解釋在節(jié)點(diǎn)中如何使用上文中提到的計(jì)算方法。對(duì)于節(jié)點(diǎn)1的embedding自注意力計(jì)算方法:
圖1:例子圖示
(5)
其中αij仍為節(jié)點(diǎn)之間特征關(guān)系的重要性,hi為每個(gè)點(diǎn)的屬性向量?;谏厦娴挠?jì)算方法,圖注意力機(jī)制將計(jì)算出節(jié)點(diǎn)1的嵌入值。至于處理式子中的圖注意力相關(guān)系數(shù),要通過‘四步走’(LaBonne,2022):線性轉(zhuǎn)換,激活函數(shù),softmax歸一化,以及多頭的注意力機(jī)制來(lái)使用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)和節(jié)點(diǎn)1相關(guān)的注意力分?jǐn)?shù)。
第一步,對(duì)于每個(gè)點(diǎn)與點(diǎn)之間連線的重要性計(jì)算,可以通過對(duì)于兩點(diǎn)間的向量連接 (concatenate) 創(chuàng)造隱藏向量配對(duì)。為此,應(yīng)用linear transformation與一個(gè)權(quán)重矩陣Watt來(lái)實(shí)現(xiàn):
(6)
第二步,添加一個(gè)激活函數(shù)LeakyReLU:
(7)
第三步,將神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果歸一化,方便進(jìn)行比較:
歸一化后的注意力分值可以計(jì)算和比較,但同時(shí)產(chǎn)生了新的問題,即自注意力是非常不穩(wěn)定的。Velickovic et al.,2017)對(duì)此提出了給予transformer結(jié)構(gòu)的多頭注意力機(jī)制。
(8)(9)
第四步,按照上文提到的多頭注意力機(jī)制,這里用作處理和計(jì)算注意力繁分?jǐn)?shù):
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。