鄧志揚,廖 強,邵淑娟,劉 軍,
(1.中國農業大學食品科學與營養工程學院,北京 100083;2.菏澤市食品藥品檢驗檢測研究院,山東菏澤 274000)
山楂(Crataegus pinnatifidaBunge)在我國具有悠久的藥用以及食用歷史,山楂果實及其制品深受消費者歡迎[1]。我國的山楂品種資源豐富,據不完全統計約有500 余份,經《中國果樹志·山楂卷》核實收載的代表性品種資源有142 份[2]。不同品種的山楂果實往往在感官品質、營養成分等方面存在差異,適合不同的加工食用方式。例如,昌黎紫肉山楂果實大而整齊、果肉紫紅、味酸微甜,適宜鮮食;敞口山楂果實常加工制成山楂片,出片率高且質量好[2]。因此,在加工前有必要對山楂果實品種進行鑒別,以適應不同加工食用方式的要求。傳統的農產品鑒別分類主要依賴感官品評或者理化鑒定,感官品評受主觀影響較大,而理化鑒定則步驟繁瑣且成本高[3]。近紅外光譜檢測技術具有無損、快速、高效、操作簡便等特點[4]。近紅外光譜在農產品檢測中具有廣泛應用,如產地鑒別[5],營養成分定量分析[6-8],霉變鑒定[9]等。
近紅外光譜數據包含信息復雜,解析困難。近紅外光譜主要采集C-H、O-H、N-H 等含氫基團的化學鍵伸縮振動的倍頻或合頻吸收所反映的光譜信息,該區域譜峰較寬且重疊嚴重,加之吸收強度低,因此難以得到分子中官能團的特征吸收峰[10]。合適的數據處理方法可有效分析光譜信息,構建準確率較高的預測模型。常用于鑒別農產品品種的模型有偏最小二乘判別分析法(Partial Least Squares Discriminant Analysis,PLS-DA)、支持向量機(Support Vector Machine,SVM)和最小二乘支持向量機(Least Squares-Support Vector Machines,LS-SVM)等[11]。
自然語言處理(Natural Language Processing,NLP)的主要對象具有序列特性,如文本信息是文字按照語法規則的邏輯順序排列;語音信息是單位時間的音頻信號按照時間順序排列構成的。NLP 模型大多有較強的序列信息處理能力[12]。近紅外光譜數據亦是一種序列數據,是按照波長或波數的大小,將吸光度按順序排列構成,因此,可考慮將NLP 運用到近紅外光譜數據解析。目前已有研究者將NLP 運用到農產品的無損檢測中并取得了良好的效果,如長短期記憶網絡(Long Short-Term Memory,LSTM)、門控循環單元(Gated Recurrent Unit,GRU)神經網絡、時間卷積網絡(Temporal Convolutional Network,TCN)模型可根據草莓醬的中紅外光譜數據實現對草莓醬摻假的鑒別[13];卷積神經網絡(Convolutional Neural Networks,CNN)、長短期記憶網絡(Long Short-Term Memory,LSTM)以及CNN-LSTM 模型可分析近紅外高光譜數據,實現對新鮮茶葉中摻入陳年茶葉的鑒別[14]。
本研究將NLP 應用于山楂果實的近紅外光譜數據解析,實現對山楂果實品種的無損鑒別。共采集了4 個品種240 個山楂果實樣本的近紅外光譜,訓練模型,檢驗模型鑒別的準確率,旨在為基于近紅外光譜的農產品無損鑒別分析提供參考。
山里紅大果山楂果實 產自吉林四平;五棱大果山楂果實 產自山東煙臺;棉球大果山楂果實產自山東臨沂;甜紅子櫻桃山楂果實 產自山東臨沂。
Antaris II 型傅立葉變換近紅外光譜儀 賽默飛世爾(上海)儀器有限公司。
1.2.1 樣品預處理與近紅外光譜數據采集 對收集所得的不同品種山楂果實進行隨機取樣(n=60),山楂果實清水洗凈后擦去果實表面水分,將果實放置于近紅外光譜儀的光源中央,確保光源平行于山楂果實的赤道面照射,采集山楂果實的近紅外光譜數據。光譜采集參數為:分辨率4 cm-1;掃描信號次數32 次;掃描范圍10000~4000 cm-1。每次采集后將山楂果實以果柄為軸線旋轉120°,每個山楂果實樣本采集三個不同角度的光譜數據,取對應波數吸光度的平均值作為該樣本的近紅外光譜。
1.2.2 光譜數據的預處理 為提升模型的準確性,使用主成分分析結合馬氏距離法剔除異常光譜[15],使用主成分分析法(Principal Component Analysis,PCA)、SG 濾波法(Savitzky-Golay,SG)、一階差分(Difference of First Order,D1)、二階差分(Difference of Second Order,D2)對山楂果實的近紅外光譜數據進行預處理,以提升模型的分類效果。
1.2.3 深度學習模型的搭建
1.2.3.1 長短期記憶網絡 LSTM 是由循環神經網絡(Recurrent Neural Network,RNN)改進而來。RNN廣泛應用于時間序列信息的處理,但其在訓練中存在梯度消失的問題,即某一時刻的梯度無法很久地影響結果[16]。而LSTM 可通過添加的“遺忘機制”使得網絡對長序列信息的記憶更好,可有效解決長序列訓練過程中的梯度消失和梯度爆炸問題[16]。LSTM 網絡的單元結構如圖1 所示。

