訂閱
糾錯
加入自媒體

清華團隊推出基于圖的深度學習工具包CogDL v0.1

一行代碼命令可以做什么?

“一行命令可以實現(xiàn)‘一條龍’運行實驗!

近年來,結(jié)構(gòu)化數(shù)據(jù)的表示學習備受業(yè)界關(guān)注與熱捧,圖神經(jīng)網(wǎng)絡成為處理相關(guān)工作的有力工具,基于隨機游走、矩陣分解的方法在搜索推薦、分子和藥物生成等領(lǐng)域有著十分重要的應用。

但是,由于許多項目的代碼并未開源或者開源代碼的風格多種多樣,研究者和使用者在使用這些方法的過程中會遇到各種各樣的問題,比如實驗復現(xiàn)以及如何在自己的數(shù)據(jù)集上運行模型等。

具體而言(以學術(shù)研究為例),研究者和使用者在從事研究過程中需要將自己提出的模型與其他模型進行對比,來驗證所提出模型的有效性。但在對比過程中,他們需要選定若干個下游任務,在每個任務下,通過公平的評估方式來對比不同模型的性能,由于不同模型在提出時可能會使用不完全一致的下游任務或者評估方式,他們需要花費大量精力修改基線模型來進行適配。

那么,如何快速、便捷地使用已有的圖表示學習等模型來復現(xiàn)基線模型(baseline),并將這些模型應用到自定義的數(shù)據(jù)集或模型上?

為此,清華大學知識工程實驗室(KEG)聯(lián)合北京智源人工智能研究院(BAAI)開發(fā)了一種基于圖深度學習的開源工具包——CogDL(底層架構(gòu)為 PyTorch,編程語言為 Python)。

據(jù) CogDL 開發(fā)者介紹,該工具包通過整合多種不同的下游任務,同時搭配合適的評估方式,使得研究者和使用者可以方便、快速地運行出各種基線模型的結(jié)果,進而將更多精力投入研發(fā)新模型的工作之中。

“對圖領(lǐng)域中每種任務,我們提供了一套完整的“數(shù)據(jù)處理-模型搭建-模型訓練-模型評估”的方案,易于研發(fā)人員做相關(guān)的實驗。比如對于圖上半監(jiān)督節(jié)點分類任務,我們整合了常用的數(shù)據(jù)集 Cora、Citeseer、Pubmed,提供了經(jīng)典的/前沿的各種模型(包括GCN、GAT、GCNII 等),提供了相應的訓練腳本,并且整理出了一個相應的排行榜作為參考! CogDL 開發(fā)者說。

CogDL 最特別的一點在于它以任務(task)為導向來集成所有算法,將每一個算法分配在一個或多個任務下,從而構(gòu)建了 “數(shù)據(jù)處理-模型搭建-模型訓練和驗證” 一條龍的實現(xiàn)。

# GCN 和 GAT 在 Cora 和 Citeseer 上的實驗python scripts/train.py --task node_classification --dataset cora citeseer --model gcn gat

此外,CogDL 也支持研究者和使用者自定義模型和數(shù)據(jù)集,并嵌入在 CogDL 的整體框架下,從而幫助他們提高開發(fā)效率,同時也包含了當前許多數(shù)據(jù)集上 SOTA 算法的實現(xiàn),并且仍然在不斷更新。

CogDL:面向任務,擴展算法

圖表示學習算法可以分為兩類:一類是基于圖神經(jīng)網(wǎng)絡的算法,另一類是基于 Skip-gram 或矩陣分解的算法。前者包括 GCN、GAT、GraphSAGE 和 DiffPool 等,以及適用于異構(gòu)圖的 RGCN、GATNE 等;后者則包括 Deepwalk、Node2Vec、HOPE 和 NetMF 等,以及用于圖分類的 DGK、graph2vec 等算法。

大體上,CogDL 將已有圖表示學習算法劃分為以下 6 項任務:

有監(jiān)督節(jié)點分類任務(node classification):包括 GCN、GAT、GraphSAGE、MixHop 和 GRAND 等;無監(jiān)督節(jié)點分類任務(unsupervised node classification):包括 DGI、GraphSAGE(無監(jiān)督實現(xiàn)),以及 Deepwalk、Node2vec、ProNE 等;有監(jiān)督圖分類任務(graph classification):包括 GIN、DiffPool、SortPool 等;無監(jiān)督圖分類任務(unsupervised graph classification):包括 InfoGraph、DGK、Graph2Vec 等;鏈接預測任務(link prediction):包括 RGCN、CompGCN、GATNE 等;異構(gòu)節(jié)點分類(multiplex node classification):包括 GTN、HAN、Metapath2vec 等。

CogDL 還包括圖上的預訓練模型 GCC,GCC 主要利用圖的結(jié)構(gòu)信息來預訓練圖神經(jīng)網(wǎng)絡,從而使得該網(wǎng)絡可以遷移到其他數(shù)據(jù)集上,來取得較好的節(jié)點分類和圖分類的效果。

1  2  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號