張子龍,陳冬英,2,俞 達(dá),陳 璐
(1.福建江夏學(xué)院 電子信息科學(xué)學(xué)院,福建 福州 350108;2.數(shù)字福建智能家居信息采集及處理物聯(lián)網(wǎng)實(shí)驗(yàn)室,福建 福州 350108;3.山東省農(nóng)業(yè)科學(xué)院農(nóng)業(yè)質(zhì)量標(biāo)準(zhǔn)與檢測(cè)技術(shù)研究所,山東 濟(jì)南 250100)
中醫(yī)藥是我國(guó)傳統(tǒng)文化的重要組成部分,中草藥作為中醫(yī)藥傳承與發(fā)展的物質(zhì)基礎(chǔ),在我國(guó)已經(jīng)發(fā)展了幾千年[1]。中藥材的質(zhì)量是決定能否保證中醫(yī)療效的重要標(biāo)志[2]。中草藥金銀花是清熱解毒必備良藥[3]。但金銀花來源復(fù)雜,為提高利潤(rùn),最為地道產(chǎn)地的山東平邑金銀花藥材在市場(chǎng)上常遭造假[4]。當(dāng)下已有的鑒別方法普遍存在耗時(shí)長(zhǎng)、成本高、操作復(fù)雜等問題[5]。因此,亟需一種快速高效的金銀花產(chǎn)地鑒別方法。
金銀花產(chǎn)地溯源實(shí)質(zhì)上是一種中藥定性分析問題,為實(shí)現(xiàn)快速鑒別,近紅外光譜(near-infrared spectroscopy,NIRS)分析技術(shù)與模式識(shí)別方法的結(jié)合成為了解決這個(gè)問題的新手段,并取得了一些成功應(yīng)用[6-8]。然而仍存在一些難點(diǎn)問題有待解決:(1)通過近紅外光譜技術(shù)獲得的全波段近紅外光譜數(shù)據(jù)存在波長(zhǎng)數(shù)據(jù)點(diǎn)較多、數(shù)據(jù)交替重疊嚴(yán)重等缺陷,這些缺點(diǎn)會(huì)影響鑒別模型的識(shí)別精度和速度,甚至可能導(dǎo)致模型無法收斂;而且傳統(tǒng)模式的識(shí)別方法無法自動(dòng)完成特征提取和降維,無法保證提取特征的有效性。(2)由于中藥材生長(zhǎng)周期、種植環(huán)境和成本等因素的影響,要想獲得足夠的、大量的近紅外光譜樣本數(shù)據(jù),是不現(xiàn)實(shí)的。一般情況下,近紅外光譜的樣本數(shù)量要遠(yuǎn)遠(yuǎn)少于近紅外光譜數(shù)據(jù)的維度,這也進(jìn)一步加劇了模型失效的問題。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)因其在高維數(shù)據(jù)中展現(xiàn)了強(qiáng)大的數(shù)據(jù)特征提取能力,在圖像分類[9-10],序列檢測(cè)[11]等各個(gè)場(chǎng)景應(yīng)用中獲得了較大的成功。CNN擁有很好的提取特征能力,很適合用來提取高維度的NIRS數(shù)據(jù)特征[12]。例如,文獻(xiàn)[13]設(shè)計(jì)了采用回歸分析和CNN建模構(gòu)建了光譜與茶葉內(nèi)含物的定量關(guān)系,其準(zhǔn)確率達(dá)到93%。因此,卷積神經(jīng)網(wǎng)絡(luò)結(jié)合可見近紅外光譜可以對(duì)兒茶素和咖啡堿的含量進(jìn)行快速無損檢測(cè)。 文獻(xiàn)[14]基于深度卷積網(wǎng)絡(luò)模型,對(duì)藥品NIR多分類建模進(jìn)行了研究,結(jié)果表明,分類準(zhǔn)確率達(dá)99.37±0.45,比SVM、BP、AE和ELM算法取得更優(yōu)的分類性能,深度卷積神經(jīng)網(wǎng)絡(luò)可對(duì)多品種、多廠商藥品NIR數(shù)據(jù)準(zhǔn)確、可靠地判別分類,且模型具有良好的魯棒性和可擴(kuò)展性。但是當(dāng)前應(yīng)用于NIRS 數(shù)據(jù)定性分析的經(jīng)典CNN模型中,由于經(jīng)典 CNN 模型需要增加足夠多的卷積核數(shù)量來提高鑒別模型的分類性能,不僅造成模型過于臃腫,參數(shù)量巨大,增加了模型的計(jì)算復(fù)雜度,還增加了模型過擬合的風(fēng)險(xiǎn),同時(shí)準(zhǔn)確率可再提高。
針對(duì)NIRS數(shù)據(jù)為一維數(shù)據(jù),本文改進(jìn)CNN為適應(yīng)NIRS數(shù)據(jù)的1維卷積神經(jīng)網(wǎng)絡(luò)(1D convolutional neural network,1D-CNN),在1D-CNN模型中加入超深度結(jié)構(gòu),即加入3層的隱含層(卷積、池化、全連接層)代換原始的1層隱含層。以山東、 河南、河北、重慶4個(gè)地區(qū)的金銀花的NIRS數(shù)據(jù)作為研究對(duì)象,針對(duì)現(xiàn)有定性分析方法的不足,研究不同產(chǎn)地金銀花的定性分析模型和產(chǎn)地檢測(cè)機(jī)制,使模型具備對(duì)不同產(chǎn)地金銀花的高精度鑒別能力。與傳統(tǒng)1D-CNN模型對(duì)比,本設(shè)計(jì)模型的訓(xùn)練集與測(cè)試集的準(zhǔn)確率達(dá)到100%與99.57%,分別提升了約0.05%與1%,同時(shí),參數(shù)量和浮點(diǎn)數(shù)(floating-point operations per second,FLOPs)分別減少近1 M和10 M。
卷積神經(jīng)網(wǎng)絡(luò)由輸入層、隱含層與輸出層組成,具體如圖1所示。其中,隱含層由卷積層及池化層、全連接層3類組成。3類常見構(gòu)筑在隱含層中的順序通常為:輸入-卷積層-池化層-全連接層-輸出。在池化層和全連接層中通常還會(huì)有1個(gè)展平層來連接,在實(shí)際的卷積神經(jīng)網(wǎng)絡(luò)建模過程中,通常會(huì)使用多個(gè)卷積層和池化層的組合堆疊來提升模型的性能。除了模型學(xué)習(xí)的不同階段外,還通過使用歸一化和Dropout等正則化機(jī)制來防止模型的過擬合。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
本設(shè)計(jì)通過試錯(cuò)法得到1個(gè)適用于金銀花近紅外光譜分類且效果良好的1D-CNN模型。該結(jié)構(gòu)針對(duì)近紅外光譜數(shù)據(jù)特點(diǎn)的同時(shí),簡(jiǎn)化了模型復(fù)雜度和提高模型分類精度。改進(jìn)后的 1D-CNN主要包括6層,分別是輸入層,3組卷積層和池化層組合和1個(gè)全連接層和1個(gè)全連接層兼輸出層。1D-CNN的具體結(jié)構(gòu)如圖2所示。鑒于本設(shè)計(jì)的 NIRS 數(shù)據(jù)維度為1125,共有4個(gè)類別,因此輸入層的數(shù)據(jù)格式為1125,輸出層的神經(jīng)元數(shù)量為4。
圖2 1D-CNN的具體結(jié)構(gòu)圖
在深度學(xué)習(xí)網(wǎng)絡(luò)的搭建中,深度是提升網(wǎng)絡(luò)表征能力的重要方向。本設(shè)計(jì)將傳統(tǒng)一維卷積神經(jīng)網(wǎng)絡(luò)改進(jìn)成一維超深度卷積神經(jīng)網(wǎng)絡(luò)模型。核心設(shè)計(jì)是將傳統(tǒng)1D-CNN的隱含層分為兩個(gè)部分——特征層和分類層。其中,傳統(tǒng)1D-CNN的隱含層包含卷積層、池化層和全連接層。具體設(shè)計(jì)如下:
步驟一:將傳統(tǒng)1D-CNN的隱含層分為兩個(gè)部分--特征層和分類層。
步驟二:對(duì)特征層的設(shè)計(jì)轉(zhuǎn)換為約束優(yōu)化設(shè)計(jì)。
本設(shè)計(jì)引入一個(gè)值C:
(1)
式(1)中,nconc為實(shí)際的卷積核大小,nfield為感受野大小,即特征圖大小。圖3為一維超深度卷積神經(jīng)網(wǎng)絡(luò)的特征層模型,總共有四大卷積層,每?jī)蓪又芯訛椴介L(zhǎng)為2的下采樣。其中每層感受野大小采用數(shù)組表示,如第一大層采用三個(gè)1×5,[5:4:13],具體含義為范圍是5到13,每隔步長(zhǎng)4取一個(gè)數(shù),即取數(shù)值5、9、13。即大小為1×k的卷積核,在經(jīng)過一次步長(zhǎng)為2的下采樣后,它的nconc為1×(2+k);再經(jīng)過一次步長(zhǎng)為2的下采樣后,它的nconc為1×(4+k),即nconc經(jīng)過n次步長(zhǎng)為2的下翻倍為1×(2+k)。本設(shè)計(jì)的一維超深度卷積神經(jīng)網(wǎng)絡(luò)的明確約束條件:每個(gè)卷積層的C值取1/6。
步驟三:分類層的設(shè)計(jì),去掉全連接層,用多個(gè)卷積層替代。分類層優(yōu)化方案如圖4所示。
根據(jù)上述理論設(shè)計(jì)的一維超深度卷積神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)如圖5所示,網(wǎng)絡(luò)層的具體信息如表1所示。
表1 一維超深度卷積神經(jīng)網(wǎng)絡(luò)的詳細(xì)信息表
圖5 一維超深度卷積神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)
本文實(shí)驗(yàn)采用的儀器是美國(guó)的微型近紅外光譜儀(型號(hào)為MicroNIR 1700)。樣本是在收獲旺季(5-9月),從包括山東、重慶、河南與河北在內(nèi)的我國(guó)主要金銀花產(chǎn)地所采集的金銀花。樣本覆蓋地相對(duì)比較廣,各個(gè)地區(qū)均涵蓋多個(gè)縣鄉(xiāng)。
光譜采集的主要步驟如下。首先,收集鮮品樣本;然后,經(jīng)過烘干機(jī)將鮮品樣本烘干(60 ℃);接著,平鋪已烘干的金銀花樣本,平鋪的厚度大于等于5 mm;最后,采用漫反射原理,把光譜儀對(duì)準(zhǔn)金銀花樣本。每掃描一次,將光譜儀的光斑區(qū)挪動(dòng)一次,重復(fù)以上步驟重新采集一次,每個(gè)樣本共進(jìn)行5次采集并取均值,最終獲取所有樣本的近紅外光譜數(shù)據(jù)。
光譜儀采集數(shù)據(jù)時(shí)的的參數(shù)設(shè)置如下:所采集的數(shù)據(jù)光譜波長(zhǎng)為908至1 676 nm,獲取每個(gè)光譜需50次的重復(fù)掃描,同時(shí)以8 000 μs作為單次積分的時(shí)間。
首先,本設(shè)計(jì)分析數(shù)據(jù)為不同產(chǎn)地的金銀花的近紅外光譜數(shù)據(jù),每個(gè)光譜包括125個(gè)光譜點(diǎn)。在進(jìn)行金銀花近紅外光譜數(shù)據(jù)的輸入之前,本設(shè)計(jì)采用KS(kennard-stone)法進(jìn)行樣本預(yù)處理。而后,對(duì)635個(gè)樣本使用shuffle算法,按7∶3的比例劃分為訓(xùn)練集和驗(yàn)證集(445∶190)。具體的樣本數(shù)據(jù)劃分如表2所示。
表2 樣本數(shù)據(jù)劃分
3.2.1 傳統(tǒng)1D-CNN 模型的實(shí)驗(yàn)數(shù)據(jù)結(jié)果
本文實(shí)驗(yàn)采用前文所建立的傳統(tǒng)1D-CNN模型來鑒別四種不同產(chǎn)地的金銀花。具體參數(shù)見前文。
近紅外光譜數(shù)據(jù)的1D-CNN模型對(duì)訓(xùn)練集的訓(xùn)練精確值(accuracy,ACC)結(jié)果如圖6所示。由圖6可知,當(dāng)該模型的訓(xùn)練次數(shù)為78后,模型對(duì)訓(xùn)練集對(duì)象鑒別的精確值達(dá)到100%,對(duì)驗(yàn)證集對(duì)象的鑒別精確值達(dá)到了99.5%。準(zhǔn)確度效果良好。但當(dāng)訓(xùn)練次數(shù)達(dá)到170次左右時(shí),模型訓(xùn)練集與驗(yàn)證集的ACC均發(fā)生大幅度振蕩。因CNN模型的訓(xùn)練評(píng)估過程中,ACC不是模型的優(yōu)化目標(biāo),其損失函數(shù)(loss)才是模型的優(yōu)化目標(biāo)。如圖7所示為本設(shè)計(jì)1D-CNN模型的損失函數(shù)結(jié)果。由圖7可知,當(dāng)訓(xùn)練集和驗(yàn)證集的loss值在訓(xùn)練次數(shù)為170次左右時(shí),同樣發(fā)生了較大幅度的振蕩,由此可確定該模型此時(shí)產(chǎn)生過擬合,導(dǎo)致了精確值和損失函數(shù)值發(fā)生了大幅度的振蕩。因此,如果將這個(gè)1D-CNN模型應(yīng)用于實(shí)際場(chǎng)景時(shí),可以將訓(xùn)練次數(shù)(epoch)調(diào)整為78~170區(qū)間中的一個(gè)合適的值來防止模型發(fā)生過擬合。
圖6 1D-CNN模型的準(zhǔn)確度(ACC)變化曲線
圖7 1D-CNN模型的損失函數(shù)值(loss)變化曲線
3.2.2 一維超深度卷積神經(jīng)網(wǎng)絡(luò)模型的實(shí)驗(yàn)數(shù)據(jù)結(jié)果
圖8為一維超深度卷積神經(jīng)網(wǎng)絡(luò)(one dimensional very deep convolutional neural network,1D-VD-CNN)模型精確值隨訓(xùn)練次數(shù)變化的曲線。由圖8可知,當(dāng)訓(xùn)練次數(shù)為87時(shí),訓(xùn)練集的精確值便可穩(wěn)定在100%;當(dāng)訓(xùn)練次數(shù)為106次后,測(cè)試集的精確值則穩(wěn)定在99.57%。同時(shí)該模型在200次訓(xùn)練過程中,未發(fā)生1D-CNN模型在第170次訓(xùn)練時(shí)出現(xiàn)的大幅度振蕩。圖9是該模型的損失函數(shù)值隨訓(xùn)練次數(shù)變化的曲線,訓(xùn)練集和驗(yàn)證集的損失函數(shù)值分別在第86次和第107次訓(xùn)練后基本收斂穩(wěn)定在0.005~0.01這個(gè)區(qū)間,同時(shí)未發(fā)生過擬合。
圖9 一維超深度卷積神經(jīng)網(wǎng)絡(luò)模型的損失函數(shù)值隨訓(xùn)練次數(shù)變化的曲線
3.2.3 兩種模型的性能比較
為進(jìn)一步驗(yàn)證本設(shè)計(jì)的優(yōu)點(diǎn),如圖10為兩種模型在訓(xùn)練次數(shù)100~199區(qū)間的損失函數(shù)值對(duì)比。由圖10可知,兩個(gè)模型(藍(lán)色和綠色)對(duì)訓(xùn)練集的損失函數(shù)值相近,但1D-VD-CNN模型對(duì)驗(yàn)證集的損失函數(shù)值要小很多,1D-CNN模型的損失函數(shù)值(紅色)收斂于0.03附近,而1D-VD-CNN模型的損失函數(shù)值(橙色)收斂于0.007附近,表明1D-VD-CNN比1D-CNN具有更好的學(xué)習(xí)能力,可以提取更多的數(shù)據(jù)特征,對(duì)未知的數(shù)據(jù)也有更強(qiáng)的識(shí)別能力。
圖10 兩種模型的loss值對(duì)比
為了保證模型訓(xùn)練運(yùn)行盡量小和效果盡量好的前提下,本設(shè)計(jì)的兩個(gè)模型均選擇100次訓(xùn)練,以相同樣本數(shù)據(jù)進(jìn)行訓(xùn)練檢測(cè)。表3是兩個(gè)模型的性能指標(biāo)和復(fù)雜度對(duì)比。以下結(jié)果取5次訓(xùn)練平均值。由表3可知,雖然訓(xùn)練時(shí)間成本需要提高10 s左右,但因進(jìn)行檢測(cè)前已完成訓(xùn)練,因此該因素的影響可忽略。結(jié)果中的一維超深度卷積神經(jīng)網(wǎng)在保證準(zhǔn)確率優(yōu)于1D-CNN模型的同時(shí),其擁有更小的損失函數(shù)值,并且參數(shù)量(params)和FLOPs均有所下降。由此可知,一維超深度卷積神經(jīng)網(wǎng)絡(luò)可以更準(zhǔn)確、高效地提取一維數(shù)據(jù)特征,更好地實(shí)現(xiàn)金銀花NIRS分類識(shí)別。
表3 兩個(gè)模型的評(píng)價(jià)指標(biāo)對(duì)比
本文設(shè)計(jì)提出一種基于一維超深度卷積神經(jīng)網(wǎng)絡(luò)的金銀花NIRS分類模型。根據(jù)NIRS數(shù)據(jù)特點(diǎn),去掉了傳統(tǒng)1D-CNN結(jié)構(gòu)中的全連接層,同時(shí)通過每2個(gè)小卷積中加入一個(gè)步長(zhǎng)為2的下采樣,增加卷積層至8個(gè)。與傳統(tǒng)的結(jié)構(gòu)化1D-CNN 模型對(duì)比,改進(jìn)的一維超深度卷積神經(jīng)網(wǎng)絡(luò)模型在保證高精度識(shí)別性能的同時(shí)降低了復(fù)雜度,其具有更好的高維數(shù)據(jù)分析能力,同時(shí)降低了過擬合。綜上所述,基于NIRS分類識(shí)別技術(shù)的一維超深度卷積神經(jīng)網(wǎng)絡(luò)模型可以快速有效地對(duì)金銀花進(jìn)行產(chǎn)地溯源,使得金銀花的鑒別工具更具有實(shí)用性。