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