RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解圖神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)原理3

jf_78858299 ? 來源:人工智能大講堂 ? 作者:人工智能大講堂 ? 2023-03-17 09:58 ? 次閱讀

流行圖神經(jīng)網(wǎng)絡(luò)總結(jié)

上面我們介紹完了古神經(jīng)網(wǎng)絡(luò)的基本流程,下面我們總結(jié)一下流行圖神經(jīng)網(wǎng)絡(luò),并將它們的方程和數(shù)學(xué)分為上面提到的3個(gè)GNN步驟。許多體系結(jié)構(gòu)將消息傳遞和聚合步驟合并到一起執(zhí)行的一個(gè)函數(shù)中,而不是顯式地一個(gè)接一個(gè)執(zhí)行,但為了數(shù)學(xué)上的方便,我們將嘗試分解它們并將它們視為一個(gè)單一的操作!

1、消息傳遞神經(jīng)網(wǎng)絡(luò)

https://arxiv.org/abs/1704.01212

消息傳遞神經(jīng)網(wǎng)絡(luò)(MPNN)將正向傳播分解為具有消息函數(shù)Ml的消息傳遞階段和具有頂點(diǎn)更新函數(shù)Ul的讀出階段

MPNN將消息傳遞和聚合步驟合并到單個(gè)消息傳遞階段:

圖片

讀取階段是更新步驟:

圖片

其中ml+1v是聚合的消息,hl+1v是更新的節(jié)點(diǎn)嵌入。這與我上面提到的過程非常相似。消息函數(shù)Ml是F和G的混合,函數(shù)Ul是k,其中eij表示可能的邊緣特征,也可以省略。

圖片

2、圖卷積

https://arxiv.org/abs/1609.02907

圖卷積網(wǎng)絡(luò)(GCN)論文以鄰接矩陣的形式研究整個(gè)圖。在鄰接矩陣中加入自連接,確保所有節(jié)點(diǎn)都與自己連接以得到~A。這確保在消息聚合期間考慮源節(jié)點(diǎn)的嵌入。合并的消息聚合和更新步驟如下所示:

圖片

其中Wl是一個(gè)可學(xué)習(xí)參數(shù)矩陣。這里將X改為H,以泛化任意層l上的節(jié)點(diǎn)特征,其中H0=X。

由于矩陣乘法的結(jié)合律(A(BC)=(AB)C),我們?cè)谀膫€(gè)序列中乘矩陣并不重要(要么是AHl先乘,然后是Wl后乘,要么是HlWl先乘,然后是A)。作者Kipf和Welling進(jìn)一步引入了度矩陣~D作為"renormalisation"的一種形式,以避免數(shù)值不穩(wěn)定和爆炸/消失的梯度:

圖片

“renormalisation”是在增廣鄰接矩陣^A=D?12A~D?12上進(jìn)行的。新的合并消息傳遞和更新步驟如下所示:

圖片

3、圖注意力網(wǎng)絡(luò)

https://arxiv.org/abs/1710.10903

聚合通常涉及在和、均值、最大值和最小值設(shè)置中平等對(duì)待所有鄰居。但是在大多數(shù)情況下,一些鄰居比其他鄰居更重要。圖注意力網(wǎng)絡(luò)(GAT)通過使用Vaswani等人(2017)的Self-Attention對(duì)源節(jié)點(diǎn)及其鄰居之間的邊緣進(jìn)行加權(quán)來確保這一點(diǎn)。

邊權(quán)值αij如下。

圖片

這里的Wa∈R2d '和W?Rd ' ×d為學(xué)習(xí)參數(shù),d '為嵌入維數(shù),⊕是向量拼接運(yùn)算。

雖然最初的消息傳遞步驟與MPNN/GCN相同,但合并的消息聚合和更新步驟是所有鄰居和節(jié)點(diǎn)本身的加權(quán)和:

圖片

邊緣重要性加權(quán)有助于了解鄰居對(duì)源節(jié)點(diǎn)的影響程度。與GCN一樣,添加了自循環(huán),因此源節(jié)點(diǎn)可以將自己的表示形式考慮到未來的表示形式中。

圖片

4、GraphSAGE

