日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

圖卷積神經(jīng)網(wǎng)絡(luò)入門詳解

倩倩 ? 來源:AI科技大本營 ? 2020-04-17 10:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【導讀】GCN問世已經(jīng)有幾年了(2016年就誕生了),但是這兩年尤為火爆。本人愚鈍,一直沒能搞懂這個GCN為何物,最開始是看清華寫的一篇三四十頁的綜述,讀了幾頁就沒讀了;后來直接拜讀GCN的開山之作,也是讀到中間的數(shù)學部分就跪了;再后來在知乎上看大神們的講解,直接被排山倒海般的公式——什么傅里葉變換、什么拉普拉斯算子等等,給搞蒙了,越讀越覺得:“哇這些大佬好厲害,哎我怎么這么菜!”。就這么反反復復,嘗試一次放棄一次,終于慢慢有點理解了,慢慢從那些公式的里跳了出來,看到了全局,也就慢慢明白了GCN的原理。今天,我就記錄一下我對GCN“階段性”的理解。

GCN的概念首次提出于ICLR2017(成文于2016年):

一、GCN是做什么的

在扎進GCN的汪洋大海前,我們先搞清楚這個玩意兒是做什么的,有什么用。

深度學習一直都是被幾大經(jīng)典模型給統(tǒng)治著,如CNN、RNN等等,它們無論再CV還是NLP領(lǐng)域都取得了優(yōu)異的效果,那這個GCN是怎么跑出來的?是因為我們發(fā)現(xiàn)了很多CNN、RNN無法解決或者效果不好的問題——圖結(jié)構(gòu)的數(shù)據(jù)。

回憶一下,我們做圖像識別,對象是圖片,是一個二維的結(jié)構(gòu),于是人們發(fā)明了CNN這種神奇的模型來提取圖片的特征。CNN的核心在于它的kernel,kernel是一個個小窗口,在圖片上平移,通過卷積的方式來提取特征。這里的關(guān)鍵在于圖片結(jié)構(gòu)上的平移不變性:一個小窗口無論移動到圖片的哪一個位置,其內(nèi)部的結(jié)構(gòu)都是一模一樣的,因此CNN可以實現(xiàn)參數(shù)共享。這就是CNN的精髓所在。

再回憶一下RNN系列,它的對象是自然語言這樣的序列信息,是一個一維的結(jié)構(gòu),RNN就是專門針對這些序列的結(jié)構(gòu)而設(shè)計的,通過各種門的操作,使得序列前后的信息互相影響,從而很好地捕捉序列的特征。

上面講的圖片或者語言,都屬于歐式空間的數(shù)據(jù),因此才有維度的概念,歐式空間的數(shù)據(jù)的特點就是結(jié)構(gòu)很規(guī)則。但是現(xiàn)實生活中,其實有很多很多不規(guī)則的數(shù)據(jù)結(jié)構(gòu),典型的就是圖結(jié)構(gòu),或稱拓撲結(jié)構(gòu),如社交網(wǎng)絡(luò)、化學分子結(jié)構(gòu)、知識圖譜等等;即使是語言,實際上其內(nèi)部也是復雜的樹形結(jié)構(gòu),也是一種圖結(jié)構(gòu);而像圖片,在做目標識別的時候,我們關(guān)注的實際上只是二維圖片上的部分關(guān)鍵點,這些點組成的也是一個圖的結(jié)構(gòu)。

圖的結(jié)構(gòu)一般來說是十分不規(guī)則的,可以認為是無限維的一種數(shù)據(jù),所以它沒有平移不變性。每一個節(jié)點的周圍結(jié)構(gòu)可能都是獨一無二的,這種結(jié)構(gòu)的數(shù)據(jù),就讓傳統(tǒng)的CNN、RNN瞬間失效。所以很多學者從上個世紀就開始研究怎么處理這類數(shù)據(jù)了。這里涌現(xiàn)出了很多方法,例如GNN、DeepWalk、node2vec等等,GCN只是其中一種,這里只講GCN,其他的后面有空再討論。