圖1 LSTM 單元結構[17]Fig.1 Structure of LSTM unit[17]
其中xt為當前時刻的輸入數據,上一時刻的存儲單元信息ct-1以及上一時刻的隱藏層信息ht-1也作為t 時刻的輸入;當前時刻的存儲單元信息ct以及隱藏層信息ht為t 時刻的輸出。it為輸入門,ft為遺忘門,ot為輸出門,通過遺忘門可以選擇性地記憶信息,從而對長序列信息有更好的記憶效果[12];激活函數tanh 可將實數輸入映射到[-1,1]范圍內[18],σ表示sigmoid 激活函數,可將實數輸入映射到[0,1]范圍,激活函數的作用為加入非線性因素,提高神經網絡解決非線性問題的能力[19]。
本研究的山楂果實樣本數為240 個,采集的山楂果實的近紅外光譜數據序列較長,每個樣本的近紅外光譜數據包含1556 個波數下的吸光度,即為1556 維的向量,為序列數據,因此采用LSTM 網絡模型對其進行分析。本研究中搭建的LSTM 模型結構如圖2 所示。

圖2 LSTM 網絡模型Fig.2 LSTM network model
每個樣本的近紅外光譜數據按照時間步長被分成若干個向量(x1,x2,x3.......xt)后按順序輸入LSTM單元中,最后輸入全連接層Dense,再經過Sigmoid函數計算后獲得分類結果。
1.2.3.2 門控循環單元網絡 GRU 是LSTM 單元結構的一種變體,是將LSTM 單元結構的輸入門和遺忘門合并為更新門(Zt),輸出門改為重置門(rt)(圖3)[20]。因此,GRU 相較于LSTM 單元結構簡單,參數更少,更便于訓練。圖3 中Xt為本時刻輸入的向量,ht-1為上一時刻的輸出,ht為本時刻的輸出[21]。用GRU 代替圖2 中的LSTM 單元,可構成GRU 神經網絡模型。

