一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

GNN教程:GraghSAGE算法細(xì)節(jié)詳解!

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:深度學(xué)習(xí)自然語(yǔ)言處理 ? 作者:深度學(xué)習(xí)自然語(yǔ)言 ? 2020-11-24 09:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

本文為GNN教程的第三篇文章 【GraghSAGE算法】,在GCN的博文中我們重點(diǎn)討論了圖神經(jīng)網(wǎng)絡(luò)的逐層傳播公式是如何推導(dǎo)的,然而,GCN的訓(xùn)練方式需要將鄰接矩陣和特征矩陣一起放到內(nèi)存或者顯存里,在大規(guī)模圖數(shù)據(jù)上是不可取的。 其次,GCN在訓(xùn)練時(shí)需要知道整個(gè)圖的結(jié)構(gòu)信息(包括待預(yù)測(cè)的節(jié)點(diǎn)), 這在現(xiàn)實(shí)某些任務(wù)中也不能實(shí)現(xiàn)(比如用今天訓(xùn)練的圖模型預(yù)測(cè)明天的數(shù)據(jù),那么明天的節(jié)點(diǎn)是拿不到的)。GraphSAGE的出現(xiàn)就是為了解決這樣的問(wèn)題,這篇博文中我們將會(huì)詳細(xì)得討論它。

一、Inductive learning v.s. Transductive learning

首先我們介紹一下什么是inductive learning。與其他類型的數(shù)據(jù)不同,圖數(shù)據(jù)中的每一個(gè)節(jié)點(diǎn)可以通過(guò)邊的關(guān)系利用其他節(jié)點(diǎn)的信息,這樣就產(chǎn)生了一個(gè)問(wèn)題,如果訓(xùn)練集上的節(jié)點(diǎn)通過(guò)邊關(guān)聯(lián)到了預(yù)測(cè)集或者驗(yàn)證集的節(jié)點(diǎn),那么在訓(xùn)練的時(shí)候能否用它們的信息呢? 如果訓(xùn)練時(shí)用到了測(cè)試集或驗(yàn)證集樣本的信息(或者說(shuō),測(cè)試集和驗(yàn)證集在訓(xùn)練的時(shí)候是可見(jiàn)的), 我們把這種學(xué)習(xí)方式叫做transductive learning, 反之,稱為inductive learning。

顯然,我們所處理的大多數(shù)機(jī)器學(xué)習(xí)問(wèn)題都是inductive learning, 因?yàn)槲覀兛桃獾膶颖炯譃橛?xùn)練/驗(yàn)證/測(cè)試,并且訓(xùn)練的時(shí)候只用訓(xùn)練樣本。然而,在GCN中,訓(xùn)練節(jié)點(diǎn)收集鄰居信息的時(shí)候,用到了測(cè)試或者驗(yàn)證樣本,所以它是transductive的。

二、概述

GraphSAGE是一個(gè)inductive框架,在具體實(shí)現(xiàn)中,訓(xùn)練時(shí)它僅僅保留訓(xùn)練樣本到訓(xùn)練樣本的邊。inductive learning 的優(yōu)點(diǎn)是可以利用已知節(jié)點(diǎn)的信息為未知節(jié)點(diǎn)生成Embedding. GraphSAGE 取自 Graph SAmple and aggreGatE, SAmple指如何對(duì)鄰居個(gè)數(shù)進(jìn)行采樣。aggreGatE指拿到鄰居的embedding之后如何匯聚這些embedding以更新自己的embedding信息。下圖展示了GraphSAGE學(xué)習(xí)的一個(gè)過(guò)程:

對(duì)鄰居采樣

采樣后的鄰居embedding傳到節(jié)點(diǎn)上來(lái),并使用一個(gè)聚合函數(shù)聚合這些鄰居信息以更新節(jié)點(diǎn)的embedding

根據(jù)更新后的embedding預(yù)測(cè)節(jié)點(diǎn)的標(biāo)簽

三、算法細(xì)節(jié)

3.1 節(jié)點(diǎn) Embedding 生成(即:前向傳播)算法

