尹 佳,陳 翔,董 曼,陳 鋰,郭鵬程,張 濤,文 紅,*
(1.湖北省食品質量安全監督檢驗研究院,湖北省食品質量安全檢測工程技術研究中心,湖北 武漢 430075;2.武漢理工大學計算機與人工智能學院,湖北 武漢 430070)
醬鹵肉制品是我國傳統的肉類食品之一,風味獨特,具有較高的營養價值,其安全問題直接影響到廣大人民群眾的健康。隨著社會經濟的快速發展,國家對食品抽檢力度也不斷提升,大量的食品抽檢數據為了解食品安全現狀、制定針對性的抽檢計劃和監管提供了重要的數據支撐[1]。但國內食品安全事件如豆芽中檢出6-芐氨基腺嘌呤[2]、膠囊中檢出鉻[3]、速凍米面食品存在單核細胞增生李斯特菌污染[4]等時有發生,使得對食品進行潛在風險的事前預防控制變得尤為重要。食品安全涉及食品供應鏈的整個過程,各個環節都存在威脅食品安全的潛在因素,食品安全風險評估與監管需要綜合考慮各個環節的風險因素。因此,非常有必要對這些因素進行挖掘分析,充分利用這些復雜數據,提煉出潛在的有價值的信息,識別出潛在的安全風險,實現綜合性、動態性的預測,對問題食品或可能存在的風險及時發出預警,為食品安全風險監管部門進行風險控制提供技術支持。
我國的食品監管部門和檢驗機構對于海量的抽檢數據,通常通過對某類食品安全歷史抽檢數據集進行簡單地統計分析,得到該類食品的不合格率,然后利用該指標對該類食品安全狀況進行評價,此方法為對食品安全狀況的事后分析。通過分析歷年食品安全檢測數據發現往往存在大量空值,即某項目沒有檢測或者是檢測后沒有結果,數理統計方法不能在空值上進行風險評估并發現數據項之間的聯系,顯然,在食品安全風險評估中數理統計顯現出不足。通過這些傳統的數理統計、典型病例通報等手段對食品進行風險警示,缺少深度的分析與應用[5-6]。另外,國內監管機構對監督抽檢數據合格數據利用相對不足,而合格數據中也有風險因素,如果僅利用不合格率評估食品安全狀況,忽略食品中檢測項目實際檢測數據以及檢測數據與相關食品安全標準值間的關系,不能準確反映食品安全狀況。部分發達國家和地區在風險預警方面起步較早,目前已建立了相對成熟的食品安全風險預警系統,例如歐盟食品與飼料快速預警系統、全球環境監測系統/食品污染物監測與評估規劃、國際食品安全當局網絡、美國食源性疾病主動監測網絡及聯合國的畜牧業預警系統[7-9]等。在食品安全風險預測方法方面,國內外學者也進行了許多探索。Allain等提出新興風險識別支持系統的設計,適用于家禽屠宰場肉類檢驗的風險預警系統[10]。Wang Jing等采用關聯規則挖掘和物聯網技術,對整個食品供應鏈的所有檢測數據進行及時監控,判斷是否應發布預警[11]。Geng Zhiqiang提出了兩種基于層次分析法的食品安全預警模型[12-13]。另外,為充分利用合格數據,李小鳳提出了基于指數的不合格度與不合格率兩方面去綜合評價食品風險等級,將食品安全風險等級程度分為了5 級[14]。郭海霞等也構建了食品安全指數評估模型,用于評估山東省豬肉中獸藥殘留風險程度[15]。陳夏威等[16]指出目前大部分食品安全風險預警相關文獻仍在使用支持向量機模型[17]、BP神經網絡模型[18]、決策樹模型[19]等,仍然不能取得最佳的效果。例如目前廣泛應用在食品安全風險預測的研究方法——BP人工神經網絡和支持向量機,在預測過程中會遇到一些問題[20-23],如BP神經網絡在食品安全預測方面存在訓練時間長、網絡訓練效率不穩定、泛化能力不強、精度不太高等缺點,這是由于BP神經網絡的本質是梯度下降法,由于優化的目標函數較為復雜,導致算法效率較低,同時它又是一種局部搜索的優化方法,在訓練過程中可能會陷入局部極值,從而導致訓練失敗。而支持向量機算法則適用于少量線性可分數據的訓練。
食品安全檢測數據具有非線性的特點,時序性和波動性較強。目前在食品安全預測方面,基于時序性的預測模型較少,一類是基于傳統的統計分析和隨機過程,通常要求序列具有平穩性,并且本質上只能描述線性關系[24-25];除了統計學方法外,傳統的模型還有灰色時間預測模型[26],其對數據的要求較低,適合短期預測,但對于波動較大的數據卻效果不佳。另一類模型基于神經網絡,例如循環神經網絡(recurrent neural network,RNN),其能夠更加充分地利用數據的時間特性。長短期記憶網絡(long short-term memory,LSTM)屬于循環神經網絡的一種,是針對普通循環神經網絡的長期依賴問題所提出的一種改進方案。與普通的RNN不同,LSTM的隱藏層不是簡單的重復結構,而是采用了三重門的設計,即遺忘門、輸入門和輸出門[27]。三重門的設計使得“記憶”信息更有選擇性,能夠篩選出真正有效的信息,從而避免無效信息對整個循環網絡產生較大的干擾。LSTM在考慮時間規律的同時,可以捕捉到數據復雜的非線性特性。由于食品安全抽檢數據是非平穩的離散時間序列,振幅較大,目前對于非線性非平穩信號的分析主要方法有短時傅里葉變換[28-29]、小波分解[30-31]、經驗模態分解[32-33]等分析方法,其中小波分解繼承和發展了短時傅立葉變換局部化的思想,同時又克服了窗口大小不隨頻率變化等缺點,能夠提供一個隨頻率改變的“時間-頻率”窗口,是進行信號時頻分析和處理的理想工具。相較于傅里葉變換,小波分解由于其小波基的特征,能獲取其時域特征,更適合處理非平穩信號,小波分解能同時分解趨勢信息和波動細節信息,常用來解決波動性問題。
本研究以2014—2019年我國醬鹵肉制品歷史抽檢信息為數據源,依據國家標準對檢測結果進行風險等級劃分,并采用數據分箱對風險等級數據進行預處理,利用小波分解對數據進行分解,對分解后不同細節的分量分別采用LSTM模型進行預測,最后將預測后的分量結果進行相加重組,得到預測的風險等級,構建了基于時間序列的小波分解-LSTM預測模型,并對模型的有效性進行驗證,以期為我國醬鹵肉制品食品安全問題分析與風險預警提供理論支持,為食品安全大數據的進一步深入挖掘提供參考。
本研究使用的數據來源于國家市場監督管理總局2014—2019年公開公布的以及本機構抽檢所獲得的30 757 批次醬鹵肉制品信息,數據涵蓋抽檢合格與不合格產品的名稱、生產日期、生產企業省份、檢驗項目、檢驗結果、標準值等原始信息,所得到的部分數據如表1所示。

