張學成,金尚忠,趙天琦,張 飛,陳 義
(中國計量大學 光學與電子科技學院,浙江 杭州 310018)
生物氣溶膠可攜帶高危病原微生物,對人類社會存在極大的威脅[1]。因此,進行生物氣溶膠識別與分類的研究對于環(huán)境安全具有重要意義[2]。傳統(tǒng)的方法通過檢測粒子的形狀和粒徑來判定被檢物質(zhì)種類[3],存在誤報情況[4]。雖然最新的分子技術(shù)可以利用化學分析的方法實現(xiàn)對生物氣溶膠的準確識別[5],但無法做到連續(xù)監(jiān)測,并且耗時較長,成本昂貴。拉曼光譜技術(shù)可以實現(xiàn)較為準確的識別分類,但其設(shè)備昂貴,且體積巨大,不夠便攜。
上個世紀七十年代末,ZareR.N及其團隊對激光誘導熒光實驗首次發(fā)表后[6],激光誘導熒光光譜法逐漸成為生物氣溶膠主要檢測技術(shù)。由于不同的生命物質(zhì)具有不同的吸收光譜與發(fā)射光譜,生物粒子所含的有機分子如氨基酸、維生素B2、煙酰胺腺嘌呤二核苷酸還原態(tài)(nicotinamide adenine dinucleotide,NADH)等在紫外波段的光激發(fā)下會產(chǎn)生熒光,是判別氣溶膠中是否具有生命屬性的重要條件。本文基于激光誘導熒光技術(shù)原理,設(shè)計并搭建了一種熒光光譜儀,采集熒光光譜數(shù)據(jù),訓練優(yōu)化主成分分析網(wǎng)絡(luò)(principal component analysis networks,PCANet)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)和全卷積網(wǎng)絡(luò)(fully convolutional networks,F(xiàn)CN)深度學習網(wǎng)絡(luò),同時使用常用的機器學習方法與深度學習方法的結(jié)果進行比較,對比各網(wǎng)絡(luò)的相關(guān)指標表現(xiàn)來判定最佳網(wǎng)絡(luò)模型。
在光學平臺上,本研究設(shè)計搭建的熒光光譜儀系統(tǒng)結(jié)構(gòu)如圖1所示,包括375 nm的OBIS激光器,索雷博380 nm的濾光片,2塊透鏡呈水平方向垂直放置,分別用于激光聚焦和熒光收集。樣品通過蠕動泵注入到毛細管中,當樣品流動通過激光匯聚的焦點時,發(fā)出的熒光經(jīng)過收集透鏡,然后通過400 nm截止濾光片,最后經(jīng)過帶通濾光片陣列后進入濱松的單光子陣列探測器中。通過電腦可以在探測器配套軟件界面上觀察各波長相對熒光強度并保存數(shù)據(jù)。
圖1 熒光光譜儀系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Schematic diagram of fluorescence spectrometer system structure
使用上文搭建的熒光光譜儀,將激光功率設(shè)置為5 mW,激發(fā)波長為375 nm,探測器積分時間設(shè)置為1 000 ms,采集的金葡萄球菌、花粉、NADH、維生素B2、化妝品和香煙的熒光光譜如圖2所示。
圖2 金葡萄球菌、花粉、NADH、維生素B2、化妝品、香煙的熒光光譜Fig.2 Fluorescence spectra of staphylococcus aureus,pollen, NADH, vitamin B2, cosmetics and cigarettes
分別將7個濃度梯度的金葡萄球菌、花粉、NADH、維生素B2、化妝品和香煙,每個樣品采集20個熒光光譜數(shù)據(jù)作為識別分類的數(shù)據(jù)集。將0.000 1 mol/ml維生素B2分別與10、102、103、104、105、106、107cfu/ml的金葡萄球菌、乳酸菌、酵母菌,按1:1比例配成1 ml混合溶液,每種混合溶液采集30個光譜數(shù)據(jù)作為生物成分濃度回歸預(yù)測的數(shù)據(jù)集。
在現(xiàn)有研究中,光譜大多以一維向量形式作為輸入,有時不利于深度學習網(wǎng)絡(luò)提取信息。所以本研究將每個光譜數(shù)據(jù)以一維向量和二維矩陣的形式輸入到模型,如圖3所示將光譜重構(gòu)為等長等寬的二維數(shù)據(jù),有助于深度學習網(wǎng)絡(luò)超參數(shù)的優(yōu)化過程和取值信息。識別分類的光譜數(shù)據(jù)集需要作歸一化處理。
圖3 2種光譜輸入形式Fig.3 Two kinds of spectral input forms
首先選擇PCANet網(wǎng)絡(luò)進行設(shè)計優(yōu)化,因為其是一種結(jié)構(gòu)簡單的級聯(lián)線性網(wǎng)絡(luò)[7],一般由1個輸入層、2個卷積層和1個輸出層組成。本文設(shè)計的PCANet的結(jié)構(gòu)如圖4所示,首先對輸入矩陣進行分塊,大小為k1× k2。對每個分塊矩陣進行主成分提取和兩層卷積,得到L1×L2輸出矩陣(第1層得到L1輸出矩陣)。第2層的輸出矩陣進行二進制哈希編碼,得到新的L2矩陣(根據(jù)等式1)。編碼后的L1矩陣被分為B塊,統(tǒng)計每個塊的直方圖信息,計算得到直方圖特征向量(根據(jù)等式2)。然后將每個塊的直方圖特征向量級聯(lián)起來,最后建立輸出特征矩陣。二維PCANet的網(wǎng)絡(luò)結(jié)構(gòu)與一維PCANet相似[8]。
圖4 一維向量形式輸入的PCANet結(jié)構(gòu)Fig.4 PCANet structure input by one-dimensional vector form
一維向量數(shù)據(jù)經(jīng)過模型訓練后,對預(yù)測集的識別分類準確率為84.13%,濃度預(yù)測的準確率為96.07%。二維矩陣數(shù)據(jù)經(jīng)過模型訓練后,對預(yù)測集的識別分類準確率為96.61%,濃度預(yù)測的準確率為97.35%。
雖然PCANet的優(yōu)點是計算速度快,但是是以犧牲其準確率為代價的。所以設(shè)計以下的CNN網(wǎng)絡(luò)模型進行訓練優(yōu)化[9]。CNN模型結(jié)構(gòu)如圖5所示。
圖5 一維向量形式輸入的CNN結(jié)構(gòu)Fig.5 CNN structure input by one-dimensional vector form
多層神經(jīng)網(wǎng)絡(luò)設(shè)計適用于差異數(shù)據(jù)的分類和回歸。使用帶有整流線性單位函數(shù)(rectified linear unit, ReLU)的卷積層和池化層來提取主要特征[10],提高學習效率。批歸一化用于防止過度擬合。特征展平層實現(xiàn)了多維數(shù)據(jù)到一維數(shù)據(jù)的轉(zhuǎn)換,是卷積層到全連接層的過渡層。采用全連接層來連接物質(zhì)的特征和類型之間的關(guān)系。在全連接層中存在非線性的ReLU函數(shù),輸出層是具有歸一化指數(shù)函數(shù)(softmax)的6個隱藏單元[11]。采用均方根支柱作為優(yōu)化器來訓練網(wǎng)絡(luò),因為它具有學習速率為1×10-4的計算效率。損失函數(shù)采用交叉熵損失[12]。同時,增加一個全連接層和一個無激活函數(shù)的隱藏單元的輸出層作為回歸的CNN。除了二維卷積、池化核和損失函數(shù)外,二維CNN的網(wǎng)絡(luò)結(jié)構(gòu)與一維CNN相似。
一維向量(1×289)輸入后經(jīng)過卷積得到特征映射為(1×287),經(jīng)過池化后為(1×144),再次經(jīng)過卷積,特征映射變?yōu)椋?×142),接著池化后為(1×71),特征展平后,經(jīng)過2個全連接層后輸出6個節(jié)點。
一維向量數(shù)據(jù)經(jīng)過模型訓練后,對預(yù)測集的識別分類準確率為94.58%,濃度預(yù)測的準確率為94.07%。二維矩陣數(shù)據(jù)經(jīng)過模型訓練后,對預(yù)測集的識別分類準確率為98.05%,濃度預(yù)測的準確率為97.03%。
由于CNN池化層會丟失一些有價值的信息,這可能會影響分析的準確性。為了避免這種負面影響,F(xiàn)CN將池化層替換為使用更大的步長調(diào)整參數(shù)的卷積層,即其網(wǎng)絡(luò)中卷積層代替了池化層和全連接層[13],因此,設(shè)計如圖6所示的FCN 結(jié)構(gòu),其獲得的特征比CNN更精細。1×1的卷積代替了全連接,即減少網(wǎng)絡(luò)的參數(shù),并增加網(wǎng)絡(luò)的非線性,從而獲得更好的性能。
圖6 二維矩陣形式輸入的FCN結(jié)構(gòu)Fig.6 FCN structure input by two-dimensional matrix form
每一層都帶有ReLU函數(shù),在所有卷積層之后,全局平均池化作為正則化,用于加強特征和類別之間的對應(yīng)關(guān)系,這提高了輸入經(jīng)受空間變換的健壯性。根據(jù)不同的任務(wù)選擇輸出層中節(jié)點的隱藏單元。
二維矩陣(17×17)經(jīng)過3×3核卷積,特征映射為(15×15),經(jīng)過2×2核卷積變?yōu)椋?×7),歸一化后再次經(jīng)過3×3核卷積為(5×5),再次經(jīng)過2×2核卷積變?yōu)椋?×2),最后輸出。
一維向量數(shù)據(jù)經(jīng)過模型訓練后,對預(yù)測集的識別分類準確率為94.13%,濃度預(yù)測的準確率為96.84%。二維矩陣數(shù)據(jù)經(jīng)過模型訓練后,對預(yù)測集的識別分類準確率為95.01%,濃度預(yù)測的準確率為97.93%。
將2組光譜數(shù)據(jù)按比例劃分為訓練集、驗證集和預(yù)測集。識別分類數(shù)據(jù)集840個,訓練集、驗證集和預(yù)測集分別為440、200和200個。回歸預(yù)測數(shù)據(jù)集630個,訓練集、驗證集和預(yù)測集分別為410、110和110個。
采用準確率(accuracy,ACC)評價不同方法的識別性能。訓練集、驗證集和預(yù)測集的ACC分別縮寫為ACCc、ACCv和ACCp。
對于采集的數(shù)據(jù),在熒光光譜識別與分類的實驗中使用了隨機森林[14](random forest,RF)、最近鄰算法[15](k-nearest-neighbor,KNN)、支持向量機[16](support vector machine,SVM)與本文設(shè)計的3個網(wǎng)絡(luò)模型效果進行對比。在熒光光譜生物成分濃度預(yù)測的實驗中則使用了偏最小二乘回歸算法[17](partial least squares regression,PLSR)、邏輯回歸算法[18](logistic regression,LR)與本文設(shè)計的深度學習網(wǎng)絡(luò)的表現(xiàn)進行對比。
所有深度學習網(wǎng)絡(luò)均使用Python和Keras進行[19]。機器學習方法RF、SVM、KNN、LR和PLSR是在Scikit-learn的基礎(chǔ)上實現(xiàn)的[20]。
將光譜數(shù)據(jù)以向量或矩陣的形式輸入到深度學習網(wǎng)絡(luò)中,對比機器學習方法的效果。識別分類準確率見表1,上標a、b分別代表向量輸入和矩陣輸入。
表1 不同方法對熒光光譜分類的準確率Table 1 Accuracy of fluorescence spectrum classification by different methods %
在設(shè)計建立的模型中,以一維向量形式作為輸入,可能造成模型梯度消失而發(fā)生錯誤收斂,一定程度上影響了模型的準確性。對于矩陣形式的光譜,各網(wǎng)絡(luò)模型都取得了良好的效果,ACCc、ACCV和ACCp均在95%附近,優(yōu)于機器學習的方法。最佳效果由CNNb方法實現(xiàn),ACCc為99.91%,ACCV為98.17%,ACCp為98.05%。
從圖7中的學習曲線可以看出,隨著訓練集大小的增加,預(yù)測集的識別準確率顯著提高,說明模型在不斷學習新的特征。
圖7 CNNb的學習曲線Fig.7 Learning curve of CNNb
在PCANet、CNN、FCN建立的模型中,對光譜中生物成分濃度進行回歸預(yù)測。結(jié)果如表2所示,上標a、b分別代表向量輸入和矩陣輸入。
表2 不同方法對熒光光譜生物成分濃度預(yù)測的準確率Table 2 Accuracy of concentration prediction of biological components in fluorescence spectrum by different methods %
對于向量形式和矩陣形式的輸入,CNN、FCN和PCANet都獲得不錯的效果,矩陣形式的輸入效果更好,另外深度學習方法比機器學習方法表現(xiàn)略好,其中FCNb的效果最好,ACCc為98.97%,ACCV為98.13%,ACCp為97.93%。
同樣圖8中的學習曲線隨著訓練集大小的增加,預(yù)測集的識別準確率顯著提高。
圖8 FCNb的學習曲線Fig.8 Learning curve of FCNb
本研究使用PCANet、CNN、FCN網(wǎng)絡(luò)模型對不同種類物質(zhì)的熒光光譜進行識別分類,并對生物成分濃度進行回歸預(yù)測。對比了不同形式的光譜數(shù)據(jù)(一維向量或二維矩陣)作為網(wǎng)絡(luò)輸入的結(jié)果,實驗結(jié)果表明二維矩陣形式的輸入更適用于CNN、FCN、PCANet深度學習網(wǎng)絡(luò)。CNNb模型的分類效果最好,F(xiàn)CNb模型的回歸預(yù)測表現(xiàn)最好。這2個深度學習方法的表現(xiàn)都優(yōu)于機器學習方法。因此深度學習能夠在實際應(yīng)用中有效地分析熒光光譜數(shù)據(jù),為熒光光譜識別分類的相關(guān)研究提供方便、簡單、快速的解決方案,具有廣闊的前景。