梁瑞婷,孫玉軍,李蕓
(北京林業(yè)大學(xué)森林資源和環(huán)境管理國家林業(yè)和草原局重點開放性實驗室,北京 100083)
樹高是估測森林生長與收獲、預(yù)測地位指數(shù)和研究森林垂直結(jié)構(gòu)的重要特征因子之一[1]。胸徑和樹高之間有很強的相關(guān)性,而胸徑簡單易測且測量準確,所以建立樹高-胸徑模型,利用胸徑預(yù)測樹高方便且實用[2]。樹高生長還受到立地條件和林分年齡等多種因素的影響[3],研究表明加入林分斷面積、立地指數(shù)、林分平均高或林分年齡等林分特征因子,建立的廣義胸徑-樹高模型能夠用于不同林分的樹高預(yù)測[4-5]。過去的研究多是依據(jù)前人經(jīng)驗選擇若干個不同形式的基礎(chǔ)模型,然后通過非線性回歸擬合求參,選出精度最高的模型用于研究區(qū)樹高的預(yù)測[6]。但是,研究者需要嘗試各種模型形式,經(jīng)過大量的分析比較才能得到精度較高的模型,耗時且低效[7]。而且不同的研究者選擇基礎(chǔ)模型的數(shù)量和種類有所不同,會導(dǎo)致研究結(jié)果產(chǎn)生較大差異[8]。另一種應(yīng)用廣泛的基于非線性混合效應(yīng)建立樹高-胸徑模型,該類模型具有良好的預(yù)測能力[9],但是由于隨機參數(shù)的引入,使模型結(jié)構(gòu)變得更加復(fù)雜,增加了建模難度,會出現(xiàn)模型難以收斂的情況[10]。此外,傳統(tǒng)的建模方法都受到統(tǒng)計學(xué)假設(shè)的局限,如:胸徑-樹高數(shù)據(jù)通常是來自同一林分的多個樣地,或者是相同樣地的連續(xù)測量,導(dǎo)致數(shù)據(jù)結(jié)構(gòu)違背了獨立分布的假設(shè)條件[11]。
隨著計算機技術(shù)的發(fā)展與更新,人工智能為模型構(gòu)建提供了先進的思路和手段,能夠在一定程度上克服上述問題。人工神經(jīng)網(wǎng)絡(luò)是人工智能的一個分支,它對數(shù)據(jù)分布沒有假設(shè)要求,能很好地處理非線性、非高斯分布和包含噪聲的低質(zhì)量數(shù)據(jù)[12],而且建模前不需要明確模型具體形式,非常適宜處理復(fù)雜的多變量、非線性問題,已經(jīng)在預(yù)測林木胸徑、材積和林分蓄積、生物量[12-14]方面有所研究。特別是BP-ANN,應(yīng)用更為廣泛,卯光憲用以建立馬尾松樹高-胸徑模型[8],劉鑫用以建立云冷杉混交林中不同樹種的樹高-胸徑模型[7],均表明ANN 模型的精度高于傳統(tǒng)模型,具有泛化能力強、高效低偏的優(yōu)點。
但是這些研究都是基于單層神經(jīng)網(wǎng)絡(luò),而樹高生長具有連續(xù)性和相關(guān)性,樹高-胸徑的關(guān)系受到各種相關(guān)因素影響,單層的網(wǎng)絡(luò)結(jié)構(gòu)不足以模擬這種復(fù)雜的非線性結(jié)構(gòu)[15]。深度學(xué)習(xí)(DLA)模型是人工神經(jīng)網(wǎng)絡(luò)的一個分支,興起于2010 年,是近年來研究的熱點,DLA 模型包含3 層及以上的隱藏層和更多的神經(jīng)元,其復(fù)雜的結(jié)構(gòu)更接近人腦,具有自學(xué)習(xí)和自決策的能力,被認為是比單層神經(jīng)網(wǎng)絡(luò)更為合適的建模方法[15-16]。目前在語音、圖像識別、生物醫(yī)學(xué)和人工智能等領(lǐng)域開始有所應(yīng)用[17],在林業(yè)領(lǐng)域也有采用深度學(xué)習(xí)預(yù)測森林火災(zāi),或?qū)b感影像進行單木冠幅分割的研究[18-19]。迄今為止,國內(nèi)基于深度學(xué)習(xí)構(gòu)建森林模型、預(yù)測單木或林分參數(shù)的研究尚不多見,也未有基于深度學(xué)習(xí)建立樹高-胸徑模型的文獻。
本研究以福建省將樂國有林場的杉木為對象,基于H2O 平臺的深度學(xué)習(xí)算法,建立多個胸徑-樹高DLA 模型,探討深度學(xué)習(xí)在林業(yè)建模方面的可行性。同時基于傳統(tǒng)非線性回歸建立10 個廣義樹高-胸徑模型,篩選精度最高者作為對照。以期探索一種更高效低偏的樹高預(yù)測方法,同時確定最優(yōu)的樹高-胸徑DLA 模型形式,為研究區(qū)森林資源監(jiān)測和評價提供參考。
研究區(qū)位于福建省將樂國有林場(117°05′~117°40′ E,26°26′~27°04′ N),地處福建省西北部的三明市將樂縣。屬于亞熱帶季風(fēng)氣候,溫暖濕潤,四季分明。年平均溫度18.6 ℃,年平均降水1 721.6 mm。地形以中低山為主,海拔約為400~800 m,土層深厚,土壤肥沃。分布主要喬木有杉木(Cunninghamia lanceolata(Lamb.) Hook.)、毛竹(Phyllostachys heterocyclaCarr.)和馬尾松(Pinus massonianaLamb.)等。
在研究區(qū)內(nèi)選擇不同林齡的杉木人工林,共設(shè)置34 塊標(biāo)準地,進行每木檢尺,起測徑階為4 cm,測量樹高(H)和胸徑(D),并計算平均胸徑(Dg)。然后在每塊標(biāo)準地內(nèi)選取3~5 株優(yōu)勢木,以其平均胸徑和平均樹高分別作為優(yōu)勢樹高(Ht)和優(yōu)勢胸徑(Dt)。最后,剔除枯死木和缺失值,共得到2 989組杉木的胸徑-樹高數(shù)據(jù),選取其中的25 塊樣地(2 253組)作為建模數(shù)據(jù)集,剩余9 塊(645組)為檢驗數(shù)據(jù)集。統(tǒng)計因子見表1。
表1 建模數(shù)據(jù)和見證數(shù)據(jù)統(tǒng)計Table 1 Summary statistics of modeling set and validation set
根據(jù)以往研究,選擇10 個已經(jīng)被廣泛使用且精度較高的廣義樹高-胸徑模型[6,20-21],這些模型不僅能夠模擬樹高-胸徑間的關(guān)系,而且在生物學(xué)上具有可解釋性(表2)。采用R 4.00 軟件進行數(shù)據(jù)處理和傳統(tǒng)模型擬合。
表2 廣義樹高-胸徑模型表達式 Table 2 Expression of referenced generalized height-diameter models
深度學(xué)習(xí)通常的模型結(jié)構(gòu)為輸入層、多層隱藏層與輸出層,包含多層隱藏層和更多的神經(jīng)元個數(shù),能夠擬合更復(fù)雜模型和處理更高維特征的數(shù)據(jù)。自輸入層開始,一層一層地前饋訓(xùn)練,隱藏層的權(quán)重為雙向的,分別是向上的“認知”權(quán)重和向下的“生成”權(quán)重,通過一定的方法(例如通過正則化對權(quán)重進行懲罰)使誤差逐層傳輸,并不斷對網(wǎng)絡(luò)結(jié)構(gòu)進行調(diào)整,最大限度地讓認知和生成達成一致。每一個神經(jīng)元都是一個激活函數(shù),彼此通過權(quán)重連接。其大致的學(xué)習(xí)過程如圖1 表示,在圖中,每個節(jié)點表示一個計算過程及結(jié)果,父節(jié)點計算的結(jié)果通過權(quán)重鏈接傳遞給子節(jié)點處,再次進行計算……直到尋找到成本函數(shù)的最小值。
圖1 DLA 模型結(jié)構(gòu)Fig.1 Structure of DLA model
研究基于H2O 平臺構(gòu)建DLA 模型,H2O 是一個開源、可擴展的分析預(yù)測平臺,用于建立大數(shù)據(jù)模型,實現(xiàn)高精度預(yù)測。采用Python(Python 3.8)軟件的h2o.estimators.deeplearning 模塊構(gòu)建多層前饋神經(jīng)網(wǎng)絡(luò)模型。根據(jù)各變量的重要值排序結(jié)果(圖2)可以看出,優(yōu)勢胸徑的重要值很小,所以不考慮該變量。模型的輸入變量為胸徑、優(yōu)勢樹高和林分平均胸徑,輸出變量為樹高。此外,DLA模型同其他AI 模型一樣,需要確定隱藏層數(shù)量、激活函數(shù)類型和神經(jīng)元個數(shù)等參數(shù)。通過前期比較分析,發(fā)現(xiàn)“Rectifier”作為傳遞函數(shù)的擬合結(jié)果優(yōu)于其他函數(shù),所以選擇“RectifierWithDropout”作為DLA 模型的激活函數(shù)。選擇均方根誤差(RMSE)作為梯度下降目標(biāo),H2O 在訓(xùn)練DLA模型過程中采用自學(xué)習(xí)率算法,所以為了避免過擬合,將迭代次數(shù)設(shè)置為1 000,訓(xùn)練誤差為0.001。
圖2 影響因子重要值Fig.2 Importance value graph of each factor
隱藏層數(shù)量和神經(jīng)元個數(shù)是訓(xùn)練模型最基本的參數(shù),決定了模型結(jié)構(gòu)。本研究參考Ercanl 的研究方法[29],為了確定神經(jīng)元個數(shù)范圍,首先將神經(jīng)元個數(shù)從100~500,步長設(shè)置為50,發(fā)現(xiàn)在200~400 之間,模型的結(jié)果表現(xiàn)較好,且各項指標(biāo)較穩(wěn)定。然后將每個隱藏層的神經(jīng)元個數(shù)設(shè)置為200~400 之間,間隔為20,同時采用H2OGridSearch包中的隨機搜索(“RandomDiscrete”)方法以提高收斂速度,當(dāng)模型結(jié)果的范圍縮小時,則結(jié)合H2OGridSearch 包中網(wǎng)格搜索的方式確定最優(yōu)模型結(jié)構(gòu)。同時為了減少誤差提高精度,采用K 折交叉驗證訓(xùn)練DLA 模型(nfold=5)。
通過深度學(xué)習(xí),計算出輸入因子的重要值和相對重要值比例,根據(jù)結(jié)果繪制圖2,可以直觀地看出各輸入因子的對樹高的重要程度。
采用調(diào)整后決定系數(shù)(R2),均方根誤差(RMSE),平均絕對誤差(MAE)和均方差(MSE)對模型的擬合精度和預(yù)測精度進行評價。R2越接近1,其余指標(biāo)越接近0,模型的精度越高。結(jié)合殘差圖和擬合圖評價,預(yù)測值越接近觀測值,殘差范圍越小,分布越集中在Y=0 兩側(cè),模型越好。
傳統(tǒng)模型的擬合統(tǒng)計結(jié)果如表3,包括各模型的參數(shù)估計值、調(diào)整后決定系數(shù)(R2)、均方根誤差(RMSE)和平均誤差(MAE)??梢钥闯觯瑓?shù)的估計結(jié)果大多具有可靠性(p<0.001),這10 個備選的基礎(chǔ)模型的R2都在0.7 以上,能夠反映樹高-胸徑間的關(guān)系。不同模型對杉木胸徑-樹高關(guān)系的擬合精度不同,精度較低的3 個模型分別是M5、M7 和M10,其R2約為0.72,剩余模型的R2均在0.80 以上。M6 模型的精度明顯高于其他模型,是對杉木樹高-胸徑關(guān)系擬合效果最好的模型,其R2最大,為0.84,RMSE和MAE分別是2.142和1.678,小于其他模型。所以選擇M6 作為DLA模型的對照。
表3 模型參數(shù)估計及統(tǒng)計檢驗 Table 3 Parameter estimations and goodness-of-fit statistics of models
從70 個DLA 模型中,根據(jù)隱藏層的不同數(shù)量,選擇擬合精度最優(yōu)(R2最大,而RMSE、MAE、MSE最小)的模型列于表4??梢钥闯觯碇兴蠨LA 模型的R2均在0.85 及以上,大于最優(yōu)的傳統(tǒng)模型,RMSE和MAE分別在2.1 和1.6 左右,均小于傳統(tǒng)模型。說明DLA 模型的擬合結(jié)果優(yōu)于廣義胸徑-樹高模型。其中,隱藏層數(shù)量為3 和6,神經(jīng)元個數(shù)分別為300 和340 的DLA 模型精度高于其他結(jié)構(gòu),R2能達到0.85,RMSE和MAE也較其他模型更小。如果只考慮模型的精度,那么最優(yōu)模型的結(jié)構(gòu)為6 個隱藏層,每個隱藏層有340 個神經(jīng)元。如果同時考慮建模效率,即考慮模型的收斂時間,那么最優(yōu)模型的結(jié)構(gòu)為3 個隱藏層,每個隱藏層有300 個神經(jīng)元。
表4 不同隱藏層的最優(yōu)DLA 模型統(tǒng)計Table 4 Performance of best DLA models with different hidden layers
DLA 模型也是類似“黑箱”結(jié)構(gòu),缺乏可解釋性。為了進一步分析DLA 模型,比較傳統(tǒng)模型和DLA 模型的擬合精度,繪制圖3,該圖展示了觀測值和預(yù)測值的分布關(guān)系,也展示了優(yōu)勢高、胸徑對單木樹高的影響。可以看出,預(yù)測值均勻分布在真實值之間,說明模型能較準確地模擬杉木的樹高、胸徑和優(yōu)勢高之間的關(guān)系。當(dāng)胸徑一定時,樹高隨著林分優(yōu)勢高的增加而增加,當(dāng)優(yōu)勢高一定時,樹高隨著胸徑的增加而增加,說明DLA 模型符合樹高生長的生物學(xué)規(guī)律。比較兩個模型的擬合結(jié)果,可以看出,對于較高的林木,DLA 模型比傳統(tǒng)模型的擬合效果更好。
圖3 最優(yōu)傳統(tǒng)模型與最優(yōu)DLA 模型的擬合結(jié)果比較Fig.3 Comparition fitting results of best traditional model and best DLA model
分別選取最優(yōu)的傳統(tǒng)回歸模型和DLA 模型,采用未建模的數(shù)據(jù)進行獨立性檢驗,以確定DLA模型是否存在過擬合問題,同時比較兩種模型對杉木樹高的預(yù)測能力。由表5 可以看出,DLA 模型獨立性檢驗的R2為0.838,與訓(xùn)練集相差很小,RMSE和MAE值也與訓(xùn)練集相當(dāng),說明DLA 模型不存在過擬合的問題。而且,可以看出DLA 模型的預(yù)測精度高于傳統(tǒng)模型,R2大于傳統(tǒng)模型,RMSE和MAE也分別減小了9.62%和14.64%。圖4 描述了兩種模型預(yù)測值和對應(yīng)殘差的分布關(guān)系,由殘差圖可以看出,DLA 模型的殘差更為集中,尤其在樹高H>18 m 時,殘差大多在?3~5 m的范圍內(nèi),小于傳統(tǒng)回歸。說明DLA 模型預(yù)測精度高于傳統(tǒng)回歸模型,并且當(dāng)預(yù)測較高的林木時,這種優(yōu)勢愈明顯。
圖4 最優(yōu)傳統(tǒng)模型與最優(yōu)DLA 模型獨立性檢驗殘差Fig.4 The graphe of independence test residual based on best traditional model and best DLA model
表5 模型檢驗結(jié)果Table 5 Validation of models
本研究基于H20 數(shù)據(jù)分析平臺的深度學(xué)習(xí)算法,采用Python 軟件構(gòu)建杉木的胸徑-樹高DLA模型,這些平臺與軟件均是開源免費,容易獲得,成本低、實用性強。與傳統(tǒng)的建模方法相比,深度學(xué)習(xí)對數(shù)據(jù)分布結(jié)構(gòu)沒有要求,建模前不需要確定模型的具體形式,而且更易收斂,能最大限度地逼近現(xiàn)實關(guān)系[30]。Ercanli 等人構(gòu)建了80 個DLA 模型結(jié)構(gòu)預(yù)測杜克松的樹高,隱藏層數(shù)為3~10,每層神經(jīng)元個數(shù)是10~100,步長為10,發(fā)現(xiàn)每層100 個神經(jīng)元的結(jié)構(gòu)精度最高[29]。考慮到本研究的樣本量更大,神經(jīng)元個數(shù)從100 開始,同時為了防止過擬合,神經(jīng)元個數(shù)不能太大。還發(fā)現(xiàn)當(dāng)隱藏層為3~8 時,隨著神經(jīng)元個數(shù)的增加,模型的整體表現(xiàn)有所提升。而7、9、10 層的DLA 模型表現(xiàn)不如層數(shù)更少的,認為是由于層數(shù)太多,結(jié)構(gòu)過復(fù)雜而使相關(guān)參數(shù)值不能滿足。所以本研究的隱藏層數(shù)量設(shè)置為2~8 層,在建立DLA 模型過程中也發(fā)現(xiàn),隨著隱藏層數(shù)的增加,收斂速度變得越來越慢,且精度并沒有明顯提升,說明復(fù)雜的結(jié)構(gòu)不一定能使模型表現(xiàn)更好,應(yīng)該根據(jù)輸入變量結(jié)構(gòu)選擇合適的隱藏層數(shù)。
結(jié)果表明,不同結(jié)構(gòu)的DLA 模型均能較好地描述樹高與胸徑間的關(guān)系。無論在建模數(shù)據(jù)集還是檢驗數(shù)據(jù)集上,DLA 模型的R2均大于廣義樹高-胸徑模型,RMSE和MAE均小于廣義樹高-胸徑模型,說明DLA 模型的精度高于傳統(tǒng)回歸模型,與前人的研究結(jié)論一致。Ercanli 等人基于深度學(xué)習(xí)對土耳其西北部地區(qū)的杜克松建立了樹高-胸徑DLA 模型[30],Shen 等人采用以廣東地區(qū)的毛白楊為對象,建立包含多隱藏層的樹高-胸徑BP-ANN模型[15],都表明多隱藏層模型能更逼近胸徑-樹高的真實關(guān)系。盡管研究的樹種和地區(qū)都不相同,但都有類似結(jié)果,這說明多隱藏層的神經(jīng)網(wǎng)絡(luò)模型,也可能適用于其他地區(qū)、其他樹種的樹高預(yù)測。在訓(xùn)練DLA 模型時,與人工神經(jīng)網(wǎng)絡(luò)模型一樣,需要注意過擬合問題,本研究得到精度最高的DLA模型包含6 個隱藏層,每個隱藏層有340 個神經(jīng)元,如果同時考慮模型的收斂速度,則最優(yōu)的模型結(jié)構(gòu)為3 個隱藏層,每個隱藏層各有300 個神經(jīng)元,其獨立性檢驗結(jié)果與訓(xùn)練結(jié)果相差不大,說明沒有出現(xiàn)過擬合。該模型還可以用于預(yù)測其他單木參數(shù)(冠幅、材積、生長量)或林分特征(斷面積、蓄積、碳儲量)。
本研究證明深度學(xué)習(xí)算法預(yù)測杉木樹高的適用性,能夠作為傳統(tǒng)回歸的補充,盡管目前深度學(xué)習(xí)模型還存在可解釋差、技術(shù)門檻高,但隨著計算機技術(shù)和人工智能的飛速發(fā)展,相信這些問題很快能得到解決,深度學(xué)習(xí)在林業(yè)領(lǐng)域的應(yīng)用前景值得期待。當(dāng)模型只需考慮精度,或數(shù)據(jù)分布不滿足統(tǒng)計學(xué)假設(shè)時,可以采用深度學(xué)習(xí)算法,代替?zhèn)鹘y(tǒng)統(tǒng)計學(xué)方法。但是深度學(xué)習(xí)與其他人工智能算法一樣,存在“黑箱”問題,由于不能明確表達內(nèi)部結(jié)構(gòu),所以缺少可解釋性[17],這也是由于對這一技術(shù)的不熟悉,應(yīng)該投入研究挖掘建模的原理,以便被更廣泛地理解和應(yīng)用。本次研究中,只有胸徑、林分優(yōu)勢高、林分優(yōu)勢胸徑和林分平均高4 個輸入變量,而樹高生長還會受到更多因素的影響,如氣象因子(年均溫、年降水量)和其他林分因子(年齡、密度、大樹斷面積),未來的模型中可以加入這些因子,也許能進一步提高模型精度。盡管在本研究中,建立的DLA 模型精度高于傳統(tǒng)回歸模型,但還沒有比較其他的模型形式,也未與混合效應(yīng)方法進行比較,而且深度學(xué)習(xí)預(yù)測樹高仍然是一個較新的方法,少有其他的研究結(jié)論,所以其精度是否均高于傳統(tǒng)模型還不能確定,需要更深入的探究,在未來的研究中,可以探究更多的樹高-胸徑模型形式,或比較其他的傳統(tǒng)建模方法。此外,基于大數(shù)據(jù)的多變量或相當(dāng)復(fù)雜的非線性問題上,深度學(xué)習(xí)技術(shù)的優(yōu)勢更加突出,所以當(dāng)對大尺度的森林資源進行監(jiān)測時,該方法可能更為適用。
本研究采用福建省將樂國有林場的34 塊杉木標(biāo)準地調(diào)查數(shù)據(jù),基于H2O 平臺的深度學(xué)習(xí)算法,建立了多個杉木樹高-胸徑的DLA 模型。同時采用傳統(tǒng)非線性回歸建立10 個廣義樹高-胸徑模型用以比較。研究結(jié)果表明:(1)不同隱藏層數(shù)量的DLA 模型均能較好地描述杉木的樹高-胸徑間關(guān)系,其R2約為0.84~0.85,大于最優(yōu)傳統(tǒng)模型的0.84,RMSE和MAE也更小。而且,DLA 模型的預(yù)測泛化能力也高于傳統(tǒng)模型。在采用相同建模數(shù)據(jù)的情況下,DLA 模型可以提高杉木樹高預(yù)測的精度,且當(dāng)預(yù)測較高的杉木時,這種優(yōu)勢更為明顯。(2)精度最高的DLA 模型,其模型結(jié)構(gòu)為6 個隱藏層,每個隱藏層各有340 個神經(jīng)元,可用于研究區(qū)杉木樹高的估測。(3)與傳統(tǒng)建模方法相比,深度學(xué)習(xí)不受統(tǒng)計學(xué)假設(shè)的限制,建模前不需要確定模型具體形式,更容易收斂。在預(yù)測森林參數(shù)、構(gòu)建森林模型方面具有可行性,某些情況下能夠作為傳統(tǒng)模型的替代方法。