王妞,宦克為,傅鉦淇,劉賦偉,王迪
(1.長春理工大學 物理學院,長春 130022;2.中移建設有限公司吉林分公司,長春 130112)
近紅外光譜(Near Infrared Spectroscopy,NIRS)技術是一種高效、可靠、無損的分析方法,被廣泛應用在藥物[1-2]、食品[3]、煙草[4]和其他化學物質成分定性和定量分析中。然而,近紅外光譜數據量的激增給常用模型的泛化能力和預測精度帶來了重大挑戰,傳統的建模方法都出現其不足之處,如偏最小二乘(Partial Least Squares,PLS)[5]無法有效對非線性關系進行擬合、支持向量回歸(Support Vector Regression,SVR)[6]在數據較多時預測精度差、BP 神網絡(Back Propagation,BP)[7]無法有效避免過擬合現象出現并且運算速度慢等。隨著機器學習的不斷發展,基于卷積神經網絡的近紅外光譜分析技術可以實現比傳統方法更有效地對不同的物質進行定性定量分析,并得到了廣泛應用。Feng 等人[8]通過卷積神經網絡結合不同光譜預處理方法對芒果中干物質進行了定量分析;Bian 等人[9]基于極限學習機對柴油組分進行了預測,獲得了較好的預測結果;Mishra 等人[10]利用最小二乘支持向量機和近紅外光譜分析了柴油的沸點、十六烷值、密度、冷凍溫度、總芳烴和粘度;魏錦山等人[11]基于深度學習和近紅外光譜實現砂土、壤土、黏壤土和黏土的快速區分;談愛玲等人[12]基于近紅外光譜與深度學習融合對玉米成分進行定量檢測。為了提升預測精度和泛化能力,本研究以啤酒、牛奶、柴油、谷物公共數據集為研究對象,采用高效通道注意力(Efficient Channel Attention,ECA)結合卷積神經網絡(Convolutional Neural Network,CNN)建立了不同物質成分預測的近紅外光譜分析模型。該模型與PLS、SVR、BP 神經網絡相比,在啤酒、牛奶、柴油和谷物公共數據集上有更好的預測精度和魯棒性。
啤酒樣本共60 個,其數據來源于參考文獻[13]。啤酒樣本校正集與預測集的酵母含量分布如表1 所示,本研究采用K-S 方法將其中42 個樣本光譜和化學值選作校正集[14],其余18 個樣本光譜和化學值作為預測集。啤酒樣本的近紅外光譜數據如圖1(a)所示,每個啤酒樣本的酵母含量用化學方法測量得到,近紅外光譜波長間隔為2 nm,波長范圍為1 100~2 250 nm。

圖1 不同樣本集的近紅外光譜