圖3 門控循環單元[21]Fig.3 Gated recurrent unit[21]
1.2.4 傳統機器學習模型建立 本研究采用邏輯回歸、樸素貝葉斯、決策樹、K 近鄰算法四種NLP 常用的傳統機器學習模型對山楂果實的近紅外光譜數據進行分析。
1.2.4.1 邏輯回歸模型 邏輯回歸模型[22]的數學表達式如下所示:
其中,x 是自變量,w 是參數,?是估計值。本研究將山楂果實的近紅外光譜特征作為多維自變量x,品種作為因變量y,建立邏輯回歸模型預測山楂果實的品種。
1.2.4.2 樸素貝葉斯模型 采用樸素貝葉斯模型對山楂果實樣本的近紅外光譜數據進行分析,以期實現山楂果實品種分類。設C 為山楂果實品種的集合,n 為品種數,則集合為C={c1,c2,c3......cn}。x 為某一待分類山楂果實樣本的光譜特征集合x={a1,a2,a3.......am},m 為光譜的特征數,依據貝葉斯定理,計算每個山楂果實品種對于該待分類山楂果實樣本的光譜特征集合x 的條件概率P(cj|a1,a2......am),其中j=1,2,.....m,條件概率中最大的一項的類即為待分類山楂果實樣本所屬的品種[23]。
1.2.4.3 決策樹模型 采用決策樹模型從根節點出發對待分析山楂果實樣本的近紅外光譜的一個特征進行判斷,根據判斷的結果分配到子節點中,進而對山楂果實樣本的近紅外光譜的下一個特征進行判斷分類,如此循環,直到將最后一個特征分配到帶有山楂果實品種標簽的葉子節點中,實現山楂果實品種的分類[24]。
1.2.4.4 K 近鄰算法 K 近鄰算法根據距離函數計算待分類的山楂果實樣本近紅外光譜X 與訓練集中每個山楂果實樣本的近紅外光譜之間的距離,選擇與待分類山楂果實樣本距離最小的K 個樣本作為X 的K 個最近鄰,最后依據X 的近鄰中的大多數樣本的類別作為X 的類別[25]。
1.2.5 數據集劃分與模型評價驗證 將數據集按照訓練集:驗證集:測試集=6:2:2 劃分,訓練集用于模型的擬合調試,驗證集用于模型超參數的調整,測試集不參與模型的調試只用于檢驗模型的預測能力。采用外部驗證法以驗證集和測試集預測的準確率來評價模型的預測能力[26]。
在Jupyter Notebook 6.0.1 開發環境下,利用Python 3.7.0 對近紅外光譜數據進行分析建模,深度學習框架采用Keras 2.3.1,機器學習庫采用Scikitlearn 0.21.3,異常光譜檢驗采用SciPy 1.3.1。
本研究采用PCA 結合馬氏距離法進行異常光譜的檢測與剔除。共從光譜樣本中剔除異常樣本9 個,其中甜紅子櫻桃、山里紅大果樣本各剔除3 個,棉球大果樣本剔除1 個,五棱大果樣本剔除2 個。圖4 為剔除異常光譜后的山楂果實的近紅外光譜圖,由圖4 可知在5200 cm-1附近有吸收峰,可能與C-H 和C=O 伸縮振動的合頻 有關[10];7000 cm-1附近的吸收峰可能與水中O-H 的一級倍頻有關[27]。該光譜圖與Dong 等[27]收集的山楂果實的近紅外光譜圖形狀相近。由于山楂果實的近紅外光譜吸收峰范圍相近,形狀相似,難以直接區分品種。

圖4 不同品種山楂果實樣本的近紅外光譜圖Fig.4 Near-infrared spectra of four hawthorn species
2.2.1 深度學習模型訓練 利用四個品種山楂果實的近紅外光譜數據訓練LSTM 與GRU 神經網絡模型進行品種鑒別,優化后的兩種深度學習模型的訓練參數與訓練結果如表1 所示。由表1 可知,LSTM與GRU 神經網絡模型在訓練集中的準確率分別為98.30%±0.46%和97.87%±0.46%,在驗證集中的準確率分別為95.47%±0.83%與96.01%±0.63%。

表1 LSTM 與GRU 神經網絡模型的訓練參數與結果Table 1 Training parameters and results of LSTM and GRU neural network models
采用混淆矩陣對驗證集預測結果進行可視化處理,進一步分析深度學習模型對山楂果實品種鑒別的準確率。如圖5 所示,LSTM 與GRU 神經網絡模型對棉球大果鑒別的準確率均較高,均為100%。LSTM對甜紅子櫻桃、五棱大果品種的鑒別能力較差,準確率低于90%。GRU 神經網絡模型對四種山楂果實品種的鑒別準確率較為穩定,均在90%以上。本研究中GRU 神經網絡模型的準確率略優于LSTM 模型,原因推測為數據集規模較小,GRU 神經網絡模型在較小規模的數據集中的性能往往優于LSTM[28]。

圖5 LSTM 與GRU 神經網絡模型驗證集混淆矩陣Fig.5 Confusion matrix of validation sets for LSTM and GRU neural network models
2.2.2 不同預處理方法對深度學習模型訓練結果的影響 對光譜進行預處理往往可以提升近紅外分析模型的準確性,因此,本研究嘗試在訓練深度學習模型之前對近紅外光譜數據進行預處理。光譜進行預處理后,由于數據發生了變化,深度學習模型的參數需要優化調整才能得到較優的效果。優化后的參數如表2 所示,深度學習模型在驗證集中的準確率如圖6 所示。

表2 深度學習模型的訓練參數Table 2 Training parameters of the deep learning model

