賓俊王志國杜文鐘科軍陳增萍
(1.湖南中煙工業(yè)有限責任公司技術(shù)中心,湖南 長沙 410007;2.湖南大學(xué)化學(xué)化工學(xué)院,湖南 長沙 410082)
近紅外光譜是一種簡單、快速、綠色、非破壞性的分析技術(shù),已廣泛應(yīng)用于煙草常規(guī)化學(xué)成分、無機元素、物理指標和煙氣成分的檢測等[1,2];在煙葉分級、卷煙配方識別、卷煙輔料分析和在線質(zhì)量控制等方面也得到成功應(yīng)用[3]。隨著煙草行業(yè)近紅外光譜數(shù)據(jù)的不斷積累,模型會越來越大,使用深度學(xué)習(xí)方法構(gòu)建模型勢在必行,深度學(xué)習(xí)由于具有強大的多層次特征學(xué)習(xí)和提取能力,可彌補傳統(tǒng)機器學(xué)習(xí)方法函數(shù)形式簡單、特征提取依賴經(jīng)驗的缺陷,已逐漸成為多元信號建模的有力工具[4],在煙草行業(yè)、光譜數(shù)據(jù)分析方面都獲得了大量應(yīng)用[5]。如果訓(xùn)練樣本足夠,深度神經(jīng)網(wǎng)絡(luò)的準確性和魯棒性高于傳統(tǒng)的機器學(xué)習(xí)算法[6,7]。
但是,隨著近紅外光譜技術(shù)應(yīng)用場景的日益復(fù)雜,測量環(huán)境溫度/濕度變化、儀器或其配件/精度改變、樣品物理狀態(tài)/化學(xué)成分變化等,2次測量光譜之間的吸光度差異、波長漂移、背景漂移是不可避免的[8,9],與傳統(tǒng)機器學(xué)習(xí)方法類似,大多數(shù)深度學(xué)習(xí)模型對儀器和樣品也具有高度特異性,因而基于源域的深度學(xué)習(xí)模型無法直接應(yīng)用于目標域樣品的預(yù)測[10]。通常目標域數(shù)據(jù)樣本量較小,重新建模效果較差,為提高預(yù)測準確率,降低建模成本,可采用遷移學(xué)習(xí)將訓(xùn)練成功的源域模型作為預(yù)訓(xùn)練網(wǎng)絡(luò),而已經(jīng)訓(xùn)練好的模型對相似的新樣品數(shù)據(jù)具有極高的特征提取能力,經(jīng)過微調(diào)更改相關(guān)層,共享相關(guān)參數(shù)信息,可以完成對目標域樣品的預(yù)測任務(wù)[11,12]?;诖耍疚臄M通過深度模型轉(zhuǎn)移策略消除不同儀器、不同物理狀態(tài)對煙葉檢測的影響,利用一臺儀器上已成功構(gòu)建的煙粉總糖卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型實現(xiàn)對新儀器上煙絲樣品總糖含量的準確預(yù)測,以期提高模型應(yīng)用效率、降低建模成本。
本研究收集煙粉樣品330個、煙絲樣品100個,源機為MPA傅里葉變換近紅外光譜儀(德國Bruker Optics公司),目標機為Antaris Ⅱ傅里葉變換近紅外光譜儀(美國Thermo Fisher Scientific公司)。利用源機測量煙粉樣品的光譜,目標機測量煙絲樣品的光譜,測量的波長范圍為4000~10000cm-1,每條光譜包含1555個波長點。所有樣品的總糖含量參照煙草標準YC/T 159-2002測定。采用Norris一階導(dǎo)數(shù)濾波結(jié)合平滑法對源機和目標機所有近紅外光譜進行預(yù)處理,預(yù)處理前后的近紅外光譜見圖1。
圖1 煙葉近紅外光譜圖
采用Kennard-Stone樣本劃分方法[13]按照7∶1∶2的比例將煙粉光譜數(shù)據(jù)劃分為訓(xùn)練集、驗證集和測試集。訓(xùn)練集和驗證集用于深度學(xué)習(xí)模型的訓(xùn)練和參數(shù)優(yōu)化,測試集用于深度學(xué)習(xí)模型性能測試。為了傳遞模型,將煙絲光譜數(shù)據(jù)按照5∶1∶4的比例劃分為微調(diào)訓(xùn)練集、微調(diào)驗證集和外部測試集。微調(diào)訓(xùn)練集和微調(diào)驗證集用于轉(zhuǎn)移模型的深度模型轉(zhuǎn)移和參數(shù)優(yōu)化,而外部測試集用于轉(zhuǎn)移模型的效果測試,具體的數(shù)據(jù)集劃分結(jié)果見表1。
表1 樣本信息統(tǒng)計
卷積神經(jīng)網(wǎng)絡(luò)(CNN)[14,15]是一種典型的前饋神經(jīng)網(wǎng)絡(luò),在圖片、人臉和語音識別領(lǐng)域表現(xiàn)突出。CNN的基本結(jié)構(gòu)通常由卷積層、池化層和全連接層3個部分組成。卷積層的目的是不斷地學(xué)習(xí)輸入的樣本特征。池化層的主要作用是控制實現(xiàn)圖像或者數(shù)據(jù)的空間不變形,降低特征圖的分辨率,將前一層所有的神經(jīng)元與當前層的每個神經(jīng)元相連接。全連接層的作用是將輸出傳遞到輸出層。
由于煙葉近紅外光譜是一維向量,本研究設(shè)計了一個包括2個卷積層、2個批歸一化層和2個全連接層的一維CNN(1D-CNN)模型,見表2。與許多用于圖像識別問題的二維CNN模型由一系列卷積層和池化層組成不同,僅使用2個分別帶有16個、32個卷積核的卷積層??紤]到輸入向量尺寸小和網(wǎng)絡(luò)層數(shù)少,沒有使用池化層,因為池化層可能會導(dǎo)致信息丟失。在每次卷積運算后應(yīng)用線性整流函數(shù)(ReLU)變換以確保非線性。卷積層后設(shè)置批歸一化(BN)層用于加速網(wǎng)絡(luò)收斂,改善梯度彌散,提高網(wǎng)絡(luò)的泛化能力。轉(zhuǎn)換后的數(shù)據(jù)分別流經(jīng)128個和64個神經(jīng)元的2個全連接層,激活函數(shù)設(shè)置為ReLU。用1個單一神經(jīng)元全連接層的線性激活函數(shù)來實現(xiàn)回歸分析。
為了提高優(yōu)化算法的收斂性,采用“He_normal”對各層的權(quán)值進行初始化,使用自適應(yīng)矩優(yōu)化算法(Adam)進行模型優(yōu)化,可以自適應(yīng)學(xué)習(xí)速率,初始學(xué)習(xí)率(LR)根據(jù)LR=0.01×(批處理大小)/256設(shè)置,在訓(xùn)練過程中不斷迭代減小,減少訓(xùn)練初始階段的收斂時間,并且通過逐步減小LR步長,使Adam算法能夠逼近極小值。使用均方誤差(MSE)作為損失函數(shù),在訓(xùn)練過程中觀察損失函數(shù)變化,若經(jīng)過一定次數(shù)的歷元,驗證集損失函數(shù)趨于穩(wěn)定或增大,則停止訓(xùn)練。
表2 卷積神經(jīng)網(wǎng)絡(luò)設(shè)置
本文所構(gòu)建的CNN模型主要分為3個部分:卷積層的特征增強/提取,全連接層非線性建模部分和映射到響應(yīng)變量的最終輸出層。計算機視覺領(lǐng)域中廣泛使用的遷移學(xué)習(xí)方法是通過凍結(jié)特征增強/提取部分(將先前學(xué)習(xí)的權(quán)重保持為常數(shù))來適應(yīng)新任務(wù),并允許重新訓(xùn)練其他層(全連接層和輸出層)上的權(quán)重以適應(yīng)新場景。假設(shè)由卷積層從第一圖像集提取的低水平特征對所有圖像都是通用的,并且只需要根據(jù)目標數(shù)據(jù)以不同的方式組合。這些低層特征也被認為是空間不變量,即CNN可以在圖像中的任何地方找到這些模式。有研究表明,使用正確的結(jié)構(gòu)構(gòu)建的一維CNN應(yīng)用于特定類型的光譜,也可以實現(xiàn)光譜特征的類似平移不變性。
圖2 深度模型轉(zhuǎn)移流程圖
由于本研究包括儀器不同、樣品狀態(tài)不同2種差異,凍結(jié)卷積層可能無法達到與二維CNN相同的效果。這是因為在許多情況下儀器的差異是局部的,但是樣品狀態(tài)的差異是全局的,可能需要重新訓(xùn)練卷積層的權(quán)重。但是,也不應(yīng)完全替換全連接層中的權(quán)重,因為其已經(jīng)學(xué)習(xí)到了卷積層提取的特征與響應(yīng)變量之間的一些有用映射關(guān)系,遷移學(xué)習(xí)過程是通過在一個小的新數(shù)據(jù)集上重新訓(xùn)練模型來微調(diào)這些預(yù)先學(xué)習(xí)的權(quán)重,少量的數(shù)據(jù)樣本足以擴展神經(jīng)網(wǎng)絡(luò)的“信息/知識”[10,16]。因此,本文深度模型遷移策略是全連接層用預(yù)先訓(xùn)練的權(quán)重初始化,并利用新的微調(diào)數(shù)據(jù)對模型進行重新訓(xùn)練,具體流程圖見圖2。
模型的評價參數(shù)選擇相關(guān)系數(shù)(R2)和均方根誤差(RMSE),R2越大,表明分析組分與模型預(yù)測結(jié)果的相關(guān)性越好,RMSE越小,表明預(yù)測性能越好,模型傳遞的效果越好。
所有光譜數(shù)據(jù)預(yù)處理、模型轉(zhuǎn)移計算均使用Python(v3.8.2)平臺上完成。此外,CNN模型的訓(xùn)練和驗證都是使用Keras庫(v2.4.3)和TensorFlow(v2.4.0)后端實現(xiàn)的。所有操作都是采用英特爾核心1.8GHz CPU、16GB內(nèi)存和Windows操作系統(tǒng)的電腦完成。
煙粉和煙絲的光譜如圖1所示。從圖1可知,相對來說,煙粉的光譜平均響應(yīng)較煙絲的響應(yīng)低,且2臺儀器光譜之間有輕微的峰漂移,在整個光譜范圍內(nèi)都存在。引起這種差異的因素可能是儀器光源、檢測器和樣品狀態(tài)的不同。因此,如果在一臺儀器光譜上建立的模型用于新儀器采集光譜的預(yù)測時,由于2個應(yīng)用場景存在的差異,預(yù)測結(jié)果不會太好。所以,校正差異的模型轉(zhuǎn)移是必須的。
為了獲得較高的預(yù)測精度,需要對CNN模型訓(xùn)練中的幾個關(guān)鍵參數(shù)進行優(yōu)化,本文研究了卷積核大小、批處理大小和歷元次數(shù)對模型的影響。
2.2.1 卷積核大小
研究了卷積核大小對CNN模型的影響,分別計算卷積核尺寸為5、9、13、17、21、25和35的預(yù)測誤差,如圖3a所示,卷積核大小對CNN預(yù)測結(jié)果的影響較小,當卷積核大小設(shè)置為13時,校正集和驗證集的預(yù)測均方根誤差達到最小。因此,在CNN模型構(gòu)建中,卷積核大小被設(shè)置為13。
2.2.2 批處理大小
采用批處理方法對數(shù)據(jù)集進行分割,可以加快更新參數(shù),適當?shù)呐幚泶笮∮兄谀P陀?xùn)練。實驗比較了16、32、64、128和256的批處理大小對模型的影響,如圖3b所示,當批處理大小為32時,驗證集的預(yù)測誤差最低。因此,批處理大小被設(shè)置為32。
2.2.3 歷元次數(shù)
歷元次數(shù)是CNN模型構(gòu)建中的一個重要參數(shù)。如果歷元太小,模型的泛化能力就不高。如果歷元過大,模型很容易過度擬合,需要大量的訓(xùn)練時間。為了評估歷元大小對模型性能的影響,歷元大小為50、100、150、200和300的CNN模型預(yù)測結(jié)果如圖3c所示。當歷元較小時,模型訓(xùn)練不足,分類精度較低。分類精度隨歷元大小的增加而增加。當歷元次數(shù)大于150時,預(yù)測結(jié)果變化不大,趨于穩(wěn)定。因此,CNN建模的歷元次數(shù)設(shè)置為150。
表3為煙粉和煙絲偏最小二乘(PLS)[17]、CNN模型的性能參數(shù),CNN模型參數(shù)為運行5次的平均值。從表3可知,煙粉的PLS模型預(yù)測性能略優(yōu)于CNN模型,總體相差不大,而煙絲的CNN模型預(yù)測性能略優(yōu)于PLS模型,總體而言,煙粉的PLS和CNN模型預(yù)測性能皆優(yōu)于煙絲模型,可以獲得令人滿意的結(jié)果。因此,將煙粉模型進行轉(zhuǎn)移用于煙絲樣品的預(yù)測是可行的。
圖3 卷積神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化
表3 建立的煙粉、煙絲光譜PLS、CNN模型性能參數(shù)
圖4 煙絲測試集預(yù)測散點圖
采用上節(jié)建立的煙粉PLS模型和CNN模型直接用于預(yù)測新儀器采集的煙絲光譜,預(yù)測的Rp2分別為-0.870和0.613、RMSEP值分別為9.30和4.23,結(jié)果見表4。這說明用煙粉模型直接預(yù)測煙絲光譜無法得到較好的結(jié)果。RMSEP的急劇增大是由于不同儀器、不同物理狀態(tài)之間的光譜有較大差異,導(dǎo)致模型不能通用。
進一步采用模型轉(zhuǎn)移方法對煙粉PLS模型和CNN模型進行了轉(zhuǎn)移研究。由于沒有標準樣品,考慮使用無標樣方法——線性模型校正(LMC)[18]對煙絲光譜進行標準化,使之適合煙粉PLS模型的預(yù)測。通過深度模型轉(zhuǎn)移,將煙粉CNN網(wǎng)絡(luò)結(jié)構(gòu)遷移到煙絲光譜的預(yù)測,預(yù)測集散點圖見圖5,可以注意到,2種模型轉(zhuǎn)移方法都能使RMSEP值顯著降低,Rp2顯著提高,并且深度學(xué)習(xí)模型的傳遞性能優(yōu)于PLS模型。因此,只需要在新儀器上測量少量新樣品,通過深度模型轉(zhuǎn)移方法就可以恢復(fù)深度模型在新場景的預(yù)測能力。在許多情況下,用戶無法得到大量樣品,使用盡可能少的樣品可以減少實驗負擔以節(jié)省時間和成本。
隨著近紅外光譜技術(shù)在煙草行業(yè)的廣泛應(yīng)用,在特定儀器上已經(jīng)獲得了多年和多次實驗的大量數(shù)據(jù),并且開發(fā)了有價值的模型。假設(shè)舊儀器損壞,無法獲得標準樣品數(shù)據(jù),常規(guī)模型轉(zhuǎn)移方法無法使用[19]。在這種情況下,深度模型轉(zhuǎn)移就可發(fā)揮作用,只需要少量新數(shù)據(jù)就可以微調(diào)模型,校正儀器響應(yīng)和物理狀態(tài)的全局和局部差異,使之適用于新場景的預(yù)測。因此,對深度模型進行轉(zhuǎn)移研究,具有較高的研究價值。
表4 煙絲光譜預(yù)測結(jié)果
圖5 煙絲測試集預(yù)測散點圖
與傳統(tǒng)化學(xué)計量學(xué)多元校正模型一樣,深度學(xué)習(xí)模型直接用于預(yù)測新儀器/樣品狀態(tài)檢測的光譜無法得到滿意的結(jié)果。為了實現(xiàn)煙粉深度學(xué)習(xí)模型在多次檢測之間的通用,本文通過一種深度模型轉(zhuǎn)移策略,基于模型微調(diào)的概念,使用少量新儀器采集的煙絲樣品光譜,對已成功構(gòu)建的煙粉深度學(xué)習(xí)模型的全連接層進行重新訓(xùn)練,校正2次檢測光譜之間的差異,實現(xiàn)對深度模型的轉(zhuǎn)移。轉(zhuǎn)移學(xué)習(xí)后的模型能夠?qū)崿F(xiàn)對煙絲總糖的有效預(yù)測,與煙絲直接建立的PLS和CNN模型相比,預(yù)測R2分別提高了24.4%和16.2%、RMSEP值分別降低了33.2%和27.2%。無標樣深度模型轉(zhuǎn)移方法能應(yīng)用于源機設(shè)備無法再次使用的情況,具有較好的應(yīng)用前景。