劉 鑫 韓 強(qiáng),3 周永帥 庹先國
(1. 四川輕化工大學(xué)自動化與信息工程學(xué)院,四川 自貢 643000; 2. 人工智能四川省重點(diǎn)實(shí)驗(yàn)室, 四川 自貢 643000;3. 瀘州老窖集團(tuán)有限責(zé)任公司,四川 瀘州 646000)
白酒的分類識別技術(shù)是白酒研發(fā)生產(chǎn)中較為重要的一項技術(shù),其性能有助于提升酒企的生產(chǎn)效率,如區(qū)別不同品牌的酒,同一品牌不同層次的酒以及不同等級的基酒。傳統(tǒng)的白酒檢測主要依靠品酒師的感官品評經(jīng)驗(yàn)[1],主觀性強(qiáng),不能實(shí)時、快速、準(zhǔn)確地提供檢測數(shù)據(jù)。隨著人工智能技術(shù)的高速發(fā)展,神經(jīng)網(wǎng)絡(luò)、模式識別等技術(shù)逐漸被運(yùn)用至白酒領(lǐng)域,電子鼻、電子舌等智能仿生檢測設(shè)備[2]也隨之誕生。在先進(jìn)檢測設(shè)備和技術(shù)廣泛應(yīng)用的背景下,白酒的相關(guān)數(shù)據(jù)迅速擴(kuò)增,導(dǎo)致傳統(tǒng)的白酒分類識別方法[2-3](如人工品評、SVM等)無法滿足分類識別的具體需求,其準(zhǔn)確率低、耗時長等弊端逐漸顯露。近年來,氣相(GC)、氣質(zhì)聯(lián)用(GC-MS)[4]等儀器被應(yīng)用至白酒的數(shù)據(jù)測試中,此類檢測方法的鑒別精度極高,但因其存在操作復(fù)雜、檢測時間長等缺點(diǎn),僅能在實(shí)驗(yàn)室進(jìn)行小樣檢測。
深度學(xué)習(xí)是指基于多層人工神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)方法,因其對高維、冗雜的數(shù)據(jù)有極大的優(yōu)勢而在各個領(lǐng)域得到了廣泛的應(yīng)用?;谏疃葘W(xué)習(xí)的分類預(yù)測應(yīng)用僅是其中的一個功能領(lǐng)域,其中文本分類、圖像分類、語音識別等的應(yīng)用[5-7]已較為成熟。文章擬使用陣列式傳感器(電子舌)采集白酒特征數(shù)據(jù)結(jié)合深度學(xué)習(xí)[8]建立白酒品牌分類識別模型,以期實(shí)現(xiàn)不同品牌白酒的高效、精準(zhǔn)分類。
在深度學(xué)習(xí)的分類應(yīng)用中,數(shù)據(jù)集的質(zhì)量與模型最終的分類預(yù)測準(zhǔn)確率息息相關(guān)。高質(zhì)量的數(shù)據(jù)集可以訓(xùn)練出高性能的分類預(yù)測模型,能夠?qū)Υ郎y數(shù)據(jù)類別進(jìn)行精準(zhǔn)預(yù)測。通常情況下,收集的數(shù)據(jù)集不能直接使用,需要進(jìn)行預(yù)處理,包括數(shù)據(jù)篩選(異常數(shù)據(jù)處理、無效數(shù)據(jù)刪除等)、數(shù)據(jù)標(biāo)簽(數(shù)據(jù)類別)設(shè)定、數(shù)據(jù)標(biāo)準(zhǔn)化以及訓(xùn)練集和測試集的劃分。其中,數(shù)據(jù)標(biāo)準(zhǔn)化[9]的方法有:Min-max標(biāo)準(zhǔn)化和Z-score標(biāo)準(zhǔn)化。其目的是對原始數(shù)據(jù)進(jìn)行線性變換,使結(jié)果落在[0,1]或[-1,1]區(qū)間,取消由于量綱不同、自身變異或者數(shù)值相差較大所引起的誤差。
Min-max對應(yīng)的表達(dá)式為:
(1)
式中:
max——同類樣本數(shù)據(jù)最大值;
min——同類樣本數(shù)據(jù)最小值。
Z-score標(biāo)準(zhǔn)化對應(yīng)的表達(dá)式為:
x*=(x-μ)/σ,
(2)
式中:
μ——所有樣本數(shù)據(jù)均值;
σ——所有樣本數(shù)據(jù)標(biāo)準(zhǔn)差。
Z-score標(biāo)準(zhǔn)化會改變原有數(shù)據(jù)的分布結(jié)構(gòu),比較適合類正態(tài)分布的數(shù)據(jù)。因此,選擇Min-max標(biāo)準(zhǔn)化將所測數(shù)據(jù)全部處理至0~1。訓(xùn)練集與測試集的劃分是在原始數(shù)據(jù)標(biāo)準(zhǔn)化的基礎(chǔ)上進(jìn)行,參照各類經(jīng)典案例中的分配情況及自身的試驗(yàn)經(jīng)驗(yàn),訓(xùn)練集設(shè)為樣本總數(shù)的70%,剩余的歸為測試集。為保障測試集與訓(xùn)練集內(nèi)部數(shù)據(jù)分布均勻(各類別所含比例相當(dāng))且具有隨機(jī)性,在數(shù)據(jù)集劃分前需對總樣本進(jìn)行亂序調(diào)整。深度學(xué)習(xí)的模型結(jié)構(gòu)是依據(jù)標(biāo)準(zhǔn)化后的樣本數(shù)據(jù)特征及分類的類別來確定,數(shù)據(jù)特征對應(yīng)神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元的個數(shù),分類的類別數(shù)對應(yīng)輸出層神經(jīng)元的個數(shù),中間層神經(jīng)元的個數(shù)依據(jù)設(shè)定規(guī)則進(jìn)行初步的設(shè)定并結(jié)合模型分類預(yù)測的效果進(jìn)行反饋調(diào)節(jié)。各類參數(shù)確定后,進(jìn)行模型訓(xùn)練,在神經(jīng)網(wǎng)絡(luò)的運(yùn)算過程中,核心步驟是前向傳播與反向傳播[10],其中,前向傳播表達(dá)式為:
Al=g(Zl)=g(Al-1*Wl+bl),
(3)
式中:
l——網(wǎng)絡(luò)層數(shù);
W——權(quán)值向量;
*——卷積運(yùn)算;
b——偏置量bias;
g——激活函數(shù)。
反向傳播的主要目的是更新權(quán)值與偏置,其表達(dá)式為:
(4)
式中:
α——學(xué)習(xí)率;
l——神經(jīng)網(wǎng)絡(luò)層數(shù)。
為增加模型的非線性特性,在隱含層和輸出層的輸出運(yùn)算中引入激活函數(shù)。常見的激活函數(shù)[11-12]有:Sigmoid函數(shù)、Tanh函數(shù)、Relu函數(shù)、Logistic函數(shù)和Softmax函數(shù)。Logistic與Softmax主要在分類中使用,其中Logistic具體針對的是二分類問題,Softmax主要解決的是多分類問題。Sigmoid、Tanh及Relu通常被用為隱含層激活函數(shù),其最大的區(qū)別在于函數(shù)值域不同。結(jié)合試驗(yàn)數(shù)據(jù)特征,隱藏層選擇Relu作為激活函數(shù),由于數(shù)據(jù)類別超過兩類,故輸出層選擇Softmax作為激活函數(shù),其數(shù)學(xué)表達(dá)式為:
(5)
式中:
zi——第i個類別的預(yù)測結(jié)果。
模型經(jīng)Softmax函數(shù)得出的結(jié)果為概率值,其最大值所對應(yīng)的類別即為預(yù)測結(jié)果(類別)。損失函數(shù)作為模型性能評價重要方法,在深度學(xué)習(xí)的分類應(yīng)用中,交叉熵?fù)p失函數(shù)(Cross Entropy)應(yīng)用最為廣泛。其中Binary Cross Entropy主要運(yùn)用在二分類領(lǐng)域中,Softmax結(jié)合Cross Entropy主要針對多分類問題,其表達(dá)式為:
(6)
式中:
p(xi)——真實(shí)概率分布;
q(xi)——預(yù)測概率分布。
由于試驗(yàn)數(shù)據(jù)來源于陣列式傳感器(電子舌)對待測白酒的實(shí)時檢測,數(shù)據(jù)量較大。為了加快深度學(xué)習(xí)分類預(yù)測模型的訓(xùn)練速度[13],采用Mini-batch方法將訓(xùn)練數(shù)據(jù)均分成多份,每次學(xué)習(xí)一份數(shù)據(jù),小批量的進(jìn)行梯度下降,按批更新參數(shù),同一批次的數(shù)據(jù)共同決定了本次梯度的方向,減少了梯度下降過程中的隨機(jī)性,與此同時,每份數(shù)據(jù)相對于整個數(shù)據(jù)集來說模型的計算量變小,加快了模型訓(xùn)練速度。在模型的訓(xùn)練過程中還引入Adam優(yōu)化器[14]對模型進(jìn)行優(yōu)化。Adam優(yōu)化器結(jié)合了AdaGrad和RMSProp兩種優(yōu)化算法的優(yōu)點(diǎn),在自動調(diào)整學(xué)習(xí)率的同時保證參數(shù)的更新不受梯度伸縮變換的影響,其參數(shù)更新的數(shù)學(xué)表達(dá)式為:
(7)
式中:
由式(7)可知,對更新的步長進(jìn)行計算,能夠從梯度均值及梯度平方兩個角度進(jìn)行自適應(yīng)調(diào)節(jié),而不是直接由當(dāng)前梯度決定,能夠達(dá)到提升模型性能的目的。在深度學(xué)習(xí)分類預(yù)測模型的訓(xùn)練過程中,極易出現(xiàn)過擬合現(xiàn)象,因此采用Dropout方法(參數(shù)正則化)解決過擬合問題[15-16],Dropout可作為訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的一種trick供選擇,在每個訓(xùn)練批次中,通過忽略一定數(shù)量的特征檢測器(使一定數(shù)量的隱層節(jié)點(diǎn)值為0),可以明顯地減少過擬合現(xiàn)象。同時,神經(jīng)元數(shù)量的減少進(jìn)一步加快了深度學(xué)習(xí)模型的訓(xùn)練速度?;谏疃葘W(xué)習(xí)分類應(yīng)用的流程圖如圖1所示。
圖1 深度學(xué)習(xí)分類應(yīng)用流程圖
采用多頻脈沖陣列式傳感器(電子舌系統(tǒng)),其中傳感器陣列由鉑、銀、鎢、鈦、鈀、金圓盤工作電極構(gòu)成,直徑Φ均為2 mm,工作溫度15~35 ℃,工作濕度0%~80%。設(shè)備開機(jī)后需在0.01 mol/L氯化鉀溶液中對傳感器預(yù)熱30 min,分別設(shè)置系統(tǒng)的起始電壓、結(jié)束電壓和步降降壓值為1.0,-1.0,0.2 V,其中傳感器提取數(shù)據(jù)的脈沖頻率設(shè)為100 Hz。
選用電子舌的人工進(jìn)樣系統(tǒng)數(shù)據(jù)采集模型對不同品牌的白酒進(jìn)行特征信息采集。進(jìn)樣機(jī)共有12個柱形槽口用于放置盛有待測液體的容器,可以通過軟件控制傳感器測試待測液體位置,其中1號位必須為清洗液且清洗液可放置多個。陣列傳感器S1~S6的靈敏度可依據(jù)樣品的不同進(jìn)行調(diào)整,靈敏度的選擇一般使信號最大值在0.5~10.0 V 為宜,信號值過大需調(diào)小靈敏度,信號值過小則需適量調(diào)大靈敏度。信號過大或過小都可能造成不能保存的數(shù)據(jù)的失誤。樣品經(jīng)一次采集后,會產(chǎn)生1×6維的數(shù)據(jù),試驗(yàn)選取市面上常見的多個品牌進(jìn)行測試,其中部分品牌的酒樣見表1。為了保證樣品采集的隨機(jī)性,分別對每類酒進(jìn)行若干次采集而非固定采集次數(shù),初步得到每個品牌平均約10 000組數(shù)據(jù),最后構(gòu)成樣本數(shù)據(jù)集,通過數(shù)據(jù)庫進(jìn)行存儲。從全部數(shù)據(jù)中選取8類6維數(shù)據(jù)作為測試樣本,8類酒分別用數(shù)字1,2,3,4,5,6,7,8進(jìn)行標(biāo)識分類,每一類數(shù)據(jù)具有6個特征值。所選數(shù)據(jù)的部分值見表2,傳感器采集的所有數(shù)據(jù)的分布圖如圖2 所示。
表1 部分待測品牌樣品酒
表2 部分樣品值
在陣列式傳感器(電子舌)所測的所有數(shù)據(jù)中選取8類數(shù)據(jù)進(jìn)行異常值、無效數(shù)據(jù)刪除等預(yù)處理操作,最終確立類別均勻的50 000組數(shù)據(jù)作為深度學(xué)習(xí)分類預(yù)測模型的數(shù)據(jù)集。由于模型的損失函數(shù)采用的是交叉熵,需對數(shù)據(jù)集在[0,1]區(qū)間內(nèi)進(jìn)行歸一化處理,再按照30%,70%的比例對數(shù)據(jù)集進(jìn)行測試集與訓(xùn)練集的劃分,劃分?jǐn)?shù)據(jù)集需注意各種類別在訓(xùn)練集與測試集中分布均勻。載入模型中進(jìn)行訓(xùn)練前還需作亂序處理,以保證數(shù)據(jù)的隨機(jī)性。依據(jù)陣列式傳感器(電子舌)所測數(shù)據(jù)的維度、白酒品牌的類別與隱含層的設(shè)計經(jīng)驗(yàn),結(jié)合初步結(jié)果進(jìn)行反饋調(diào)整,模型的結(jié)構(gòu)最終設(shè)定為6-64-8。為避免模型過擬合,Dropout的值設(shè)為0.5,即忽略1/2的特征檢測器。模型的迭代次數(shù)并不是越大越好,結(jié)合模型結(jié)果,經(jīng)過實(shí)際訓(xùn)練調(diào)整,最終設(shè)定該模型最多迭代次數(shù)為70。
圖2 樣品在各個屬性上的分布
在深度學(xué)習(xí)分類預(yù)測模型中,經(jīng)過訓(xùn)練集對所建模型進(jìn)行訓(xùn)練,通過測試集進(jìn)行預(yù)測,得到預(yù)測樣本識別率為99.987%。其損失函數(shù)效果見圖3,正確率見圖4。深度學(xué)習(xí)分類預(yù)測模型經(jīng)訓(xùn)練后,交叉熵?fù)p失函數(shù)的值從開始訓(xùn)練的2.070 4降低至訓(xùn)練結(jié)束的0.087 9,說明模型的性能良好,能夠滿足分類需求。
圖3 訓(xùn)練模型損失函數(shù)效果圖
圖4 測試樣本訓(xùn)練集與測試集的正確率
由圖4可知,訓(xùn)練集與測試集的正確率均較高,且未出現(xiàn)過擬合現(xiàn)象,能夠滿足預(yù)測的精度要求,達(dá)到精準(zhǔn)分類的目的。
基于深度學(xué)習(xí)的分類識別與傳統(tǒng)不同核函數(shù)的SVM分類識別方法對比結(jié)果如表3所示。由表3可知,傳統(tǒng)的分類識別方法(不同核函數(shù)的SVM)對于白酒品牌分類準(zhǔn)確率較低,而使用深度學(xué)習(xí)建立的白酒分類識別方法準(zhǔn)確率較高,實(shí)用性更好。
表3 不同方法識別率比較
文章提出的基于深度學(xué)習(xí)的白酒分類預(yù)測模型將深度學(xué)習(xí)引入至白酒領(lǐng)域中,再結(jié)合陣列式傳感器(電子舌)對白酒快速、高效的檢測優(yōu)勢,能夠高效、精準(zhǔn)地對不同品牌的白酒進(jìn)行分類識別。試驗(yàn)結(jié)果表明,該預(yù)測模型的白酒品牌識別率達(dá)99.987%,具有較強(qiáng)的非線性特性,能夠充分發(fā)掘數(shù)據(jù)特征與白酒類別間的關(guān)系,具有較好的實(shí)用性。后續(xù)將提升基于深度學(xué)習(xí)的白酒分類預(yù)測模型的速度,并將深度學(xué)習(xí)等更多的人工智能技術(shù)引入至白酒領(lǐng)域中,實(shí)現(xiàn)白酒的智能釀造、生產(chǎn)、勾兌以及生產(chǎn)狀態(tài)實(shí)時監(jiān)測等目標(biāo)。