表1 校正集和預測集中物質含量統計分布
牛奶樣本共67 個,牛奶樣本校正集與預測集的蛋白質含量分布如表1 所示。數據來源于參考文獻[15]。本研究采用K-S 方法將其中40個樣本光譜和化學值選為校正集,其余的27 個樣本光譜和化學值作為預測集。牛奶樣本的近紅外光譜數據如圖1(b)所示,每個樣本的蛋白質含量用化學方法測量所得,每個光譜掃描的波長范圍為1 000~2 500 nm,掃描間隔為4 nm,掃描32 次取平均值。
柴油樣本共395 個,其數據來源于公共數據(https://eigenvector. com/resources/data-sets/)。 柴油樣本校正集與預測集的冰點分布如表1 所示,柴油樣本的近紅外光譜數據如圖1(c)所示。本研究每個樣本的冰點用化學方法測量所得,波長范圍為750~1 550 nm,其近紅外光譜數據由美國西南研究所測量得到。本研究采用K-S 方法將305 個樣本光譜和化學值選為校正集,其余的90 個樣本光譜和化學值作為預測集。
谷物樣本共231 個,谷物樣本校正集與預測集的乳酸含量分布如表1 所示,其數據來源于公共數據(https://eigenvector.com/resources/data-sets/)。每個谷物樣本的乳酸含量用化學方法測量所得,波長范圍為1 104~2 495 nm。谷物樣本的近紅外光譜數據如圖1(d)所示。本研究采用K-S 方法將153 個樣本光譜和化學值選為校正集,其余的78 個樣本光譜和化學值作為預測集。
近紅外光譜分析模型(Convolutional Neural Network with Efficient Channel Attention,CNNECANet)結構如圖2 所示。該模型包括1 個ECA 模塊、8 個一維卷積層、4 個最大池化層、1 個展平層、1 個超參數優化器和2 個全連接層,每個部分都由字母標記為C1、C2、C3、C4、C5、C6、C7、C8、F1、M1、M2、M3、M4、D1 和D2,如圖2 所示。其中,一維卷積層的卷積核大小為3,卷積步長為1,卷積核數目分別為16、16、64、64、128、128、64和64,激活函數為relu,使用填充;每兩個卷積后緊跟一個最大池化層,縮小比例因數為2,最大池化窗口大小為2;然后是展平層;全連接層的輸出維度分別為64 和1,第一個激活層的激活函數為relu;在M2 后插入ECA 模塊,該模塊由一維全局平均池化層、一維卷積層和Sigmoid 激活函數組成,一維卷積層的卷積核數目為1,根據特征圖的通道數計算得到自適應卷積核大小,模型超參數設置如表2 所示。該模型通過隨機初始化的方式進行實驗,訓練過程采用均方誤差(MSE)損失函數和Adam 優化器,MSE 具體計算公式如下:

表2 CNNECANet在四個數據集上的超參數
CNNECANet 是基于一維卷積神經網絡和ECA注意力機制搭建的。卷積神經網絡的基本結構主要包括輸入層、卷積層、池化層、全連接層和輸出層[16]。通過卷積層中的卷積核對輸入層特征進行提取,同一特征權值共享[11],激活函數為relu,為模型引入非線性關系。本研究選擇最大池化方法,通過池化層壓縮數據、減少參數量能夠使模型避免過擬合。展平層用來將輸入“壓平”,即把多維的輸入一維化,常用在從卷積層到全連接層的過渡。全連接層作線性變換,起到“分類器”或者“回歸器”的作用,提高模型預測精度增強穩定性。ECA 具有自適應核大小的一維卷積,Sigmoid 函數能夠實現對每個通道的重要性進行預測,由此可以得到模型各個通道的權重,更有效地對光譜內部特征進行自動提取,該方法在較低的模型復雜度下獲得了更好的性能。模塊在對卷積特征進行聚合后,首先自適應確定核大小k,進行一維卷積,然后使用Sigmoid 函數學習通道注意。
詳細步驟如下:
(1)整理啤酒、牛奶、柴油、谷物的近紅外光譜公共數據,使用K-S 算法分為校正集和預測集。
(2)設置模型迭代次數為50。
(3)樣本光譜數據進入卷積層C1、C2,通過卷積運算提取16 個通道的特征向量。
(4)提取的特征向量進入最大池化層M1,選擇每個子區域最大值,并使用子區域最大值表示該子區域。
(5)通過最大池化層的特征向量依次進入模型C3、C4 層和M2 層,輸出64 個通道的特征向量。
(6)根據特征圖的通道數計算得到自適應的一維卷積核大小kernel_size。
(7)64 個通道的特征向量進入ECA 模塊的全局平均池化層,對輸入特征圖進行空間特征壓縮,得到通道數為1 的特征圖。
(8)將kernel_size 用于一維卷積中,對壓縮后的特征圖進行通道特征學習,輸入和輸出通道數都是1。
(9)然后是Sigmoid 激活函數,權值歸一化,將原輸入特征圖和歸一化權重逐通道相乘,生成加權后的特征圖,特征向量的通道為64。
(10)64 個通道的特征向量依次進入C5、C6、M3、C7、C8 和M4,輸出64 個通道的特征向量。
(11)輸出的64 特征向量進入展平層F1,展平操作將其展平成一維向量。
(12)經過展平的特征向量依次進入到全連接層D1、D2,經過線性變換得到預測值。
(13)使用MSE 計算預測值和真實值之間的差距,使用Adam 優化器優化模型參數。
(14)超參數優化器根據預測結果的準確性選擇最優超參數。
(15)依據模型參數和最優的超參數保存最優CNNECANet。
本研究使用校正均方根誤差(RMSEC)、校正集相關系數(R2c)、預測均方根誤差(RMSEP)、預測集相關系數(R2p)和相對分析誤差(RPD)對模型進行評價,公式如下:
式中,Nc為校正集樣本數;Np為預測集樣本數;、分別為校正集樣品平均值和預測集樣品平均值;yc i、分別為校正集第i個樣品的實際值和預測值;yp i分別為預測集第i個樣品的實際值和預測值;SD 是預測集樣本的標準差。
將校正集原始光譜分別輸入PLS、SVR、BP網絡模型,不同建模方法均運行50 次,對啤酒、牛奶、柴油、谷物四個公共數據集進行預測。CNNECANet、PLS、SVR 和BP 模型均使用keras 機器學習庫搭建和訓練,最終統計CNNECANet、PLS、SVR 和BP 模型的預測結果。啤酒、牛奶、柴油、谷物的建模統計結果如表3 所示,其中,表示取平均值。

表3 不同建模方法統計結果
對比PLS、SVR、BP、CNNECANet 四種不同模型預測結果可知,CNNECANet 模型的泛化能力和預測精度都比其他三種模型更好。在啤酒酵母含量的預測中,CNNECANet 的RMSEP 值分別比PLS、SVR 和BP 減少0.175、0.203 和2.943,建模精度分別提升了30.3%、33.5%和80.0%;在牛奶蛋白質含量預測中,CNNECANet 的RMSEP 值分別比PLS、SVR 和BP 減少0.08、0.104 和0.2,建模精度分別提升了14.1%、17.6%和29.0%;在柴油冰點的預測中,CNNECANet 的RMSEP 值分別比PLS、SVR 和BP 減少2.639、4.018 和0.49,建模精度分別提升了29.5%、39.0%和7.2%;在谷物乳酸的預測中,CNNECANet 的RMSEP 值分別比PLS、SVR 和BP 減少5.296、5.654 和4.196,建模精度提升了48.4%、50.0% 和42.7%。由表3 可知,PLS、SVR 和BP 模型的RMSEP 與RMSEC 差值較大,說明這些模型預測誤差較大,可能存在過擬合現象;而CNNECANet 模型相較之下,其RMSEP 與RMSEC 差值較小,說明該模型并未出現過擬合,同時,CNNECANet 的RPD 平均值相較于PLS、SVR 和BP 均有所增大,說明CNNECANet 有更好的泛化能力和魯棒性。
綜上,CNNECANet 的卷積層和激活函數提供了更好的非線性表征,使用最大池化避免了模型出現過擬合,同時結合ECA 注意力模塊,以少量參數增加模型復雜度,提升模型性能。因此,相較于PLS、SVR 和BP 模型,CNNECANet 有更好的魯棒性和預測精度。
CNNECANet 是一種結合了ECA 注意力模塊與卷積神經網絡的近紅外光譜分析模型。四種不同的模型在啤酒、牛奶、柴油和谷物的公共近紅外光譜數據集上進行預測,結果表明,CNNECANet 比PLS、SVR 和BP 模型有更好的魯棒性和預測精度。CNNECANet 模型通過卷積層提取輸入層的特征信息,采用relu 激活函數讓模型獲得更好的非線性表征,使用最大池化層減少參數量,采用ECA 模塊降低模型復雜程度并增強了模型性能,通過全連接層提供更好線性表征。與PLS、SVR 和BP 模型相比,CNNECANet 減少了過擬合的現象,增強了模型的泛化能力并提高了預測精度,使模型具有更好的魯棒性。