表1 部分食品安全抽檢原始數據匯總Table 1 Summary of selected food safety survey data
分析數據發現不同年份各省醬鹵肉制品抽檢項目有所不同,為盡量全面反映醬鹵肉制品的食品安全狀況,最終將所有抽檢的項目均納入指標體系。以湖北省2014—2019年數據為例,包括28 個檢驗項目(酸性橙II、克倫特羅、氯霉素、沙丁胺醇、萊克多巴胺、商業無菌、大腸菌群、菌落總數、單核細胞增生李斯特菌、苯并[a]芘、N-二甲基亞硝胺、亞硝酸鹽殘留量(以亞硝酸鈉計)、山梨酸及其鉀鹽(以山梨酸計)、糖精鈉(以糖精計)、脫氫乙酸及其鈉鹽(以脫氫乙酸計)、苯甲酸及其鈉鹽(以苯甲酸計)、胭脂紅、莧菜紅、新紅、日落黃、檸檬黃、誘惑紅、赤蘚紅、防腐劑混合使用時各自用量占其最大使用量的比例之和、總砷(以As計)、鉛(以Pb計)、鉻(以Cr計)、鎘(以Cd計)),該檢驗項目包含8 類:非食用物質、禁用獸藥、其他微生物、致病性微生物、有機污染物、其他污染物、食品添加劑、重金屬等元素污染物(表2)。

