日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

近日,阿里巴巴開源了簡化 GNN 應用的新框架 Graph-Learn。該框架可從實際案例中提取解決方案,應用于推薦系統(tǒng)、反欺騙等多個領域。相關代碼已經可以在 GitHub 上下載。

近年來,圖神經網絡(GNN)已經在圖像分類、語義分割、推薦系統(tǒng)、程序推理乃至分子結構預測等領域,都有著越來越廣泛的應用。GNN 一般是將底層圖形作為計算圖,通過在圖上傳遞、轉換和聚合節(jié)點特征信息學習神經網絡基元以生成單個節(jié)點嵌入。生成的節(jié)點嵌入可以作為輸入,用于如節(jié)點分類或連接預測的任何可微預測層,完整的模型可以通過端到端的方式訓練。

靈活、輕便,阿里開源簡化GNN應用框架Graph-Learn

 

近日,阿里巴巴團隊開源了 Graph-Learn(以下簡稱 GL),這是一個用以簡化圖神經網絡應用的新框架。它能夠從實際的案例中提取出解決方案,并且這些解決方案已在推薦、反欺騙和知識圖譜系統(tǒng)領域得到了應用和驗證。

GL 的可移植性和靈活性對于開發(fā)者來說十分友好,在該框架的基礎上,開發(fā)者可以更輕松地實現 GNN 算法、自定義與圖相關的運算符,并且更輕松地拓展現有模塊。Container 和物理機上都可以安裝 GL。

項目地址:https://github.com/alibaba/graph-learn

模型示例

GCN

圖卷積網絡被認為是基于深度學習的圖形結構化數據方法最突出的進展之一。GCN 上的卷積算子是頻譜圖卷積的部分近似。從空間角度來看,相鄰節(jié)點的嵌入被聚合在一起用以更新節(jié)點的自嵌入。

靈活、輕便,阿里開源簡化GNN應用框架Graph-Learn

 

GAT

圖注意力網絡是 GCN 接下來的主要工作。GAT 將注意力機制融入了 GCN。通過計算節(jié)點之間的注意力系數,GAT 對節(jié)點及其相鄰進行加權匯總,從而使得每個節(jié)點都能專注于最相關的相鄰項從而進行決策。

靈活、輕便,阿里開源簡化GNN應用框架Graph-Learn

 

GraphSAGE

GraphSAGE 是一個通用的歸納框架,可以有效地為之前無法可視化的數據生成節(jié)點嵌入。為了利用大規(guī)模圖形數據,GraphSAGE 會建議從原始圖形數據中采樣計算子圖形,然后進行逐批訓練。以及它還提出了通過幾個 aggregators 來有選擇地聚合相鄰項的嵌入。

靈活、輕便,阿里開源簡化GNN應用框架Graph-Learn

 

快速開始

以最流行的圖神經網絡模型 GCN 為例,這部分展示一下如何基于 low-level 的 GL API 和深度學習框架(比如 TensorFlow)構建圖學習模型。

如何創(chuàng)建一個基于學習的模型

需要執(zhí)行以下四個步驟:

采樣:使用內置采樣函數采樣子圖(稱為 EgoGraph)。

團隊抽象了四個基本函數,包括 sample_seed,positive_sample,negative_sample 和 receptive_fn。sample_seed 用于生成初始 Nodes 以及 Edges(一系列節(jié)點或邊緣),然后 positve_sample 將其用作輸入以生成樣本 Edges。negative_sample 函數可對非監(jiān)督模型的負 Nodes 或 Edges 進行采樣。GNN 需要聚集 nodes(edges)的相鄰信息以便更新 nodes 及 edges 嵌入,因此提供了 acceptive_fn 來采樣相鄰信息。種子 Nodes 和 Edges 以及采樣被統(tǒng)一組織為 EgoGraph。

圖形流:使用 EgoFlow 時會根據不同的后端將 EgoGraph 轉換為 EgoTensor。

GL 建模是基于 TensorFlow 等深度學習框架之上的。因此,需要將采樣的 EgoGraphs 轉換為張量格式 EgoTensor。團隊將 EgoFlow 進行此轉換。EgoFlow 還生成用于迭代訓練和 pipeline 的 iterator。

定義編碼器:使用 EgoGraph 編碼器和功能編碼器對 EgoTensor 進行編碼。

獲取 EgoTensor 之后,需要定義從原始數據到嵌入的轉換例程。而對于 GNN 模型,此步驟是聚合節(jié)點并將其與自身節(jié)點的 nodes/edges 合并。

定義損失函數和訓練:將編碼的嵌入內容提供給損失函數及訓練。

GL 內置了一些常見的損失函數和優(yōu)化器,也可以自定義自己的損失函數和優(yōu)化器。同時支持本地和分布式培訓。

主要概念

源數據

GL 支持多種數據格式,用以簡化從原始數據到 Graph 對象的整個構建過程。源數據放置在文件系統(tǒng)上,建模時,加載程序會將文件讀取為 StructuredAccessFile。

對于用戶而言,提供了兩類源數據:Node Source 以及 Edge Source。這里將其描述為 Node Source 和 Edge Source 支持的數據格式。

通常情況下,節(jié)點包含一個 ID 以及多個描述實體的屬性。Edge 包含兩個 ID,用于描述兩個節(jié)點之間的關系。Edges 也可能附加了屬性。例如,「用戶在星期六早上購買了產品」。它使用了用戶和產品 ID 描述 Edge,「星期六早上」是該 Edge 的屬性。

除屬性外,GL 還支持源數據中的權重和標簽。權重對于許多采樣算法很重要,而標簽是監(jiān)督訓練的必備條件。

如上所述,GL 使用 WEIGHTED,LABELED 和 ATTRIBUTED 作為基本 ID 的可選擴展。

圖形對象

Graph 是一個組織原始數據的單元,用以啟用高級操作。GL 作業(yè)中只能存在一個且是唯一的 Graph 對象。能夠支持所有類型的圖,包括同構圖,具有不同類型 nodes 或 edges 的異構圖或是以及具有附加在 nodes 或 edges 上屬性的圖。提供豐富的 API 來提取有關圖形的信息。

通常來說,創(chuàng)建圖形對象需要以下三個步驟:

聲明一個 Graph 對象

描述出其拓撲性

初始化數據

分布式模式

GL 支持分布式模式運行的服務器或客戶端以及其任意組合。服務器角色負責加載和管理圖形??蛻舳伺c深度學習框架在同一過程中運行,以提供圖形數據進行訓練。在訓練期間,將從客戶端生成數據的查詢或采樣請求,在服務器中對其進行處理。最后,服務器的結果被聚合回客戶端。

靈活、輕便,阿里開源簡化GNN應用框架Graph-Learn

 

「服務器」和「客戶端」只是 GL 中的邏輯層面的角色,它們也可以放在同一臺機器上。

分享到:
標簽:阿里 開源
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰(zhàn)2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定