這一節(jié)討論的是如何給圖中的節(jié)點(diǎn)生成(或者說(shuō)更新)embedding, 假設(shè)我們已經(jīng)完成了GraphSAGE的訓(xùn)練,因此模型所有的參數(shù)(parameters)都已知了。具體來(lái)說(shuō),這些參數(shù)包括個(gè)聚合器(見(jiàn)下圖算法第4行)中的參數(shù), 這些聚合器被用來(lái)將鄰居embedding信息聚合到節(jié)點(diǎn)上,以及一系列的權(quán)重矩陣(下圖算法第5行), 這些權(quán)值矩陣被用作在模型層與層之間傳播embedding的時(shí)候做非線性變換。

下面的算法描述了我們是怎么做前向傳播的:

算法的主要部分為:

(line 1)初始化每個(gè)節(jié)點(diǎn)embedding為節(jié)點(diǎn)的特征向量

(line 3)對(duì)于每一個(gè)節(jié)點(diǎn)

(line 4)拿到它采樣后的鄰居的embedding并將其聚合,這里表示對(duì)鄰居采樣

(line 5)根據(jù)聚合后的鄰居embedding()和自身embedding()通過(guò)一個(gè)非線性變換()更新自身embedding.

算法里的這個(gè)比較難理解,下面單獨(dú)來(lái)說(shuō)他,之前提到過(guò),它既是聚合器的數(shù)量,也是權(quán)重矩陣的數(shù)量,還是網(wǎng)絡(luò)的層數(shù),這是因?yàn)槊恳粚泳W(wǎng)絡(luò)中聚合器和權(quán)重矩陣是共享的。

網(wǎng)絡(luò)的層數(shù)可以理解為需要最大訪問(wèn)到的鄰居的跳數(shù)(hops),比如在figure 1中,紅色節(jié)點(diǎn)的更新拿到了它一、二跳鄰居的信息,那么網(wǎng)絡(luò)層數(shù)就是2。

為了更新紅色節(jié)點(diǎn),首先在第一層()我們會(huì)將藍(lán)色節(jié)點(diǎn)的信息聚合到紅色節(jié)點(diǎn)上,將綠色節(jié)點(diǎn)的信息聚合到藍(lán)色節(jié)點(diǎn)上。在第二層()紅色節(jié)點(diǎn)的embedding被再次更新,不過(guò)這次用的是更新后的藍(lán)色節(jié)點(diǎn)embedding,這樣就保證了紅色節(jié)點(diǎn)更新后的embedding包括藍(lán)色和綠色節(jié)點(diǎn)的信息。

3.2 采樣 (SAmple) 算法

GraphSAGE采用了定長(zhǎng)抽樣的方法,具體來(lái)說(shuō),定義需要的鄰居個(gè)數(shù), 然后采用有放回的重采樣/負(fù)采樣方法達(dá)到,。保證每個(gè)節(jié)點(diǎn)(采樣后的)鄰居個(gè)數(shù)一致是為了把多個(gè)節(jié)點(diǎn)以及他們的鄰居拼成Tensor送到GPU中進(jìn)行批訓(xùn)練。

3.3 聚合器 (Aggregator) 架構(gòu)

GraphSAGE 提供了多種聚合器,實(shí)驗(yàn)中效果最好的平均聚合器(mean aggregator),平均聚合器的思慮很簡(jiǎn)單,每個(gè)維度取對(duì)鄰居embedding相應(yīng)維度的均值,這個(gè)和GCN的做法基本一致(GCN實(shí)際上用的是求和):

舉個(gè)簡(jiǎn)單例子,比如一個(gè)節(jié)點(diǎn)的3個(gè)鄰居的embedding分別為 ,按照每一維分別求均值就得到了聚合后的鄰居embedding為.

論文中還闡述了另外兩種aggregator:LSTM aggregator和Pooling aggregator, 有興趣的可以去論文中看下。

3.4 參數(shù)學(xué)習(xí)