表2 醬鹵肉制品安全風險預警指標體系Table 2 Early warning index system for marinated meat product safety risks
由于食品檢測結果具有多源性、異構性、非線性等特點,不同樣品之間的檢測結果存在差異性,波動性較強[34],如果直接將檢測結果的數值直接帶入模型訓練,學習曲線會十分復雜,預測結果會存在較大偏差。本研究以湖北省2014—2019年醬鹵肉制品28 個檢驗項目的檢測結果為例,根據國家標準(GB 2760—2014《食品安全國家標準 食品添加劑使用標準》等)采用公式(1)將食品的各項目檢測值進行去量綱化處理。根據各項目去量綱化的結果,結合專家打分法,將項目風險等級分為5 級,其中1~4級符合國家標準要求,1級為無需預警,2級為輕微預警,3級為輕度預警,4級為中度預警,5級為不符合國家標準要求,為重度預警[35],等級詳見表3。

表3 項目風險等級分級表Table 3 Risk rating scales for test items

式中:Yi表示預處理后的風險等級評價值;Xstandard為國家標準中規定的標準值;Xi為檢驗項目的實測值。
通過上述預處理,得到1級風險數據16 733 條,2級風險數據1 026 條,3級風險數據945 條,4級風險數據19 條,5級風險數據38 條。由于食品風險等級低的檢測項目占大多數,而風險等級高的檢測項目占少數,但風險等級高的數據對最終的食品安全風險等級卻有決定性的影響。因此,如果采用傳統的加權平均法,會導致最終的食品風險等級都很低,不能反映出食品的真實風險等級,而借鑒softmax函數采用指數的方式來計算食品A的綜合風險等級(公式(2)),則可以很好地反映食品數據的特征,使得計算出的風險等級更加符合實際情況。

式中:level(A)為食品A的綜合風險等級;i為食品A中的等級數值;w(i)為風險等級i在食品A中的占比。
1.3.1 小波分解
小波分解能夠將原始信息分解為不同精細度的信息,其中粗略信息能夠代表原始信息的趨勢,而細節信息反映的是原始信息的波動情況。本研究中食品安全抽檢數據是離散時間序列,采用離散小波分解中的快速二進正交小波分解[36](Mallat算法)進行分解,分解示意圖如圖1所示。

圖1 小波分解示意圖Fig.1 Schematic diagram of wavelet transform
1.3.2 LSTM模型
LSTM是建立在RNN上的一種新型深度機器學習神經網絡,在輸入、反饋與防止梯度爆發之間建立了一個長時間的時滯。這個架構使得其在特殊記憶單元中的內部狀態保持一個持續誤差流,梯度既不會爆發也不會消失,誤差函數隨梯度下降得更快,更容易收斂到最優解,使得梯度無論傳播多遠,都不會出現完全消失的現象。LSTM循環結構示意圖如圖2所示。

圖2 LSTM循環層結構示意圖Fig.2 Schematic diagram of LSTM cyclic layer structure
其中核心的部分是神經元Ct-1到Ct的狀態轉移,如式(3)所示。

式中:Ct-1為t-1時刻的神經元狀態;Ct為t時刻的神經元狀態;ΔCt為t時刻神經元信息增量;ft、it分別為遺忘門和輸入門。
遺忘門ft的表達式如式(4)所示。

式中:Sigmoid為Sigmoid激活層,使得輸出結果為一個0~1的值,代表著對該信息的保留程度;Wf為遺忘門的權值矩陣;Ot-1為t-1時刻的輸出;Xt為t時刻的輸入;bf為遺忘門的偏置量。
輸入門it的表達式如式(5)所示。

式中:Wi為輸入門的權值矩陣;bi為遺忘門的偏置量;其余參數含義與遺忘門相同。
神經元信息增量的表達式如式(6)所示。

