葛家驛 楊乃森 唐 宏 徐朋磊 紀(jì) 超
(北京師范大學(xué)遙感科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,北京 100875)
深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個(gè)分支,已經(jīng)在圖像處理[1]、自然語言處理[2]、語音識(shí)別[3]等領(lǐng)域得到了廣泛應(yīng)用。深度神經(jīng)網(wǎng)絡(luò)成功的一個(gè)關(guān)鍵因素是它的網(wǎng)絡(luò)足夠深,大量非線性網(wǎng)絡(luò)層的復(fù)雜組合能對原始數(shù)據(jù)在各種抽象層面上提取特征。然而,由于大多數(shù)深度學(xué)習(xí)模型復(fù)雜度高、參數(shù)多、透明性低,如黑盒一般[4],導(dǎo)致人們難以理解其內(nèi)部工作機(jī)制。由于缺乏一定的可解釋性,深度學(xué)習(xí)模型在醫(yī)學(xué)診斷[5]、自動(dòng)駕駛[6]等決策風(fēng)險(xiǎn)較高領(lǐng)域的應(yīng)用受到了嚴(yán)重阻礙。近幾年來,深度學(xué)習(xí)模型可解釋性研究引起了學(xué)術(shù)界和企業(yè)界的高度關(guān)注,人們相繼提出各類解釋方法來試圖解決模型“黑盒”問題,并取得了一些重要進(jìn)展[4]。
殘差網(wǎng)絡(luò)(Residual Network,簡稱ResNet)是深度學(xué)習(xí)領(lǐng)域中的一個(gè)里程碑式突破,在很大程度上避免了隨著網(wǎng)絡(luò)層數(shù)的增加而產(chǎn)生的梯度消失或梯度爆炸問題,這讓訓(xùn)練極深的網(wǎng)絡(luò)成為可能[7]。梯度提升方法[8]以階段性策略構(gòu)建加法模型,將多個(gè)基學(xué)習(xí)器集成為一個(gè)更強(qiáng)大的模型。其中決策樹常被用于梯度提升方法中的基學(xué)習(xí)器。端到端的梯度提升網(wǎng)絡(luò)[9](End-to-end Gradient Boosting Network,簡稱EGB-Net)是以神經(jīng)網(wǎng)絡(luò)為基學(xué)習(xí)器,通過逐漸添加新的學(xué)習(xí)器成為一個(gè)集成模型。EGB-Net 可以在不同階段使用新數(shù)據(jù)訓(xùn)練新的學(xué)習(xí)器實(shí)現(xiàn)持續(xù)學(xué)習(xí)[10-11],在一些應(yīng)用場景中有著一定的優(yōu)勢。EGB-Net 作為集成模型擁有較多的參數(shù),容易產(chǎn)生過擬合問題。對每個(gè)學(xué)習(xí)器施加一個(gè)相同的學(xué)習(xí)率,可以作為防止過擬合的正則化[8]。EGB-Net 和ResNet 的網(wǎng)絡(luò)結(jié)構(gòu)有相似之處,二者后面的網(wǎng)絡(luò)單元(學(xué)習(xí)器或殘差塊)都在前面網(wǎng)絡(luò)單元的基礎(chǔ)上繼續(xù)學(xué)習(xí),因此二者有一定的可比性。
EGB-Net 的網(wǎng)絡(luò)結(jié)構(gòu)較復(fù)雜,我們對其工作機(jī)制的理解不夠深入。可視化方法是打開神經(jīng)網(wǎng)絡(luò)“黑盒”的常用方法。當(dāng)前的可視化方法主要包含三類:一是對神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的特征進(jìn)行可視化[12-13];二是基于熱力圖[14]或顯著圖[15]的可視化方法;三是從特征變換、剖分等角度對網(wǎng)絡(luò)的分類過程進(jìn)行分析和可視化[16]。本文為了探究EGBNet 的工作機(jī)制,希望通過與其他網(wǎng)絡(luò)的對比,發(fā)現(xiàn)它們分類過程的差異。因此本文利用上述第三種可視化方法對EGB-Net 的分類過程進(jìn)行可視化和分析。我們通過將EGB-Net 與全連接神經(jīng)網(wǎng)絡(luò)(Multi-Layer Perceptron,簡稱MLP)和殘差網(wǎng)絡(luò)的對比,突出EGB-Net 的分類過程、特點(diǎn)和問題。由于EGB-Net 和ResNet 的網(wǎng)絡(luò)結(jié)構(gòu)有著更多的相似之處,我們利用啞節(jié)點(diǎn)對二者的自正則能力進(jìn)行了對比分析。之后,用可視化方法探索了學(xué)習(xí)率對EGB-Net 分類過程的影響。最后,通過實(shí)際分類任務(wù)上的實(shí)驗(yàn),對可視化內(nèi)容所得結(jié)論的正確性進(jìn)行了驗(yàn)證。
ResNet 是由殘差塊(殘差單元)構(gòu)建的,殘差塊的捷徑連接結(jié)構(gòu)相當(dāng)于包含一個(gè)天然的恒等映射,可以保留原始信息并減少網(wǎng)絡(luò)參數(shù)。圖1 給出了一個(gè)殘差塊示意圖,假設(shè)該殘差塊的輸入為xl,經(jīng)過殘差函數(shù)(weight:權(quán)重層,BN:歸一化層,ReLU:非線性激活函數(shù)層)變換后的值與輸入值相加(addition)并激活,作為下一個(gè)殘差塊的輸入xl+1。圖2(a)是簡化表示的擁有3 個(gè)殘差塊的ResNet 示意圖。
EGB-Net由多個(gè)學(xué)習(xí)器集合而成,每個(gè)學(xué)習(xí)器內(nèi)部可以是全連接網(wǎng)絡(luò)或殘差網(wǎng)絡(luò)等基本的網(wǎng)絡(luò)結(jié)構(gòu)。如圖2(b)表示的是由3個(gè)學(xué)習(xí)器組成的EGB-Net,每個(gè)學(xué)習(xí)器是一個(gè)殘差網(wǎng)絡(luò)。EGB-Net逐個(gè)疊加學(xué)習(xí)器,在訓(xùn)練新學(xué)習(xí)器時(shí),前面的學(xué)習(xí)器已經(jīng)訓(xùn)練完畢且凍結(jié)參數(shù),只對新加的學(xué)習(xí)器的參數(shù)進(jìn)行更新,參數(shù)更新方法可以是梯度下降法。EGB-Net的學(xué)習(xí)器和ResNet的殘差塊都基于前面的學(xué)習(xí)器或殘差塊繼續(xù)學(xué)習(xí),以提高網(wǎng)絡(luò)在訓(xùn)練集上的表現(xiàn)。二者主要的區(qū)別在于,EGB-Net的學(xué)習(xí)器是逐個(gè)疊加的,每次通過訓(xùn)練新的學(xué)習(xí)器來優(yōu)化目前的網(wǎng)絡(luò),而ResNet 中所有的殘差塊是一起訓(xùn)練的。
由于EGB-Net 作為集成模型參數(shù)較多,容易產(chǎn)生過擬合問題。給EGB-Net中的每個(gè)學(xué)習(xí)器施加一個(gè)相同的學(xué)習(xí)率會(huì)降低單一學(xué)習(xí)器的主導(dǎo)地位,從而減小網(wǎng)絡(luò)過擬合[9]。和神經(jīng)網(wǎng)絡(luò)中用來控制參數(shù)更新速度的學(xué)習(xí)率不同,這里的學(xué)習(xí)率指當(dāng)前面的學(xué)習(xí)器訓(xùn)練完成后,在訓(xùn)練后一個(gè)學(xué)習(xí)器時(shí),將前面學(xué)習(xí)器的輸出結(jié)果(如softmax 之前的結(jié)果)乘以一個(gè)小于1的常數(shù)。這樣可以強(qiáng)行減小前面的學(xué)習(xí)器將訓(xùn)練樣本歸為某個(gè)類別的概率值,從而讓后一個(gè)學(xué)習(xí)器可以“學(xué)到更多東西”。當(dāng)學(xué)習(xí)率等于1時(shí),即將學(xué)習(xí)器的輸出結(jié)果乘以1,相當(dāng)于不施加學(xué)習(xí)率。學(xué)習(xí)率v和學(xué)習(xí)器的數(shù)量M共同決定了模型的性能[9]。當(dāng)學(xué)習(xí)率v存在的情況下,EGB-Net的算法如表1所示。
表1 端到端的梯度提升算法Tab.1 End-to-end gradient boosting algorithm
對于某個(gè)分類任務(wù),有時(shí)我們只能得到相對較弱的網(wǎng)絡(luò)作為集成模型的基學(xué)習(xí)器。為探究此時(shí)EGB-Net 的分類效果,我們生成含有1000 個(gè)樣本點(diǎn)的“同心圓”模擬數(shù)據(jù),如圖3。隨機(jī)劃分500 個(gè)作為訓(xùn)練集,另外500 個(gè)作為測試集。該數(shù)據(jù)分為兩個(gè)類別,其中橙色點(diǎn)為類別0,藍(lán)色點(diǎn)為類別1。我們使用由5 個(gè)弱學(xué)習(xí)器集成的EGB-Net 對該數(shù)據(jù)進(jìn)行訓(xùn)練,每個(gè)弱學(xué)習(xí)器的隱層只有1 個(gè)節(jié)點(diǎn)。我們以兩個(gè)MLP 網(wǎng)絡(luò)作為參照,每個(gè)MLP 擁有5 個(gè)隱層,其中MLP1 的隱層只有1 個(gè)節(jié)點(diǎn),MLP2 的隱層有2 個(gè)節(jié)點(diǎn)。MLP1 擁有與EGB-Net 差不多的參數(shù)量,MLP2 的參數(shù)量約是EGB-Net 的2 倍。EGB-Net和2 個(gè)MLP 的激活函數(shù)均為ReLU 函數(shù),且其他參數(shù)設(shè)置相同。我們將充分訓(xùn)練后的三個(gè)網(wǎng)絡(luò)對原始特征空間的剖分情況進(jìn)行可視化,如圖4所示。
從圖中可以看出,EGB-Net 最后可以將兩類數(shù)據(jù)分好,而與其參數(shù)量差不多的MLP1 和參數(shù)量更多的MLP2 都不能將數(shù)據(jù)分好。為了看出EGB-Net將數(shù)據(jù)劃分的過程,進(jìn)而分析其相對于MLP 的優(yōu)勢,我們將每疊加一個(gè)學(xué)習(xí)器后EGB-Net 對原始特征空間的剖分情況進(jìn)行可視化,如圖5所示。
可以看到,隨著學(xué)習(xí)器的疊加,網(wǎng)絡(luò)對兩類數(shù)據(jù)的可分情況逐漸變好。后面的學(xué)習(xí)器在前面的基礎(chǔ)上繼續(xù)對特征空間進(jìn)行剖分,且主要針對前面沒有分好的部分,逐步提高網(wǎng)絡(luò)對數(shù)據(jù)的擬合能力。對于MLP 等整體進(jìn)行訓(xùn)練的網(wǎng)絡(luò),其網(wǎng)絡(luò)中的參數(shù)是互相影響的,沒有使各個(gè)部分相對獨(dú)立的機(jī)制,難以將復(fù)雜任務(wù)分解成多個(gè)更簡單的任務(wù)。在此實(shí)驗(yàn)中,雖然MLP1 擁有5 個(gè)隱層,但由于隱層只含有1 個(gè)節(jié)點(diǎn),不能將特征空間變換到更高的維度進(jìn)行剖分,最終只劃出一條線,明顯不能將數(shù)據(jù)分好。同樣對于隱層含有2個(gè)節(jié)點(diǎn)的MLP2,只能對特征空間進(jìn)行2 維的變換,最終也不能將數(shù)據(jù)分好。而EGB-Net 的每個(gè)學(xué)習(xí)器雖然只有1 個(gè)隱節(jié)點(diǎn),但是后面的學(xué)習(xí)器可以基于前面學(xué)習(xí)器的劃分結(jié)果繼續(xù)對特征空間進(jìn)行劃分,因此最后可以完成分類。EGB-Net的分類機(jī)制可以將復(fù)雜的任務(wù)分解為多個(gè)子任務(wù),這種分階段的訓(xùn)練方式在面對一些分類任務(wù)時(shí),往往有其優(yōu)勢。
為進(jìn)一步探究EGB-Net 分類過程的特點(diǎn),我們生成含有1000個(gè)樣本點(diǎn)的“螺旋線”模擬數(shù)據(jù),其分類難度比“同心圓”數(shù)據(jù)較大,如圖6。同樣隨機(jī)劃分500 個(gè)作為訓(xùn)練集,另外500 個(gè)作為測試集。我們使用由10 個(gè)較強(qiáng)學(xué)習(xí)器組成的EGB-Net 對該數(shù)據(jù)進(jìn)行訓(xùn)練,每個(gè)學(xué)習(xí)器有1個(gè)殘差塊,每個(gè)殘差塊有2 個(gè)隱層,每個(gè)隱層有10 個(gè)節(jié)點(diǎn)。我們以ResNet作為參照,設(shè)置ResNet 擁有10 個(gè)殘差塊,每個(gè)殘差塊有2 個(gè)隱層,每個(gè)隱層同樣有10 個(gè)節(jié)點(diǎn)。兩個(gè)網(wǎng)絡(luò)的激活函數(shù)均設(shè)置為ReLU 函數(shù),且其他參數(shù)設(shè)置相同。兩個(gè)網(wǎng)絡(luò)均得到充分的訓(xùn)練。
網(wǎng)絡(luò)訓(xùn)練完成后,我們將這1000個(gè)樣本點(diǎn)重新輸入到訓(xùn)練好的網(wǎng)絡(luò)中。對于EGB-Net,我們將每疊加1 個(gè)學(xué)習(xí)器后樣本點(diǎn)的狀態(tài)進(jìn)行可視化,如圖7(a)所示。可以觀察在經(jīng)過第1 個(gè)、前2 個(gè)、前3 個(gè)、......、前10 個(gè)學(xué)習(xí)器的特征變換后,兩類樣本線性可分的程度;對于ResNet,我們將每疊加1個(gè)殘差塊后樣本點(diǎn)的狀態(tài)進(jìn)行可視化,如圖7(b)所示??梢杂^察在經(jīng)過第1 個(gè)、前2 個(gè)、前3 個(gè)、……、前10個(gè)殘差塊的特征變換后,兩類樣本線性可分的程度。由于EGB-Net 和ResNet 整體上都擁有10 個(gè)相同結(jié)構(gòu)的殘差塊,這樣的可視化方式可以較公平地比較二者分類過程的差異。
從可視化結(jié)果可以看出,對于EGB-Net,螺旋線數(shù)據(jù)在經(jīng)過第一個(gè)學(xué)習(xí)器的特征變換后,其形態(tài)就已經(jīng)發(fā)生了很大的變化,當(dāng)疊加到3 個(gè)學(xué)習(xí)器時(shí)基本上達(dá)到了線性可分的狀態(tài),此時(shí)再疊加更多的學(xué)習(xí)器,數(shù)據(jù)的形態(tài)也不再發(fā)生明顯改變。對于ResNet,螺旋線數(shù)據(jù)在經(jīng)過前幾個(gè)殘差塊的特征變換后,其形態(tài)變化并不顯著,到第6個(gè)殘差塊還可以大致看出螺旋線的形狀。實(shí)驗(yàn)和觀察結(jié)果表明:EGB-Net 中的每個(gè)學(xué)習(xí)器,有著“努力”把數(shù)據(jù)分好的傾向。當(dāng)學(xué)習(xí)器較強(qiáng)時(shí),前面的學(xué)習(xí)器對分類任務(wù)所做的貢獻(xiàn)更大,后面的學(xué)習(xí)器主要對前面沒有分好的細(xì)微部分進(jìn)行調(diào)整。而ResNet 中前面的殘差塊并沒有“努力”把數(shù)據(jù)分好的傾向,而是把更多的分類任務(wù)留給了后面,后面的殘差塊對分類任務(wù)所做的貢獻(xiàn)更大。
由于EGB-Net中的每個(gè)學(xué)習(xí)器會(huì)“努力”進(jìn)行分類,每疊加一個(gè)學(xué)習(xí)器后,當(dāng)前的網(wǎng)絡(luò)都會(huì)“努力”擬合訓(xùn)練數(shù)據(jù),因此網(wǎng)絡(luò)容易出現(xiàn)過擬合。相比之下,ResNet 中的殘差塊并沒有都在“努力”進(jìn)行分類,這會(huì)使網(wǎng)絡(luò)不那么容易過擬合,然而也使得殘差塊可能存在著冗余。
上述兩個(gè)網(wǎng)絡(luò)隱層使用的非線性激活函數(shù)為ReLU 函數(shù)。隱層節(jié)點(diǎn)在進(jìn)行激活時(shí),若特征空間中的所有特征點(diǎn)在輸入ReLU 函數(shù)時(shí)均小于0,此時(shí)該隱層節(jié)點(diǎn)對特征空間中的所有特征點(diǎn)均不激活,則稱該節(jié)點(diǎn)為真啞節(jié)點(diǎn)。若特征空間中的所有特征點(diǎn)在輸入ReLU 函數(shù)時(shí)均不小于0,此時(shí)該隱層節(jié)點(diǎn)對特征空間中的所有特征點(diǎn)均激活,則稱該節(jié)點(diǎn)為偽啞節(jié)點(diǎn)[16]。真啞節(jié)點(diǎn)與偽啞節(jié)點(diǎn)均不對特征空間進(jìn)行剖分,這類節(jié)點(diǎn)統(tǒng)稱為啞節(jié)點(diǎn),將出現(xiàn)啞節(jié)點(diǎn)的情況稱為自正則[18]。啞節(jié)點(diǎn)的數(shù)量代表了網(wǎng)絡(luò)自正則能力的大小。
為進(jìn)一步了解EGB-Net和ResNet分類時(shí)網(wǎng)絡(luò)工作機(jī)制的差異,我們對這兩種網(wǎng)絡(luò)分別進(jìn)行1000次實(shí)驗(yàn)以統(tǒng)計(jì)其啞節(jié)點(diǎn)數(shù)量。實(shí)驗(yàn)用到的EGB-Net、ResNet以及螺旋線數(shù)據(jù)均與本文3.2中使用的相同。經(jīng)過訓(xùn)練,EGB-Net 和ResNet 在1000 次實(shí)驗(yàn)中的平均訓(xùn)練精度均達(dá)到99%以上,平均測試精度均達(dá)到95%以上。網(wǎng)絡(luò)訓(xùn)練完成后統(tǒng)計(jì)它們的啞節(jié)點(diǎn)數(shù)量,如圖8 所示。圖中展示的是1000 次訓(xùn)練中,每次訓(xùn)練結(jié)束后兩個(gè)網(wǎng)絡(luò)各自的啞節(jié)點(diǎn)數(shù)量(橫軸)與出現(xiàn)頻數(shù)的關(guān)系(縱軸)。
圖中EGB-Net 啞節(jié)點(diǎn)數(shù)量的區(qū)間為[1,16],出現(xiàn)頻數(shù)最多的啞節(jié)點(diǎn)數(shù)量為8 個(gè),出現(xiàn)了138 次。ResNet 啞節(jié)點(diǎn)數(shù)量的區(qū)間為[2,43],出現(xiàn)頻數(shù)最多的啞節(jié)點(diǎn)數(shù)量為11個(gè),出現(xiàn)了119次;經(jīng)統(tǒng)計(jì),EGBNet 的平均啞節(jié)點(diǎn)數(shù)量為7.59 個(gè),ResNet 的平均啞節(jié)點(diǎn)數(shù)量為11.22 個(gè)。結(jié)果表明,當(dāng)EGB-Net 和ResNet 網(wǎng)絡(luò)內(nèi)部殘差塊的數(shù)量和結(jié)構(gòu)相同時(shí),訓(xùn)練后的EGB-Net 往往比ResNet 擁有較少數(shù)量的啞節(jié)點(diǎn),所以其自正則能力相對較弱。由于EGB-Net 有更多的節(jié)點(diǎn)對特征空間進(jìn)行了剖分,網(wǎng)絡(luò)對訓(xùn)練數(shù)據(jù)做了更細(xì)致的擬合,因此更容易出現(xiàn)過擬合。
前面提到在EGB-Net中,后面的學(xué)習(xí)器在很大程度上依賴前面學(xué)習(xí)器的分類結(jié)果,并對前面學(xué)習(xí)器的分類結(jié)果進(jìn)行調(diào)整。若學(xué)習(xí)器較強(qiáng),前面的學(xué)習(xí)器對分類結(jié)果影響較大,后面的學(xué)習(xí)器在調(diào)整前面學(xué)習(xí)器的分類結(jié)果時(shí)會(huì)比較困難,此時(shí)更容易出現(xiàn)過擬合。在EGB-Net中加入學(xué)習(xí)率可以在一定程度上緩解過擬合。為探究學(xué)習(xí)率對EGB-Net分類過程的影響,我們使用3.2中用到的螺旋線模擬數(shù)據(jù),并生成兩個(gè)除學(xué)習(xí)率外,其他網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)均相同的EGB-Net。每個(gè)EGB-Net由5個(gè)更強(qiáng)的學(xué)習(xí)器組成,每個(gè)學(xué)習(xí)器有3個(gè)殘差塊,每個(gè)殘差塊2個(gè)隱層,隱層有10個(gè)節(jié)點(diǎn)。其中一個(gè)EGB-Net的學(xué)習(xí)率為1(即不設(shè)置學(xué)習(xí)率),另一個(gè)EGB-Net的學(xué)習(xí)率為0.1。
通過繪制訓(xùn)練曲線可以觀察每疊加一個(gè)學(xué)習(xí)器后兩個(gè)網(wǎng)絡(luò)的表現(xiàn),圖9 展示了當(dāng)上述兩個(gè)網(wǎng)絡(luò)疊加到1 個(gè)、3 個(gè)和5 個(gè)學(xué)習(xí)器時(shí),它們在訓(xùn)練集和測試集上各自的精度和損失,其中每列從上到下為n個(gè)學(xué)習(xí)器時(shí)的訓(xùn)練曲線,n=1,3,5。這里我們只對兩網(wǎng)絡(luò)分類過程的差異進(jìn)行討論,暫不討論二者在測試集上的表現(xiàn)。
從訓(xùn)練曲線可以看到,第1 個(gè)學(xué)習(xí)器就可以使訓(xùn)練精度較高,訓(xùn)練損失接近于0,此時(shí)已基本可以將兩類數(shù)據(jù)分開。當(dāng)學(xué)習(xí)率為1,疊加到第3 個(gè)學(xué)習(xí)器時(shí)訓(xùn)練曲線接近于一條直線,此時(shí)后面的學(xué)習(xí)器對分類的影響很?。划?dāng)學(xué)習(xí)率為0.1,疊加到第3 個(gè)學(xué)習(xí)器時(shí)訓(xùn)練曲線不再是一條直線,說明此時(shí)后面的學(xué)習(xí)器可以對分類結(jié)果產(chǎn)生更大的影響。
為進(jìn)一步探究學(xué)習(xí)率對EGB-Net分類過程的影響,我們使用前面的可視化方法,將每疊加一個(gè)學(xué)習(xí)器,學(xué)習(xí)率為1和學(xué)習(xí)率為0.1的EGB-Net把樣本點(diǎn)特征變換后的形態(tài),和對原始特征空間的剖分情況進(jìn)行可視化,如圖10所示。圖中按從左到右的順序,第1 列和第3 列分別是學(xué)習(xí)率為1 時(shí),每疊加一個(gè)學(xué)習(xí)器,網(wǎng)絡(luò)對樣本點(diǎn)特征變換的結(jié)果和對原始特征空間剖分的結(jié)果;第2 列和第4 列分別是學(xué)習(xí)率為0.1時(shí),每疊加一個(gè)學(xué)習(xí)器,網(wǎng)絡(luò)對樣本點(diǎn)特征變換的結(jié)果和對原始特征空間剖分的結(jié)果。
從圖中可以看出,隨著學(xué)習(xí)器的疊加,沒有設(shè)置學(xué)習(xí)率的EGB-Net樣本點(diǎn)的形態(tài)變化并不顯著,且對原始特征空間的剖分變化不大。設(shè)置了0.1的學(xué)習(xí)率之后,樣本點(diǎn)的形態(tài)變化更顯著,且對原始特征空間的剖分變化更大。這表明學(xué)習(xí)率的加入,使得后面的學(xué)習(xí)器對前面學(xué)習(xí)器的分類結(jié)果進(jìn)行了更多的調(diào)整。若不設(shè)置學(xué)習(xí)率,對于前面錯(cuò)分的部分,后面的學(xué)習(xí)器需要預(yù)測出更大的正確類別的概率值才能將錯(cuò)分部分糾正,此時(shí)后面的學(xué)習(xí)器調(diào)整起來更加困難。學(xué)習(xí)率的大小很大程度上決定了后面的學(xué)習(xí)器對分類結(jié)果的調(diào)整能力,當(dāng)EGB-Net中的學(xué)習(xí)器較強(qiáng)時(shí),往往需要設(shè)置較小的學(xué)習(xí)率。
對于可視化得到的關(guān)于EGB-Net分類過程的結(jié)論和發(fā)現(xiàn),我們通過如下實(shí)驗(yàn)對其正確性進(jìn)行驗(yàn)證。應(yīng)用深度神經(jīng)網(wǎng)絡(luò)從遙感影像上提取感興趣的地物目標(biāo),是近年來相關(guān)研究的熱點(diǎn)。建筑物作為主要的人造地物,地震等自然災(zāi)害對其的破壞經(jīng)常會(huì)造成生命和財(cái)產(chǎn)的損失。從遙感影像上提取建筑的分布情況,可以為災(zāi)損評估提供重要信息。基于此背景,我們以2010 年青海省玉樹地震發(fā)生前的玉樹縣城區(qū)(結(jié)古鎮(zhèn))高分辨率遙感影像為實(shí)驗(yàn)數(shù)據(jù),如圖11。該影像來源于美國Quickbird衛(wèi)星。我們將影像裁剪為64 個(gè)2048×2048 個(gè)像元大小的影像塊,隨機(jī)劃分32個(gè)為訓(xùn)練集,另外32個(gè)為測試集。
我們使用以U-NASNetMobile[9]為基學(xué)習(xí)器的GeoBoost模型[9]進(jìn)行實(shí)驗(yàn),它是一個(gè)端到端的梯度提升網(wǎng)絡(luò)模型。其第一個(gè)學(xué)習(xí)器已經(jīng)使用建筑減災(zāi)和應(yīng)急管理數(shù)據(jù)集(DREAM-B)[9]訓(xùn)練完畢,用于玉樹遙感影像中建筑物的初步識(shí)別。我們首先使用只有這一個(gè)學(xué)習(xí)器的GeoBoost 模型在測試集上進(jìn)行預(yù)測,然后使用上述訓(xùn)練數(shù)據(jù)依次訓(xùn)練第2個(gè)和第3個(gè)學(xué)習(xí)器,并疊加到原模型中。為了驗(yàn)證學(xué)習(xí)率的作用,我們設(shè)置對照實(shí)驗(yàn),其中一個(gè)模型在訓(xùn)練新的學(xué)習(xí)器時(shí)均不設(shè)置學(xué)習(xí)率(即學(xué)習(xí)率等于1),另一個(gè)模型在訓(xùn)練新的學(xué)習(xí)器時(shí)均設(shè)置學(xué)習(xí)率為0.1。除學(xué)習(xí)率外,二者的其他參數(shù)設(shè)置相同。
我們使用精度度量指標(biāo)IoU(Intersection over Union:重疊度)評估模型的訓(xùn)練精度和測試精度。IoU 被定義為:
其中Prediction 為預(yù)測結(jié)果,GroundTruth 為真值標(biāo)簽。此外,也提供另一種精度度量指標(biāo)OA(Overall Accuracy:總體精度)用于參考。有無學(xué)習(xí)率的GeoBoost 模型在訓(xùn)練第2 個(gè)和第3 個(gè)學(xué)習(xí)器時(shí),訓(xùn)練集和測試集上的IoU 如圖12 所示;三個(gè)階段的模型在測試集上的IoU 和OA 值如表2所示。
表2 模型在不同階段的測試精度Tab.2 Test accuracy of the model at different stages
從IoU 曲線可以看出,第3 個(gè)學(xué)習(xí)器在前面的基礎(chǔ)上繼續(xù)提高了模型的訓(xùn)練集和測試集精度,且訓(xùn)練第3 個(gè)學(xué)習(xí)器時(shí)模型收斂更快。這說明第2 個(gè)學(xué)習(xí)器難以利用新數(shù)據(jù)充分調(diào)整第1個(gè)學(xué)習(xí)器的分類結(jié)果,所以需要更多的學(xué)習(xí)器。EGB-Net 這種分階段的訓(xùn)練方式相當(dāng)于把復(fù)雜的任務(wù)分解,交給多個(gè)學(xué)習(xí)器逐步完成。
結(jié)合訓(xùn)練曲線和表格可以看到,學(xué)習(xí)率為0.1的模型在測試集上的精度明顯高于不設(shè)置學(xué)習(xí)率的模型精度,說明學(xué)習(xí)率可以提高基于EGB-Net 的模型的泛化能力。值得一提的是第2 個(gè)和第3 個(gè)學(xué)習(xí)器使用了上述訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練,所以擁有2 個(gè)和3 個(gè)學(xué)習(xí)器的模型相比原模型總體上使用了更多的訓(xùn)練數(shù)據(jù),因此其在指標(biāo)上的提升是可以預(yù)期的,這也體現(xiàn)了基于EGB-Net的模型的特點(diǎn),即可以在不同階段利用新數(shù)據(jù)訓(xùn)練新的學(xué)習(xí)器,對原始模型進(jìn)行調(diào)整,從而有可能提高模型的泛化能力。
圖13 顯示了當(dāng)學(xué)習(xí)率為1 時(shí),不同階段的模型在測試集上的一些語義分割結(jié)果。圖14 顯示了當(dāng)學(xué)習(xí)率為1 時(shí),擁有3 個(gè)學(xué)習(xí)器的模型;以及當(dāng)學(xué)習(xí)率為0.1時(shí),擁有2個(gè)和3個(gè)學(xué)習(xí)器的模型在測試集上的一些語義分割結(jié)果,其中l(wèi)r 表示學(xué)習(xí)率。圖中的每一行為同一地點(diǎn),最左列的紅色標(biāo)記是建筑物的真值標(biāo)簽,右邊三列的綠色標(biāo)記是模型的預(yù)測結(jié)果,黃色圓圈指示了其中值得關(guān)注的部分。
對比圖13 可以看出,只有1 個(gè)學(xué)習(xí)器的原模型,其預(yù)測結(jié)果有更多的粘連和錯(cuò)誤分類的部分,第2 個(gè)學(xué)習(xí)器在一定程度上對此進(jìn)行了調(diào)整,但不可避免的存在調(diào)整錯(cuò)誤的情況,擁有3 個(gè)學(xué)習(xí)器的模型給出了更好的預(yù)測結(jié)果。對比圖14可以看出,當(dāng)學(xué)習(xí)率為0.1 時(shí),擁有3 個(gè)學(xué)習(xí)器的模型同樣給出了更好的預(yù)測結(jié)果,相比之下不設(shè)置學(xué)習(xí)率的模型預(yù)測結(jié)果要明顯差一些。需要注意的是這些可視化結(jié)果僅僅作為參考,不同階段模型產(chǎn)生的微小差異也有可能是由訓(xùn)練過程的隨機(jī)性和權(quán)值隨機(jī)初始化導(dǎo)致的,前面的定量分析結(jié)果更為可靠。
本節(jié)用定量和定性的方法分析了基于EGB-Net的GeoBoost 模型在實(shí)際分類任務(wù)上的特點(diǎn),實(shí)驗(yàn)結(jié)果驗(yàn)證了本文第3節(jié)通過可視化得到的相關(guān)結(jié)論。
本文利用特征變換和特征空間剖分兩種可視化方法,對EGB-Net 的分類過程、優(yōu)點(diǎn)、問題等方面進(jìn)行了探索,有以下發(fā)現(xiàn)和結(jié)論:EGB-Net可以逐步完成分類任務(wù),當(dāng)一個(gè)分類任務(wù)較復(fù)雜而單個(gè)網(wǎng)絡(luò)難以完成時(shí),這種分階段的訓(xùn)練方式往往可以發(fā)揮其優(yōu)勢。由于EGB-Net的每個(gè)學(xué)習(xí)器都會(huì)“努力”去進(jìn)行分類,使得網(wǎng)絡(luò)中啞節(jié)點(diǎn)的數(shù)量較少,其自正則能力相對較弱,因此網(wǎng)絡(luò)容易出現(xiàn)過擬合問題。通過對設(shè)置了學(xué)習(xí)率的EGB-Net分類過程進(jìn)行可視化,可以直觀地看出學(xué)習(xí)率對其分類過程的影響。學(xué)習(xí)率增加了后面的學(xué)習(xí)器對分類結(jié)果的調(diào)節(jié)能力,從而平衡了各個(gè)學(xué)習(xí)器對分類結(jié)果的影響程度。最后通過實(shí)際分類任務(wù)上的實(shí)驗(yàn)對可視化的內(nèi)容從結(jié)果層面進(jìn)行了驗(yàn)證,而可視化內(nèi)容有助于解釋我們看到的實(shí)驗(yàn)結(jié)果。
文中將學(xué)習(xí)率設(shè)置為0.1來說明其作用,這不一定是其最佳的學(xué)習(xí)率,也是本文研究的不足之處。如何為EGB-Net找到適合的學(xué)習(xí)率是值得進(jìn)一步研究的內(nèi)容。在與EGB-Net 對比的過程中,我們發(fā)現(xiàn)ResNet 中的殘差塊沒有都在“努力”進(jìn)行分類,殘差塊可能存在冗余,如何在保證網(wǎng)絡(luò)性能的前提下,減少殘差塊數(shù)量以精簡網(wǎng)絡(luò)是另一個(gè)值得探討的內(nèi)容。