到此為止,整個(gè)模型的架構(gòu)就講完了,那么GraphSAGE是如何學(xué)習(xí)聚合器的參數(shù)以及權(quán)重變量的呢? 在有監(jiān)督的情況下,可以使用每個(gè)節(jié)點(diǎn)的預(yù)測(cè)label和真實(shí)label的交叉熵作為損失函數(shù)。在無(wú)監(jiān)督的情況下,可以假設(shè)相鄰的節(jié)點(diǎn)的輸出embeding應(yīng)當(dāng)盡可能相近,因此可以設(shè)計(jì)出如下的損失函數(shù):

其中是節(jié)點(diǎn)的輸出embedding,是節(jié)點(diǎn)的鄰居(這里鄰居是廣義的,比如說(shuō)如果和在一個(gè)定長(zhǎng)的隨機(jī)游走中可達(dá),那么我們也認(rèn)為他們相鄰),是負(fù)采樣分布,是負(fù)采樣的樣本數(shù)量,所謂負(fù)采樣指我們還需要一批不是鄰居的節(jié)點(diǎn)作為負(fù)樣本,那么上面這個(gè)式子的意思是相鄰節(jié)點(diǎn)的embedding的相似度盡量大的情況下保證不相鄰節(jié)點(diǎn)的embedding的期望相似度盡可能小。

四、后話

GraphSAGE采用了采樣的機(jī)制,克服了GCN訓(xùn)練時(shí)內(nèi)存和顯存上的限制,使得圖模型可以應(yīng)用到大規(guī)模的圖結(jié)構(gòu)數(shù)據(jù)中,是目前幾乎所有工業(yè)上圖模型的雛形。然而,每個(gè)節(jié)點(diǎn)這么多鄰居,采樣能否考慮到鄰居的相對(duì)重要性呢,或者我們?cè)诰酆嫌?jì)算中能否考慮到鄰居的相對(duì)重要性? 這個(gè)問(wèn)題在我們的下一篇博文Graph Attentioin Networks中做了詳細(xì)的討論。

責(zé)任編輯:lq

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

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103709
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4711

    瀏覽量

    95435
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3522

    瀏覽量

    50447

