訂閱
糾錯(cuò)
加入自媒體

清華團(tuán)隊(duì)推出基于圖的深度學(xué)習(xí)工具包CogDL v0.1

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

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

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

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

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

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

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

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

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

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

# GCN 和 GAT 在 Cora 和 Citeseer 上的實(shí)驗(yàn)python scripts/train.py --task node_classification --dataset cora citeseer --model gcn gat

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

CogDL:面向任務(wù),擴(kuò)展算法

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

大體上,CogDL 將已有圖表示學(xué)習(xí)算法劃分為以下 6 項(xiàng)任務(wù):

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

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

1  2  下一頁(yè)>  
聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

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

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