GCN,圖卷積神經(jīng)網(wǎng)絡(luò),實際上跟CNN的作用一樣,就是一個特征提取器,只不過它的對象是圖數(shù)據(jù)。GCN精妙地設(shè)計了一種從圖數(shù)據(jù)中提取特征的方法,從而讓我們可以使用這些特征去對圖數(shù)據(jù)進行節(jié)點分類(node classification)、圖分類(graph classification)、邊預測(link prediction),還可以順便得到圖的嵌入表示(graph embedding),可見用途廣泛。因此現(xiàn)在人們腦洞大開,讓GCN到各個領(lǐng)域中發(fā)光發(fā)熱。

二、GCN長啥樣,嚇人嗎

GCN的公式看起來還是有點嚇人的,論文里的公式更是嚇破了我的膽兒。但后來才發(fā)現(xiàn),其實90%的內(nèi)容根本不必理會,只是為了從數(shù)學上嚴謹?shù)匕咽虑榻o講清楚,但是完全不影響我們的理解,尤其對于我這種“追求直覺,不求甚解”之人。

下面進入正題,我們直接看看GCN的核心部分是什么亞子:

假設(shè)我們手頭有一批圖數(shù)據(jù),其中有N個節(jié)點(node),每個節(jié)點都有自己的特征,我們設(shè)這些節(jié)點的特征組成一個N×D維的矩陣X,然后各個節(jié)點之間的關(guān)系也會形成一個N×N維的矩陣A,也稱為鄰接矩陣(adjacency matrix)。X和A便是我們模型的輸入。

GCN也是一個神經(jīng)網(wǎng)絡(luò)層,它的層與層之間的傳播方式是:

這個公式中:

A波浪=A+I,I是單位矩陣

D波浪是A波浪的度矩陣(degree matrix),公式為

H是每一層的特征,對于輸入層的話,H就是X

σ是非線性激活函數(shù)

我們先不用考慮為什么要這樣去設(shè)計一個公式。我們現(xiàn)在只用知道: 這個部分,是可以事先算好的,因為D波浪由A計算而來,而A是我們的輸入之一。

所以對于不需要去了解數(shù)學原理、只想應(yīng)用GCN來解決實際問題的人來說,你只用知道:哦,這個GCN設(shè)計了一個牛逼的公式,用這個公式就可以很好地提取圖的特征。這就夠了,畢竟不是什么事情都需要知道內(nèi)部原理,這是根據(jù)需求決定的。

為了直觀理解,我們用論文中的一幅圖:

上圖中的GCN輸入一個圖,通過若干層GCN每個node的特征從X變成了Z,但是,無論中間有多少層,node之間的連接關(guān)系,即A,都是共享的。

假設(shè)我們構(gòu)造一個兩層的GCN,激活函數(shù)分別采用ReLU和Softmax,則整體的正向傳播的公式為:

最后,我們針對所有帶標簽的節(jié)點計算cross entropy損失函數(shù):

就可以訓練一個node classification的模型了。由于即使只有很少的node有標簽也能訓練,作者稱他們的方法為半監(jiān)督分類。

當然,你也可以用這個方法去做graph classification、link prediction,只是把損失函數(shù)給變化一下即可。

三、GCN為什么是這個亞子

我前后翻看了很多人的解讀,但是讀了一圈,最讓我清楚明白為什么GCN的公式是這樣子的居然是作者Kipf自己的博客:tkipf.github.io/graph-c 推薦大家一讀。

作者給出了一個由簡入繁的過程來解釋:

我們的每一層GCN的輸入都是鄰接矩陣A和node的特征H,那么我們直接做一個內(nèi)積,再乘一個參數(shù)矩陣W,然后激活一下,就相當于一個簡單的神經(jīng)網(wǎng)絡(luò)層嘛,是不是也可以呢?

實驗證明,即使就這么簡單的神經(jīng)網(wǎng)絡(luò)層,就已經(jīng)很強大了。這個簡單模型應(yīng)該大家都能理解吧,這就是正常的神經(jīng)網(wǎng)絡(luò)操作。

但是這個簡單模型有幾個局限性:

只使用A的話,由于A的對角線上都是0,所以在和特征矩陣H相乘的時候,只會計算一個node的所有鄰居的特征的加權(quán)和,該node自己的特征卻被忽略了。因此,我們可以做一個小小的改動,給A加上一個單位矩陣I,這樣就讓對角線元素變成1了。

A是沒有經(jīng)過歸一化的矩陣,這樣與特征矩陣相乘會改變特征原本的分布,產(chǎn)生一些不可預測的問題。所以我們對A做一個標準化處理。首先讓A的每一行加起來為1,我們可以乘以一個

,D就是度矩陣。我們可以進一步把 拆開與A相乘,得到一個對稱且歸一化的矩陣:

。

通過對上面兩個局限的改進,我們便得到了最終的層特征傳播公式:

其中 ,

為 的degree matrix。

公式中的 與對稱歸一化拉普拉斯矩陣十分類似,而在譜圖卷積的核心就是使用對稱歸一化拉普拉斯矩陣,這也是GCN的卷積叫法的來歷。原論文中給出了完整的從譜卷積到GCN的一步步推導,我是看不下去的,大家有興趣可以自行閱讀。

四、GCN有多牛

在看了上面的公式以及訓練方法之后,我并沒有覺得GCN有多么特別,無非就是一個設(shè)計巧妙的公式嘛,也許我不用這么復雜的公式,多加一點訓練數(shù)據(jù)或者把模型做深,也可能達到媲美的效果呢。

但是一直到我讀到了論文的附錄部分,我才頓時發(fā)現(xiàn):GCN原來這么牛??!

為啥呢?

因為即使不訓練,完全使用隨機初始化的參數(shù)W,GCN提取出來的特征就以及十分優(yōu)秀了!這跟CNN不訓練是完全不一樣的,后者不訓練是根本得不到什么有效特征的。

我們看論文原文:

然后作者做了一個實驗,使用一個俱樂部會員的關(guān)系網(wǎng)絡(luò),使用隨機初始化的GCN進行特征提取,得到各個node的embedding,然后可視化:

可以發(fā)現(xiàn),在原數(shù)據(jù)中同類別的node,經(jīng)過GCN的提取出的embedding,已經(jīng)在空間上自動聚類了。

而這種聚類結(jié)果,可以和DeepWalk、node2vec這種經(jīng)過復雜訓練得到的node embedding的效果媲美了。

說的夸張一點,比賽還沒開始,GCN就已經(jīng)在終點了??吹竭@里我不禁猛拍大腿打呼:“NB!”

還沒訓練就已經(jīng)效果這么好,那給少量的標注信息,GCN的效果就會更加出色。

作者接著給每一類的node,提供僅僅一個標注樣本,然后去訓練,得到的可視化效果如下:

這是整片論文讓我印象最深刻的地方。

看到這里,我覺得,以后有機會,確實得詳細地吧GCN背后的數(shù)學琢磨琢磨,其中的玄妙之處究竟為何,其物理本質(zhì)為何。這個時候,回憶起在知乎上看到的各路大神從各種角度解讀GCN,例如從熱量傳播的角度,從一個群體中每個人的工資的角度,生動形象地解釋。這一刻,歷來痛恨數(shù)學的我,我感受到了一絲數(shù)學之美,于是凌晨兩點的我,打開了天貓,下單了一本正版《數(shù)學之美》。哦,數(shù)學啊,你真如一朵美麗的玫瑰,每次被你的美所吸引,都要深深受到刺痛,我何時才能懂得你、擁有你?

其他關(guān)于GCN的點滴:

對于很多網(wǎng)絡(luò),我們可能沒有節(jié)點的特征,這個時候可以使用GCN嗎?答案是可以的,如論文中作者對那個俱樂部網(wǎng)絡(luò),采用的方法就是用單位矩陣 I 替換特征矩陣 X。

我沒有任何的節(jié)點類別的標注,或者什么其他的標注信息,可以使用GCN嗎?當然,就如前面講的,不訓練的GCN,也可以用來提取graph embedding,而且效果還不錯。

GCN網(wǎng)絡(luò)的層數(shù)多少比較好?論文的作者做過GCN網(wǎng)絡(luò)深度的對比研究,在他們的實驗中發(fā)現(xiàn),GCN層數(shù)不宜多,2-3層的效果就很好了。

