女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解圖神經網絡的數學原理2

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

整合在一起

現在我們已經完成了消息傳遞、聚合和更新步驟,讓我們把它們放在一起,在單個節點i上形成單個GNN層:

圖片

這里我們使用求和聚合和一個簡單的前饋層作為函數F和H。設hi∈Rd, W1,W2?Rd ' ×d其中d '為嵌入維數。

使用鄰接矩陣

到目前為止,我們通過單個節點i的視角觀察了整個GNN正向傳遞,當給定整個鄰接矩陣a和X?RN×d中所有N=∥V∥節點特征時,知道如何實現GNN正向傳遞也很重要。

在 MLP 前向傳遞中,我們想要對特征向量 xi 中的項目進行加權。這可以看作是節點特征向量 xi∈Rd 和參數矩陣 W?Rd′×d 的點積,其中 d′ 是嵌入維度:

圖片

如果我們想對數據集中的所有樣本(矢量化)這樣做,我們只需將參數矩陣和特征矩陣相乘,就可以得到轉換后的節點特征(消息):

圖片

在gnn中,對于每個節點i,消息聚合操作包括獲取相鄰節點特征向量,轉換它們,并將它們相加(在和聚合的情況下)。

單行Ai對于Aij=1的每個指標j,我們知道節點i和j是相連的→eij∈E。例如,如果A2=[1,0,1,1,0],我們知道節點2與節點1、3和4連接。因此,當我們將A2與Z=XW相乘時,我們只考慮列1、3和4,而忽略列2和5:

圖片

圖片

圖片

比如說A的第二行。

圖片

矩陣乘法就是A中的每一行與Z中的每一列的點積,這就是消息聚合的含義!!

獲取所有N的聚合消息,根據圖中節點之間的連接,將整個鄰接矩陣A與轉換后的節點特征進行矩陣乘法:

圖片

但是這里有一個小問題:觀察到聚合的消息沒有考慮節點i自己的特征向量(正如我們上面所做的那樣)。所以我們將自循環添加到A(每個節點i連接到自身)。

這意味著對角線的而數值需要進行修改,用一些線性代數,我們可以用單位矩陣來做這個!

圖片

圖片

添加自循環可以允許GNN將源節點的特征與其鄰居節點的特征一起聚合!!

有了這些,你就可以用矩陣而不是單節點來實現GNN的傳遞。

?要執行平均值聚合(mean),我們可以簡單地將總和除以1,對于上面的例子,由于A2=[1,0,0,1,1]中有三個1,我們可以將∑j∈N2Wxj除以3,但是用gnn的鄰接矩陣公式來實現最大(max)和最小聚合(min)是不可能的。

GNN層堆疊

上面我們已經介紹了單個GNN層是如何工作的,那么我們如何使用這些層構建整個“網絡”呢?信息如何在層之間流動,GNN如何細化節點(和/或邊)的嵌入/表示?

  • 第一個GNN層的輸入是節點特征X?RN×d。輸出是中間節點嵌入H1?RN×d1,其中d1是第一個嵌入維度。H1由h1i: 1→N∈Rd1組成。
  • H1是第二層的輸入。下一個輸出是H2?RN×d2,其中d2是第二層的嵌入維度。同理,H2由h2i: 1→N∈Rd2組成。
  • 經過幾層之后,在輸出層L,輸出是HL?RN×dL。最后,HL由hLi: 1→N∈RdL構成。

這里的{d1,d2,…,dL}的選擇完全取決于我們,可以看作是GNN的超參數。把這些看作是為MLP層選擇單位(“神經元”的數量)。

圖片

節點特征/嵌入(“表示”)通過GNN傳遞。雖然結構保持不變,但節點表示在各個層中不斷變化。邊表示也將改變,但不會改變連接或方向。

HL也可以做一些事情:

我們可以沿著第一個軸(即∑Nk=1hLk)將其相加,得到RdL中的向量。這個向量是整個圖的最新維度表示。它可以用于圖形分類(例如:這是什么分子?)

圖片