https://arxiv.org/abs/1706.02216

GraphSAGE:Graph SAmple and AggreGatE。這是一個(gè)為大型、非常密集的圖形生成節(jié)點(diǎn)嵌入的模型。

這項(xiàng)工作在節(jié)點(diǎn)的鄰域上引入了學(xué)習(xí)聚合器。不像傳統(tǒng)的gat或GCNs考慮鄰居中的所有節(jié)點(diǎn),GraphSAGE統(tǒng)一地對(duì)鄰居進(jìn)行采樣,并對(duì)它們使用學(xué)習(xí)的聚合器。

假設(shè)我們?cè)诰W(wǎng)絡(luò)(深度)中有L層,每一層L∈{1,…,L}查看一個(gè)更大的L跳鄰域w.r.t.源節(jié)點(diǎn)。然后在通過MLP的F和非線性σ傳遞之前,通過將節(jié)點(diǎn)嵌入與采樣消息連接來更新每個(gè)源節(jié)點(diǎn)。

對(duì)于某一層l

圖片

其中⊕是向量拼接運(yùn)算,N(i)是返回所有鄰居的子集的統(tǒng)一抽樣函數(shù)。如果一個(gè)節(jié)點(diǎn)有5個(gè)鄰居{1,2,3,4,5},N(i)可能的輸出將是{1,4,5}或{2,5}。

圖片

Aggregator k=1從1-hop鄰域聚集采樣節(jié)點(diǎn)(彩色),而Aggregator k=2從2 -hop鄰域聚集采樣節(jié)點(diǎn)(彩色)

論文中用K和K表示層指數(shù)。但在本文中分別使用L和L來表示,這是為了和前面的內(nèi)容保持一致性。此外,論文用v表示源節(jié)點(diǎn)i,用u表示鄰居節(jié)點(diǎn)j。

5、時(shí)間圖網(wǎng)絡(luò)

https://arxiv.org/abs/2006.10637

到目前為止所描述的網(wǎng)絡(luò)工作在靜態(tài)圖上。大多數(shù)實(shí)際情況都在動(dòng)態(tài)圖上工作,其中節(jié)點(diǎn)和邊在一段時(shí)間內(nèi)被添加、刪除或更新。時(shí)間圖網(wǎng)絡(luò)(TGN)致力于連續(xù)時(shí)間動(dòng)態(tài)圖(CTDG),它可以表示為按時(shí)間順序排列的事件列表。

論文將事件分為兩種類型:節(jié)點(diǎn)級(jí)事件和交互事件。節(jié)點(diǎn)級(jí)事件涉及一個(gè)孤立的節(jié)點(diǎn)(例如:用戶更新他們的個(gè)人簡(jiǎn)介),而交互事件涉及兩個(gè)可能連接也可能不連接的節(jié)點(diǎn)(例如:用戶a轉(zhuǎn)發(fā)/關(guān)注用戶B)。

TGN提供了一種模塊化的CTDG處理方法,包括以下組件:

  • 消息傳遞函數(shù)→孤立節(jié)點(diǎn)或交互節(jié)點(diǎn)之間的消息傳遞(對(duì)于任何類型的事件)。
  • 消息聚合函數(shù)→通過查看多個(gè)時(shí)間步長(zhǎng)的時(shí)間鄰域,而不是在給定時(shí)間步長(zhǎng)的局部鄰域,來使用GAT的聚合。
  • 記憶更新→記憶(Memory)允許節(jié)點(diǎn)具有長(zhǎng)期依賴關(guān)系,并表示節(jié)點(diǎn)在潛在(“壓縮”)空間中的歷史。這個(gè)模塊根據(jù)一段時(shí)間內(nèi)發(fā)生的交互來更新節(jié)點(diǎn)的內(nèi)存。
  • 時(shí)間嵌入→一種表示節(jié)點(diǎn)的方法,也能捕捉到時(shí)間的本質(zhì)。
  • 鏈接預(yù)測(cè)→將事件中涉及的節(jié)點(diǎn)的時(shí)間嵌入通過一些神經(jīng)網(wǎng)絡(luò)來計(jì)算邊緣概率(即,邊緣會(huì)在未來發(fā)生嗎?)。在訓(xùn)練過程中,我們知道邊的存在,所以邊的標(biāo)簽是1,所以需要訓(xùn)練基于sigmoid的網(wǎng)絡(luò)來像往常一樣預(yù)測(cè)這個(gè)。

