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