我們可以在HL中連接向量(即?Nk=1hk,其中⊕是向量連接操作),并將其傳遞給一個Graph Autoencoder。當輸入圖有噪聲或損壞,而我們想要重建去噪圖時,就需要這個操作。

圖片

我們可以做節點分類→這個節點屬于什么類?在特定索引hLi (i:1→N)處嵌入的節點可以通過分類器(如MLP)分為K個類(例如:這是碳原子、氫原子還是氧原子?)

圖片

我們還可以進行鏈接預測→某個節點i和j之間是否存在鏈接?hLi和hLj的節點嵌入可以被輸入到另一個基于sigmoid的MLP中,該MLP輸出這些節點之間存在邊的概率。

圖片

這些就是GNN在不同的應用中所進行的操作,無論哪種方式,每個h1→N∈HL都可以被堆疊,并被視為一批樣本。我們可以很容易地將其視為批處理。

對于給定的節點i, GNN聚合的第l層具有節點i的l跳鄰域。節點看到它的近鄰,并深入到網絡中,它與鄰居的鄰居交互。

這就是為什么對于非常小、稀疏(很少邊)的圖,大量的GNN層通常會導致性能下降:因為節點嵌入都收斂到一個向量,因為每個節點都看到了許多跳之外的節點。對于小的圖,這是沒有任何作用的。

這也解釋了為什么大多數GNN論文在實驗中經常使用≤4層來防止網絡出現問題。

以節點分類為例訓練GNN

在訓練期間,對節點、邊或整個圖的預測可以使用損失函數(例如:交叉熵)與來自數據集的ground-truth標簽進行比較。也就是說gnn能夠使用反向傳播和梯度下降以端到端方式進行訓練。

訓練和測試數據

與常規ML一樣,圖數據也可以分為訓練和測試。這有兩種方法:

1、Transductive

訓練數據和測試數據都在同一個圖中。每個集合中的節點相互連接。只是在訓練期間,測試節點的標簽是隱藏的,而訓練節點的標簽是可見的。但所有節點的特征對于GNN都是可見的。

我們可以對所有節點進行二進制掩碼(如果一個訓練節點i連接到一個測試節點j,只需在鄰接矩陣中設置Aij=0)。

圖片

訓練節點和測試節點都是同一個圖的一部分。訓練節點暴露它們的特征和標簽,而測試節點只暴露它們的特征。測試標簽對模型隱藏。二進制掩碼需要告訴GNN什么是訓練節點,什么是測試節點。

2、Inductive

另外一種方法是單獨的訓練圖和測試圖。這類似于常規的ML,其中模型在訓練期間只看到特征和標簽,并且只看到用于測試的特征。訓練和測試在兩個獨立的圖上進行。這些測試圖分布在外,可以檢查訓練期間的泛化質量。

圖片

與常規ML一樣,訓練數據和測試數據是分開保存的。GNN只使用來自訓練節點的特征和標簽。這里不需要二進制掩碼來隱藏測試節點,因為它們來自不同的集合。

反向傳播和梯度下降

