如何應(yīng)用自動機(jī)器學(xué)習(xí) (AutoML) 加速圖機(jī)器學(xué)習(xí)任務(wù)的處理?清華大學(xué)發(fā)布全球首個開源自動圖學(xué)習(xí)工具包:AutoGL (Auto Graph Learning),支持在圖數(shù)據(jù)上全自動進(jìn)行機(jī)器學(xué)習(xí)。
人工智能的蓬勃發(fā)展離不開數(shù)據(jù)、算力、算法這三大要素。而在浩瀚的數(shù)據(jù)中,有一種數(shù)據(jù)結(jié)構(gòu)既普遍又復(fù)雜,它就是圖(graph)。
圖是一種用于描述事物之間關(guān)系的結(jié)構(gòu),其基本構(gòu)成元素為節(jié)點(diǎn)和連接節(jié)點(diǎn)的邊。
很多不同領(lǐng)域的研究問題都可以很自然地建模成圖機(jī)器學(xué)習(xí),例如蛋白質(zhì)建模、物理系統(tǒng)模擬、組合優(yōu)化等基礎(chǔ)研究;社交媒體分析、推薦系統(tǒng)、虛假新聞檢測等互聯(lián)網(wǎng)應(yīng)用;以及金融風(fēng)控、知識表征、交通流量預(yù)測、新藥發(fā)現(xiàn)等。
圖結(jié)構(gòu)豐富且具有與生俱來的導(dǎo)向能力,因此非常適合機(jī)器學(xué)習(xí)模型。同時,它又無比復(fù)雜,難以進(jìn)行大規(guī)模擴(kuò)展應(yīng)用。而且不同的圖數(shù)據(jù)在結(jié)構(gòu)、內(nèi)容和任務(wù)上千差萬別,所需要的圖機(jī)器學(xué)習(xí)模型也可能相差甚遠(yuǎn),這就導(dǎo)致不同任務(wù)的模型自動化面臨巨大挑戰(zhàn)。如何設(shè)計最優(yōu)的圖自動機(jī)器學(xué)習(xí)模型,是一個尚未解決的難題。
圖 + AutoML = ?
自動機(jī)器學(xué)習(xí) (AutoML) 旨在將機(jī)器學(xué)習(xí)的過程自動化,在降低機(jī)器學(xué)習(xí)使用門檻的同時,提升機(jī)器學(xué)習(xí)的效果。但現(xiàn)有的自動機(jī)器學(xué)習(xí)工具,無法考慮圖數(shù)據(jù)的特殊性,因此無法應(yīng)用在圖機(jī)器學(xué)習(xí)模型中。
為了解決該問題,清華大學(xué)朱文武教授帶領(lǐng)的網(wǎng)絡(luò)與媒體實驗室發(fā)布了全球首個開源自動圖學(xué)習(xí)工具包:AutoGL (Auto Graph Learning)。該工具支持在圖數(shù)據(jù)上全自動進(jìn)行機(jī)器學(xué)習(xí),并且支持圖機(jī)器學(xué)習(xí)中最常見的兩個任務(wù):節(jié)點(diǎn)分類任務(wù)(node classification)與圖分類任務(wù)(graph classification)。
AutoGL 流程圖。
AutoGL 工具包首先使用 AutoGL Dataset 維護(hù)圖機(jī)器學(xué)習(xí)任務(wù)所需數(shù)據(jù)集。AutoGL Dataset 導(dǎo)入了大規(guī)模圖表示學(xué)習(xí)工具包 CogDL 和圖神經(jīng)網(wǎng)絡(luò)庫 PyTorch Geometric (PyG) 中的數(shù)據(jù)集模塊,并添加對 OGB 數(shù)據(jù)集的支持,同時還添加了一些支持以便集成 auto solver 框架。
不同的圖機(jī)器學(xué)習(xí)任務(wù)可以通過不同的 AutoGL Solver 得到解決。AutoGL Solver 使用四個主要模塊自動化解決給定任務(wù),分別是特征工程(Feature Engineering)、圖學(xué)習(xí)模型(Graph Learning Model)、超參數(shù)優(yōu)化(HPO),以及模型自動集成(Auto Ensemble)。每個部分在設(shè)計時都引入了對圖數(shù)據(jù)特殊性的考慮。
模塊 1:特征工程
AutoGL 特征工程模塊包含了圖機(jī)器學(xué)習(xí)過程中常用的特征工程方法,包括節(jié)點(diǎn) / 邊 / 子圖特征提取、變換和篩選,如節(jié)點(diǎn)度數(shù)、節(jié)點(diǎn) ID、特征向量等。這些方法顯著豐富了目標(biāo)圖數(shù)據(jù)上的信息,提高了圖學(xué)習(xí)的效果。同時,用戶還可以非常方便地擴(kuò)展特征工程模塊,以實現(xiàn)個性化的需求。
模塊 2:圖學(xué)習(xí)模型
AutoGL 目前支持 GCN、GAT、GIN 等常見圖學(xué)習(xí)模型,可以完成包括點(diǎn)分類、圖分類在內(nèi)的多種常見任務(wù),使用方式簡單,上手方便。同時,AutoGL 主頁還提供了詳細(xì)的說明文檔,支持用戶自定義模型,可擴(kuò)展性良好。
模塊 3:超參數(shù)優(yōu)化
AutoGL 目前集成了多種通用超參數(shù)優(yōu)化方法, 如網(wǎng)格搜索、隨機(jī)搜索、貝葉斯優(yōu)化、模擬退火、TPE 等算法,同時還包含專門針對圖學(xué)習(xí)優(yōu)化的自動機(jī)器學(xué)習(xí)算法 AutoNE。該模塊省去了圖學(xué)習(xí)中繁雜的手動調(diào)參過程,極大地提高了工程效率。同時,該模塊易于使用,用戶只需給出各個超參數(shù)的類型和搜索空間、指定超參數(shù)優(yōu)化方法,即可快速上手運(yùn)行若干自動圖學(xué)習(xí)模型。
AutoGL 會在給定的資源預(yù)算(時間、搜索次數(shù)等)內(nèi)給出最優(yōu)的超參數(shù)組合。該模塊同樣支持?jǐn)U展,用戶可以自定義新的超參數(shù)優(yōu)化算法。
模塊 4:模型自動集成
自動集成模塊目前支持兩類常用的集成學(xué)習(xí)方法:voting 和 stacking。該模塊通過組合多個基模型得到一個博采眾長的集成模型,從而進(jìn)一步提升圖學(xué)習(xí)的效果。
AutoGL 工具包目前支持多種算法,如下表所示:
AutoGL 工具包四個不同模塊所支持的算法。
AutoGL 工具包極大地方便了開發(fā)人員進(jìn)行對應(yīng)的圖學(xué)習(xí)算法設(shè)計和調(diào)優(yōu)。用戶只需按照 AutoGL 的數(shù)據(jù)集標(biāo)準(zhǔn)提供目標(biāo)數(shù)據(jù)集,AutoGL 就會自動尋找最優(yōu)的模型和對應(yīng)的超參數(shù),從而簡化圖學(xué)習(xí)算法開發(fā)與應(yīng)用的流程,極大提升圖學(xué)習(xí)相關(guān)的科研和應(yīng)用效率。
此外,AutoGL 工具包還提供了一個供使用者公平地測試與對比算法的平臺。AutoGL 在設(shè)計時遵循模塊化思想,每個模塊均可擴(kuò)展,用戶只需實現(xiàn)對應(yīng)模塊類的接口,即可方便地測試自己的算法,為快速獲得 baseline 效果、公平對比不同模型性能提供方便。
未來展望
據(jù) AutoGL 研發(fā)團(tuán)隊透露,他們將進(jìn)一步深入研發(fā),以方便其他研究者、業(yè)界使用者和初學(xué)者快速上手 AutoGL,解決學(xué)術(shù)界、產(chǎn)業(yè)界遇到的圖學(xué)習(xí)相關(guān)問題。
AutoGL 網(wǎng)站顯示,該工具包將在近期支持以下功能:
神經(jīng)架構(gòu)搜索;
大規(guī)模圖數(shù)據(jù)集支持;
更多圖任務(wù)(如鏈接預(yù)測、異構(gòu)圖任務(wù)、時空任務(wù));
Graph Boosting & Bagging;
對更多圖模型庫提供后端支持(如 DGL)。
AutoGL 研發(fā)團(tuán)隊期待得到各類使用反饋,以更好地完善 AutoGL 的各項功能。「我們的最終目的是推動自動圖機(jī)器學(xué)習(xí)在學(xué)術(shù)界與工業(yè)界的深層次探索和應(yīng)用。」AutoGL 研發(fā)者談及之后的計劃時表示。
相關(guān)鏈接
AutoGL 網(wǎng)站地址:http://mn.cs.tsinghua.edu.cn/autogl/
AutoGL 代碼鏈接:https://github.com/THUMNLab/AutoGL
AutoGL 說明文檔:https://autogl.readthedocs.io/en/latest/index.html
圖深度學(xué)習(xí)模型綜述:https://arxiv.org/abs/1812.04202
責(zé)編AJX
-
AI
+關(guān)注
關(guān)注
87文章
31097瀏覽量
269430 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8424瀏覽量
132765 -
工具包
+關(guān)注
關(guān)注
0文章
47瀏覽量
9551
發(fā)布評論請先 登錄
相關(guān)推薦
評論