史 楊 王儒敬 汪玉冰
1(中國科學(xué)院合肥智能機(jī)械研究所 安徽 合肥 230031)2(中國科學(xué)技術(shù)大學(xué)自動(dòng)化系 安徽 合肥 230027)
土壤成分信息對研究農(nóng)田資源管理、精準(zhǔn)施肥、土壤肥力分布都具有重要的意義,目前常采用實(shí)驗(yàn)室分析的方法獲取。實(shí)驗(yàn)室分析方法分析結(jié)果雖然很精確,但是由于需要進(jìn)行復(fù)雜的操作,所需時(shí)間和經(jīng)濟(jì)成本較高,并且很難實(shí)現(xiàn)田間原位的快速測量,難以得到大規(guī)模的應(yīng)用[1]。近紅外光譜分析技術(shù)通過測量樣品的光譜信息,建立樣品光譜和樣品成分的校正模型,可以預(yù)測未知樣品的成分信息[2]。近紅外光譜分析是一種間接獲取樣品成分信息的技術(shù),具有非接觸式檢測、低成本等優(yōu)點(diǎn),很多研究人員嘗試將其用于土壤信息的快速獲取,并取得一些成效。目前,近紅外光譜分析技術(shù)已應(yīng)用在土壤的質(zhì)地分類[3]、含水量預(yù)測[4-5]、氮素含量預(yù)測[6-8]、有機(jī)質(zhì)含量預(yù)測[9]等方面。
由于近紅外光譜分析方法是一種間接獲取信息的手段,建立有效的土壤樣本光譜與成分信息之間的校正模型至關(guān)重要。校正模型一般使用化學(xué)計(jì)量學(xué)方法建立,其效果直接影響預(yù)測的可行性與準(zhǔn)確性[10]。過去,在基于近紅外光譜的土壤成分預(yù)測分析建模中,常采用多元線性回歸MLR(Multiple Linear Regression)、主成分回歸PCR(Principle Component Regression)、偏最小二乘回歸PLSR(Partial Least Squares Regression)等線性回歸方法。光譜數(shù)據(jù)通常維度高,不同波長的吸收率或反射率之間存在多重相關(guān)性,所以建模時(shí)需要采用波長選擇或特征表示的方法降低維數(shù)。波長選擇方法依賴對目標(biāo)成分敏感波段的先驗(yàn)知識或基于統(tǒng)計(jì)方法對各波長的重要程度評估結(jié)果,從原始全譜中挑選出部分有用波段的數(shù)據(jù)進(jìn)行回歸計(jì)算[11]。特征表示的方法一般對全譜數(shù)據(jù)進(jìn)行空間的轉(zhuǎn)換,尋找在其他空間的、更易于回歸計(jì)算的數(shù)據(jù)表示。例如,基于PCR或PLSR的模型使用線性變換提取出全譜數(shù)據(jù)的主成分進(jìn)行特征表示和數(shù)據(jù)降維,Vohland等[12]利用連續(xù)小波變換對光譜數(shù)據(jù)進(jìn)行特征表示。獲得光譜數(shù)據(jù)的特征表示后,再使用回歸方法對土壤中的目標(biāo)成分進(jìn)行預(yù)測,其中最簡單的形式是線性回歸預(yù)測。近年來,支持向量回歸SVR(Support Vector Regression)、隨機(jī)森林、神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)中的一些技術(shù)也被應(yīng)用到光譜分析中來提升模型預(yù)測能力[13-15]。在土壤差異性較大的大面積土壤成分預(yù)測應(yīng)用中一般采用局部建模方法[16],即從大規(guī)模光譜數(shù)據(jù)庫中選出與目標(biāo)樣本相似的樣本,再利用選出的樣本建模。在目前的研究中,特征表示與回歸預(yù)測通常是分離的,并且較多采用了線性方法,非線性模型在光譜分析中應(yīng)用的研究較少。深度卷積神經(jīng)網(wǎng)絡(luò)是一種非線性模型,是近些年機(jī)器學(xué)習(xí)研究的熱點(diǎn),已被成功應(yīng)用在圖像目標(biāo)識別、自然語言處理等多個(gè)領(lǐng)域。深度卷積神經(jīng)網(wǎng)絡(luò)模型包含多層級非線性變換,將特征表示和回歸預(yù)測統(tǒng)一起來,善于從大量原始數(shù)據(jù)中自動(dòng)抽取有用的特征表示,在特征提取和建模上與淺層模型、線性方法相比具有明顯的優(yōu)勢[17]。然而目前深度卷積神經(jīng)網(wǎng)絡(luò)在光譜分析預(yù)測建模方面應(yīng)用的研究目前較少。
本文提出將卷積深度神經(jīng)網(wǎng)絡(luò)用于建立土壤近紅外光譜和土壤成分的模型中,即構(gòu)建一個(gè)多層前饋卷積神經(jīng)網(wǎng)絡(luò)模型,以土壤近紅外光譜作為輸入,以需要預(yù)測的土壤成分含量作為輸出,實(shí)現(xiàn)通過測量土壤樣品近紅外光譜,準(zhǔn)確預(yù)測土壤成分的目標(biāo)。實(shí)驗(yàn)證明,利用近紅外光譜預(yù)測土壤中有機(jī)碳含量具有可行性;使用包含6~7個(gè)卷積層的深度卷積神經(jīng)網(wǎng)絡(luò)模型預(yù)測有機(jī)碳含量的均方根誤差可以達(dá)到9.69 g/kg,比其他線性建模方法預(yù)測大尺度土壤有機(jī)碳更準(zhǔn)確。
神經(jīng)網(wǎng)絡(luò)的基本組成單元是神經(jīng)元,一般為多輸入單輸出的結(jié)構(gòu),模型如圖1所示。神經(jīng)元分為兩部分,第一部分為輸入信號的加權(quán)和函數(shù),第二部分為非線性激活單元,稱為神經(jīng)元的激活函數(shù),輸入與輸出之間的關(guān)系可用下式表示:
(1)
(2)
式中,X=[x1,x2,…]表示神經(jīng)元接受的多維輸入信號,W=[w1,w2,…]表示輸入信號對應(yīng)的權(quán)重,b為神經(jīng)元的偏置項(xiàng),z為神經(jīng)元輸入的加權(quán)和,a為神經(jīng)元輸出。f(·)為神經(jīng)元的激活函數(shù),通常采用非線性函數(shù)實(shí)現(xiàn),如S型函數(shù)(sigmoid)、雙曲正切函數(shù)(tanh)、修正線性單元ReLU(Rectified Linear Unit)函數(shù)等。
圖1 神經(jīng)元模型
多層感知器是一種典型的前饋神經(jīng)網(wǎng)絡(luò),由一個(gè)輸入層、一個(gè)或多個(gè)隱含層以及一個(gè)輸出層級聯(lián)組合而成。圖2為包含兩個(gè)隱含層的多層感知器模型的結(jié)構(gòu),多層感知器的隱含層、輸出層均為全連接層,每個(gè)全連接層包含多個(gè)神經(jīng)元,同一層級中的各個(gè)神經(jīng)元都接受前一層所有神經(jīng)元的輸出作為輸入,同一層級的神經(jīng)元之間沒有連接。與多層感知器類似,每個(gè)神經(jīng)元只與前一層的神經(jīng)元相連,接受其作為輸入并輸出到下一層,各層間沒有反饋的神經(jīng)網(wǎng)絡(luò)稱為前饋神經(jīng)網(wǎng)絡(luò)。多層感知器模型在實(shí)際應(yīng)用時(shí)一般采用不超過三層的淺層網(wǎng)絡(luò)。
圖2 多層感知器結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)是指在前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中使用了一個(gè)或多個(gè)卷積層。卷積層中,各個(gè)神經(jīng)元通過卷積核與前一層輸出的局部區(qū)域相連,生成多個(gè)特征映射面。圖3為尺寸為3,步長為1的一維卷積核以類似滑動(dòng)窗口的方式與輸入信號進(jìn)行一維卷積運(yùn)算,將7維輸入信號卷積生成一個(gè)5維的特征映射面。一個(gè)特征映射面盡管包含多維輸出,但是各個(gè)神經(jīng)元使用的為同一個(gè)卷積核,因此需要訓(xùn)練的參數(shù)與神經(jīng)元個(gè)數(shù)無關(guān),僅與卷積核的大小有關(guān)。如圖3中的特征映射面生成所示,雖然有5個(gè)神經(jīng)元輸出,但是需要訓(xùn)練的參數(shù)只有3+1=4個(gè),其中3是卷積核大小,1為偏置項(xiàng)。如果特征映射面中的5個(gè)神經(jīng)元都以全連接的方式與前一層相連,需要訓(xùn)練的參數(shù)個(gè)數(shù)則為5×(7+1)=40個(gè)。卷積層的策略被稱為權(quán)值共享,與全連接層相比,能大大減少訓(xùn)練參數(shù)個(gè)數(shù)[17]。利用卷積層的堆疊,可以在不顯著增加模型訓(xùn)練參數(shù)的前提下,實(shí)現(xiàn)更深的網(wǎng)絡(luò)結(jié)構(gòu)。
圖3 一維卷積核與特征圖
利用土壤光譜預(yù)測成分含量模型的輸入為光譜信號,輸出為成分含量。在使用卷積神經(jīng)網(wǎng)絡(luò)模型時(shí),將數(shù)據(jù)集中光譜各波長的數(shù)值進(jìn)行了歸一化處理后再作為模型的輸入。由于預(yù)測成分含量是回歸問題,采用了均方誤差作為神經(jīng)網(wǎng)絡(luò)模型的代價(jià)函數(shù),如下式所示:
(3)
式中:yi,predict和yi,real分別為第i個(gè)樣本的預(yù)測輸出值與實(shí)驗(yàn)室分析測得數(shù)值,樣本集一共包含N個(gè)樣本。代價(jià)函數(shù)計(jì)算得到的數(shù)值越小,表示在這個(gè)集合上,神經(jīng)網(wǎng)絡(luò)擬合效果越好。對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練也是為了降低代價(jià)函數(shù)計(jì)算的數(shù)值。
求解神經(jīng)網(wǎng)絡(luò)代價(jià)函數(shù)的最小值常采用反向傳播算法。反向傳播算法建立在梯度下降法的基礎(chǔ)上,可以用來對多層前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。反向傳播算法由正向傳播過程和反向傳播過程兩部分組成。在卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的正向傳播過程中,輸入樣本正向依次經(jīng)過網(wǎng)絡(luò)各層計(jì)算后得到成分含量的預(yù)測輸出。將輸出與實(shí)驗(yàn)室測量的數(shù)值(監(jiān)督信息)進(jìn)行比對后,進(jìn)行代價(jià)函數(shù)的計(jì)算,計(jì)算的代價(jià)將作為反向傳播過程修改神經(jīng)網(wǎng)絡(luò)各層參數(shù)的依據(jù)。傳統(tǒng)的梯度下降法中,更新參數(shù)依據(jù)下式:
θt=θt-1-η·gt
(4)
gt=▽θt-1f(θt-1)
(5)
式中:θ為神經(jīng)網(wǎng)絡(luò)模型中各神經(jīng)元的參數(shù),包含神經(jīng)元的權(quán)值與偏置,由于權(quán)值與偏置更新規(guī)則相似,因此統(tǒng)一以參數(shù)θ表示;η為學(xué)習(xí)率,每次迭代時(shí),各參數(shù)都在梯度方向gt以固定的學(xué)習(xí)率進(jìn)行更新。反向傳播過程中,由輸出層向輸入層方向逐層計(jì)算梯度,逐層更新各層神經(jīng)元參數(shù)。
在訓(xùn)練模型時(shí),如果采用固定的學(xué)習(xí)率,較小的學(xué)習(xí)率會(huì)造成訓(xùn)練速度很慢,而較大的學(xué)習(xí)率會(huì)造成訓(xùn)練后期在最小值附近來回震蕩。Adagrad方法[18]對學(xué)習(xí)率進(jìn)行了改進(jìn),改進(jìn)后的參數(shù)更新規(guī)則如下:
(6)
(7)
式中:nt為訓(xùn)練過程中的梯度累積項(xiàng),更新規(guī)則中加入后相當(dāng)于采用了逐漸減小的學(xué)習(xí)率,避免了固定學(xué)習(xí)率設(shè)置不當(dāng)?shù)膯栴}。
2008年-2012年間,歐盟開展了歐洲土地利用及覆蓋統(tǒng)計(jì)調(diào)查LUCAS(European Land Use/Cover Area frame Statistical Survey),在此期間收集測試了大量土壤樣本,樣本采樣點(diǎn)遍及歐洲23個(gè)國家,包含耕地、草地、林地等用地類型,土壤樣本差異性較大[19-20]。調(diào)查前,調(diào)查部門對土壤樣本取樣點(diǎn)進(jìn)行了總體規(guī)劃,并對取樣方式進(jìn)行了一致性規(guī)范;取樣后對其理化特性進(jìn)行測試和可見近紅外光譜的測量。土壤樣本的理化特性分析均由ISO認(rèn)證的實(shí)驗(yàn)室完成。
LUCAS數(shù)據(jù)集中包含礦質(zhì)土樣共17 272個(gè)。土壤樣本的有機(jī)碳含量依據(jù)ISO 10694-1995干燒方法進(jìn)行測量,數(shù)據(jù)集中基本信息統(tǒng)計(jì)見表1。測量近紅外光譜前,將土壤樣本進(jìn)行風(fēng)干、過篩預(yù)處理,再使用FOSS XDS近紅外光譜分析儀進(jìn)行測量。
表1 LUCAS土壤數(shù)據(jù)集基本信息
由于LUCAS土壤數(shù)據(jù)庫包含的樣本量較多,我們將數(shù)據(jù)庫中包含的17 272個(gè)土壤樣本劃分為建模集、驗(yàn)證集、測試集,三個(gè)集合中的土壤樣本獨(dú)立不交叉。數(shù)據(jù)庫中隨機(jī)選出15 000個(gè)樣本作為建模集,用來對模型進(jìn)行訓(xùn)練;再從剩余的樣本里隨機(jī)選出1 000個(gè)樣本作為驗(yàn)證集,用來輔助確定模型的參數(shù),不直接參與訓(xùn)練模型;最后剩余的1 272個(gè)樣本作為測試集,用來評價(jià)最終建模效果。
光譜儀測量波長范圍為400~2 500 nm,波長間隔為0.5 nm,因此原始光譜中包含4 200維數(shù)據(jù)。由于光譜曲線一般比較平滑,光譜相鄰波長的數(shù)值共線性較強(qiáng),高分辨率會(huì)造成模型中需要訓(xùn)練的參數(shù)過多,因此在建模前,對近紅外原始光譜進(jìn)行等距降采樣處理,降采樣后的光譜包含420維數(shù)據(jù),波長間隔為5 nm。
深度卷積神經(jīng)網(wǎng)絡(luò)的模型容量和表示能力可以通過設(shè)置模型的層數(shù)和各層的超參數(shù)進(jìn)行調(diào)節(jié)。層數(shù)越多、各層的神經(jīng)元數(shù)目越多,模型表示能力越強(qiáng),同時(shí),需要訓(xùn)練的參數(shù)更多,一般來說對訓(xùn)練集的樣本量需求更大,否則在訓(xùn)練時(shí)容易出現(xiàn)過擬合現(xiàn)象。
本文設(shè)計(jì)了五種深度卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),分別以其包含的卷積層的層數(shù)命名為CNN-3~CNN-7,五種卷積神經(jīng)網(wǎng)絡(luò)模型的詳細(xì)參數(shù)見表2。如表2第二列所示,CNN-3模型中土壤光譜信號自上而下依次經(jīng)過三個(gè)卷積層和兩個(gè)全連接層,輸出土壤成分的預(yù)測數(shù)值。CNN-3模型的輸入為420維的光譜,第一個(gè)卷積層采用512個(gè)尺寸為7的卷積核,生成512層特征映射面;第二、三個(gè)卷積層均采用64個(gè)尺寸為3的卷積核,生成64層特征映射面;兩個(gè)全連接層均包含64個(gè)神經(jīng)元;輸出層只有一個(gè)神經(jīng)元,這個(gè)神經(jīng)元的輸出就是模型輸出的有機(jī)碳含量的預(yù)測數(shù)值。
表2 五種卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
續(xù)表2
在CNN-3模型的基礎(chǔ)上,CNN-4~CNN-7在全連接層前添加了若干個(gè)尺寸為3或1的卷積層,形成更深的卷積模型。為了避免深度網(wǎng)絡(luò)學(xué)習(xí)過程的神經(jīng)元飽和、梯度擴(kuò)散現(xiàn)象,神經(jīng)網(wǎng)絡(luò)中各個(gè)神經(jīng)元的激活函數(shù)均采用ReLU函數(shù)[21-22]。
文中深度卷積神經(jīng)網(wǎng)絡(luò)均使用Python語言調(diào)用Keras[23]工具包實(shí)現(xiàn)。Keras是一個(gè)深度學(xué)習(xí)計(jì)算框架,可以方便地調(diào)用顯卡的并行計(jì)算能力,大大加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
圖4是將LUCAS土壤數(shù)據(jù)庫中的17 272個(gè)礦質(zhì)土壤樣本按照有機(jī)碳含量的25分位、50分位、75分位為分界線,分為四類不同含量等級的子集,再計(jì)算每個(gè)子集中土壤樣本的平均光譜曲線。如圖4所示,不同有機(jī)碳含量等級的近紅外光譜均在1 400、1 900和2 200 nm左右有明顯的峰值,整體光譜曲線趨勢一致;有機(jī)碳含量級別越高的土壤樣本的平均光譜在整個(gè)可見光近紅外波段吸光度都高于有機(jī)碳含量級別較低的類別。
圖4 不同有機(jī)碳含量的土壤樣本的平均光譜
實(shí)驗(yàn)中,首先將LUCAS土壤數(shù)據(jù)庫劃分為建模集、驗(yàn)證集、測試集三個(gè)部分。然后使用表2所示的五種卷積神經(jīng)網(wǎng)絡(luò)模型分別建立土壤有機(jī)碳含量及近紅外光譜的校正模型,模型參數(shù)調(diào)節(jié)時(shí)只使用建模集。最后利用建好的模型,根據(jù)測試集中土壤樣本的近紅外光譜,預(yù)測樣本的有機(jī)碳含量。為了更好地了解卷積神經(jīng)網(wǎng)絡(luò)模型的效果,實(shí)現(xiàn)了PCR和PCA+SVR兩個(gè)線性模型作對比。其中,PCR模型采用了40個(gè)主成分參與線性回歸計(jì)算;PCA+SVR中先使用PCA方法提取40個(gè)主成分后,使用SVR線性回歸模型進(jìn)行土壤有機(jī)碳含量的預(yù)測。圖5-圖9分別為CNN-3~CNN-7五個(gè)模型預(yù)測值與實(shí)驗(yàn)室方法測量數(shù)值的散點(diǎn)圖,圖10為PCR模型的預(yù)測結(jié)果。如圖5~10所示,六個(gè)模型建模效果良好,散點(diǎn)比較均勻地分布在回歸直線兩側(cè),呈正相關(guān)關(guān)系;CNN-6、CNN-7兩個(gè)模型在有機(jī)碳含量較低區(qū)域比其他模型更集中在回歸直線兩側(cè)。因此,利用土壤的近紅外光譜間接預(yù)測土壤有機(jī)碳含量是可行的。
圖5 CNN-3模型在測試集上的預(yù)測結(jié)果
圖6 CNN-4模型在測試集上的預(yù)測結(jié)果
圖7 CNN-5模型在測試集上的預(yù)測結(jié)果
圖8 CNN-6模型在測試集上的預(yù)測結(jié)果
圖9 CNN-7模型在測試集上的預(yù)測結(jié)果
圖10 PCR模型在測試集上的預(yù)測結(jié)果
回歸問題對模型性能進(jìn)行量化評價(jià)常采用均方根誤差RMSE(Root Mean Square Error)指標(biāo),即預(yù)測值與真實(shí)值的誤差平方均值的平方根。均方根誤差的數(shù)值越小,表示回歸模型的預(yù)測性能越好。表3為五種不同深度的卷積神經(jīng)網(wǎng)絡(luò)模型在同一劃分下的建模集、驗(yàn)證集、測試集上的均方根誤差。
表3 模型預(yù)測效果的對比
如表3所示,CNN-3~CNN-7模型在建模集、驗(yàn)證集、測試集上的預(yù)測效果全面優(yōu)于PCR和PCA+SVR這兩個(gè)線性模型;與線性模型不同,CNN模型的模型容量很大,訓(xùn)練時(shí)一般在建模集上會(huì)存在輕微的過擬合現(xiàn)象,因此預(yù)測性能要優(yōu)于其在驗(yàn)證集和測試集上的表現(xiàn),驗(yàn)證集和測試集的結(jié)果更能反映模型的泛化能力;隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的加深,在測試集上預(yù)測效果逐步提升,RMSE值從11.20 g/kg逐漸減少到9.69 g/kg;采用6個(gè)卷積層的CNN-6與采用7個(gè)卷積層的CNN-7模型效果非常接近?;貧w問題另外一個(gè)常用的評價(jià)指標(biāo)是決定系數(shù)(R2),決定系數(shù)越接近1,表示模型擬合效果越好。PCR模型的決定系數(shù)0.65,CNN-7模型的決定系數(shù)達(dá)到0.76,較PCR模型提升了17%。實(shí)驗(yàn)結(jié)果表明,使用包含6~7個(gè)卷積層的深度卷積神經(jīng)網(wǎng)絡(luò)模型成功地抽取出了比主成分更好的非線性特征,利用這些非線性特征預(yù)測有機(jī)碳含量的均方根誤差可以達(dá)到9.69 g/kg,比其他線性建模方法預(yù)測大尺度土壤有機(jī)碳更準(zhǔn)確。
過去利用近紅外光譜預(yù)測土壤成分含量的研究多是基于單一土壤類型的、小樣本的校正模型,模型結(jié)構(gòu)簡單,表示能力有限,難以實(shí)現(xiàn)大尺度、土壤種類復(fù)雜環(huán)境下的應(yīng)用。本文提出的基于深度卷積神經(jīng)網(wǎng)絡(luò)的校正模型,能夠應(yīng)用在土壤種類繁多的歐洲大陸尺度的土壤有機(jī)碳含量的預(yù)測中。實(shí)驗(yàn)證明了使用包含6~7個(gè)卷積層的深度神經(jīng)網(wǎng)絡(luò)在大尺度土壤有機(jī)碳預(yù)測問題中的可行性和準(zhǔn)確性。由于卷積神經(jīng)網(wǎng)絡(luò)容量較大,而目前可以用來訓(xùn)練模型的土壤樣本數(shù)有限,因此對深度神經(jīng)網(wǎng)絡(luò)在土壤成分預(yù)測的研究仍不充分,有希望繼續(xù)發(fā)掘深度神經(jīng)網(wǎng)絡(luò)的潛力。下一步工作的方向是研究如何獲取更多的土壤樣本,優(yōu)化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與訓(xùn)練過程,嘗試預(yù)測更多的土壤成分,提高預(yù)測精度。