圖片

每當(dāng)一個(gè)節(jié)點(diǎn)參與一個(gè)活動(dòng)(節(jié)點(diǎn)更新或節(jié)點(diǎn)間交互)時(shí),記憶就會(huì)更新。

對(duì)于批處理中的每個(gè)事件1和2,TGN為涉及該事件的所有節(jié)點(diǎn)生成消息。TGN聚合所有時(shí)間步長(zhǎng)t的每個(gè)節(jié)點(diǎn)mi的消息;這被稱為節(jié)點(diǎn)i的時(shí)間鄰域。然后TGN使用聚合消息mi(t)來更新每個(gè)節(jié)點(diǎn)si(t)的記憶。

圖片

一旦所有節(jié)點(diǎn)的內(nèi)存si(t)是最新的,它就用于計(jì)算批處理中特定交互中使用的所有節(jié)點(diǎn)的“臨時(shí)節(jié)點(diǎn)嵌入”zi(t)。然后將這些節(jié)點(diǎn)嵌入到MLP或神經(jīng)網(wǎng)絡(luò)中,獲得每個(gè)事件發(fā)生的概率(使用Sigmoid激活)。這樣可以像往常一樣使用二進(jìn)制交叉熵(BCE)計(jì)算損失。

總結(jié)

上面就是我們對(duì)圖神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)總結(jié),圖深度學(xué)習(xí)在處理具有類似網(wǎng)絡(luò)結(jié)構(gòu)的問題時(shí)是一個(gè)很好的工具集。它們很容易理解,我們可以使用PyTorch Geometric、spectral、Deep Graph Library、Jraph(jax)以及TensorFlow-gnn來實(shí)現(xiàn)。GDL已經(jīng)顯示出前景,并將繼續(xù)作為一個(gè)領(lǐng)域發(fā)展。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423137
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4771

    瀏覽量

    100712
  • 數(shù)學(xué)
    +關(guān)注

    關(guān)注

    0

    文章

    99

    瀏覽量

    19235
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    matlab 神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析

    matlab神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析 精通的可以討論下
    發(fā)表于 09-18 15:14

    matlab 中亮劍數(shù)學(xué) 全面掌握控制 神經(jīng)網(wǎng)絡(luò)就在腳下

    `如果想學(xué)控制,你的數(shù)學(xué)就是造詣,神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)離散數(shù)學(xué),數(shù)學(xué)建模實(shí)際問題分析,如何matlab求解,這里給你解答,這里是數(shù)學(xué)視頻,偏導(dǎo)數(shù)分
    發(fā)表于 07-30 11:46

    關(guān)于開關(guān)磁阻電機(jī)的matlab BP神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)建模方面的資料

    求大神們 給點(diǎn)關(guān)于開關(guān)磁阻電機(jī)的matlab BP神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)建模方面的資料
    發(fā)表于 11-17 11:16

    卷積神經(jīng)網(wǎng)絡(luò)入門資料

    卷積神經(jīng)網(wǎng)絡(luò)入門詳解
    發(fā)表于 02-12 13:58

    【PYNQ-Z2試用體驗(yàn)】神經(jīng)網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    超過閾值,輸出就一躍而起。但我們一般用S函數(shù)作為激活函數(shù)。如下圖:2 該函數(shù)相比階越函數(shù)更加接近現(xiàn)實(shí)。神經(jīng)網(wǎng)絡(luò)原理如圖所示是一個(gè)具有兩層的神經(jīng)網(wǎng)絡(luò),每層有兩個(gè)神經(jīng)元。
    發(fā)表于 03-03 22:10

    BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)數(shù)學(xué)知識(shí)分享

    一文看懂BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)數(shù)學(xué)知識(shí)
    發(fā)表于 06-16 07:14

    如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡(luò)是一種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預(yù)測(cè)的計(jì)算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)包括:輸入層:根據(jù)現(xiàn)有數(shù)據(jù)獲取輸入的層隱藏層:使用反向傳播優(yōu)化輸入變量權(quán)重的層,以提高模型的預(yù)測(cè)
    發(fā)表于 07-12 08:02

    卷積神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)原理介紹

    在之前的系列中,我們學(xué)習(xí)了密集連接的神經(jīng)網(wǎng)絡(luò)(densely connected neural networks)。這些網(wǎng)絡(luò)神經(jīng)元被分成組,形成連續(xù)的層,相鄰的兩個(gè)層之間的神經(jīng)元相互
    的頭像 發(fā)表于 04-22 11:44 ?4808次閱讀

    深入卷積神經(jīng)網(wǎng)絡(luò)背后的數(shù)學(xué)原理

    在計(jì)算機(jī)神經(jīng)視覺技術(shù)的發(fā)展過程中,卷積神經(jīng)網(wǎng)絡(luò)成為了其中的重要組成部分,本文對(duì)卷積神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)原理進(jìn)行了介紹。
    的頭像 發(fā)表于 04-25 14:52 ?3545次閱讀

    深度:了解訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)所用到的數(shù)學(xué)過程

    模型的訓(xùn)練、調(diào)參是一項(xiàng)非常費(fèi)時(shí)費(fèi)力的工作,了解神經(jīng)網(wǎng)絡(luò)內(nèi)部的數(shù)學(xué)原理有利于快速找出問題所在。
    的頭像 發(fā)表于 07-15 15:22 ?4089次閱讀
    深度:了解訓(xùn)練<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>時(shí)所用到的<b class='flag-5'>數(shù)學(xué)</b>過程

    圖解:卷積神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)原理解析

    圖解:卷積神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)原理解析 源自:數(shù)學(xué)中國(guó) 過去我們已經(jīng)知道被稱為緊密連接的神經(jīng)網(wǎng)絡(luò)。這些網(wǎng)絡(luò)神經(jīng)
    的頭像 發(fā)表于 09-16 10:01 ?1567次閱讀
    圖解:卷積<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b><b class='flag-5'>數(shù)學(xué)原理</b>解析

    詳解神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)原理1

    。 本文將流行的神經(jīng)網(wǎng)絡(luò)及其數(shù)學(xué)細(xì)微差別的進(jìn)行詳細(xì)的梳理和解釋,深度學(xué)習(xí)背后的思想是學(xué)習(xí)具有節(jié)點(diǎn)和邊的的結(jié)構(gòu)和空間特征,這些節(jié)點(diǎn)
    的頭像 發(fā)表于 03-17 09:58 ?632次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>圖</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的<b class='flag-5'>數(shù)學(xué)原理</b>1

    詳解神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)原理2

    。 本文將流行的神經(jīng)網(wǎng)絡(luò)及其數(shù)學(xué)細(xì)微差別的進(jìn)行詳細(xì)的梳理和解釋,深度學(xué)習(xí)背后的思想是學(xué)習(xí)具有節(jié)點(diǎn)和邊的的結(jié)構(gòu)和空間特征,這些節(jié)點(diǎn)
    的頭像 發(fā)表于 03-17 09:58 ?520次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>圖</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的<b class='flag-5'>數(shù)學(xué)原理</b>2

    神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)建模中的應(yīng)用

    數(shù)學(xué)建模是一種利用數(shù)學(xué)方法和工具來描述和分析現(xiàn)實(shí)世界問題的過程。神經(jīng)網(wǎng)絡(luò)是一種模擬人腦神經(jīng)元結(jié)構(gòu)和功能的計(jì)算模型,可以用于解決各種復(fù)雜問題。在數(shù)學(xué)
    的頭像 發(fā)表于 07-02 11:29 ?925次閱讀

    數(shù)學(xué)建模神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)有哪些

    數(shù)學(xué)建模神經(jīng)網(wǎng)絡(luò)模型是一種基于人工神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)建模方法,它通過模擬人腦神經(jīng)元的連接和信息傳遞機(jī)制,對(duì)復(fù)雜系統(tǒng)進(jìn)行建模和分析。
    的頭像 發(fā)表于 07-02 11:36 ?896次閱讀
    RM新时代网站-首页