在圖上發(fā)送消息的神經(jīng)網(wǎng)絡MPNN原理和代碼實現(xiàn)是怎樣的,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)服務項目包括寧夏網(wǎng)站建設、寧夏網(wǎng)站制作、寧夏網(wǎng)頁制作以及寧夏網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,寧夏網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到寧夏省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
歡迎來到圖神經(jīng)網(wǎng)絡的世界,在這里我們在圖上構(gòu)建深度學習模型。你可以認為這很簡單。畢竟,我們難道不能重用使用正常數(shù)據(jù)的模型嗎?
其實不是。在圖中所有的數(shù)據(jù)點(節(jié)點)是相互連接的。這意味著數(shù)據(jù)不再是獨立的,這使得大多數(shù)標準的機器學習模型毫無用處,因為它們的推導都強烈地基于這個假設。為了克服這個問題,可以從圖中提取數(shù)字數(shù)據(jù),或者使用直接對這類數(shù)據(jù)進行操作的模型。
創(chuàng)建直接在圖上工作的模型更為理想,因為我們可以獲得更多關(guān)于圖的結(jié)構(gòu)和屬性的信息。在本文中,我們將研究一種專門為此類數(shù)據(jù)設計的架構(gòu),即消息傳遞神經(jīng)網(wǎng)絡(MPNNs)。
模型的各種變體
在將模型標準化為單個MPNN框架之前,幾位獨立研究人員已經(jīng)發(fā)布了不同的變體。這種類型的結(jié)構(gòu)在化學中特別流行,可以幫助預測分子的性質(zhì)。
Duvenaud等人在2015年發(fā)表了有關(guān)該主題的第一批著作之一[1]。他使用消息傳遞體系結(jié)構(gòu)從圖分子中提取有價值的信息,然后將其轉(zhuǎn)換為單個特征向量。當時,他的工作具有開創(chuàng)性,因為他使體系結(jié)構(gòu)與眾不同。實際上是最早可以在圖上運行的卷積神經(jīng)網(wǎng)絡體系結(jié)構(gòu)之一。
Duvenaud等人創(chuàng)建的消息傳遞體系結(jié)構(gòu)。 他將模型定義為可區(qū)分的層的堆棧,其中每一層是傳遞消息的另一輪。修改自[1]
Li等人在2016年對此構(gòu)架進行了另一嘗試[2]。在這里,他們專注于圖的順序輸出,例如在圖[2]中找到最佳路徑。為此,他們將GRU(門控循環(huán)單元)嵌入其算法中。
盡管這些算法似乎完全不同,但是它們具有相同的基本概念,即消息在圖中的節(jié)點之間傳遞。我們將很快看到如何將這些模型組合成一個框架。
節(jié)點V1的消息傳遞體系結(jié)構(gòu)的一個非常簡單的示例。在這種情況下,一條消息是鄰居的隱藏狀態(tài)的總和。更新函數(shù)是消息m和h2之間的平均值。
畢竟,MPNN背后的想法在概念上很簡單。
圖中的每個節(jié)點都具有隱藏狀態(tài)(即特征向量)。對于每個節(jié)點Vt,我們將隱藏狀態(tài)的函數(shù)以及所有相鄰節(jié)點的邊緣與節(jié)點Vt本身進行聚合。然后,我們使用獲得的消息和該節(jié)點的先前隱藏狀態(tài)來更新節(jié)點Vt的隱藏狀態(tài)。
有3個主要方程式定義圖[3]上的MPNN框架。從相鄰節(jié)點獲得的消息由以下公式給出:
從鄰居節(jié)點獲取消息。
它是從鄰居獲得的所有消息Mt的總和。Mt是取決于隱藏狀態(tài)和相鄰節(jié)點邊緣的任意函數(shù)。我們可以通過保留一些輸入?yún)?shù)來簡化此功能。在上面的示例中,我們僅求和不同的隱藏狀態(tài)hw。
然后,我們使用一個簡單的方程式更新節(jié)點Vt的隱藏狀態(tài):
使用先前的隱藏狀態(tài)和新消息更新節(jié)點的狀態(tài)。
簡單地說,通過用新獲得的消息mv更新舊的隱藏狀態(tài)來獲得節(jié)點Vt的隱藏狀態(tài)。在上述示例的情況下,更新函數(shù)Ut是先前隱藏狀態(tài)和消息之間的平均值。
我們將此消息傳遞算法重復指定的次數(shù)。之后,我們進入最后的讀出階段。
將獲得的隱藏狀態(tài)映射到描述整個圖形的單個特征向量中。
在此步驟中,我們提取所有新近更新的隱藏狀態(tài),并創(chuàng)建描述整個圖形的最終特征向量。然后可以將此特征向量用作標準機器學習模型的輸入。
就是這樣!這些是MPNN的基礎(chǔ)。這個框架非常強大,因為我們可以定義不同的消息并根據(jù)想要實現(xiàn)的功能更新功能。我建議查看[3]以獲得更多信息,以了解MPNN模型的不同變體。
MPNN框架標準化了由多個研究人員獨立創(chuàng)建的不同消息傳遞模型。該框架的主要思想包括消息,更新和讀出功能,它們在圖中的不同節(jié)點上運行。MPNN模型的一些變體共享此功能,但是它們的定義不同。
看完上述內(nèi)容,你們掌握在圖上發(fā)送消息的神經(jīng)網(wǎng)絡MPNN原理和代碼實現(xiàn)是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!