圖6 不同預處理方法對深度學習模型驗證集準確率的影響Fig.6 Influence of different preprocessing methods on the validation set accuracy of deep learning models
在未預處理的條件下,LSTM 與GRU 神經網絡模型的山楂果實品種鑒別的準確率分別為95.47%±0.83%與96.01%±0.63%,準確率高,表明兩種NLP常用的深度學習模型對序列數據特征提取能力強[29],即使在無預處理情況下,也可以充分提取分析不同品種山楂果實近紅外光譜數據特征。因此,LSTM 與GRU 神經網絡模型不但對文本數據有強的分析能力,對光譜序列數據也有較好的分析效果。經過PCA 預處理后,兩種模型的準確率提升至99.46%±0.00%,可見PCA 預處理進一步提升LSTM 與GRU神經網絡模型對不同品種山楂果實光譜特征的提取能力。利用D1 預處理后,兩種模型的山楂果實品種鑒別的準確率分別提升至98.55%±0.31%、98.73%±0.31%,較之于PCA 略低。利用D2 預處理后,兩種模型的準確率下降,分別降為93.12%±1.37%、92.57%±0.31%。利用SG 預處理后,LSTM 模型的準確率下降,GRU 神經網絡模型的準確率略有提升,準確率分別為93.66%±1.13%、96.20%±1.09%。光譜經預處理后,準確率下降的可能原因為,SG、D2 預處理雖降低了噪聲,但影響了模型對近紅外光譜數據的特征提取能力,導致模型對山楂果實品種鑒別的準確率降低[30]。
2.2.3 傳統機器學習模型的構建 傳統機器學習模型在驗證集中的準確率如圖7 所示,常用于文本分類問題的邏輯回歸模型在本研究中的準確率最高,其在無預處理條件下,采用PCA 或SG 算法預處理光譜數據后準確率均為100%。

