清華團隊推出基于圖的深度學習工具包CogDL v0.1
能用來做什么?
那么,研究者和使用者可以利用 CogDL 做些什么?主要有三點:跟進 SOTA、復現(xiàn)實驗,以及自定義模型和數(shù)據(jù)。
跟進 SOTA。CogDL 跟進最新發(fā)布的算法,包含不同任務下 SOTA 的實現(xiàn),同時建立了不同任務下所有模型的 leaderboard(排行榜),研究人員和開發(fā)人員可以通過 leaderboard 比較不同算法的效果。
復現(xiàn)實驗。論文模型的可復現(xiàn)性是非常重要的。CogDL 通過實現(xiàn)不同論文的模型也是對模型可復現(xiàn)性的一個檢驗。
自定義模型和數(shù)據(jù)!皵(shù)據(jù)-模型-訓練”三部分在 CogDL 中是獨立的,研究者和使用者可以自定義其中任何一部分,并復用其他部分,從而提高開發(fā)效率。
怎么用?
有兩種方法:命令行直接運行,通過 API 調用
命令行直接運行。通過命令行可以直接指定 "task"、"model"、"dataset" 以及對應的超參數(shù),并且支持同時指定多個模型和多個數(shù)據(jù)集,更方便。代碼如下:
# 監(jiān)督GraphSAGEpython scripts/train.py --task node_classification --dataset pubmed --model graphsage -seed 0 1 2 3 4 5# 無監(jiān)督GraphSAGEpython scripts/train.py --task unsupervised_node_classification --dataset pubmed --model unsup_graphsage# DeepWalk + Node2Vec算法 + BlogCatalog + Wikipedia數(shù)據(jù)集python script/train.py --task unsupervised_node_classificatoin --dataset blogcatalog wikipedia --model deepwalk node2vec
通過 API 調用。在代碼中調用 CogDL 的數(shù)據(jù)、模型、任務構建 API,方便使用自定義數(shù)據(jù)集和模型,更靈活。代碼如下:
# 獲取模型/數(shù)據(jù)/訓練的參數(shù)args = get_default_args()args.task = 'node_classification'args.dataset = 'cora'args.model = 'gcn'# 建立數(shù)據(jù)集dataset = build_dataset(args)args.num_features = dataset.num_featuresargs.num_classes = dataset.num_classesargs.num_layers = 2# 建立模型model = build_model(args)# 訓練+驗證task = build_task(args, dataset=dataset, model=model)ret = task.train()
CogDL 支持自定義數(shù)據(jù)集和模型,并且提供了自動調參的例子。
據(jù) CogDL 研究者介紹,從 2019 年啟動以來,該項目經過了多次密集的研發(fā),到目前已經整合了圖領域的重要任務及其相關的經典和前沿的模型。
CogDL 開發(fā)者表示,“起初,我們只是整合了實驗室內部從事相關領域研究的同學所使用的相關代碼,為了方便實驗室其余的同學運行相關的實驗。后來,我們決定將代碼開源出來,讓更多的研究和開發(fā)人員能夠借助我們的代碼從事相關工作!
如今,CogDL 已經上線了 CogDL v0.1.1。
“我們增加了一些最前沿的圖神經網絡模型,包括圖自監(jiān)督模型、圖預訓練模型。用戶可以利用圖上預訓練好的模型做不同的下游任務。在下游任務方面,我們增加了知識圖譜的鏈接預測任務,方便從事知識圖譜領域的用戶進行相關實驗。” CogDL 開發(fā)者說。
具體而言,在監(jiān)督節(jié)點分類任務上,增加了 GRAND 和 DisenGCN,GRAND 在 Cora、PubMed、Citeseer 上取得了 SOTA 或者接近 SOTA 的效果;無監(jiān)督節(jié)點分類任務上,增加了 DGI、MVGRL、GraphSAGE(無監(jiān)督實現(xiàn));在鏈接預測任務上,增加了知識圖譜上的鏈接預測 GNN 模型 RGCN 和 CompGCN;以及增加了圖上的預訓練模型 GCC。
另外,CogDL 也提供了使用 optuna 進行超參數(shù)搜索的 example,通過指定 "模型,數(shù)據(jù)集,參數(shù)" 即可自動實現(xiàn)超參數(shù)的搜索。
接下來,CogDL 研究者希望在現(xiàn)有基礎上,繼續(xù)補充其余的圖領域的下游任務,添加更多的數(shù)據(jù)集,更新每個任務的排行榜;同時增加最前沿的關于預訓練的圖神經網絡模型,支持用戶直接使用預訓練好的模型來進行相關應用;以及完善 CogDL 的教程和文檔,讓剛接觸圖領域的初學者能夠快速上手。
談及最終的愿景,CogDL 研究者表示,一方面希望從事圖數(shù)據(jù)領域的研究人員可以方便地利用 CogDL 來做實驗,另一方面希望面向實際應用的開發(fā)人員可以利用 CogDL 來快速地搭建相關下游應用,最終打造一個完善的圖領域的研發(fā)生態(tài)。

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