式中:tanh為tanh激活層;Wc為神經元狀態的權值矩陣;bc為神經元狀態的偏置量;其余參數含義與遺忘門相同。
而最終的輸出則是由神經元的狀態Ct和輸出門ot同時決定的,如式(7)所示。

式中:Ot為t時刻的輸出;ot為輸出門;Ct為t時刻的神經元狀態。
在本研究中,將前n個醬鹵肉制品的綜合風險等級值組成一個序列,輸入LSTM模型中進行訓練,模型會計算前n個醬鹵肉制品的綜合風險等級值對后面的醬鹵肉制品的綜合風險等級值的影響,同時在訓練時也會考慮后面的風險等級對前面的影響。依據該影響來決定記憶或遺忘,并實時更新神經元狀態。
1.3.3 其他相關參數設置
根據本研究的實際情況,對相關的參數進行了設置,本研究使用的神經網絡總共4 層,將當前待預測風險等級的前20 個等級作為輸入特征,對應的輸入層神經元個數為20;將當前待預測風險等級作為輸出,對應的輸出層神經元個數為1。中間的隱藏層分別為一個LSTM層和一個結點數為16的全連接層,訓練集的其他相關參數如表4所示。

表4 訓練集相關參數Table 4 Training set-related parameters
1.3.4 小波分解-LSTM模型
本研究采用小波分解-LSTM模型進行預測,其基本思路是先采用小波分解對數據序列進行分解,得到各個分量,再采用LSTM模型對各個分量進行預測,得到各個分量的預測模型,最后對分量的預測結果進行重構,輸出最終的預測結果,具體流程如圖3所示。

圖3 小波分解-LSTM模型流程圖Fig.3 Flow chart of WT-LSTM model
經驗模態分解(empirical mode decomposition,EMD)廣泛運用于信號處理和數據分析中[37],適合非平穩信號的處理,它是將一個頻率不規則的信號波分解為不同單一頻率的信號波和一個殘差的形式,其中不同單一頻率的信號波也叫本征模函數(intrinsic mode functions,IMF)。EMD依據數據自身的時間尺度特征來進行信號分解,即局部平穩化,而無需預先設定任何基函數。經過EMD方法分解可將原始信號Xt分解成一系列IMF以及剩余部分的線性疊加。
將經過EMD分解得到的各IMF分量輸入LSTM模型,使用LSTM對各IMF分量進行預測,最后重組得到預測結果。
由于食品抽檢采樣存在隨機性,并不是每天均有采樣,若按天進行建模,存在較多缺省值,故需要對數據進行分箱處理。數據分箱時間間隔會影響LSTM輸入點的個數和精度,若時間間隔太長(如以月為單位進行分箱處理),LSTM輸入點數太少,導致模型精度降低;若時間間隔太短,數據會存在較多缺省值,且學習曲線復雜,導致最終預測結果缺乏可信性。本研究對數據分箱時間間隔進行優化,分別以時間間隔1、4、7、15、30 d進行實驗(表5)。