在訓練過程中,一旦我們向前通過GNN,我們就得到了最終的節點表示hLi∈HL, 為了以端到端方式訓練,可以做以下工作:

  • 將每個hLi輸入MLP分類器,得到預測^yi
  • 使用ground-truth yi和預測yi→J(yi,yi)計算損失
  • 使用反向傳播來計算?J/?Wl,其中Wl是來自l層的參數矩陣
  • 使用優化器更新GNN中每一層的參數Wl
  • (如果需要)還可以微調分類器(MLP)網絡的權重。

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    459

    文章

    52145

    瀏覽量

    435938
  • 神經網絡
    +關注

    關注

    42

    文章

    4806

    瀏覽量

    102734
  • 數學
    +關注

    關注

    0

    文章

    99

    瀏覽量

    19473
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    matlab 神經網絡 數學建模數值分析

    matlab神經網絡 數學建模數值分析 精通的可以討論下
    發表于 09-18 15:14

    matlab 中亮劍數學 全面掌握控制 神經網絡就在腳下

    `如果想學控制,你的數學就是造詣,神經網絡的基礎離散數學數學建模實際問題分析,如何matlab求解,這里給你解答,這里是數學視頻,偏導數分
    發表于 07-30 11:46

    關于開關磁阻電機的matlab BP神經網絡數學建模方面的資料

    求大神們 給點關于開關磁阻電機的matlab BP神經網絡數學建模方面的資料
    發表于 11-17 11:16

    卷積神經網絡入門資料

    卷積神經網絡入門詳解
    發表于 02-12 13:58

    【PYNQ-Z2試用體驗】神經網絡基礎知識

    超過閾值,輸出就一躍而起。但我們一般用S函數作為激活函數。如下圖:2 該函數相比階越函數更加接近現實。神經網絡原理如圖所示是一個具有兩層的神經網絡,每層有兩個
    發表于 03-03 22:10

    BP神經網絡的基礎數學知識分享

    一文看懂BP神經網絡的基礎數學知識
    發表于 06-16 07:14

    如何構建神經網絡

    原文鏈接:http://tecdat.cn/?p=5725 神經網絡是一種基于現有數據創建預測的計算系統。如何構建神經網絡神經網絡包括:輸入層:根據現有數據獲取輸入的層隱藏層:使用反向傳播優化輸入變量權重的層,以提高模型的預測
    發表于 07-12 08:02

    卷積神經網絡數學原理介紹

    在之前的系列中,我們學習了密集連接的神經網絡(densely connected neural networks)。這些網絡神經元被分成組,形成連續的層,相鄰的兩個層之間的神經元相互
    的頭像 發表于 04-22 11:44 ?5003次閱讀

    深入卷積神經網絡背后的數學原理

    在計算機神經視覺技術的發展過程中,卷積神經網絡成為了其中的重要組成部分,本文對卷積神經網絡數學原理進行了介紹。
    的頭像 發表于 04-25 14:52 ?3724次閱讀

    深度:了解訓練神經網絡時所用到的數學過程

    模型的訓練、調參是一項非常費時費力的工作,了解神經網絡內部的數學原理有利于快速找出問題所在。
    的頭像 發表于 07-15 15:22 ?4279次閱讀
    深度:了解訓練<b class='flag-5'>神經網絡</b>時所用到的<b class='flag-5'>數學</b>過程

    圖解:卷積神經網絡數學原理解析

    圖解:卷積神經網絡數學原理解析 源自:數學中國 過去我們已經知道被稱為緊密連接的神經網絡。這些網絡神經
    的頭像 發表于 09-16 10:01 ?1837次閱讀
    圖解:卷積<b class='flag-5'>神經網絡</b><b class='flag-5'>數學原理</b>解析

    詳解神經網絡數學原理1

    。 本文將流行的神經網絡及其數學細微差別的進行詳細的梳理和解釋,深度學習背后的思想是學習具有節點和邊的的結構和空間特征,這些節點
    的頭像 發表于 03-17 09:58 ?804次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>圖</b><b class='flag-5'>神經網絡</b>的<b class='flag-5'>數學原理</b>1

    詳解神經網絡數學原理3

    。 本文將流行的神經網絡及其數學細微差別的進行詳細的梳理和解釋,深度學習背后的思想是學習具有節點和邊的的結構和空間特征,這些節點
    的頭像 發表于 03-17 09:58 ?1144次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>圖</b><b class='flag-5'>神經網絡</b>的<b class='flag-5'>數學原理</b>3

    神經網絡數學建模中的應用

    數學建模是一種利用數學方法和工具來描述和分析現實世界問題的過程。神經網絡是一種模擬人腦神經元結構和功能的計算模型,可以用于解決各種復雜問題。在數學
    的頭像 發表于 07-02 11:29 ?1529次閱讀

    數學建模神經網絡模型的優缺點有哪些

    數學建模神經網絡模型是一種基于人工神經網絡數學建模方法,它通過模擬人腦神經元的連接和信息傳遞機制,對復雜系統進行建模和分析。
    的頭像 發表于 07-02 11:36 ?1426次閱讀