原文標(biāo)題:GNN教程:GraghSAGE算法細(xì)節(jié)詳解!

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    SVPWM的原理及法則推導(dǎo)和控制算法詳解

    小,使得電機(jī)轉(zhuǎn)矩脈動(dòng)降低,旋轉(zhuǎn)磁場(chǎng)更逼近圓形,而且使直流母線電壓的利用率有了很大提高,且更易于實(shí)現(xiàn)數(shù)字化。下面將對(duì)該算法進(jìn)行詳細(xì)分析闡述。 1.1 SVPWM 基本原理 SVPWM 的理論基礎(chǔ)
    發(fā)表于 06-16 17:11

    SSH常用命令詳解

    SSH常用命令詳解
    的頭像 發(fā)表于 06-04 11:30 ?689次閱讀

    芯片新關(guān)稅涉及的品牌/標(biāo)簽/產(chǎn)地—詳解

    芯片新關(guān)稅涉及的品牌/標(biāo)簽/產(chǎn)地—詳解
    的頭像 發(fā)表于 04-16 17:44 ?563次閱讀
    芯片新關(guān)稅涉及的品牌/標(biāo)簽/產(chǎn)地—<b class='flag-5'>詳解</b>

    三維掃描儀新品 NimbleTrack-CR 極致細(xì)節(jié),靈動(dòng)無(wú)線!

    搭載高性能工業(yè)相機(jī)與智能優(yōu)化算法,精準(zhǔn)還原表面細(xì)小紋理與復(fù)雜結(jié)構(gòu),賦能工業(yè)精密零部件、藝術(shù)文博等領(lǐng)域三維數(shù)字化革新,從工業(yè)產(chǎn)線質(zhì)量控制到千年文脈的數(shù)字化重生,讓每一處細(xì)節(jié)成為解鎖智造標(biāo)準(zhǔn)與文明密碼的全能密鑰。 細(xì)節(jié)捕捉 纖毫畢現(xiàn)
    的頭像 發(fā)表于 03-20 15:54 ?306次閱讀
    三維掃描儀新品  NimbleTrack-CR 極致<b class='flag-5'>細(xì)節(jié)</b>,靈動(dòng)無(wú)線!

    SVPWM的原理及法則推導(dǎo)和控制算法詳解

    ,而且使直流母線電壓的利用率有了很大提高,且更易于實(shí)現(xiàn)數(shù)字化。下面將對(duì)該算法進(jìn)行詳細(xì)分析闡述。 文章過(guò)長(zhǎng),請(qǐng)點(diǎn)擊下方可查閱*附件:SVPWM的原理及法則推導(dǎo)和控制算法詳解.pdf
    發(fā)表于 03-14 14:51

    PID控制算法的C語(yǔ)言實(shí)現(xiàn):PID算法原理

    在工業(yè)應(yīng)用中 PID 及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無(wú)愧的萬(wàn)能算法,如果能夠熟練掌握 PID 算法的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,對(duì)于一般的研發(fā)人員來(lái)講,應(yīng)該是足夠應(yīng)對(duì)一般研發(fā)問(wèn)題了,而
    發(fā)表于 02-26 15:24

    電力電子中的坐標(biāo)變換詳解

    電力電子中的坐標(biāo)變換詳解 clark變換&park變換
    發(fā)表于 02-17 15:28 ?1次下載

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發(fā)表于 02-17 14:06 ?516次閱讀
    Kubernetes Pod常用管理命令<b class='flag-5'>詳解</b>

    詳解溫度傳感器校準(zhǔn)方法

    溫度測(cè)量是現(xiàn)代科技的基礎(chǔ),而校準(zhǔn)則是確保測(cè)量準(zhǔn)確的關(guān)鍵。讓我們深入探討溫度傳感器校準(zhǔn)的技術(shù)細(xì)節(jié),揭開(kāi)這項(xiàng)精密科學(xué)的神秘面紗。 校準(zhǔn)方法詳解 定點(diǎn)法校準(zhǔn) 這是最精確的校準(zhǔn)方法之一,利用純物質(zhì)的相變點(diǎn)
    的頭像 發(fā)表于 02-11 14:35 ?1080次閱讀

    精密空調(diào)操作使用方法詳解

    精密空調(diào)操作使用方法詳解
    的頭像 發(fā)表于 02-10 14:44 ?1050次閱讀
    精密空調(diào)操作使用方法<b class='flag-5'>詳解</b>

    詳解RF端口如何選擇TVS啟動(dòng)電壓

    AMAZINGIC晶焱科技技術(shù)應(yīng)用:詳解RF端口如何選擇TVS啟動(dòng)電壓
    的頭像 發(fā)表于 02-05 16:19 ?831次閱讀
    <b class='flag-5'>詳解</b>RF端口如何選擇TVS啟動(dòng)電壓

    詳解MySQL多實(shí)例部署

    詳解MySQL多實(shí)例部署
    的頭像 發(fā)表于 11-11 11:10 ?648次閱讀

    詳解kubectl常用命令

    詳解kubectl常用命令
    的頭像 發(fā)表于 11-05 15:39 ?1377次閱讀
    <b class='flag-5'>詳解</b>kubectl常用命令

    常用的ADC濾波算法有哪些

    ADC(模數(shù)轉(zhuǎn)換器)濾波算法在信號(hào)處理中起著至關(guān)重要的作用,它們能夠幫助我們提取出有用的信號(hào),同時(shí)濾除噪聲和干擾。以下是常用的ADC濾波算法詳解,這些算法各具特色,適用于不同的應(yīng)用場(chǎng)景
    的頭像 發(fā)表于 10-08 14:35 ?1174次閱讀

    PRU開(kāi)發(fā)詳解

    電子發(fā)燒友網(wǎng)站提供《PRU開(kāi)發(fā)詳解.pdf》資料免費(fèi)下載
    發(fā)表于 09-05 11:27 ?0次下載
    PRU開(kāi)發(fā)<b class='flag-5'>詳解</b>