表5 數據分箱時間間隔優化Table 5 Optimization of data separation time interval
由表5可知,隨著采樣間隔的增大,預測的平均準確率在逐漸減小,同時數據集也在減小,對于原本數據量較少的城市則會造成數據集過小而無法滿足神經網絡訓練的基本條件。另一方面,由于原始的食品安全數據在時間維度上存在許多缺省值,若采用間隔太小,則會采集到許多缺失值,使得采樣數據失去代表性,對預測產生干擾;因此,在考慮到數據的有效性的同時,為盡量減小采樣間隔,最終將時間間隔定為4 d一個分箱。
本研究最終將時間間隔4 d的食品數據劃分為一個數據集,并使用公式(2)計算每個數據集的風險等級。
小波分解能通過變換充分突出問題的某些方面特征,能對時間(空間)頻率進行局部化分析,通過伸縮平移運算對信號(函數)逐步進行多尺度細化,最終達到高頻處時間細分,低頻處頻率細分,能自動適應時頻信號分析的要求,從而可聚焦到信號的任意細節。基于小波分解,可實現對非平穩離散時間序列的食品安全抽檢數據的平穩化處理。在信號空間中,可以采用不同的小波基,其中常用的小波基有Haar、Daubechies、Biorthogonal、Coiflets等。
由于原始數據具有連續性,且波動性較大,本研究在小波分解的過程中選擇了光滑性較好的8階Daubechies小波基,并根據數據的復雜程度將其分解為不同頻率的子序列,每個子序列的長度與原始數據相同,反映的是原始序列中所包含的不同頻率的信息。例如分解后的3、4、5級分解信息能夠不同程度地反映原始數據部分的趨勢特征。而其他的分解信息反映了不同的噪聲干擾因素。最后采用smooth模式進行重構。本研究中模型構建使用數據分箱后得到的風險等級值作為輸入,使用小波分解將數據分解成各個分量,再使用LSTM對各分量進行預測,最后重組得到最終的預測結果。圖4為小波分解后各級分量示意圖。本研究以湖北省2014—2019年醬鹵肉制品數據的前2/3作為訓練集,后1/3作為測試集以驗證模型的預測準確性。


圖4 湖北省醬鹵肉制品數據小波分解-LSTM模型各分量預測示意圖Fig.4 WT-LSTM model component prediction diagrams of marinated meat products from Hubei province
2.3.1 有效性分析
如圖5所示,預測的醬鹵肉制品綜合風險等級與原始數據吻合度較高,計算預測準確率為0.99。使用類似的方法,將全國其他30 個省份的醬鹵肉制品數據帶入LSTM模型訓練并進行預測,均得到較好的效果,具體見表6,準確率最低的為湖南省,準確率為0.89。平均準確率為0.95,標準偏差為0.029,說明整體準確率較高,并且準確率波動較小,表明建立的小波分解-LSTM模型可以適用于醬鹵肉制品綜合風險等級的時序預測。通過所建立的小波分解-LSTM模型對各省醬鹵肉制品綜合風險等級進行預測,發現廣東和吉林2 個城市下一個時間點醬鹵肉制品風險等級最高,需要引起相關部門的重視。

圖5 湖北省醬鹵肉制品數據小波分解-LSTM模型重構后預測示意圖Fig.5 WT-LSTM model reconstruction prediction diagrams of marinated meat products from Hubei province

表6 不同模型間預測準確率比較及風險等級預測結果Table 6 Comparison of prediction accuracy between different models and results of risk grade prediction

續表6
2.3.2 模型比較與分析
本研究將2014—2019年31 個省醬鹵肉制品檢測數據進行相同數據預處理后,經過EMD分解后,將分解得到的各個本征模函數作為LSTM的輸入數據,結果如表6所示,準確率最低的為吉林省,準確率為0.32,平均準確率為0.625,標準偏差為0.190。分析發現,EMD-LSTM模型中,經過EMD分解后的部分分量變化趨勢仍然較復雜,從而導致重構后的結果誤差較大,而小波分解-LSTM則較好地克服了這一問題,原因可能是小波分解-LSTM選擇了光滑度較好的高階消失矩的多貝西(Daubechies wavelets,db)小波基,而非常用的haar小波基,使得分解后得到的各個分量都具有較好的光滑性,從而使LSTM對各個分量都有較高的準確度。相對EMD-LSTM模型而言,所建立的小波分解-LSTM模型準確率更高,并且預測的準確率更加穩定。
根據2014—2019年醬鹵肉制品歷史抽檢信息,使用專家打分法結合國家食品安全標準,對醬鹵肉制品檢測結果的數值進行去量綱化后,通過改進softmax函數公式來計算醬鹵肉食品的綜合風險等級,結合小波分解-LSTM模型,構建了適合醬鹵肉制品安全預測的模型,并成功對全國31 個省份的醬鹵肉制品風險等級進行驗證和預測,結果顯示模型精度較好,準確率最低為0.89,全國平均準確率為0.95,標準偏差為0.029,說明建立的模型可以有效實現醬鹵肉制品中綜合風險等級的預測,為我國醬鹵肉食品安全的防御和日常監測工作提供技術支持。