圖7 預處理方法對機器學習模型驗證集準確率的影響Fig.7 Influence of preprocessing method on accuracy of machine learning model validation set
樸素貝葉斯模型在無預處理的條件下對山楂果實品種鑒別的準確率僅為76.09%,推測原因為樸素貝葉斯模型的假設條件是特征之間相互獨立[31],而山楂果實近紅外光譜各波長的吸光度數據之間存在著多重共線性問題,即具有較強的相關性[32],不滿足樸素貝葉斯模型的假設條件。光譜數據經過PCA 預處理后,樸素貝葉斯模型在驗證集中的準確率提升至95.65%。PCA 預處理可將光譜特征降維,組成若干相互獨立的、新的一組特征,符合樸素貝葉斯模型成立的假設條件[33]。而D1 預處理近紅外光譜數據后,樸素貝葉斯模型的準確率提升至89.13%。D1 預處理可消除近紅外光譜基線漂移、平緩背景干擾,提供比原光譜更高的分辨率和更清晰的光譜輪廓變化信息,因而可提升樸素貝葉斯模型的準確率[34]。決策樹模型和K 近鄰算法在光譜數據無預處理的情況下在驗證集準確率僅為75%左右,而經合適的預處理后,其品種鑒別的準確率顯著提升。其中,決策樹模型對經D1 處理后的光譜鑒別的準確率可達89.13%;K 近鄰算法對經D1 處理后的光譜鑒別的準確率可達93.48%。
綜上,NLP 常用的傳統機器學習模型可用于解決基于近紅外光譜的山楂果實品種鑒別問題,而PCA 及D1 預處理方法可有效提升傳統機器學習模型的準確率。
PLS-DA、SVM 是兩種基于近紅外光譜的農產品品種鑒別常用模型[11]。分別采用這兩種模型對不同品種山楂果實的近紅外光譜數據進行建模分析并與本研究中使用的NLP 模型的品種鑒別準確率進行對比分析,采用外部驗證法對構建模型的預測能力進行驗證[26]。
如表3 所示,在驗證集中,PLS-DA 模型準確率高(無預處理以及使用不同預處理方法,準確率均為100%)。SVM 模型準確率低(準確率均低于80%)。本研究中的NLP 模型在合適的預處理條件下準確率均高于85%,優于SVM 模型。LSTM、GRU 神經網絡、邏輯回歸、樸素貝葉斯模型在光譜數據經合適的預處理后準確率均可達到或接近PLS-DA 模型的準確率。
在測試集中,PLS-DA 模型的準確率均為100%。SVM 模型的準確率均在75%以下。PCA 預處理結合LSTM 與PCA 預處理結合GRU 神經網絡模型在測試集中的準確率為100%±0.00%,說明模型具有很強的預測能力,與PLS-DA 模型的準確率相當,且LSTM 與GRU 神經網絡模型在光譜經其他方式預處理的條件下準確率也均高于95%。邏輯回歸模型在光譜無預處理、D1、PCA 或SG 預處理條件下,準確率均為100%,與PLS-DA 模型的準確率相當。PCA 預處理結合樸素貝葉斯模型的準確率為95.83%。決策樹和最近鄰算法在測試集中的表現相對較差,D1 預處理后模型的準確率均為91.67%。
農產品的近紅外光譜無損鑒別研究多將近紅外光譜數據視為高維度、具有多重共線性且包含復雜信息的數據[10],常采用SVM、PLS-DA 等模型實現對農產品的鑒別[11]。本研究認為近紅外光譜數據與自然語言數據均為序列數據,可采用NLP 模型實現近紅外光譜數據解析。以本研究中的光譜數據進行建模分析,邏輯回歸、樸素貝葉斯以及LSTM、GRU神經網絡模型均能實現與PLS-DA 模型等同的分類準確率(最優預處理條件下,測試集準確率均為100%)。Hong 等[14]將近紅外高光譜數據視為序列數據,使用CNN-LSTM 以及LSTM 等NLP 方法對茶葉樣本的近紅外高光譜數據進行分類,可實現對新鮮茶葉中摻入陳年茶葉的鑒別且與SVM 的效果接近。CNN-LSTM、LSTM 以及SVM 模型的驗證集準確率分別為83.102%、82.548%以及80.332%,表明了NLP 相關模型適用于序列數據—近紅外高光譜的分類,這與本研究的結果相近。
Dong 等[27]收集了我國三個省份共96 枚山楂果實的近紅外光譜,構建了PLS-DA、反向傳人工神經網絡模型(Backpropagation Artificial Neural Networks,BP-ANN)對山楂果實的產地進行預測。PLSDA 在測試集中的準確率為83%,BP-ANN 在測試集中的準確率為95.8%,本研究使用的深度學習模型以及邏輯回歸、樸素貝葉斯模型,在最優的預處理條件下測試集準確率均可達到或接近100%,與之相較,準確率更高。Peng 等[35]采用氣相色譜飛行時間質譜法對333 份武夷肉桂巖茶樣品的揮發性成分進行了測定,并建立了多層感知機器、SVM、隨機森林等多種機器學習模型,發現多層感知機在測試集中的準確率最高(83.2%)。本研究與之相比,不會破壞農產品,無須復雜耗時的檢測分析,便可實現極高的分類準確率(最優可達100%),由此可見近紅外光譜無損鑒別農產品的優勢。
然而,本研究僅可實現對四種山楂果實品種的鑒別,對于實現更多品種的鑒別以及同時實現山楂果實營養成分的測定,仍有待研究。該目標的實現,依賴于充足、高質量的數據集以及更加可靠的模型,而目前少有公開的農產品的近紅外光譜數據集,這一定程度上限制了農產品的近紅外光譜無損檢測研究。當今NLP 技術蓬勃發展,一系列功能強大的NLP 模型如Transformer、GPT-3 相繼誕生[36-37]??煽紤]將更復雜、功能更強的NLP 模型運用于近紅外光譜解析中,為農產品的近紅外光譜解析提供更多、更有效的方法。
本研究使用NLP 對山楂果實的近紅外光譜數據進行分析,實現對山楂果實品種的無損鑒別。邏輯回歸模型在光譜無預處理條件下以及經PCA 或SG預處理后,驗證集、測試集準確率均為100%。LSTM和GRU 神經網絡模型在光譜無預處理條件下,驗證集準確率分別為95.47%±0.83%和96.01%±0.63%,測試集準確率分別為97.74%±0.30%和97.57%±1.08%,光譜經PCA 預處理后驗證集準確率可達99.46%±0.00%,測試集準確率可達100%±0.00%。樸素貝葉斯模型,在光譜經PCA 預處理后,驗證集準確率為95.65%,測試集準確率為95.83%。深度學習模型(LSTM 和GRU 神經網絡模型)以及傳統機器學習模型(邏輯回歸模型和樸素貝葉斯模型)依據山楂果實的近紅外光譜鑒別山楂果實品種的準確率高,邏輯回歸模型與深度學習模型(LSTM 和GRU神經網絡模型)的鑒別準確率最優。本研究表明基于自然語言處理的模型可用于山楂果實品種近紅外無損鑒別,為農產品近紅外光譜數據分析提供了更多可參考的模型,為更復雜、功能更強的NLP 模型運用于該領域提供參考。