宗倩倩 丁香乾 韓 鳳 宮會(huì)麗 張 磊
(1.中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)院 青島 266100)(2.山東煙草研究院有限公司信息技術(shù)研究中心 濟(jì)南 250001)
農(nóng)產(chǎn)品、藥材及煙草等原料主要化學(xué)成分含量很大程度上能夠表征其內(nèi)在品質(zhì),對(duì)它們的選種、種植及加工過程具有關(guān)鍵的指導(dǎo)意義,因此原料化學(xué)成分定量預(yù)測(cè)的準(zhǔn)確性至關(guān)重要。近紅外光譜分析技術(shù)因其快速、樣品非破壞性、無(wú)污染等優(yōu)點(diǎn)得到迅速發(fā)展,煙草行業(yè)利用此技術(shù)實(shí)現(xiàn)了對(duì)煙葉原料化學(xué)成分的定量分析[1~5]。
近紅外定量分析方法主要有主成分回歸(PCR)、多元線性回歸(MLR)、偏最小二乘回歸(PLS)、支持向量機(jī)(SVM)、人工神經(jīng)網(wǎng)絡(luò)(ANN)等,采用這些方法進(jìn)行煙葉化學(xué)成分的定量分析,在應(yīng)用中取得了很好的進(jìn)展和成就,但是隨著應(yīng)用的逐漸深入,這些方法也暴露出許多問題,諸如:MLR會(huì)遇到共線性問題和輸入變量個(gè)數(shù)的限制問題、PCR不能辨別噪聲或有效信息且運(yùn)行速度較慢、PLS不能有效處理非線性問題、ANN模型復(fù)雜,容易出現(xiàn)“過擬合”現(xiàn)象等。為了構(gòu)建煙葉近紅外光譜與化學(xué)成分間復(fù)雜關(guān)系的模型,國(guó)內(nèi)外研究學(xué)者提出了將線性與非線性方法混合使用的混合算法。例如,陳達(dá)等[6]提出了基于PLS和ANN的混合算法的非線性模型,結(jié)果表明該非線性模型得到了較高的預(yù)測(cè)精度;李世勇等[7]采用最小二乘支持向量回歸(LSSVR)法和PLS,以192個(gè)煙葉數(shù)據(jù)來訓(xùn)練模型,分別建立了煙葉總糖含量的近紅外預(yù)測(cè)模型,并用95個(gè)煙葉樣品去測(cè)試模型性能,結(jié)果表明LSSVR具有更好的準(zhǔn)確度和穩(wěn)健性;L.J.Janik等[8]利用PLS與NN相結(jié)合來建立定標(biāo)模型,把相對(duì)較少的PLS主成分得分矩陣當(dāng)做神經(jīng)網(wǎng)絡(luò)的輸入,預(yù)測(cè)值當(dāng)做目標(biāo)函數(shù),結(jié)合了PLS定量建模的魯棒性和NN非線性逼近的能力。混合算法中,與PLS相結(jié)合的多是諸如SVM,ANN的淺層結(jié)構(gòu)算法,其局限性在于不能完全考慮特征的空間分布,而且不能得到更深層次的特征表示,針對(duì)復(fù)雜問題其泛化能力受到一定制約。
為了能夠更深層次挖掘出原料近紅外光譜中對(duì)化學(xué)成分定量分析起關(guān)鍵作用的特征信息,本文利用卷積神經(jīng)網(wǎng)絡(luò)能充分考慮特征的空間分布,減少數(shù)據(jù)維數(shù)并能夠在保持光譜數(shù)據(jù)空間拓?fù)浣Y(jié)構(gòu)的基礎(chǔ)上學(xué)習(xí)光譜數(shù)據(jù)的更深層次的抽象特征的優(yōu)勢(shì),提出了基于回歸的卷積神經(jīng)網(wǎng)絡(luò)算法。它利用CNN來近似抽象近紅外光譜數(shù)據(jù)的分布,然后逐層提取、逐漸抽象近紅外光譜對(duì)應(yīng)預(yù)測(cè)指標(biāo)的本質(zhì)特征,更深層次挖掘?qū)?yīng)吸收峰表征的信息,并將CNN頂層的分類器改為回歸器,以構(gòu)建定量回歸預(yù)測(cè)模型,預(yù)測(cè)性能得到了進(jìn)一步提升。
CNN在圖像識(shí)別領(lǐng)域[9~10]取得輝煌成就的關(guān)鍵原因是其在特征提取方面的突出優(yōu)勢(shì)[11],其結(jié)構(gòu)圖如圖1所示,其中卷積層和池化層構(gòu)成的特征提取器是重要結(jié)構(gòu)。它提取特征并不采用人們的直覺,而僅僅依賴于訓(xùn)練數(shù)據(jù)基于反向傳播的訓(xùn)練過程,該過程旨在自動(dòng)地學(xué)習(xí)過濾器的權(quán)重,使得它們能夠從輸入數(shù)據(jù)中提取更加抽象和本質(zhì)概念,進(jìn)一步提高預(yù)測(cè)準(zhǔn)確性。
CNN基于三個(gè)重要的思想:局部感知、權(quán)重共享、空間/時(shí)間采樣。卷積層通過由訓(xùn)練參數(shù)組成的不同卷積核與輸入數(shù)據(jù)做卷積操作來提取不同特征,在該操作過程中參數(shù)是共享的,不僅減少了參數(shù)的數(shù)量,而且提高了網(wǎng)絡(luò)的泛化能力。池化層對(duì)卷積層的輸出特征數(shù)據(jù)進(jìn)行子抽樣,若CNN中池化層卷積核大小為k,池化操作是將卷積層的輸出特征數(shù)據(jù)縮?。╧*k)倍,一般選用max pooling和mean pooling兩種池化方法。
圖1 傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
卷積層卷積操作如式(1)所示:
經(jīng)過一系列卷積和池化操作得到的特征數(shù)據(jù)將經(jīng)過全連接層與輸出層相連,全連接層的操作為式(2)所示:
經(jīng)過一系列卷積和池化操作得到的特征數(shù)據(jù)將經(jīng)過全連接層與輸出層相連,全連接層的操作為式(2)所示:
式中:yj和xi分別代表n輸出向量的第j個(gè)神經(jīng)元和m維輸入向量的第i個(gè)神經(jīng)元,w是一個(gè)m*n的權(quán)重矩陣,b為偏置,f()采用Sigmoid函數(shù)。
CNN采用梯度下降法來更新權(quán)重的,其核心公式為誤差代價(jià)函數(shù)對(duì)參數(shù)的梯度,稱為靈敏度。卷積層的靈敏度為
式中:βj為卷積核的值,up為上采樣操作,跟選的池化方法相關(guān),ul=Wlxl-1+bl。
模式識(shí)別中,CNN相對(duì)于傳統(tǒng)方法的顯著優(yōu)勢(shì)在于提取特征的同時(shí)可以減少數(shù)據(jù)維數(shù)并在網(wǎng)絡(luò)結(jié)構(gòu)中分類。CNN的優(yōu)勢(shì)可以用來處理具有高維、高冗余及非線性等特征的光譜數(shù)據(jù)。通常,在以圖像作為輸入的CNN結(jié)構(gòu)中,由于像素的強(qiáng)度經(jīng)常是臨近像素的均值,并且接近均值的概率很大,所以在卷積層后邊加了池化層。但對(duì)于光譜數(shù)據(jù)高噪、譜帶歸屬困難等特征,使得光譜數(shù)據(jù)并無(wú)明顯的鄰域特征,所以改進(jìn)的CNNR算法移除了池化層。
CNN通過在網(wǎng)絡(luò)結(jié)構(gòu)中設(shè)置池化層卷積核大小壓縮特征數(shù)據(jù),若將池化層卷積核設(shè)為1,那么經(jīng)過池化操作對(duì)輸入特征數(shù)據(jù)大小沒改變,但是會(huì)使網(wǎng)絡(luò)運(yùn)行時(shí)間延長(zhǎng),所以改進(jìn)的CNNR算法直接創(chuàng)建只有卷積層和全連接層的網(wǎng)絡(luò),并把輸出層函數(shù)改為Sigmoid函數(shù)。由于池化操作僅使輸入特征數(shù)據(jù)的維度變小而不改變樣本數(shù)量,所以去掉池化層并不影響網(wǎng)絡(luò)各層的操作。
CNNR依然采用反向傳播算法來調(diào)整參數(shù)大小,與傳統(tǒng)的CNN不同的是,反向傳播過程中由于CNN卷積層后邊是池化層,所以會(huì)先在池化層的特征數(shù)據(jù)上進(jìn)行采樣,使得與前邊卷積層特征圖大小一致,先按式(3)計(jì)算靈敏度再調(diào)整權(quán)重和偏置。但改進(jìn)的CNNR算法沒有池化層,無(wú)需進(jìn)行上述采樣操作而直接計(jì)算靈敏度,據(jù)式(3)將卷積層的靈敏度改為式(4),且卷積核的權(quán)重以及偏置更新公式為式(5)和式(6):
式中:(pil-1)uv是xli-1做卷積操作時(shí)與kilj逐個(gè)元素相乘所得值,u、v是位置信息。
傳統(tǒng)CNN算法由于運(yùn)行時(shí)間長(zhǎng)以及對(duì)內(nèi)存要求過高的問題在實(shí)際應(yīng)用中存在困難,主要原因是完全連接層占據(jù)了90%的權(quán)重,卷積層占據(jù)了90%以上的運(yùn)行時(shí)間[12],這意味著如果想要最小化運(yùn)行時(shí)間和存儲(chǔ)空間,那就必須將完全連接層和卷積層的數(shù)量最小化。受到以上所述的啟發(fā),本文將采用含有兩層卷積層和一層全連接層的網(wǎng)絡(luò)架構(gòu),考慮到回歸問題具有特殊性,它需要較大的卷積核來提取整體數(shù)據(jù)的特征,通過多次實(shí)驗(yàn)發(fā)現(xiàn)第一、二層卷積層的卷積核大小分別為10和6,卷積核個(gè)數(shù)分別為20和40時(shí)不僅運(yùn)行時(shí)間達(dá)到最小,而且擬合效果較好。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)采用反向傳播算法作為訓(xùn)練準(zhǔn)則的核心之一,這很容易陷入局部最優(yōu)[13]。當(dāng)神經(jīng)網(wǎng)絡(luò)架構(gòu)變深時(shí),這種缺點(diǎn)變得很明顯,因?yàn)樵谶@種情況下存在大量要優(yōu)化的參數(shù)。緩解深架構(gòu)神經(jīng)網(wǎng)絡(luò)局部最小困境的一種有效的方法是將參數(shù)初始化到盡可能高的程度[14],如果參數(shù)被初始化非常接近搜索空間中的最優(yōu)狀態(tài),則找到全局最優(yōu)的機(jī)會(huì)大大增加[15]。為使網(wǎng)絡(luò)最大可能找到全局最優(yōu),開始時(shí)使卷積核權(quán)重由服從[-0.1,0.1]上的均勻分布函數(shù)隨機(jī)產(chǎn)生,偏置由Rand(0,1)函數(shù)隨機(jī)產(chǎn)生,學(xué)習(xí)率設(shè)為1。
改進(jìn)的回歸卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程具體步驟如下:
step 1:建立改進(jìn)的回歸卷積神經(jīng)網(wǎng)絡(luò)并初始化該網(wǎng)絡(luò)涉及的參數(shù),包括網(wǎng)絡(luò)層數(shù)、卷積核的權(quán)重W、偏置b及網(wǎng)絡(luò)學(xué)習(xí)率r,迭代次數(shù)等參數(shù);
step 2:取經(jīng)過預(yù)處理的訓(xùn)練樣本的光譜數(shù)據(jù)x及其對(duì)應(yīng)的煙葉化學(xué)成分的實(shí)測(cè)值yi輸入到網(wǎng)絡(luò),對(duì)X執(zhí)行操作1,得到卷積層的輸出特征圖;
step 3:經(jīng)過一系列卷積操作把輸出特征圖即學(xué)習(xí)到的深層次的特征連接成一個(gè)矢量饋送到全連接層執(zhí)行操作2,然后將輸出值作為回歸函數(shù)的輸入,對(duì)訓(xùn)練樣本進(jìn)行預(yù)測(cè)并得到它們的預(yù)測(cè)值
step 4:計(jì)算n個(gè)訓(xùn)練樣本的誤差,公式為
step 5:據(jù)式(5)和式(6)來調(diào)整卷積核的權(quán)重和偏置;
step 6:判斷迭代次數(shù)是否超過最大迭代次數(shù),如果沒有超過,返回執(zhí)行step 2~5,若超過,保存權(quán)重和偏置并退出訓(xùn)練過程。
為了驗(yàn)證基于回歸的卷積神經(jīng)網(wǎng)絡(luò)算法在原料化學(xué)成分近紅外光譜模型方面的有效性,本文應(yīng)用國(guó)內(nèi)某煙草企業(yè)提供的396個(gè)煙葉樣品,采用基于回歸的卷積神經(jīng)網(wǎng)絡(luò)算法構(gòu)建煙葉近紅外光譜對(duì)化學(xué)成分的預(yù)測(cè)模型,并對(duì)所建的總糖、總煙堿及氯指標(biāo)模型進(jìn)行了測(cè)試與分析。
本研究中的396個(gè)煙葉樣品數(shù)據(jù)來自山東、云南、貴州和廣西四個(gè)產(chǎn)區(qū),并盡可能涵蓋企業(yè)卷煙配方使用的煙葉原料范圍,各檢測(cè)指標(biāo)值均由連續(xù)流動(dòng)分析法檢測(cè)得到,總糖數(shù)據(jù)分布在15%~38%之間,總煙堿主要分布在0.9%~4%區(qū)間內(nèi),氯離子分布在0.2%~1.6%之間。以Kennard-Stone方法將樣品數(shù)據(jù)進(jìn)行劃分,從中選取300個(gè)煙葉樣品來構(gòu)建CNNR定量預(yù)測(cè)模型,用其余的96個(gè)煙葉樣品作為外部測(cè)試集,驗(yàn)證模型的預(yù)測(cè)性能。供試樣品情況如表1所示。
表1 供試樣品詳細(xì)信息
本文實(shí)驗(yàn)采用的儀器是AntarisⅡFT-NIR分析儀(美國(guó)ThermoFisher公司分子光譜部),配備積分球漫反射采樣系統(tǒng),InGaAs檢測(cè)器。設(shè)置烘箱溫度為40℃,將本研究中的396個(gè)樣品放在烘箱中烘干4h,取出樣品直接粉碎研磨,過篩60目,裝入密封袋中密封并在常溫下避光保存24h。在溫度18℃~21℃的條件下,取每份煙末樣品15g于干凈的樣品池中,輕輕放置壓樣器,把每個(gè)樣品放置在上述分析儀中采用漫反射方式重復(fù)掃描三次,并取三次的平均值當(dāng)做最后的實(shí)驗(yàn)光譜數(shù)據(jù)。
Matlab 2010a和Unscrambler9.7為數(shù)據(jù)分析工具。應(yīng)用Unscrambler軟件進(jìn)行光譜解析,基于Matlab 2010a構(gòu)建CNNR算法和PLSR算法的煙葉化學(xué)成分定量預(yù)測(cè)模型。
由于近紅外光譜中含有許多對(duì)光譜信息產(chǎn)生干擾的冗余信息,為了提高模型預(yù)測(cè)的準(zhǔn)確性,模型構(gòu)建前必須對(duì)光譜數(shù)據(jù)進(jìn)行預(yù)處理,本文采用了平滑,求導(dǎo),標(biāo)準(zhǔn)歸一化和譜段選擇這幾種技術(shù)。
由于近紅外光譜中有很多重疊譜峰,因此建模前需要采用求導(dǎo)處理來消除基線平衡、漂移的干擾,但導(dǎo)數(shù)處理也會(huì)放大光譜信號(hào),噪聲信號(hào)也會(huì)被放大,所以對(duì)光譜求導(dǎo)后,需要對(duì)光譜數(shù)據(jù)采用平滑處理來減弱乃至消除譜圖噪聲、提高信噪比,本文采用Savitzky-Golay算法[16]。為了消除指標(biāo)之間的量綱影響與變量自身變異大小和數(shù)值大小的影響,需要對(duì)光譜數(shù)據(jù)做標(biāo)準(zhǔn)歸一化處理。將做過上述數(shù)學(xué)預(yù)處理的光譜進(jìn)行譜段選擇再進(jìn)行建模,可獲得理想效果。
預(yù)測(cè)模型通過訓(xùn)練集交叉驗(yàn)證均方根誤差RMSECV、測(cè)試集均方根誤差RMSEP、平均相對(duì)誤差MRE以及實(shí)際檢測(cè)值與模型預(yù)測(cè)值的相關(guān)系數(shù)R來定量評(píng)價(jià)。一個(gè)好的模型應(yīng)該具有較高的R值,較低的RMSECV值、RMSEP值和MRE值。它們計(jì)算方法如下所示:
式中:y?i是模型預(yù)測(cè)值,yi是實(shí)際檢測(cè)值,n是樣本個(gè)數(shù),
3.5.1 內(nèi)部交叉驗(yàn)證
為了從光譜數(shù)據(jù)中提取充分有效的信息,盡可能消除導(dǎo)數(shù)的影響,必須進(jìn)行預(yù)處理。在本文中,一階導(dǎo)數(shù)(1st derivative),二階導(dǎo)數(shù)(2nd derivative),平滑點(diǎn)數(shù),標(biāo)準(zhǔn)規(guī)范化向量(SNV)和不同譜段的選擇來實(shí)現(xiàn)CNNR預(yù)測(cè)模型構(gòu)建的組合優(yōu)化過程。以總煙堿為例,以x-loading圖來選取建模譜段。
圖2 總煙堿的x-loading圖
根據(jù)圖2選取4400-4200cm-1為總煙堿的建模譜段,選取譜段后對(duì)光譜運(yùn)用各種預(yù)處理組合方法進(jìn)行建模,多次實(shí)驗(yàn)對(duì)比結(jié)果如表2所示。
表2 總煙堿的預(yù)處理組合實(shí)驗(yàn)對(duì)比結(jié)果表
從表2可以看出,固定規(guī)范化向量和平滑點(diǎn)數(shù)不變時(shí),對(duì)光譜采用二階導(dǎo)數(shù)時(shí),模型的RMSECV值較小,而且當(dāng)平滑點(diǎn)數(shù)為15,RMSECV達(dá)到最小。
采用相同的思路分別對(duì)總糖和氯離子選擇最佳模型預(yù)處理組合方法組合,比較RMSECV的大小得出CNNR最佳模型的不同預(yù)處理組合方法結(jié)果如表3所示。
表3 CNNR最佳模型的預(yù)處理組合方法
采用最佳的預(yù)處理組合方法處理光譜數(shù)據(jù)并用設(shè)定好的CNNR各參數(shù)構(gòu)建各指標(biāo)的定量模型,重復(fù)進(jìn)行實(shí)驗(yàn)并記錄每次實(shí)驗(yàn)對(duì)應(yīng)的總誤差大小,當(dāng)總誤差達(dá)到最小時(shí)將其視為最佳模型。在實(shí)驗(yàn)過程中發(fā)現(xiàn)運(yùn)行到5000次后總誤差趨于穩(wěn)定,修改CNNR模型的迭代次數(shù)為5000次,極大程度減少了運(yùn)行時(shí)間??偀焿A最好模型總誤差變化圖如圖3所示。
圖3 總煙堿模型總誤差變化圖
圖3顯示了總煙堿模型訓(xùn)練過程中總誤差的變化趨勢(shì)。可以看出,在循環(huán)的開始階段,總誤差急劇減少,這是因?yàn)榉聪騻鞑ニ惴榱诉_(dá)到最大可能性的CNNR模型參數(shù)采取了較大的步長(zhǎng)。在訓(xùn)練過程的進(jìn)一步階段,訓(xùn)練總誤差變化逐漸平緩,這表明網(wǎng)絡(luò)正在趨向收斂,到最后都降低到總誤差值穩(wěn)定的程度,這時(shí)網(wǎng)絡(luò)已經(jīng)完全收斂。
總糖、總煙堿和氯離子三個(gè)指標(biāo)按照最佳參數(shù)進(jìn)行建模,它們最佳模型的交叉驗(yàn)證性能圖分別如圖4~圖6所示。
圖4 總糖模型交叉驗(yàn)證性能圖
圖5 總煙堿模型交叉驗(yàn)證性能圖
圖6 氯離子模型交叉驗(yàn)證性能圖
圖4~圖6分別給出了總糖、總煙堿和氯離子構(gòu)建的CNNR內(nèi)部交叉驗(yàn)證的真實(shí)值與預(yù)測(cè)值的散點(diǎn)擬合圖,橫坐標(biāo)是實(shí)際檢測(cè)值,縱坐標(biāo)為模型預(yù)測(cè)值,比較直觀地反映出所建模型的效果??梢?,所建模型的擬合效果較理想,大部分樣品均勻分布在擬合線附近,樣品實(shí)際檢測(cè)值與模型預(yù)測(cè)值呈較明顯的線性相關(guān)。
3.5.2 外部驗(yàn)證
用CNNR構(gòu)建的最佳模型進(jìn)行外部測(cè)試集預(yù)測(cè),預(yù)測(cè)集的RMSEP、MRE和R對(duì)比表如表3所示。
表4 CNN模型評(píng)價(jià)指標(biāo)結(jié)果
從表4結(jié)果看出,CNNR對(duì)三個(gè)指標(biāo)的預(yù)測(cè)結(jié)果均較好。各指標(biāo)的相關(guān)系數(shù)R均大于0.93,且預(yù)測(cè)相對(duì)平均誤差MRE均小于5%,說明采用CNNR模型預(yù)測(cè)的化學(xué)值與連續(xù)流動(dòng)自動(dòng)分析儀的測(cè)量差異較小。CNNR模型在預(yù)測(cè)原料化學(xué)成分時(shí)能夠充分考慮光譜數(shù)據(jù)本質(zhì)和抽象的信息,準(zhǔn)確地分析原料中不同化學(xué)成分,為以后準(zhǔn)確進(jìn)行原料化學(xué)成分定量分析提供了全新技術(shù)支持,在以后的實(shí)踐中有很大的發(fā)展前景。但同時(shí)CNNR作為一種神經(jīng)網(wǎng)絡(luò),其計(jì)算量大導(dǎo)致運(yùn)行時(shí)間較長(zhǎng),且若訓(xùn)練數(shù)據(jù)過少容易出現(xiàn)“過擬合”的問題,所以CNN更適合處理數(shù)量多且復(fù)雜的數(shù)據(jù)。
本文提出的作為一種深度學(xué)習(xí)的基于回歸的卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)原料化學(xué)成分研究,與傳統(tǒng)近紅外定量建模方法相比,它在抽取原始數(shù)據(jù)更加本質(zhì)和抽象特征上具有得天獨(dú)厚的優(yōu)勢(shì),經(jīng)過方法有效性論證和實(shí)際數(shù)據(jù)測(cè)試均驗(yàn)證了該方法的有效性,為進(jìn)行原料化學(xué)成分定量分析提供了一種新思路。使用本文提出的回歸卷積神經(jīng)網(wǎng)絡(luò)算法能夠和近紅外光譜數(shù)據(jù)有效結(jié)合,抽取的特征對(duì)光譜數(shù)據(jù)有很強(qiáng)的解釋能力,同時(shí)對(duì)原料化學(xué)成分有最佳綜合表達(dá)能力,提升了原料化學(xué)成分定量分析的預(yù)測(cè)精度,為原料化學(xué)成分的定量分析提供了穩(wěn)定和有效的方法支撐。