這么強大的玩意兒,趕緊去試試吧!

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

    關(guān)注

    9

    文章

    535

    瀏覽量

    40197
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5610

    瀏覽量

    124656
  • cnn
    cnn
    +關(guān)注

    關(guān)注

    3

    文章

    356

    瀏覽量

    23558
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    FPGA實現(xiàn)CNN卷積層的高效窗口生成模塊設(shè)計與驗證

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以分為卷積層、池化層、激活層、全鏈接層結(jié)構(gòu),本篇要實現(xiàn)的,就是CNN的卷積層中的window窗。
    的頭像 發(fā)表于 04-15 10:35 ?195次閱讀
    FPGA實現(xiàn)CNN<b class='flag-5'>卷積</b>層的高效窗口生成模塊設(shè)計與驗證

    卷積神經(jīng)網(wǎng)絡(luò)如何讓自動駕駛識別障礙物?

    自動駕駛的發(fā)展過程中,感知系統(tǒng)一直承擔車輛“眼睛”的角色,其核心任務(wù)是讓計算機理解復雜多變的物理世界。卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為一種專門用于處理圖像和視頻等網(wǎng)格狀數(shù)據(jù)結(jié)構(gòu)的深度學習模型,已經(jīng)成為自動駕駛感知的基石。
    的頭像 發(fā)表于 04-11 09:59 ?1494次閱讀
    <b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>如何讓自動駕駛識別障礙物?

    神經(jīng)網(wǎng)絡(luò)的初步認識

    日常生活中的智能應(yīng)用都離不開深度學習,而深度學習則依賴于神經(jīng)網(wǎng)絡(luò)的實現(xiàn)。什么是神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)的核心思想是模仿生物神經(jīng)系統(tǒng)的結(jié)構(gòu),特別是大腦中神經(jīng)
    的頭像 發(fā)表于 12-17 15:05 ?485次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的初步認識

    自動駕駛中常提的卷積神經(jīng)網(wǎng)絡(luò)是個啥?

    在自動駕駛領(lǐng)域,經(jīng)常會聽到卷積神經(jīng)網(wǎng)絡(luò)技術(shù)。卷積神經(jīng)網(wǎng)絡(luò),簡稱為CNN,是一種專門用來處理網(wǎng)格狀數(shù)據(jù)(比如圖像)的深度學習模型。CNN在圖像處理中尤其常見,因為圖像本身就可以看作是由像
    的頭像 發(fā)表于 11-19 18:15 ?2277次閱讀
    自動駕駛中常提的<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>是個啥?

    CNN卷積神經(jīng)網(wǎng)絡(luò)設(shè)計原理及在MCU200T上仿真測試

    數(shù)的提出很大程度的解決了BP算法在優(yōu)化深層神經(jīng)網(wǎng)絡(luò)時的梯度耗散問題。當x&gt;0 時,梯度恒為1,無梯度耗散問題,收斂快;當x&lt;0 時,該層的輸出為0。 CNN
    發(fā)表于 10-29 07:49

    NMSIS神經(jīng)網(wǎng)絡(luò)庫使用介紹

    :   神經(jīng)網(wǎng)絡(luò)卷積函數(shù)   神經(jīng)網(wǎng)絡(luò)激活函數(shù)   全連接層函數(shù)   神經(jīng)網(wǎng)絡(luò)池化函數(shù)   Softmax 函數(shù)   神經(jīng)網(wǎng)絡(luò)支持功能
    發(fā)表于 10-29 06:08

    構(gòu)建CNN網(wǎng)絡(luò)模型并優(yōu)化的一般化建議

    整個模型非常巨大。所以要想實現(xiàn)輕量級的CNN神經(jīng)網(wǎng)絡(luò)模型,首先應(yīng)該避免嘗試單層神經(jīng)網(wǎng)絡(luò)。 2)減少卷積核的大?。篊NN神經(jīng)網(wǎng)絡(luò)是通過權(quán)值共享的方式,利用
    發(fā)表于 10-28 08:02

    卷積運算分析

    的數(shù)據(jù),故設(shè)計了ConvUnit模塊實現(xiàn)單個感受域規(guī)模的卷積運算. 卷積運算:不同于數(shù)學當中提及到的卷積概念,CNN神經(jīng)網(wǎng)絡(luò)中的卷積嚴格意義
    發(fā)表于 10-28 07:31

    在Ubuntu20.04系統(tǒng)中訓練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗

    模型。 我們使用MNIST數(shù)據(jù)集,訓練一個卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型,用于手寫數(shù)字識別。一旦模型被訓練并保存,就可以用于對新圖像進行推理和預測。要使用生成的模型進行推理,可以按照以下步驟進行操作: 1.
    發(fā)表于 10-22 07:03

    CICC2033神經(jīng)網(wǎng)絡(luò)部署相關(guān)操作

    讀取。接下來需要使用擴展指令,完成神經(jīng)網(wǎng)絡(luò)的部署,此處僅對第一層卷積+池化的部署進行說明,其余層與之類似。 1.使用 Custom_Dtrans 指令,將權(quán)重數(shù)據(jù)、輸入數(shù)據(jù)導入硬件加速器內(nèi)。對于權(quán)重
    發(fā)表于 10-20 08:00

    液態(tài)神經(jīng)網(wǎng)絡(luò)(LNN):時間連續(xù)性與動態(tài)適應(yīng)性的神經(jīng)網(wǎng)絡(luò)

    1.算法簡介液態(tài)神經(jīng)網(wǎng)絡(luò)(LiquidNeuralNetworks,LNN)是一種新型的神經(jīng)網(wǎng)絡(luò)架構(gòu),其設(shè)計理念借鑒自生物神經(jīng)系統(tǒng),特別是秀麗隱桿線蟲的神經(jīng)結(jié)構(gòu),盡管這種微生物的
    的頭像 發(fā)表于 09-28 10:03 ?1602次閱讀
    液態(tài)<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>(LNN):時間連續(xù)性與動態(tài)適應(yīng)性的<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    神經(jīng)網(wǎng)絡(luò)的并行計算與加速技術(shù)

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和廣泛的應(yīng)用前景。然而,神經(jīng)網(wǎng)絡(luò)模型的復雜度和規(guī)模也在不斷增加,這使得傳統(tǒng)的串行計算方式面臨著巨大的挑戰(zhàn),如計算速度慢、訓練時間長等
    的頭像 發(fā)表于 09-17 13:31 ?1330次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的并行計算與加速技術(shù)

    卷積神經(jīng)網(wǎng)絡(luò)如何監(jiān)測皮帶堵料情況 #人工智能

    卷積神經(jīng)網(wǎng)絡(luò)
    jf_60804796
    發(fā)布于 :2025年07月01日 17:08:42

    無刷電機小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測方法的研究

    摘要:論文通過對無刷電機數(shù)學模型的推導,得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了一個以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來實現(xiàn)轉(zhuǎn)角預測,并采用改進遺傳算法來訓練網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),借助
    發(fā)表于 06-25 13:06

    神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機故障診斷中的應(yīng)用

    摘要:針對傳統(tǒng)專家系統(tǒng)不能進行自學習、自適應(yīng)的問題,本文提出了基于種經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的并步電機故障診斷方法。本文將小波神經(jīng)網(wǎng)絡(luò)和專家系統(tǒng)相結(jié)合,充分發(fā)揮了二者故障診斷的優(yōu)點,很大程度上降低了對電機
    發(fā)表于 06-16 22:09
    云阳县| 泉州市| 新宁县| 潜江市| 卢氏县| 西峡县| 漠河县| 石泉县| 咸宁市| 清原| 松阳县| 曲松县| 壶关县| 桑植县| 民乐县| 卓资县| 永康市| 上栗县| 贵港市| 万州区| 宜兰市| 牙克石市| 米泉市| 静宁县| 江北区| 德格县| 滕州市| 北流市| 沭阳县| 亚东县| 丹江口市| 永和县| 钟山县| 额济纳旗| 南岸区| 额敏县| 浦城县| 云安县| 古丈县| 辉县市| 东海县|