開源圖神經網路框架DGL升級:GCMC訓練時間從1天縮到1小時

AIBigbull2050發表於2019-10-16

又一個AI框架迎來升級。

這次,是紐約大學、亞馬遜聯手推出 圖神經網路框架DGL


開源圖神經網路框架DGL升級:GCMC訓練時間從1天縮到1小時


不僅全面上線了對異構圖的支援,復現並開源了相關異構圖神經網路的程式碼,在GCMC、RCGN等業內知名的模型實現上,取得更好效果。

還發布了訓練知識圖譜嵌入(Knowledge Graph Embedding)專用包DGL-KE,在許多經典的圖嵌入模型上都獲得了效能提升。

目前,這個在2018年NeurIPS大會上釋出的框架,已經獲得了3000+標星,已經是圖神經網路和圖機器學習領域較受關注的工具。

異構圖:神經網路的新方向

異構圖是一個與同構圖相對應的新概念。

傳統同構圖(Homogeneous Graph)資料中只存在一種節點和邊,因此在構建圖神經網路時所有節點共享同樣的模型引數並且擁有同樣維度的特徵空間。

而異構圖(Heterogeneous Graph)中可以存在不只一種節點和邊,因此允許不同型別的節點擁有不同維度的特徵或屬性。

這一特點使得異構圖的應用十分廣泛,如果用圖來描述我們和周圍事物的關係就會發現所產生的圖都是天然異構的,比如這個例子:

我今天看了電影《流浪地球》,那“我”作為觀眾和電影《流浪地球》之間就建立了“看了”這一關係。

異構圖可以用來描述這種互動關係的集合。這個圖分“觀眾”和“電影”兩類節點,以及“看了”這一類邊。

“我”作為觀眾,和電影所具有的屬性一定是不同的,需要用不同的模型或者不同的特徵維度來表達。

所以說,這張圖就天然具有了異構性。而且,基於異構圖訓練的神經網路與傳統方法相比,在一些場景中,也能夠獲得更好的效果與表現。

現在已經被應用到了知識圖譜、推薦系統以及惡意賬戶識別等領域以及任務中。

開源圖神經網路框架DGL升級:GCMC訓練時間從1天縮到1小時

其中比較有代表性的兩個模型分別是用於節點分類和連結預測等任務的RGCN和用於產品推薦的GCMC。

但如何設計“既快又好”的深度神經網路?

這正是紐約大學、亞馬遜聯手推出圖神經網路框架DGL的出發點。

新版DGL:異構圖神經網路利器

這次更新放出的,是DGL 0.4版本,讓整個框架變得更加實用。

不僅全面上線對於異構圖的支援,還復現並開源了相關異構圖神經網路的程式碼:


開源圖神經網路框架DGL升級:GCMC訓練時間從1天縮到1小時

DGL 0.4中基於異構圖的RGCN層實現程式碼

官方表示,在這一新版本的DGL上實現業內比較突出的異構圖神經網路,效能上也有更好的表現:

GCMC:DGL的實現相比原作者實現在MovieLens-100K上有5倍加速,在MovieLens-1M上有22倍加速。DGL的記憶體最佳化支援在一塊GPU上對MovieLens-10M進行訓練(原實現需要從CPU動態載入資料),從而將原本需要24小時的訓練時間縮短到了1個多小時。

RGCN:使用全新的異構圖介面重新實現了RGCN。新的實現大大減少了記憶體開銷。原實現在AM資料集上(邊數>5M)由於記憶體開銷太大,只能在CPU上計算,而DGL能使用GPU進行加速並獲得了291倍的速度提升。

HAN:提供了靈活的介面可以將一個異構圖透過元路徑(metapath)轉變成同構圖。

Metapath2vec:新的元路徑取樣實現比原作者的實現快兩倍。

而且, DGL也釋出了針對分子化學的模型庫DGL-Chem,以及訓練知識圖譜嵌入(Knowledge Graph Embedding)專用包DGL-KE。DGL-Chem提供了包括分子性質預測和分子結構生成等預訓練模型。

在單GPU上,DGL-KE能在7分鐘內使用經典的TransE模型訓練出FB15K的圖嵌入。相比GraphVite(v0.1.0)在4塊GPU上需要14分鐘。

DGL-KE首個版本釋出了TransE、ComplEx和Distmult模型,支援CPU訓練、GPU訓練、CPU和GPU混合訓練以及單機多程式訓練。

DGL團隊表示,在未來也會發布更多模型和訓練方式。

傳送門

DGL異構圖教程:

DGL v0.4 更新筆記:

DGL-KE程式碼及使用說明:

DGL-Chem 模型庫:

— 完 —






來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2660160/,如需轉載,請註明出處,否則將追究法律責任。

相關文章