可擴(kuò)展的圖神經(jīng)結(jié)構(gòu)搜索系統(tǒng)
一、問題
1、圖數(shù)據(jù)
在現(xiàn)實(shí)生活中,很多的數(shù)據(jù)都是以圖的形式存在,像社交網(wǎng)絡(luò),知識譜藥物和新材料等,圖神經(jīng)網(wǎng)絡(luò)也被廣泛的應(yīng)用于多個場景,如推薦系統(tǒng),異常檢測,藥物以及蛋白質(zhì)結(jié)構(gòu)預(yù)測等。
首先我們來對最常見圖卷積神經(jīng)網(wǎng)絡(luò)做一個簡單的回顧,從公式上來看,GCN 的表達(dá)形式與傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)區(qū)別在于多了含自環(huán)的度矩陣和鄰接矩陣,也就是增加了聚合鄰居節(jié)點(diǎn)特征的一個過程。因此在 GCN 的每一層包含兩個操作,propagation 操作用來聚合鄰居的信息,transformation 操作用來做變換。如果公式中的 A 矩陣是單位矩陣或者刪去圖里所有的邊,那么GCN 此時就退化成了 MLP。
2、圖神經(jīng)網(wǎng)絡(luò)
GCN 的性能優(yōu)于 MLP 主要是由于使用了消息傳播機(jī)制,聚合來自于高階領(lǐng)域的信息,從而增強(qiáng)了自身的表達(dá)能力。目前除了常見的圖卷積神經(jīng)網(wǎng)絡(luò)之外,還有圖注意網(wǎng)絡(luò)(GAT, Graph Attention Network),引入了注意力機(jī)制,給每個鄰居節(jié)點(diǎn)分配不同權(quán)重,從而優(yōu)化聚合鄰居節(jié)點(diǎn)的表達(dá)形式;GraphSAGE 使用歸納式學(xué)習(xí),以 mini batch 進(jìn)行訓(xùn)練,能進(jìn)一步擴(kuò)展應(yīng)用到較大的圖數(shù)據(jù)集。
3、Neural Message Passing(消息傳遞機(jī)制)
傳統(tǒng)的 GNN 都遵循消息傳遞機(jī)制的范式,而這種機(jī)制主要分為兩部分:通信+計算。當(dāng)神經(jīng)網(wǎng)絡(luò)去聚合鄰居節(jié)點(diǎn)的信息的時候,就涉及到了通信的問題。計算就是利用聚合到的信息去更新節(jié)點(diǎn),這一部分在各種神經(jīng)網(wǎng)絡(luò)中都是必不可少的,圖神經(jīng)網(wǎng)絡(luò)也不例外。這里重點(diǎn)在于通信的過程。
在工業(yè)界的場景下,數(shù)據(jù)的規(guī)模都是比較龐大的,我們會采用分布式的方法去部署和訓(xùn)練節(jié)點(diǎn)。當(dāng)一個節(jié)點(diǎn)和它的鄰居節(jié)點(diǎn)沒有部署在同一臺機(jī)器上,做聚合信息的操作時就需要去拉取另一臺機(jī)器上的鄰居節(jié)點(diǎn)的信息,就這涉及到了通信開銷,特別是在帶寬不好的情況下,通信開銷將會很大。圖神經(jīng)網(wǎng)絡(luò)每一層都需要做這種拉取,同時在大規(guī)模的圖數(shù)據(jù)上,每一個 epoch,即每一次訓(xùn)練,也會存在很高的通信開銷。
4、GNN 系統(tǒng)
雖然消息傳播機(jī)制具有如上的弊端,但是目前大部分的 GNN 系統(tǒng)還是默認(rèn)去使用這一機(jī)制,比如最常用的 DGL 和 PyG,以兼容更多的模型。
在工業(yè)界,大規(guī)模的圖數(shù)據(jù)處理會帶來一系列挑戰(zhàn):
首先就是較高的建模門檻。當(dāng)接到一個任務(wù)后,我們需要進(jìn)行建模,即編寫對應(yīng)的代碼,設(shè)計一個網(wǎng)絡(luò)結(jié)構(gòu)。在這個過程中會涉及到手動調(diào)參,更新訓(xùn)練過程及參數(shù)進(jìn)行驗(yàn)證。這個過程事實(shí)上有很高的門檻,同時也非常耗時,使用大規(guī)模的圖數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)甚至?xí)枰粌商斓臅r間,在沒有先驗(yàn)知識的情況下,調(diào)參的過程會非常緩慢,因此針對任務(wù)設(shè)計 GNN 就需要知識豐富的專家。
另一個挑戰(zhàn)就是低可擴(kuò)展性,正如前面提到,在分布式上部署會有很大的通信開銷,事實(shí)上在單機(jī)上的計算開銷也很大,這就導(dǎo)致了很高的模型訓(xùn)練時間和預(yù)測時間。后續(xù)會有實(shí)驗(yàn)結(jié)果進(jìn)行進(jìn)一步的說明。
5、瓶頸
為了更加直觀理解通信瓶頸,這里做了一個簡單的實(shí)驗(yàn)。
受制于單機(jī)的存儲和分布式通訊開銷,現(xiàn)有的消息傳遞機(jī)制不能很好的傳播到大圖上。圖 a 是我們使用 2 層的 GraphSAGE 訓(xùn)練 Reddit 上的一個數(shù)據(jù)集,橫坐標(biāo)為機(jī)器數(shù)量,縱坐標(biāo)是加速比,可以看到在增加更多機(jī)器時候,加速比增長并不明顯,甚至在機(jī)器從 2 個增加到 8 個時,加速比甚至沒有增加到 2 倍。圖 b 分析了這種情況的原因,即使增加機(jī)器后計算成本減小,更多的拉取數(shù)據(jù)操作使得通信開銷增大,因此加速比的增加并不明顯。
因此,我們的目標(biāo)就是去如何兼容 GNN 的可擴(kuò)展性,設(shè)計使用門檻低的圖神經(jīng)網(wǎng)絡(luò)系統(tǒng)。
二、方法
1、系統(tǒng)目標(biāo)
我們的 PaSca 自動搜索系統(tǒng)是一個端對端的設(shè)計,不需要取人為定義網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練流程,只需要輸入圖數(shù)據(jù)和優(yōu)化目標(biāo),就可以輸出能兼顧多個優(yōu)化目標(biāo)的可擴(kuò)展性 GNN,同。輸入的圖數(shù)據(jù)可以是特征標(biāo)簽、圖結(jié)構(gòu)矩陣,優(yōu)化目標(biāo)包括學(xué)術(shù)界常應(yīng)用的分類性能指標(biāo),如準(zhǔn)確率,AUC 等,同時還可以包括一些其他的約束,比如期望的訓(xùn)練時長,期望使用的機(jī)器內(nèi)存,從而達(dá)到控制預(yù)算的效果。也就是說,我們的系統(tǒng)可以考慮到與硬件相關(guān)的多個優(yōu)化指標(biāo),在多個目標(biāo)的約束下去完成多目標(biāo)的搜索。
2、消息傳遞(Message Passing)范式
從數(shù)據(jù)流動的角度來看,GCN 遵從消息傳遞范式,它主要是從粒度較細(xì)的節(jié)點(diǎn)層次來刻畫數(shù)據(jù)的流動,主要由 3 個操作組成:message function 定義如何去生成信息,對應(yīng)表達(dá)式中的度矩陣和鄰接矩陣;aggregation function 定義如何去聚合鄰居節(jié)點(diǎn)信息;update function定 義更新中心節(jié)點(diǎn)特征的方式,它遵從不斷地去迭代“聚合-更新”這一流程。
3、SGAP 建模范式(Scalable Graph Neural Architecture Paradigm)
(1)方法概覽
針對消息傳播機(jī)制的范式的弊端,我們提出了一種新的可擴(kuò)展性的訓(xùn)練流程的抽象,SGAP 建模范式(Scalable Graph Neural Architecture Paradigm)。不可擴(kuò)展性的消息傳播機(jī)制范式需要在每個 epoch 訓(xùn)練的時候拉取信息, 不斷地聚合-迭代鄰居的信息,它的通信次數(shù)是和訓(xùn)練的 epoch 成正比的關(guān)系。而我們提出的 SGAP 建模范式主要分為三部分:預(yù)處理、模型訓(xùn)練和后處理。預(yù)處理階段聚合鄰居的信息,聚合后我們完全拋棄了圖結(jié)構(gòu),將聚合后的信息傳入第二部分模型訓(xùn)練中。這一步的模型可以是任意的機(jī)器學(xué)習(xí)模型,如 MLP,DNN,樹模型或更加傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型。得到模型預(yù)測之后再次調(diào)用一個聚合操作,從而得到最終的輸出。與之前不斷循環(huán)往復(fù)的過程相比,無論訓(xùn)練的 epoch 是多少,SGAP 只做了兩次聚合鄰居的操作:預(yù)處理和后處理。
因此在分布式訓(xùn)練的情況下,采用 SGAP 建模范式的 GNN 通信開銷會更低。對于分布式場景我們更加看重可擴(kuò)展性,對于單機(jī)場景更看重效率。SGAP 在單機(jī)的情況下訓(xùn)練也能顯著降低計算成本。具體來說,它在預(yù)處理階段減少了圖數(shù)據(jù)重復(fù)計算鄰接矩陣與特征矩陣相乘的步驟,避免了多次循環(huán)往復(fù)的聚合更新信息。矩陣的乘法運(yùn)算在預(yù)處理階段計算好之后,再傳入模型訓(xùn)練部分,按照普通的神經(jīng)網(wǎng)絡(luò)模型計算即可,因此在單機(jī)模式下計算次數(shù)會變少,計算速度會提升。
(2)SGAP 范式
在 SGAP 范式中,后處理與預(yù)處理是比較類似的過程,下面將對 SGAP 的前兩個過程做更加數(shù)學(xué)化的闡述。它首先會在圖的層次做信息傳播,得到不同傳播層數(shù)的消息。接下來會聚合不同傳播層數(shù)的消息來的到新的特征,最后把得到的特征送入任意一個待訓(xùn)練的機(jī)器學(xué)習(xí)模型。因此 SGAP 范式可以理解為從圖的層次去刻畫數(shù)據(jù)的流動,而不是更細(xì)粒度的像消息傳遞機(jī)制一樣從節(jié)點(diǎn)的層次。
(3)SGAP 抽象
對于預(yù)處理來說,從鄰居節(jié)點(diǎn)聚合的是特征,而后處理從鄰居節(jié)點(diǎn)聚合的是模型的輸出,也就是軟標(biāo)簽。如圖中 A 點(diǎn)在第一次聚合時的到 BCD 三個鄰居節(jié)點(diǎn)的信息,然后再次調(diào)用通過 C 節(jié)點(diǎn)聚合到 E 和 F 節(jié)點(diǎn)的信息。同時已經(jīng)被聚合的節(jié)點(diǎn)信息將被再次聚合。
(4)圖聚合器
在后處理這一步,我們參考了三種主流的圖聚合器,如 GCN 中使用的增強(qiáng)歸一化鄰接矩陣(Augmented normalized adjacency),APPNP 中使用的個性化 PageRank,和 MotifNet 中的 Triangle-induced adjacency。
(5)訓(xùn)練
接下來訓(xùn)練模型主要分為兩步,聚合來自預(yù)處理階段的消息,以及更新聚合后的信息。
(6)消息聚合器
消息聚合器分為兩類,第一種非自適應(yīng)聚合器,比如在聚合的消息中取最大值、平均值等;第二種自適應(yīng)的聚合器給不同節(jié)點(diǎn)的不同層表示消息不同的權(quán)重,如同注意力機(jī)制。熱力圖中顯示的是模型運(yùn)行 50 次后的準(zhǔn)確率,顏色越深代表準(zhǔn)確性更高。
在圖中不同的節(jié)點(diǎn)所處的位置不同,權(quán)重也不盡相同,類似于社交網(wǎng)絡(luò)中活躍度和好友比較多的用戶,比如 18 號,只傳播 1 個 step 就達(dá)到了很高的準(zhǔn)確率,代表著傳播一次就幾乎覆蓋到全圖;而 4 號代表著影響力較為一般的用戶,它的分布比較稀疏,就需要更多的傳播次數(shù)才能提升準(zhǔn)確率。同時在自適應(yīng)聚合器中引入的其他參數(shù)也是有代價的,會對計算效率產(chǎn)生一定的影響,這里就是在用計算效率去換更高的準(zhǔn)確率。
(7)基于 SGAP 范式來設(shè)計 GNN
基于 SGAP 范式來設(shè)計的 GNN,完全拋棄了消息傳播機(jī)制的循環(huán)迭代過程,主要分為三步:前處理、訓(xùn)練、后處理。前處理利用圖聚合器聚合鄰居節(jié)點(diǎn)的信息存入矩陣;訓(xùn)練階段利用消息聚合器聚合預(yù)處理階段的特征矩陣,設(shè)定信息更新模型(如 MLP)來學(xué)習(xí)節(jié)點(diǎn)的軟標(biāo)簽類別分布;后處理就是基于模型更新后的預(yù)測結(jié)果當(dāng)作新的特征,再一次使用圖聚合器來聚合鄰居標(biāo)簽信息,最后輸出最終預(yù)測。
4、自動化搜索系統(tǒng)(PaSca)
基于可擴(kuò)展的 SGAP 范式,我們提出了自動化搜索系統(tǒng) PaSca,其中包含兩個模塊,自動化的搜索引擎和分布式的評估引擎。搜索引擎的主要的目就是推薦一個 configuration instance,即一個網(wǎng)絡(luò)結(jié)構(gòu)配置,可以配置出一個可擴(kuò)展的圖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。評估引擎將會評估所推薦的 configuration instance,真正在數(shù)據(jù)集上訓(xùn)練并產(chǎn)生預(yù)測,然后根據(jù)驗(yàn)證集的結(jié)果去評估準(zhǔn)確率。
(1)搜索引擎
搜索引擎需要接收輸入的優(yōu)化目標(biāo),處理不同優(yōu)化目標(biāo)之間的 tradeoff。優(yōu)化目標(biāo)包括對于模型結(jié)構(gòu)的要求(模型本身結(jié)構(gòu))、模型性能的要求(準(zhǔn)確率等性能指標(biāo))和硬件設(shè)置(資源、內(nèi)存空間、時間)相關(guān)的約束。搜索引擎可以在多個目標(biāo)的約束下,去搜索并推薦最佳的滿足多個優(yōu)化目標(biāo)的網(wǎng)絡(luò)結(jié)構(gòu)配置。
(2)設(shè)計空間
PaSca 的設(shè)計空間包含在預(yù)處理,模型訓(xùn)練,以及后處理等 3 個階段的局部設(shè)計。拿模型訓(xùn)練階段的設(shè)計空間為例,需要考慮的包括使用什么樣的聚合器(自適應(yīng)/非自適應(yīng)),使用多少層的 dens layer 等。在每個階段都有 2 個參數(shù)可供選擇,三個階段共有超過 150k 種可能的 configuration instances,同時現(xiàn)有的 Scalable GNN 都可以在我們的設(shè)計空間里找到。
(3)推薦服務(wù)器
對于推薦服務(wù)器來說,PaSca 使用經(jīng)典的基于貝葉斯優(yōu)化的 SMBO 方法。整個過程分為三步:建模,推薦和更新。首先進(jìn)行建模,學(xué)習(xí)配置(網(wǎng)絡(luò)結(jié)構(gòu))與優(yōu)化目標(biāo)之間的關(guān)系;建模完成后,推薦引擎去推薦能兼顧多個優(yōu)化目標(biāo)的配置;之后評估引擎評估該配置的效果,把觀測到的歷史記錄返回推薦服務(wù)器中,進(jìn)一步更新推薦模型,使得推薦越來越準(zhǔn)確。
(4)評估引擎
對于分布式評估引擎來說,首先會使用圖數(shù)據(jù)聚合器對大圖做切分,切分好圖數(shù)據(jù)后再基于重復(fù)計算的方法來做數(shù)據(jù)聚合。具體來說就是根據(jù)已經(jīng)計算好的第(i)步消息來計算第(i+1)步消息。網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練器相對簡單,它使用 MLP 基于 Mini-batch 來訓(xùn)練網(wǎng)絡(luò),并且基于 parameter server,去異步更新網(wǎng)絡(luò)參數(shù)。
三、實(shí)驗(yàn)
1、實(shí)驗(yàn)設(shè)置
我們在目前廣泛使用的經(jīng)典數(shù)據(jù)集及數(shù)據(jù)量稍大的數(shù)據(jù)集和自己的 Industry 數(shù)據(jù)集上都做了驗(yàn)證,主要是為了驗(yàn)證以下就是 3 個目標(biāo)。首先,我們希望提出的 SGAP 比基于 NMP 的消息傳遞機(jī)制更具有擴(kuò)展性;第二個目標(biāo)是期望 PaSca 搜索出來的結(jié)果能夠很好地處理不同搜索目標(biāo)之間的 tradeoff;第三個目標(biāo)是希望 PaSca 搜索出來網(wǎng)絡(luò)結(jié)構(gòu)能夠有更好的預(yù)測性能。
2、可擴(kuò)展性分析
對于第一個目標(biāo),由于是針對大規(guī)模的數(shù)據(jù)去做設(shè)計,最關(guān)心的其實(shí)不是模型的性能,是而是 scalability,也即模型的可擴(kuò)展性。如圖所示,我們使用了基于 SGAP的APPNP和基于 NMP的 GraphSAGE 在兩個不同的數(shù)據(jù)集上進(jìn)行了對比,實(shí)驗(yàn)發(fā)現(xiàn)基于 SGAP 的 GNN 可以取得接近線性的加速比,并且比基于 NMP 的消息傳遞機(jī)制更加接近理想的加速比。
3、搜索出來的代表性方法
基于 SGAP 范式搜索出來的代表性方法可以兼顧多個搜索目標(biāo)之間的 tradeoff。如圖中帕累托平面所示,橫軸代表模型的準(zhǔn)確率,縱軸代表預(yù)測時間??梢钥吹?PaSca-V3 取得了最低的預(yù)測誤差,代價就是帶來了與 PaSca-V2 相比更長的預(yù)測時間。目前表現(xiàn) SOTA 的可擴(kuò)展網(wǎng)絡(luò)結(jié)構(gòu) GBP,也可以在帕累托平面上被搜索出來。表 3 代表著搜索出來的 3 個不同版本的代表性網(wǎng)絡(luò)結(jié)構(gòu)。給予網(wǎng)絡(luò)結(jié)構(gòu)三大部分具體的參數(shù),就可以確定唯一定義的網(wǎng)絡(luò)結(jié)構(gòu)。
同時結(jié)果顯示,目前搜索出的代表性模型都能很好兼顧訓(xùn)練時間與測試準(zhǔn)確率。圖中藍(lán)框內(nèi)代表的 PaSca 搜索出的模型,其中 PaSca-V2 和 PaSca-V3 都取得了較高的預(yù)測準(zhǔn)確率,但是明顯需要更少的時間。即使拿性能最差的 SGC 與非 SGAP 模型相比,在準(zhǔn)確率降低幅度不大的情況下,效率高出其他模型一個數(shù)量級以上。因此 SGAP 在工業(yè)范式界的大規(guī)模圖數(shù)據(jù)上表現(xiàn)是相當(dāng)不俗的,尤其是對訓(xùn)練時間要求比較高的情況下。
4、預(yù)測性能
在預(yù)測性能上,SGAP 和其他非擴(kuò)展性的建模范式相比,具有相當(dāng)競爭力的性能。基于 SGAP 范式實(shí)現(xiàn)的模型具有預(yù)處理、訓(xùn)練、后處理這樣一種三段式的結(jié)構(gòu),與常見的 NMP 和 DNMP 范式下的模型相比,它們都取得了較好的預(yù)測性能。比如,使用 SGAP 范式下的 PaSca-V3 模型在不同的數(shù)據(jù)上進(jìn)行測試都取得了最好的性能。因此,SGAP 范式在保證模型可擴(kuò)展性的同時,不會降低模型的準(zhǔn)確率。
四、總結(jié)
目前我們實(shí)現(xiàn)了能自動化建模 10 億節(jié)點(diǎn)的超大規(guī)模圖神經(jīng)網(wǎng)絡(luò)系統(tǒng),部署于騰訊太極機(jī)器學(xué)習(xí)平臺,并廣泛應(yīng)用于視頻推薦和內(nèi)容風(fēng)控等場景,系統(tǒng)部分功能已在 Github 開源:?https://github.com/PKU-DAIR/SGL?,系統(tǒng)論文獲得 CCF A 類數(shù)據(jù)挖掘旗艦會議 WWW 2022 唯一“最佳學(xué)生論文獎”(中國第2個),相關(guān)工作刷新了國際圖學(xué)習(xí)榜單 OGB 的 3 項(xiàng)第一。
這里對我們的工作做一個總結(jié)。PaSca 作為一個新穎的構(gòu)建和探索可擴(kuò)展 GNNs 的網(wǎng)絡(luò)結(jié)構(gòu)搜索系統(tǒng),不僅僅研究單個的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計。PaSca 搜索出來的代表性模型能夠在預(yù)測性能、效率以及可擴(kuò)展性等多個方面超越現(xiàn)有的 SOTA GNN 模型。同時 PaSca 能夠幫助研究者來探索不同的 Scalable GNN 結(jié)構(gòu)設(shè)計,并且理解不同設(shè)計的特點(diǎn)和功能。
?同時也對 PaSca 系統(tǒng)開源工作做一個介紹。前面主要討論的 SGAP 建模和網(wǎng)絡(luò)結(jié)構(gòu)搜索這兩個部分的功能,已經(jīng)集成到 SGL 系統(tǒng)工具包中,是 SGL 系統(tǒng)設(shè)計不可或缺的一部分。這也正是 SGL 系統(tǒng)的設(shè)計目標(biāo)之一,即具有高可擴(kuò)展性,能夠高效處理分布式還是單機(jī)場景下的超大規(guī)模工業(yè)圖數(shù)據(jù)。
第二個目標(biāo)就是實(shí)現(xiàn)自動化,PaSca 系統(tǒng)可以對指定的多個優(yōu)化目標(biāo)去自動化的搜索推薦網(wǎng)絡(luò)結(jié)構(gòu)。
第三個目標(biāo)是在應(yīng)用性上,可以針對常見的節(jié)點(diǎn)分類、聚類預(yù)測,后面也會支持倒藥物發(fā)現(xiàn)和推薦等場景實(shí)現(xiàn)一鍵調(diào)用,具有針對多個任務(wù)定制的用戶友好的接口。
另一個目標(biāo)就是針對數(shù)據(jù)側(cè)的優(yōu)化,關(guān)注包括噪聲處理、長尾分布不均衡處理、圖結(jié)構(gòu)數(shù)據(jù)稀疏等一系列問題。同時,系統(tǒng)還會內(nèi)置集成多種有效的提點(diǎn)方法。
以上就是本次講座的全部內(nèi)容。
五、問答環(huán)節(jié)
Q1:如何保證 SGAP 這種方式的調(diào)整不會影響模型的效果,是否有理論上的支持?
A1:首先我們回答,前半部分。從實(shí)驗(yàn)結(jié)果上可以看到,基本上不會影響效果,效果反而會更好;然后另外,從 Open Graph Benchmark 榜單也可以看到,現(xiàn)在大部分的數(shù)據(jù)集其實(shí)都可以歸納成 SGAP 里的一個分支,或者說歸納 SGAP 范式的前半部分,因?yàn)楹芏喾椒赡軙鄙俸筇幚淼牟僮?。所以說,SGAP 是不會去影響模型的效果。至于在理論上的支持,比如 SGC 及其他很多的工作,以及去年有一篇論文,是專門去研究比如說 Graph Augmented MLP 的一種方法,因此在理論上也是有一些支持的。如果對這個感興趣的話,我們后面也可以發(fā)一下相關(guān)的論文。
Q2:SGAP 范式是否能夠支持復(fù)雜的 GNN 模型?比如說在邊上有 n 計算的階梯模型。
A2:目前的話就是研究的工作還不多,是不能去直接去支持或者說接替,怎么去聚合鄰居的信息的算法。但是目前的處理辦法是做了一個折中,把不同跳的信息聚合時,相當(dāng)于在做一個節(jié)點(diǎn)層次上的聚合。這樣一種方法在保證了可擴(kuò)展性的同時,也利用了 Attention 的思想去學(xué)習(xí)節(jié)點(diǎn)不同層數(shù)的表示。但是目前沒有辦法做到像 GAT 那么細(xì)的粒度,去聚合節(jié)點(diǎn)跟節(jié)點(diǎn)之間的信息,這是很好的一個研究的 topic,可以在聚合階段利用一些啟發(fā)式的方法,或者說利用一些有理論保證的方法,去做一些帶注意力機(jī)制這樣一種思想的聚合算法。
Q3:PaSca 框架可以支持多個優(yōu)化目標(biāo),并在一定約束下進(jìn)行學(xué)習(xí),這里是如何添加這種約束的呢?
A3:這個問題涉及貝葉斯優(yōu)化,建模時會設(shè)計一個 x 和一個 y, x 就是各種網(wǎng)絡(luò)結(jié)構(gòu)y的話可以是 accuracy。當(dāng)我們?nèi)ビ?xùn)練一個模型,比如說像高斯過程、GBM、樹模型,或者隨機(jī)森林等,多目標(biāo)就意味著一個x對應(yīng)多個 y。實(shí)現(xiàn)方式是用我們實(shí)驗(yàn)室自研的 OpenBox 工具包去做的,可以很方便的支持,多個約束目標(biāo)的貝葉斯優(yōu)化。
Q4:SGAP 這種方式的話,為什么說有更好的拓展性呢?
A4:更好的擴(kuò)展性是最重要的一點(diǎn),也是大家最關(guān)心的一點(diǎn)。我們在此再重新描述一下,前面提到的就是 NMP 消息傳遞機(jī)制這種范式,在每個 epoch 都需要去不斷迭代地去做聚合和更新的操作,這樣帶來兩個問題,第一個問題就是需要不斷的重復(fù)做這種稀疏矩陣乘 dense 矩陣的矩陣乘法,這就造成很高的計算成本,而另外由于不斷的聚合操作,會產(chǎn)生很高的通信成本,尤其是對于大規(guī)模圖數(shù)據(jù)。
但是在 SGAP 范式下,分成預(yù)處理、訓(xùn)練以及后處理三個階段,所以這個時候通信成本就不受到 training epoch 大小影響。只需要在預(yù)處理和后處理階段做兩次通信;計算的話也是同理,矩陣乘法只需要在預(yù)處理和后處理階段去做。在模擬訓(xùn)練的時候,會完全拋棄掉圖結(jié)構(gòu)。這樣就兼顧了可擴(kuò)展性和效率的問題,比 NMP 的消息傳遞機(jī)制會更好。