劉鵬飛,張偉峰,何克晶
(1.華南農(nóng)業(yè)大學(xué) 數(shù)學(xué)與信息學(xué)院,廣東 廣州 510642;2.華南理工大學(xué) 計算機科學(xué)與工程學(xué)院,廣東 廣州 510006)
現(xiàn)實中很多數(shù)據(jù)例如三維網(wǎng)格、社交網(wǎng)絡(luò)和合成化合物等通常以圖結(jié)構(gòu)表示其原始信息.圖數(shù)據(jù)中節(jié)點的不規(guī)則特點和相互依賴關(guān)系使得現(xiàn)有的深度神經(jīng)網(wǎng)絡(luò)算法在處理圖數(shù)據(jù)時面臨著挑戰(zhàn),如卷積計算難以直接應(yīng)用到圖數(shù)據(jù).
圖神經(jīng)網(wǎng)絡(luò)擴展自遞歸神經(jīng)網(wǎng)絡(luò),由文獻[1]根據(jù)圖數(shù)據(jù)的特點并參考以往卷積網(wǎng)絡(luò)和深度自動編碼器等技術(shù)提出,可處理循環(huán)圖、有向圖和無向圖等.此后相關(guān)研究不斷出現(xiàn):例如文獻[2]利用轉(zhuǎn)移矩陣定義鄰域,同時學(xué)習(xí)每個輸入通道和鄰域度的權(quán)重;文獻[3]從圖結(jié)構(gòu)選出具有代表性的節(jié)點序列并對它們分別求出一個可卷積的歸一化鄰域;文獻[4]提出GraphSAGE 模型,先搜索圖中每節(jié)點的固定鄰域,再在其上進行聚合操作.
圖神經(jīng)網(wǎng)絡(luò)當(dāng)前主要可劃分為5 種:圖卷積網(wǎng)絡(luò)、圖注意力網(wǎng)絡(luò)、圖自編碼器、圖生成網(wǎng)絡(luò)和圖時空網(wǎng)絡(luò).注意力機制隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展而產(chǎn)生,能夠放大數(shù)據(jù)中最重要部分的影響.目前注意力機制開始融入到圖神經(jīng)網(wǎng)絡(luò)的聚合過程,著重于輸入信息中最重要部分[5].
受上述相關(guān)工作啟發(fā),文獻[6]引入了基于注意力機制的圖神經(jīng)網(wǎng)絡(luò)對圖結(jié)構(gòu)數(shù)據(jù)進行節(jié)點分類,其關(guān)鍵在于通過觀察每個節(jié)點的鄰居來計算圖中每個節(jié)點的表示.注意力機制主要有3 個特點:①支持節(jié)點?鄰居對之間并行計算;②支持對鄰居指定任意權(quán)重,可應(yīng)用于度數(shù)不同的圖節(jié)點;③支持歸納的學(xué)習(xí)問題,包括將模型推廣到不可見的圖形[7].
分析已有的研究結(jié)果,圖注意力網(wǎng)絡(luò)的分類效果尚有改進的空間.一般而言,分類器性能的提升可以從算法本身進行改進,或者利用某種算法對分類器超參數(shù)進行優(yōu)化,以及結(jié)合流行的集成學(xué)習(xí)策略等.集成學(xué)習(xí)為促進分類模型的性能和穩(wěn)健性提供了行之有效的方法.它通過組合多個基學(xué)習(xí)器的輸出來完成預(yù)測任務(wù),往往能夠得到比基學(xué)習(xí)器更好的泛化性能.
目前尚未有研究將智能算法優(yōu)化的集成學(xué)習(xí)策略應(yīng)用到圖數(shù)據(jù)分類或者圖注意力網(wǎng)絡(luò).本文提出差分進化算法優(yōu)化的圖注意力網(wǎng)絡(luò)集成并展開相關(guān)實驗證明其效果.
1.1 集成學(xué)習(xí)集成學(xué)習(xí)(Ensemble Learning)通過某種規(guī)則組合多個基學(xué)習(xí)器以降低學(xué)習(xí)難度,提高分類模型的穩(wěn)健性并避免過擬合,其在很多機器學(xué)習(xí)任務(wù)上取得了成功[8].基學(xué)習(xí)器之間的差異性是集成學(xué)習(xí)成功的關(guān)鍵因素.一般而言,增強基學(xué)習(xí)器的多樣性可采用4 種策略:數(shù)據(jù)樣本擾動、數(shù)據(jù)屬性擾動、輸出表示擾動和及算法參數(shù)擾動[9].
不同的多樣性增強策略有不同類型的基學(xué)習(xí)器與之對應(yīng).總體上基學(xué)習(xí)器可分為穩(wěn)定和不穩(wěn)定兩種,后者是指對樣本擾動或參數(shù)擾動敏感,輕微變化都會導(dǎo)致基學(xué)習(xí)器學(xué)習(xí)性能產(chǎn)生顯著變化.
集成學(xué)習(xí)有不同的基學(xué)習(xí)器組合方式,其中最常見的為多數(shù)投票法,它遵循少數(shù)服從多數(shù)原則確定待預(yù)測樣本的類別標(biāo)簽.經(jīng)典的Bagging 算法即套袋法從原始樣本集中進行k輪抽取得到k個相互獨立的訓(xùn)練集并在其上分別進行訓(xùn)練得到k個基學(xué)習(xí)器.所有基學(xué)習(xí)器具有相等的投票權(quán)重,將上一步得到的k個模型采用投票的方式進行綜合從而得到分類結(jié)果.
在Boosting 或AdaBoost 算法中,每個基學(xué)習(xí)器根據(jù)其在訓(xùn)練集上的錯誤率被賦予不同的權(quán)重[10].AdaBoost 本質(zhì)上是通過貪婪搜索最小化訓(xùn)練樣本的指數(shù)損失.文獻[11]提出的圖卷積網(wǎng)絡(luò)集成模型AdaGCN 能夠有效地從當(dāng)前節(jié)點的高階鄰域中提取知識,并以Adaboost 的方式將鄰域中不同跳數(shù)的知識整合到圖卷積網(wǎng)絡(luò)集成.文獻[12]利用boosting 理論,證明了在弱學(xué)習(xí)型條件下訓(xùn)練誤差的收斂性;并將boosting 算法應(yīng)用于多尺度圖神經(jīng)網(wǎng)絡(luò)集成的訓(xùn)練中,以完成節(jié)點預(yù)測任務(wù).
總體而言,為分類器集成的基學(xué)習(xí)器找到一個最佳的權(quán)重組合甚至次優(yōu)的方案往往需要大量計算.一種常見做法是基于某種優(yōu)化算法,以分類器集成在驗證集上的性能指標(biāo)為目標(biāo),優(yōu)化多個基學(xué)習(xí)器對應(yīng)的權(quán)重向量或者矩陣.例如文獻[13]提出了遺傳算法中一種新的懲罰性適應(yīng)度函數(shù)以促進弱分類器組合中權(quán)重優(yōu)化.文獻[14]提出了基于歐氏距離適應(yīng)度的差分進化算法以訓(xùn)練神經(jīng)網(wǎng)絡(luò)集成.
1.2 差分進化算法差分進化算法(Differential Evolution,DE)是一種基于群體差異的全局隨機優(yōu)化算法,具有收斂速度快、結(jié)構(gòu)簡單和魯棒性強等優(yōu)點,廣泛地應(yīng)用在組合優(yōu)化等領(lǐng)域.
遺傳算法啟發(fā)了差分進化算法的發(fā)展,兩者都包括:以個體適應(yīng)度為選擇標(biāo)準(zhǔn),隨機生成初始種群,經(jīng)歷變異、交叉和選擇3 個操作算子的計算,但兩種算法的上述操作算子的定義并不完全相同.此外差分進化算法的變異操作需要先由父代任意兩個個體進行向量差計算,并將加權(quán)后的結(jié)果與父代第三個個體向量進行向量和計算以生成新的個體向量作為候選,最后將該個體與其父代相應(yīng)個體進行選擇操作[15].
在很多優(yōu)化問題上,差分進化算法的效果比遺傳算法更好.文獻[16]利用差分進化算法對分類器集成的權(quán)重進行優(yōu)化并取得了較好效果.
1.3 基學(xué)習(xí)器:圖注意力網(wǎng)絡(luò)注意力機制(Attention Mechanism)模仿人類選擇性地關(guān)注信息中的某一部分,并忽略其他從而提高信息處理效率.注意力機制的關(guān)鍵在于對信息設(shè)置權(quán)重,權(quán)重高的信息能夠獲得重點處理.
圖注意力網(wǎng)絡(luò)是在前述圖神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上引入注意力機制,實現(xiàn)對鄰居權(quán)重的自動分配從而區(qū)分需要重點關(guān)注的鄰居節(jié)點[17].
假設(shè)圖G=(V,E),V為結(jié)點集,E為邊集合,帶有注意力機制的圖卷積運算[6]定義為:
其中,k代表圖神經(jīng)網(wǎng)絡(luò)的層編號,表示結(jié)點v的特征向量,d為節(jié)點特征向量的維數(shù),v∈V,σ(.)為sigmoid 激活函數(shù),N(v)表示v的鄰居結(jié)點集合,W為可學(xué)習(xí)的模型參數(shù),為注意力權(quán)重,用于衡量結(jié)點v與其鄰居u之間的連接強度,其計算表達為[18]:
其中g(shù)(.)為LeakyReLU 激活函數(shù),a為可學(xué)習(xí)參數(shù)的向量,T 為轉(zhuǎn)置操作.softmax 函數(shù)(歸一化指數(shù)函數(shù))確保注意力權(quán)重在節(jié)點v的所有鄰居上加起來為1.
圖注意力網(wǎng)絡(luò)還可通過多頭注意力機制學(xué)習(xí)不同子空間中的注意力信息,將空間分成M個子空間,同時分別對其運行多個注意力機制函數(shù)后再整合[19],如:
其中,∥ 為連接操作,t為迭代索引編號.
2.1 模型框架神經(jīng)網(wǎng)絡(luò)及其擴展深度神經(jīng)網(wǎng)絡(luò)都屬于不穩(wěn)定的基學(xué)習(xí)器,因而本文使用圖注意力網(wǎng)絡(luò)作為基學(xué)習(xí)器時,可以采用樣本擾動策略來提高集成多樣性.
文獻[20]表明分類器集成的模型聚合過程中用普通策略例如多數(shù)投票法得到的集成預(yù)測性能效果往往一般.為了提升分類器集成的效果,本文采用了前文所述的差分進化算法;相對于其他優(yōu)化方法,在分類器集成的權(quán)重矩陣或者向量求解上更加有效.
本文提出的差分進化算法優(yōu)化的圖注意力網(wǎng)絡(luò)集成(Differential Evolution Optimized Graph Attention Network Ensemble,DEOGATE)流程如圖1 所示.流程的全部子過程均由程序自動完成.過程框架分為訓(xùn)練階段和測試階段兩個階段.由前文所述,圖數(shù)據(jù)與普通的分類數(shù)據(jù)有較大不同之處,圖數(shù)據(jù)中節(jié)點具有相互依賴關(guān)系,因此在預(yù)處理時必須先計算圖數(shù)據(jù)的邊和鄰接矩陣,然后才能進行抽樣及后續(xù)步驟.后面會根據(jù)具體的圖數(shù)據(jù)的特點簡述預(yù)處理.
圖1 差分進化算法優(yōu)化的圖注意力網(wǎng)絡(luò)集成流程圖Fig.1 Flow chart of graph attention network ensemble optimized by differential evolution algorithm
訓(xùn)練階段包括3 個步驟:首先,計算圖數(shù)據(jù)集的邊和鄰接矩陣;其次,抽樣數(shù)據(jù)并構(gòu)建基學(xué)習(xí)器;再次,采用差分進化算法對分類器集成權(quán)重向量進行優(yōu)化.
測試階段利用分類器集成的所有基學(xué)習(xí)器對樣本分別預(yù)測并通過對應(yīng)權(quán)值組合計算得到預(yù)測結(jié)果.
圖注意力網(wǎng)絡(luò)集成中的基學(xué)習(xí)器組合對應(yīng)的每個候選權(quán)重向量由差分進化算法種群中的一個個體所代表.假設(shè)數(shù)據(jù)集共有k個類別,分類器集成中共有L個基學(xué)習(xí)器,則分類器集成中每個個體x可表示為x=(w1,w2,···,wL).差分進化算法以待優(yōu)化的目標(biāo)函數(shù)為適應(yīng)度函數(shù),且只能求函數(shù)極小值,因此分類器集成的待優(yōu)化函數(shù)f表示為:
其中,? 為分類器集成的整體準(zhǔn)確率,優(yōu)化算法希望對f函數(shù)值最小化.
基學(xué)習(xí)器的預(yù)測輸出為矩陣,每行代表一個樣本的預(yù)測結(jié)果.由實驗所采用的具體數(shù)據(jù)集所決定,假設(shè)每一行有y列數(shù)字,分別代表該列對應(yīng)類別的概率,則取最大概率值所在列的標(biāo)簽為該樣本的輸出類別.
樣本z屬于類別j的加權(quán)概率S j(z)為分類器集成中所有基學(xué)習(xí)器對樣本z給出的原始概率的加權(quán)值,計算公式如下:
分類器集成的決策規(guī)則表示為:
其中,?()為聚合函數(shù),其輸入為樣本z全部類別的加權(quán)概率的集合,輸出規(guī)則為:
即樣本z屬于類別k僅當(dāng)其類別k的支持度Sk(z)大于其它任意類別的支持度.
2.2 DEOGATE 算法步驟對于加權(quán)投票法的分類器集成,核心問題在于分類器集成中權(quán)重向量的求解,一個典型的差分進化算法優(yōu)化圖注意力網(wǎng)絡(luò)集成的訓(xùn)練過程可以被描述為如下步驟:
輸入圖數(shù)據(jù)集;圖神經(jīng)網(wǎng)絡(luò)超參數(shù);集成算法參數(shù);差分進化算法主要參數(shù).
輸出分類器集成預(yù)測結(jié)果.
步驟 1預(yù)處理圖數(shù)據(jù)集;
步驟 2劃分數(shù)據(jù)集為獨立的訓(xùn)練集、測試集和驗證集;
步驟 3對訓(xùn)練集進行有放回抽樣,重復(fù)此操作,得到預(yù)設(shè)個數(shù)的訓(xùn)練子集;
步驟 4分別在訓(xùn)練子集上以圖注意力網(wǎng)絡(luò)算法構(gòu)建基學(xué)習(xí)器組成分類器集成;
步驟 5在差分進化算法中隨機生成若干個個體的初始群體(每個個體代表一個解,其由一組滿足約束的權(quán)向量組成);初始化已循環(huán)次數(shù);
步驟 6根據(jù)公式(4)評估父代個體的適應(yīng)度;
步驟 7通過變異和交叉操作生成新個體;
步驟 8計算新個體的適應(yīng)度;
步驟 9比較新個體與父代個體的適應(yīng)度,如果新個體更好,則將父代對應(yīng)個體替換為新個體,否則新個體被丟棄;
步驟 10為當(dāng)前已循環(huán)次數(shù)增加1;
步驟 11當(dāng)已循環(huán)次數(shù)小于迭代次數(shù)或者迭代終止誤差大于預(yù)設(shè)值時,重復(fù)步驟 7~10,否則輸出當(dāng)前種群中最佳個體對應(yīng)的權(quán)值向量;
步驟 12對應(yīng)權(quán)值組合計算并輸出集成預(yù)測結(jié)果.
該算法不依賴用戶輸入的健壯性不穩(wěn)定的超參數(shù),以分類器集成的預(yù)測準(zhǔn)確率為最終優(yōu)化目標(biāo),優(yōu)化過程無需度量各基本分類器之間的差異性.
本節(jié)通過實驗驗證DEOGATE 模型的有效性,分析討論實驗中的數(shù)據(jù)特征、相關(guān)的參數(shù)設(shè)置等.文中實驗所采用的環(huán)境配置:硬件為英特爾 I5-10400f,包含6 核心12 線程,主頻2.9 GHz;內(nèi)存為32 GB,操作系統(tǒng)為Ubuntu 20.04 Linux,深度學(xué)習(xí)框架為Pytorch,版本號為1.7;圖注意力網(wǎng)絡(luò)模型為Pygat 1.0,來自文獻[6];差分進化算法來自版本號為1.5.2 的Scipy 模塊中的differential_evolution優(yōu)化方法;編程環(huán)境為Anaconda 3,運行環(huán)境為Python 3.8.5.所有實驗均由中央處理器完成計算,沒有使用圖形處理器.
3.1 數(shù)據(jù)集及預(yù)處理DEOGATE 所采用的基學(xué)習(xí)器圖注意力網(wǎng)絡(luò)模型支持直推學(xué)習(xí)(Transductive learning)和歸納學(xué)習(xí)(Inductive Learning)兩種模式.本文實驗采用直推學(xué)習(xí)模式并應(yīng)用在引文網(wǎng)絡(luò)數(shù)據(jù)集Cora[21]的節(jié)點分類任務(wù)上.圖數(shù)據(jù)集往往僅部分節(jié)點有類別標(biāo)簽,直推學(xué)習(xí)則支持在訓(xùn)練過程中使用其他節(jié)點的特征以及節(jié)點間的連接關(guān)系[22].
Cora 數(shù)據(jù)集擁有7 個類別,包含2 708 個樣本(節(jié)點),每個樣本代表一篇論文,每篇論文均非孤立:或引用了至少一篇其他論文,或被其他論文引用,這種引用關(guān)系用圖的邊表示,數(shù)據(jù)集總共包含5 429 條邊.所有論文均屬于如下類別之一:①案例,②遺傳算法,③神經(jīng)網(wǎng)絡(luò),④概率方法,⑤強化學(xué)習(xí),⑥規(guī)則學(xué)習(xí),⑦理論.每個樣本均為一個1 433 維的詞向量,其中每個元素都對應(yīng)一個詞,用1 或0兩種取值表示該元素對應(yīng)的詞在論文中出現(xiàn)與否.
由圖數(shù)據(jù)的特點所決定,Cora 數(shù)據(jù)的主要預(yù)處理步驟包括:①提取特征,轉(zhuǎn)為壓縮稀疏行矩陣;②讀取數(shù)據(jù)并提取標(biāo)簽,轉(zhuǎn)為獨熱(one-hot)編碼;③計算樣本之間的引用關(guān)系并保存為數(shù)組;④將非對稱鄰接矩陣轉(zhuǎn)變?yōu)閷ΨQ鄰接矩陣.
為保證訓(xùn)練和測試過程中不同作用的數(shù)據(jù)子集之間的相互獨立,在上述預(yù)處理步驟返回的鄰接矩陣和特征矩陣里面,隨機選取約60%即1 625 條記錄用于構(gòu)建訓(xùn)練集,約20%的數(shù)據(jù)即541 條記錄用于構(gòu)建測試集,約20%的數(shù)據(jù)即542 條記錄用于構(gòu)建驗證集.在構(gòu)建分類器集成的基學(xué)習(xí)器時,每次隨機有放回地從訓(xùn)練集抽取約80%的數(shù)據(jù)即1 300條記錄用于不同基學(xué)習(xí)器的訓(xùn)練.
3.2 參數(shù)設(shè)置已有研究表明,基學(xué)習(xí)器數(shù)量會影響分類器集成的總體分類性能.集成學(xué)習(xí)器的整體性能往往隨基學(xué)習(xí)器數(shù)量的增加而提高,但并非單調(diào)遞增,而是達到一個穩(wěn)定值后在其附近震蕩[23].基學(xué)習(xí)器的數(shù)目既要考慮訓(xùn)練代價,也要考慮到有放回隨機抽樣和參數(shù)擾動的特點.
實驗分為5 輪,每輪的基學(xué)習(xí)器個數(shù)不同,分別為(5,10,15,20,25).每輪實驗包含兩部分.第一部分是基學(xué)習(xí)器即圖注意力網(wǎng)絡(luò)模型的超參數(shù)固定時的測試,第二部分是超參數(shù)可變時的測試.測試內(nèi)容包括不同分類模型的預(yù)測能力和DEOGATE 的訓(xùn)練時長.
每輪的差分進化算法主要參數(shù)都相同:種群大小為15,變異率為0.5,基因重組率為0.7,最大迭代次數(shù)為1 000,迭代終止誤差為 1 ×10?7,搜索策略為best1bin.
第一部分的圖注意力網(wǎng)絡(luò)模型主要超參數(shù)設(shè)定如下:訓(xùn)練次數(shù)(epochs)為1 000,學(xué)習(xí)率為0.005,隱單元數(shù)為8,多頭注意力(attention heads)個數(shù)為8,權(quán)重衰減為 5×10?4,耐心度(Patience)為100,丟棄率(dropout)為0.6.第二部分的圖注意力網(wǎng)絡(luò)模型的超參數(shù)由人工設(shè)定改為在一定范圍內(nèi)隨機生成,以檢驗數(shù)據(jù)擾動疊加參數(shù)擾動后的分類器集成的總體性能.具體而言,圖神經(jīng)網(wǎng)絡(luò)主要參數(shù)隨機變化范圍:訓(xùn)練次數(shù)仍為1 000,學(xué)習(xí)率為0.001 至0.009,隱單元數(shù)為1~9,多頭注意力個數(shù)為1~9,權(quán)重衰減為 1 ×10?4~ 9×10?4,耐心度為50~200,丟棄率為0.1~0.9.
3.3 結(jié)果與分析
3.3.1 分類性能 本文實驗為多元分類問題,采用了準(zhǔn)確率作為評價指標(biāo).多元分類問題的準(zhǔn)確率計算較一般的二元分類問題稍有不同,為各個類別中被預(yù)測正確的樣本之和占參與預(yù)測的總樣本數(shù)的比例.
表1 和表2 分別描述了基學(xué)習(xí)器個數(shù)為(5,10,15,20,25)時,圖注意力網(wǎng)絡(luò)超參數(shù)在固定時和在隨機生成時DEOGATE 的總體輸出性能(用準(zhǔn)確率表達);與之對比的是分類器集成內(nèi)部的多個基學(xué)習(xí)器的平均準(zhǔn)確率和標(biāo)準(zhǔn)差,以及多數(shù)投票法集成(記為VoteEnsemble)的準(zhǔn)確率.
表1 固定超參數(shù)時分類準(zhǔn)確率Tab.1 Classification accuracy with fixed super parameters
表2 隨機超參數(shù)時分類準(zhǔn)確率Tab.2 Classification accuracy with random super parameters
表1 數(shù)據(jù)中的基學(xué)習(xí)器平均準(zhǔn)確率及其標(biāo)準(zhǔn)差展示了基學(xué)習(xí)器間的區(qū)別不太顯著,意味著從原始訓(xùn)練集通過有放回抽樣得到的數(shù)據(jù)擾動還不夠大;但DEOGATE 在驗證集上取得了幾乎最好的分類效果,其分類表現(xiàn)相比單個基學(xué)習(xí)器而言十分穩(wěn)健,在少數(shù)沒有取得最好的分類效果時,也能夠非常接近集成中效果最好的基學(xué)習(xí)器.5 輪測試中固定超參數(shù)下的DEOGATE 準(zhǔn)確率比集成內(nèi)部基學(xué)習(xí)器平均準(zhǔn)確率高0.001~0.011;同時也以0~0.005的差距持平或領(lǐng)先于多數(shù)投票法分類器集成.說明集成方案能夠提高圖數(shù)據(jù)的分類準(zhǔn)確率,且差分進化算法優(yōu)化的集成方案比多數(shù)投票法方案表現(xiàn)要優(yōu)秀.
在文獻[6]的實驗部分,其提出的圖注意力網(wǎng)絡(luò)模型的超參數(shù)與本實驗第一部分基學(xué)習(xí)器的超參數(shù)相同,該模型對Cora 數(shù)據(jù)集的分類準(zhǔn)確率為(0.83±0.007),已經(jīng)超過了在此之前表現(xiàn)最優(yōu)秀的MoNet[24](0.817±000.5)和GCN[25](0.815).本實驗第一部分的分類器集成中基學(xué)習(xí)器的分類準(zhǔn)確率比文獻[6]高的主要原因是實驗?zāi)康牟煌鴮?dǎo)致的數(shù)據(jù)集劃分策略不同.本實驗需要盡可能地構(gòu)建多個基學(xué)習(xí)器,且希望基學(xué)習(xí)器的學(xué)習(xí)樣本能盡可能多,從而劃分給驗證集的樣本數(shù)較少.而文獻[6]意圖測試直推學(xué)習(xí)模式下的分類性能,因此劃分到測試集的樣本較多,為1 000 個.
表2 數(shù)據(jù)中的基學(xué)習(xí)器的平均準(zhǔn)確率及其標(biāo)準(zhǔn)差展示了基學(xué)習(xí)器間的準(zhǔn)確率差別很顯著,說明參數(shù)擾動對分類器的性能影響很大.5 輪測試中隨機超參數(shù)下的DEOGATE 準(zhǔn)確率比集成內(nèi)部基學(xué)習(xí)器平均準(zhǔn)確率高0.053~0.173;并以0.003~0.006的微弱優(yōu)勢領(lǐng)先于多數(shù)投票法分類器集成.最后DEOGATE 在多輪驗證集上仍然取得了幾乎最好的分類效果,但整體性能相比前一輪固定參數(shù)時有少量下降.經(jīng)分析是隨機參數(shù)導(dǎo)致了部分基學(xué)習(xí)器性能下降較為明顯,從而影響了集成的整體性能.
今后若要實施參數(shù)擾動策略,可以考慮利用進化算法快速對基學(xué)習(xí)器的超參數(shù)進行優(yōu)化,而非完全隨機產(chǎn)生;使其既具有一定的差異性,又不會使基學(xué)習(xí)器的分類性能較人工經(jīng)驗設(shè)置參數(shù)時的基學(xué)習(xí)器差太遠.
上述5 輪實驗的兩部分測試結(jié)果證明了所提出的DEOGATE 算法在Cora 數(shù)據(jù)集上超過了基本的圖注意力網(wǎng)絡(luò)和VoteEnsemble 的性能.DEOGATE算法被證明能夠起作用,但是提升量有待進一步提高.
3.3.2 構(gòu)建時長 深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練時間一般會非常長,而由其構(gòu)建的分類器集成的訓(xùn)練時間更可能是個挑戰(zhàn).下述部分主要分析圖注意力網(wǎng)絡(luò)集成的構(gòu)建時長,實際數(shù)據(jù)來自于上述5 輪實驗所記錄的運行時長.
DEOGATE 算法在單機運行環(huán)境下,構(gòu)建時長t的計算表示為:
其中,?(i)為分類器集成中第i個基學(xué)習(xí)器的訓(xùn)練時長,λ 為差分進化算法對權(quán)重向量的優(yōu)化時長.
在當(dāng)前硬件配置和固定超參數(shù)條件下,訓(xùn)練一個基學(xué)習(xí)器的時間較為固定,經(jīng)過測試平均需要121 min.固定超參數(shù)時的分類器集成在不同基學(xué)習(xí)器數(shù)目下的總訓(xùn)練時間見圖2 虛線.可看出,固定超參數(shù)時的分類器集成訓(xùn)練所需時間與分類器集成中基學(xué)習(xí)器個數(shù)成線性增長關(guān)系.針對學(xué)習(xí)時間較長的問題,將來可以訓(xùn)練并行化或利用圖形處理器計算.
圖2 不同基學(xué)習(xí)器數(shù)目的集成訓(xùn)練總時長Fig.2 Total duration of ensemble training with different number of base learners
與之相對,在當(dāng)前硬件配置和超參數(shù)隨機生成條件下,訓(xùn)練一個基學(xué)習(xí)器的時間變化較大,是因為不同的參數(shù)導(dǎo)致圖注意力網(wǎng)絡(luò)的訓(xùn)練時長也不同.超參數(shù)隨機下的分類器集成在不同基學(xué)習(xí)器數(shù)目下的總訓(xùn)練時間見圖2 的實線.
由圖2 可見,分類器集成訓(xùn)練所需時間與分類器集成中基學(xué)習(xí)器個數(shù)關(guān)系成非線性增長關(guān)系.差分進化算法為基于群體的啟發(fā)式搜索算法,本質(zhì)為全局隨機優(yōu)化,收斂性分析較為復(fù)雜,實際應(yīng)用中一般是分析其運行時長.圖3 虛線顯示了超參數(shù)固定時不同基學(xué)習(xí)器數(shù)目下差分進化算法的運行時長,實線顯示了超參數(shù)隨機生成時不同基學(xué)習(xí)器數(shù)目下差分進化算法的運行時長.不管超參數(shù)固定與否,差分進化算法運行時間隨基學(xué)習(xí)器的數(shù)目變大而增長較快,兩者為非線性增長關(guān)系;但超參數(shù)隨機下的優(yōu)化時長相比固定下的優(yōu)化時長要短,經(jīng)分析是因為前者情況下基學(xué)習(xí)器間性能差異大,導(dǎo)致差分進化算法較早達到停止條件.
圖3 不同基學(xué)習(xí)器數(shù)目的差分進化優(yōu)化時長Fig.3 Optimization time of differential evolution with different number of base learners
綜合固定超參數(shù)與隨機超參數(shù)時的分類準(zhǔn)確率,以及集成訓(xùn)練總時長和差分進化優(yōu)化時長的比較,若要在分類器集成中生成更多的基學(xué)習(xí)器,則超參數(shù)隨機化可視為一個較為經(jīng)濟可行的策略.
基于深度神經(jīng)網(wǎng)絡(luò)的圖數(shù)據(jù)挖掘在高速發(fā)展的同時面臨著參數(shù)設(shè)置、模型質(zhì)量等諸多挑戰(zhàn),其性能提升研究成為熱點.在不改變現(xiàn)有模型下進行分類器集成擴展是一種有效方案,但普通的相同權(quán)重投票法存在全局模型準(zhǔn)確率欠缺的問題.針對該上述問題,本文提出了DEOGATE 算法,利用差分進化算法全局收斂快、實現(xiàn)簡單的優(yōu)點對圖注意力網(wǎng)絡(luò)集成訓(xùn)練過程中獲取全局權(quán)重的關(guān)鍵步驟進行改進和優(yōu)化.首先對圖數(shù)據(jù)集計算邊和鄰接矩陣,進而劃分為訓(xùn)練集、測試集和驗證集,再對訓(xùn)練集進行有放回抽樣劃分為多個子數(shù)據(jù)集;隨后在其上用基于圖注意力網(wǎng)絡(luò)的基學(xué)習(xí)器進行學(xué)習(xí),并結(jié)合測試集利用差分進化算法進行集成權(quán)重向量的優(yōu)化.DEOGATE 在Cora 數(shù)據(jù)上進行驗證,結(jié)果表明,該方法取得了一定的效果,包括提高了分類模型的準(zhǔn)確率和穩(wěn)健性,并且得出利用參數(shù)擾動可在基本保持分類器集成性能的情況下較為明顯地減少集成訓(xùn)練時間的結(jié)論.
實施過程中實現(xiàn)了一套通用的圖注意力集成優(yōu)化框架以適應(yīng)更多新的深度圖神經(jīng)網(wǎng)絡(luò)模型進行接入和測試,同樣也支持不同類型的圖數(shù)據(jù),后續(xù)將引入其他圖數(shù)據(jù)集如Citeseer 和Pubmed 進行測試.此外將來可以從多個角度對算法進行改進,包括更有代表性的數(shù)據(jù)抽樣方案,新的異構(gòu)基學(xué)習(xí)器集成策略;或引入細粒度的權(quán)重優(yōu)化方案如對基分類器不同類別分別設(shè)置權(quán)重并優(yōu)化;或?qū)Σ罘诌M化算法進行改進,使其更加適合于權(quán)重優(yōu)化問題.