清華團隊推出基于圖的深度學習工具包CogDL v0.1
一行代碼命令可以做什么?
“一行命令可以實現(xiàn)‘一條龍’運行實驗!
近年來,結構化數(shù)據(jù)的表示學習備受業(yè)界關注與熱捧,圖神經(jīng)網(wǎng)絡成為處理相關工作的有力工具,基于隨機游走、矩陣分解的方法在搜索推薦、分子和藥物生成等領域有著十分重要的應用。
但是,由于許多項目的代碼并未開源或者開源代碼的風格多種多樣,研究者和使用者在使用這些方法的過程中會遇到各種各樣的問題,比如實驗復現(xiàn)以及如何在自己的數(shù)據(jù)集上運行模型等。
具體而言(以學術研究為例),研究者和使用者在從事研究過程中需要將自己提出的模型與其他模型進行對比,來驗證所提出模型的有效性。但在對比過程中,他們需要選定若干個下游任務,在每個任務下,通過公平的評估方式來對比不同模型的性能,由于不同模型在提出時可能會使用不完全一致的下游任務或者評估方式,他們需要花費大量精力修改基線模型來進行適配。
那么,如何快速、便捷地使用已有的圖表示學習等模型來復現(xiàn)基線模型(baseline),并將這些模型應用到自定義的數(shù)據(jù)集或模型上?
為此,清華大學知識工程實驗室(KEG)聯(lián)合北京智源人工智能研究院(BAAI)開發(fā)了一種基于圖深度學習的開源工具包——CogDL(底層架構為 PyTorch,編程語言為 Python)。
據(jù) CogDL 開發(fā)者介紹,該工具包通過整合多種不同的下游任務,同時搭配合適的評估方式,使得研究者和使用者可以方便、快速地運行出各種基線模型的結果,進而將更多精力投入研發(fā)新模型的工作之中。
“對圖領域中每種任務,我們提供了一套完整的“數(shù)據(jù)處理-模型搭建-模型訓練-模型評估”的方案,易于研發(fā)人員做相關的實驗。比如對于圖上半監(jiān)督節(jié)點分類任務,我們整合了常用的數(shù)據(jù)集 Cora、Citeseer、Pubmed,提供了經(jīng)典的/前沿的各種模型(包括GCN、GAT、GCNII 等),提供了相應的訓練腳本,并且整理出了一個相應的排行榜作為參考! CogDL 開發(fā)者說。
CogDL 最特別的一點在于它以任務(task)為導向來集成所有算法,將每一個算法分配在一個或多個任務下,從而構建了 “數(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 等,以及適用于異構圖的 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 等;異構節(jié)點分類(multiplex node classification):包括 GTN、HAN、Metapath2vec 等。
CogDL 還包括圖上的預訓練模型 GCC,GCC 主要利用圖的結構信息來預訓練圖神經(jīng)網(wǎng)絡,從而使得該網(wǎng)絡可以遷移到其他數(shù)據(jù)集上,來取得較好的節(jié)點分類和圖分類的效果。

請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
-
10 月之暗面,絕地反擊
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關稅,能否乘機器人東風翻身?