胡仁偉,俞 玥,倪明龍,俞 嬌,周俊偉,朱 誠,李占明,
(1.中國計量大學生命科學學院,浙江 杭州 310018;2.湖州職業(yè)技術學院,浙江 湖州 313000;3.廣東食品藥品職業(yè)學院,廣東 廣州 510520)
蓮子在中國有著悠久的文化歷史,其富含磷脂、生物堿和類黃酮等成分,廣受青睞[1]。由于提取工藝和隱蔽摻雜等因素的存在而影響著市面上的蓮子粉品質,摻入其他淀粉為常見的摻假方式,不但會影響消費者的食用感和健康,還會對企業(yè)的信用及競爭帶來影響[2-3]?,F(xiàn)有檢測方法表明[4-5],蓮子粉質檢具有步驟比較繁瑣、花費時間長、樣品的用量大且預處理過程復雜、多種有機試劑的消耗加重環(huán)境負擔、不能實現(xiàn)大批量的現(xiàn)場快速分析等缺點[6],因此國內(nèi)外研究人員將目光轉向近紅外光譜(near-infrared spectroscopy,NIRs)技術。目前NIRs技術在行業(yè)產(chǎn)品質量評定中發(fā)揮著越來越重要的作用。國內(nèi)NIRs分析技術的研究主要在人參[7]、黑胡椒[8]、 蜂蜜[9]、茶葉[10]等方面應用。NIRs技術是一種無損的快速檢測方法,因無需消耗試劑,無復雜的預處理過程,能夠對蓮子粉直接進行光譜測定,可直接進行現(xiàn)場應用和在線分析。
早期研究給出眾多光譜數(shù)據(jù)建模方法,付才力等[10]提出了采用最小二乘支持向量機和聚類算法對蓮子粉進行NIRs分類,陳建等[11]運用誤差反向傳播(back propagation,BP)的Levenber-M arquardt優(yōu)化算法對不同品種的玉米的NIRs進行分析,何凱琳[12]則運用自編碼融合卷積神經(jīng)網(wǎng)絡算法對煙葉原料的NIRs進行分析。非線性模型比線性模型有更好的預測精度,因此,目前常采用深度學習模型對光譜進行建模[13-14]。在樣本量足夠的時候運用上述的方法均可達到令人滿意的效果,針對小樣本多分類的相關研究,需要探索新的更加適宜的方法。目前對NIRs的研究大多數(shù)基于特征波段建立模型,重點在于預處理數(shù)據(jù)和篩選特征波段,對模型的提出和改進需要更深入。優(yōu)質的建模方法可簡化數(shù)據(jù)預處理過程,同時也能夠保證精度的準確[15-16]。
深度學習模型的復雜建模能力,可以解決傳統(tǒng)的機器學習方法在多分類問題上的劣勢[17-18]。在2006年提出的深度信念網(wǎng)絡(deep belief network,DBN)[19]模型作為一種概率生成模型,通過訓練各個神經(jīng)元之間的權重和獲得神經(jīng)元的偏置,DBN模型可使整個神經(jīng)網(wǎng)絡以最大概率生成訓練數(shù)據(jù)[20-22]。DBN一般由3 層或3 層以上神經(jīng)元構成,其中這些神經(jīng)元可以分為顯性神經(jīng)元和隱性神經(jīng)元。顯元接受輸入數(shù)據(jù),隱元提取數(shù)據(jù)的特征,其中每一個神經(jīng)元代表數(shù)據(jù)向量的一維。DBN按層進行訓練,在一層上用數(shù)據(jù)來推斷隱層,再將本層的隱層當做下一層的數(shù)據(jù),以此類推[23]。
與傳統(tǒng)方法相比,DBN具有更復雜的非線性和高層次特征提取能力,對非線性函數(shù)表示能力更強,能夠抽取更加有效的特征信息,使分類和預測更加容易[24]。目前基于隨機隱退深度信念網(wǎng)絡(dropout-DBN)處理農(nóng)產(chǎn)品、食品,尤其是蓮子粉制品摻假的相關研究鮮見報道。鑒于此,本實驗提出以NIRs結合深度學習方法的蓮子粉鑒別模型,作為真假蓮子粉鑒別的一種有效手段。利用NIRs對摻雜的蓮子粉進行鑒定,在類別已知的情況下運用支持向量機(support vector machine,SVM),在類別未知的情況下運用DBN進行判別。本研究有望為蓮子粉等農(nóng)產(chǎn)制品摻雜的鑒別及溯源提供新的解決方案。
蓮子樣品是從市場上購買的綠田、粒粒珍、宏興隆、方家鋪子等湖南湘蓮、福建建蓮、浙江宣蓮各20 份,經(jīng)粉碎機粉碎,過60 目篩網(wǎng),充分混合,編號后密閉保存;所摻雜的小麥粉、玉米粉、地瓜粉購于當?shù)爻校瑢⒎鬯榈纳徸臃蹞饺氩煌壤男←湻?、玉米粉、地瓜粉,參考文獻[10]將摻入比例設置為5%、10%、15%、20%、25%,各比例分別設置30 份樣品,純蓮子粉樣品160 份,總計610 份。
Antaris II采用傅里葉變換近紅外光譜儀、CaF2分束器、InGaAs檢測器(掃描范圍為4 000~10 000 cm-1,分辨率為8 cm-1,實驗室的溫度為25 ℃,相對濕度為60%) 美國賽默飛世爾儀器公司。
本實驗在類別已知的情況下使用SVM模型對摻雜了各類作物粉的蓮子粉NIRs的特征數(shù)據(jù)進行測試,使用支持向量機回歸(support vector regression,SVR)與SVM進行對照。本實驗調(diào)用了LibSVM庫,其同時實現(xiàn)SVM與SVR,便于對照。在類別未知的情況下采用的模型是DBN,其模型由三層受限玻爾茲曼機與一層BP調(diào)節(jié)構成的深層神經(jīng)網(wǎng)絡[25-27]。
1.4.1 數(shù)據(jù)預處理
所采集到的原始光譜中除包括與樣本有關的信息外還包括各種因素造成的噪聲信號。這些不僅對光譜圖信息造成干擾,還會對模型的建立和對未知的樣品組成或性質預測造成影響。因此,光譜數(shù)據(jù)預處理就顯得尤為的重要,也有利于下一步模型的建立和提升預測精度。本研究采用區(qū)間正規(guī)化處理(1),用原始數(shù)據(jù)集中的各個元素減去所在列的最小值再除以該列的極差,可以將量綱不同、范圍不同的變量表達為值均在0~1范圍內(nèi)的數(shù)據(jù)。
式中:Xik為第i行第k列的原始數(shù)據(jù),Xk為所有k列的數(shù)據(jù),X’ik為第i行第k列經(jīng)過歸一化后的數(shù)據(jù)。
1.4.2 數(shù)據(jù)分析
使用IBM SPSS Statistics 22對數(shù)據(jù)進行預處理并進行特征提取,使用Origin 2018進行光譜二次求導,在Pycharm上使用Python語言對光譜數(shù)據(jù)進行分析。
圖 1 純蓮子粉(A)與摻雜了各比例小麥粉(B)、玉米粉(C)、 地瓜粉(D)的蓮子粉NIRs圖Fig. 1 Near-infrared spectra of pure lotus seed flour (A) and lotus seed flour mixed with wheat flour (B), corn flour (C) or sweet potato flour (D)
圖1 為純蓮子粉和摻雜了小麥粉、玉米粉和地瓜粉的蓮子粉NIRs圖,不同物質組成的樣品的NIRs差異較小,直接從光譜上難以分辨摻雜的物質及摻雜的比例。圖2為求得平均光譜后的光譜圖,純蓮子粉的N I R s 圖與另外3 種存在差異,然而摻雜了其他物質的樣品的N I R s 仍舊比較接近。圖3為對光譜數(shù)據(jù)4 000~7 500 cm-1范圍內(nèi)二階求導后的微分光譜,在4 300~4 320 cm-1處的峰是C—H組合頻,在4 454 cm-1附近的峰是C—H倍頻和O—H組合,由于多種不同作物粉的摻雜,導致了這兩處多糖和纖維素有著細微的區(qū)別,從而影響兩處強峰兩側的小肩峰。其他分布為:5 800 cm-1左右是C—H的倍頻吸收,6 000~7 000 cm-1為O—H和N—H的二級倍頻,8 400 cm-1左右是C—H 的拉伸三級倍頻。從中可以看出各樣品峰的位置和強度很接近[28]。通過主成分分析(principal component analysis,PCA)進行初步分析,得出了主成分分布圖,圖4A、B、C分別為摻雜了不同比例的小麥粉、玉米粉、地瓜粉的蓮子粉NIRs圖數(shù)據(jù)的主成分分布圖,圖4說明利用NIRs技術鑒別蓮子粉摻假可行。
圖 2 蓮子粉NIRs圖Fig. 2 Near-infrared average spectra of pure and adultered lotus seed flours
圖 3 蓮子粉NIRs二階導數(shù)光譜Fig. 3 Second derivative near-infrared spectra of lotus seed flour
圖 4 摻雜了小麥粉(A)、玉米粉(B)、地瓜粉(C)的 蓮子粉NIRs數(shù)據(jù)三維主成分分布圖Fig. 4 Three-dimensional principal components distribution patterns of near-infrared spectral data of lotus seed flour incorporated with wheat (A), corn (B), or sweet potato flour (C)
本研究基于Tensor Flow深度學習框架,采用Pycharm和Anaconda3進行編程。在Anaconda下搭建Tensor Flow環(huán)境并調(diào)用,利用已有的樣品數(shù)據(jù)進行測試,最終確定蓮子粉NIRs的DBN分類模型。
通過實驗設定激活函數(shù)為Relu和Softmax,設定權重學習率為0.1,可見層偏置學習率為0.1,隱藏層偏置學習率為0.1,權重為0.001,累積沖量初始值為0.5,最大迭代次數(shù)為350。訓練過程中的損失函數(shù)如圖5A所示。迭代次數(shù)越多,訓練集與測試集準確率逐漸上升并趨于穩(wěn)定值,損失函數(shù)逐漸下降并趨于穩(wěn)定值,整體上網(wǎng)絡訓練正常。圖5B運用了Dropout技術,訓練集與測試集準確率更加接近。
但過擬合問題存在于所有的機器學習問題中,且機器學習的根本問題就是優(yōu)化與泛化的對立。優(yōu)化指調(diào)節(jié)模型讓其在訓練數(shù)據(jù)上獲得最佳性能,泛化指訓練好的模型在新數(shù)據(jù)上訓練的性能好壞[29]。但無法人為控制泛化能力,可在訓練數(shù)據(jù)基礎上修改模型。為了防止模型學習到訓練數(shù)據(jù)中的無關數(shù)據(jù),最優(yōu)的解決方案是獲取更多的訓練數(shù)據(jù),其次是調(diào)節(jié)模型對其進行正則化,本研究采用Dropout進行正則化,為確保模型丟失個體線索后仍保持健壯性,通過減少權重連接,增加網(wǎng)絡模型在缺失個體連接信息時的魯棒性[30-31],即在網(wǎng)絡訓練期間隨機刪除隱藏層的部分單元。
圖 5 損失率與準確率隨迭代次數(shù)增加的變化圖Fig. 5 Changes in loss rate and accuracy with increasing number of iterations
圖 6 不同Dropout值隨迭代次數(shù)增加的準確率變化曲線Fig. 6 Changes in accuracies of different Dropout values with increasing number of iterations
神經(jīng)網(wǎng)絡中Dropout技術已被廣泛應用,正常設置為0.2或0.1[31]。本模型輸入時是1 557,輸出時是6 類。如圖6所示,該圖為修改Dropout的值后導出的準確率圖,經(jīng)過多次數(shù)據(jù)處理發(fā)現(xiàn),在迭代次數(shù)超過一定的次數(shù)后Dropout設置為0.15、0.1相差不大,而迭代次數(shù)較少的時候0.1的值效果較好,故將Dropout設置為0.1。
將610 個有效樣本劃分為訓練集與測試集,用全部樣本的80%,即488 個樣本建立模型,剩余122 個樣本測試模型的準確性,訓練集包含了交叉測試數(shù)據(jù)。本研究選取具代表性的摻雜各比例小麥粉的蓮子粉數(shù)據(jù)300 條,訓練集和測試集比例選取與上述相同。摻雜各作物粉的蓮子粉610 條和摻雜了小麥粉的蓮子粉300 條數(shù)據(jù)基于SVM及DBN的平均準確率和平均運行時間。從表1、2可以看出,隨著樣本數(shù)量的增加,SVM的鑒別準確率已達到90%;而DBN準確率在95%左右,隨著樣本數(shù)量的增加準確率也有所增加。而隨著樣本數(shù)的增加訓練時間也相應增加,經(jīng)過Dropout的DBN算法相較于傳統(tǒng)的DBN算法時間要短,這是因為經(jīng)過Dropout,DBN中的一些神經(jīng)元沒有被調(diào)用,減少了正向反向傳播的時間,雖然準確率個別情況下稍有降低,但是經(jīng)過Dropout可以有效避免小數(shù)量樣本的過擬合問題。
為了檢測DBN訓練效果,對數(shù)據(jù)重新劃分,經(jīng)過多次訓練計算準確率與訓練時間,SVM亦采用相同的數(shù)據(jù)進行計算。取5 次重復試驗的平均值,如表1~4所示。運行時間為Python自帶的time函數(shù)計算程序的運行時間,即模型的訓練時間。由于神經(jīng)網(wǎng)絡訓練模型的時間較長,但保存后用來檢測可以節(jié)省預訓練的時間,達到實時檢測的目的。
表 1 全部樣本在不同比例訓練集下各模型的平均準確率Table 1 Average accuracy of each model for all samples at different ratios between the numbers of training and test samples
表 2 摻雜玉米粉樣品在不同比例訓練集下各模型的平均準確率Table 2 Average accuracy of each model for adulterated corn flour samples at different ratios between the numbers of training and test samples
表 3 全部樣本在不同比例訓練集下各模型的訓練時間Table 3 Training time of each model all samples at different ratios between the numbers of training and test samples
在所有比例作物粉摻入蓮子粉并且訓練集數(shù)目達到600時,SVM平均準確率達到了98%,而DBN平均準確率達到了96%。但經(jīng)過對數(shù)據(jù)的深入處理,發(fā)現(xiàn)除15%的摻入比例外,DBN的準確率都比SVM要高,但在摻入比例為15%的其他作物粉的蓮子粉,SVM的精確度達到了100%,而DBN的準確度在96%左右。雖然準確率在此比例下DBN較SVM而言并無優(yōu)勢,但總體上來講,DBN的平均準確率要比傳統(tǒng)的模型平均準確率要高。而且在現(xiàn)實情況下不可能對所有的蓮子粉進行鑒定并且標定分類,DBN能夠有效識別摻假比例在25%以內(nèi)的其他作物粉的蓮子粉,可以為蓮子粉真?zhèn)舞b別提供一個有效的手段。訓練集數(shù)量較多時使用DBN精確度明顯高于傳統(tǒng)的模型,在當前大數(shù)據(jù)的背景下結合此法能夠快速有效的進行預測與分類。
表 4 摻雜玉米粉樣品在不同比例訓練集下各模型的訓練時間Table 4 Training time of each model for adulterated corn flour samples at different ratios between the numbers of training and test samples
本研究針對蓮子粉的摻假識別分析,提出了利用DBN對NIRs數(shù)據(jù)建模的方法,得到了較好的效果。首先,對摻雜了不同比例的其他作物粉類的光譜圖進行常用的預處理及PCA處理,然后將處理后的數(shù)據(jù)輸入SVM及DBN模型中,接著修改代碼和網(wǎng)絡參數(shù)微調(diào),建立DBN光譜分類判別模型。所建立的模型能夠對光譜數(shù)據(jù)進行分類,并與添加了Dropout的DBN及SVM進行對比,當樣本量超過500時,較之于傳統(tǒng)的有監(jiān)督學習模型,平均預測精度得到提升,而且可以將訓練好的模型保存以達到快速檢測的目的。當訓練集數(shù)目達到600時,SVM平均準確率可達98%,DBN平均準確率可達96%。Dropout-DBN模型在較大樣本量光譜數(shù)據(jù)的建??梢匀〉酶玫男Ч?。該研究有望為相關農(nóng)產(chǎn)食品的摻假鑒別及溯源研究提供技術支持。