?

基于DCGAN的拉曼光譜樣本擴充及應用研究

2021-02-03 08:02李靈巧李彥暉殷琳琳楊輝華馮艷春尹利輝胡昌勤
光譜學與光譜分析 2021年2期
關鍵詞:曼光譜卷積光譜

李靈巧,李彥暉,殷琳琳,楊輝華*,馮艷春,尹利輝,胡昌勤

1.北京郵電大學人工智能學院,北京 100876 2.桂林電子科技大學計算機與信息安全學院,廣西 桂林 541004 3.中國食品藥品檢定研究院,北京 100050 4.北京師范大學環境學院,北京 100875

引 言

食品藥品的安全一直是人們重點關注的對象,常用的食品藥品檢測手段有吸收系數法、化學法和HPLC法等,不僅繁瑣,而且局限于實驗室。因此需要一種可以快速檢測的手段,近年來發展較好的是近紅外光譜檢測和拉曼光譜檢測。拉曼檢測技術是基于拉曼光譜特征位移峰而產生的一種檢測技術。當光照射到物體分子上時會發生彈性散射,額外會有少量光子發生非彈性散射,這些光子就是拉曼光子,拉曼光子轉移能量到分子上,產生位移散射光,位移的距離對應分子的信息。不同的距離長短對應了不同的分子結構,由此產生拉曼譜圖。根據譜圖就可以明確樣品化學與分子信息和含量[1]。相比紅外光譜法,拉曼光譜提供的是無損定性定量分析,對樣品無特殊要求,短時簡便高靈敏度,避免了因為樣品的破壞或者樣品自身的缺陷導致的誤差[2]。

由于儀器和方法的改進升級,使用拉曼分析對食品藥品進行鑒別和分類得到了廣泛應用。目前主流的分類算法線性學習機(linear learning machine,LLM)、軟獨立建模分類法[3](soft independent modeling of class analogy,SIMCA)、人工神經網絡[4](artificial neural network,ANN)、K-最近鄰[5](K-nearest neighbor method,KNN)等。最近兩年,我們將淺層機器學習方法應用于近紅外光譜藥品分類[6],并取得了較好的分類結果。這些方法各有優點但較為傳統,目前深度學習方法在圖像分割[7]、圖像增強[8]和圖像檢測[9]等方面大放異彩,將深度學習應用到光譜學是必然趨勢?,F有拉曼光譜采集需要較高的人力和時間成本,采集到的數據樣本量較少和存在干擾因素,不能滿足深度學習需要用大樣本進行訓練的條件,因此將深度學習應用在拉曼光譜中的研究較少。

鑒于此,本文提出一種將深度學習應用到拉曼光譜的方法:使用深度卷積生成對抗網絡[10](deep convolutional generative adversarial networks,DCGAN)生成新光譜,并輸入CNN進行分類。目前GAN在光譜分析中應用不多,僅見應用于高光譜分析,而在拉曼和近紅外光譜分析方面未見報道。

在搭建深度學習模型的過程中,常遇到因訓練數據集樣本量不夠導致欠擬合的問題。解決該問題除了在算法層面的優化,還需拓展訓練集樣本數量。常用的數據增強方法有形狀變換、監督式摳取、GAN等。本文采取的DCGAN則是在原始GAN的基礎上引入卷積,借助卷積層的特征提取能力,提取拉曼光譜的深層特征,生成高度相似的光譜。

采用DCGAN擴充拉曼光譜,擴充訓練集樣本量并提升CNN分類精度。設置數據增強擴充光譜并輸入CNN進行分類,與DCGAN的結果進行對比。實驗結果表明:DCGAN生成的光譜能夠被CNN識別并進行分類,增加的數據集樣本量提升了CNN的分類精度。其次,DCGAN可以實現使用少量原始拉曼光譜對抗生成新光譜,達到擴充數據集的樣本量目的,有效減少人力和時間成本。

1 算法描述

1.1 CNN(卷積神經網絡)

1.1.1 算法介紹

CNN通常包含卷積層、池化層、全連接層,先正向傳播得到輸入數據特征,然后反向傳播使用梯度下降進行迭代,完成權值更新。

卷積層通過卷積運算提取輸入數據特征,卷積公式如式(1)

(1)

池化層對卷積層提取得到的特征進行進一步降維,加快運算速率。池化層的公式如式(2)

(2)

1.1.2 改進的CNN

卷積神經網絡主要用于圖像分類,輸入一般為n×n維的圖像,對應卷積核及池化操作均是n×n的矩陣,并不適用于光譜,需要針對光譜對網絡進行修改。這里修改卷積核尺寸為1×5。光譜譜線中最重要的是每個波長點的峰強信息,然而CNN里的池化操作會使得光譜信息大量丟失并不利于分析,所以這里舍棄池化層。同時為了減小運算量,將網絡輸出層和中間層修改為單層感知器。經過改進后設計為一個5層的CNN網絡,具體網絡結構如表1。

表1 CNN網絡各層設計Table 1 CNN network design

1.2 DCGAN(深度卷積生成式對抗網絡)

1.2.1 算法介紹

DCGAN的網絡結構如圖1:圖中左邊是G(Generator)網絡,右邊是D(Discriminator)網絡。

圖1 用于拉曼光譜分類的DCGAN網絡結構示意圖Fig.1 Diagram of DCGAN network structure for Raman spectrum classification

G是生成網絡,給它輸入一個隨機噪聲z,最終能生成一張圖片,標記為G(z)。

D是判別網絡,用來判別某張圖片真實的程度。給它輸入一張圖片x,會輸出D(x),代表x是真實圖片的概率,若概率數值是1就說明圖片完全真實。若概率數值為0就說明圖片作假。

DCGAN引入卷積計算圖像整體區域特征信息,從而具有很強特征提取能力。由于卷積網絡中池化層(pooling)的下采樣會造成圖像信息部分損失,不能采用,因此把G和D網絡中的池化層替換為反卷積層和步進卷積層,減少圖像信息損失。然后引入Batch Normalization (BN)構造更加穩定的網絡。

1.2.2 改進的卷積層

傳統的DCGAN網絡的卷積層主要面向圖像分類為主。該網絡層默認輸入一般是二維圖像,因此網絡層的卷積核和池化窗口都是大小為n×n維的矩陣。如此來看這樣的網絡結構并不適用于光譜數據,因此需要對傳統DCGAN網絡的卷積層進行改進,也就是將DCGAN中卷積層的卷積核修改為一維向量卷積核,使之能夠處理拉曼光譜數據。

1.2.3 DCGAN網絡結構設計

針對Raman光譜數據設計的生成網絡和判別網絡的結構見表2。

表2 用于Raman光譜擴充的生成網絡和判別網絡Table 2 Generator network and Discriminator network for Raman spectral augmentation

1.3 數據增強

僅使用DCGAN生成光譜來進行分類缺少算法效果對照。增加一個數據增強方法生成光譜,通過兩種方法對生成的光譜進行分類對比。

數據增強是一個擴展數據集最常用的技術,它已成功地應用于許多領域,從圖像分類到分子建模。其核心思想是通過模擬數據集中的各種數值變化,從有限的標記樣本數目中擴展訓練樣本的數目。對于光譜數據,采用隨機偏移量、斜率的隨機變化和隨機乘法來擴展數據集。偏移量為訓練集標準差的±0.10倍,疊加次數為訓練集標準差的1±0.10倍,斜率在0.95~1.05之間均勻隨機調整。其函數表達如式(3)和式(4)

x′=kx+b

(3)

(4)

式中,k為縮放比例,b為偏移項,表示對光譜每個數據點隨機向上偏移,每個點的偏移量呈線性遞增或遞減形式。m為傾斜度,n為傾斜時的偏移,a為步長從0到1之間的向量。x表示原光譜,x′表示用x生成的光譜。

圖2是數據增強生成光譜的示意圖,圖中粗藍線為原始光譜,其余為偏移法生成光譜。

圖2 偏移法擴增光譜示意圖Fig.2 Spectral augmentation by slope-bias adjusting

1.4 分類方法

分類方法有以下幾種:無監督分類、半監督分類、有監督分類。常見的無監督分類算法有K聚類、Fuzzy Means[11];半監督學習則是DBSCAN最常用;對于有監督分類來說,常用的有支持向量機(support vector machine,SVM)。

根據需要選擇分類方法,CNN上文已提到不再贅述,增加一個機器學習分類方法作為CNN分類方法參照,這里選用SVM方法。生成的拉曼光譜數據表示為G(z)=[b1,b2,…,bm],m為樣本總數,SVM的分類函數的對偶形式表示為

(5)

0≤αi≤C,i=1,2,…,m

其中k(bi,bj)本文選擇徑向基函數(RBF)

(6)

建模選擇LibSVM軟件,這里有兩個參數c和g,c就是式(5)中的C,g=1/2σ,參數設置為:c=200,g=0.01。

1.5 模型評價方法

1.5.1 擴充樣本的選取標準

對生成圖像進行評估有一定的困難,一般只能通過人工樣本篩選和主觀判斷的方法來進行評價,不僅耗時而且費力。結構相似度(structural similarity index,SSIM)指標能夠很好的判斷兩個樣本的相似性,故引入該指標對生成光譜進行評判。見式(7)[12]

(7)

式中μx,μg,σx,σg為x和g的均值和方差,σxg為x和g協方差。c1和c2為常數,用來保證函數穩定性,c1=(k1L)2,c2=(k2L)2,L=255,是圖像像素最大值,k1=0.01,k2=0.03。

SSIM取值范圍[0,1],大小與圖像相似度成正比。這里設置SSIM閾值為0.9,因為高相似度的生成光譜才能用于樣本擴充。計算原始光譜和生成光譜之間SSIM值,SSIM值大于等于0.9才采用該生成光譜,否則不用。

1.5.2 模型分類結果的評價方法

本實驗采用分類準確率定量評價分類結果。

當光譜輸入到分類器時,計算其分類的準確率P。分類準確率P??杀硎緸?/p>

(8)

式中:Nc為正確分類的樣本數,Nr為樣本數。

2 實驗部分

2.1 數據處理

實驗中使用的數據為中國食品藥品檢定研究院測取的藥品拉曼光譜數據集,選取9類藥品,藥品分布如表3。測量儀器為同方威視RT6000、Metage OPAL 3000和Opto Trace RamTracer-200-HS拉曼光譜儀,測量參數Metage OPAL 3000和Opto Trace RamTracer-200-HS積分時間設為25 s,積分次數設為3次,同方威視RT6000積分時間設為25 s,積分次數為自動。為了避免實驗中因為樣本波段不一致而導致的結果不理想,以下實驗均選擇每種藥品在100~1 000 cm-1的光譜。同時為了驗證DCGAN在生成光譜中具有預處理的作用,實驗所采用的所有光譜均只進行基線校正和歸一化預處理,為減少計算量,采樣間隔選擇隔13點采樣。

表3 中檢院數據集對應的藥品分布Table 3 Distribution of corresponding drugs in data set National Institute for Food and Drug Control

2.2 CNN模型訓練

卷積神經網絡學習率設置為0.001,梯度更新塊大小設置為32。訓練過程中手動調整以保持所有層具有相同的迭代速度。對卷積層設置權值初始化為0.01標準差的零均值高斯分布。對全連接層的權重設置0.005標準偏差。由于卷積后的結果會導致光譜首尾數據的丟失,因此輸入前對原始光譜采用0填充。目標函數采用最小化預測值和真值的交叉熵

(9)

2.3 DCGAN模型訓練

DCGAN中卷積網絡的激活函數選擇LeakyReLU,設定leak的斜度值為0.2,整個網絡設定數值為2的batch size,網絡的學習率不能太大,否則時間過長,這里設置為0.000 2,卷積層還需要使用優化器并設置動量參數,優化器使用Adam,參數設置為0.5時可以穩定訓練。D訓練兩次,G訓練一次,迭代次數設置為800。每迭代10次輸出一次SSIM的平均值,作為選取擴充樣本的標準。

將原始拉曼光譜作為初始數據集,通過對抗生成新的數據集,為了有所區別,這里給生成網絡設定100個服從標準正態分布的噪聲z,通過反卷積網絡后能夠生成和真實圖像相似的“假”樣本。然后將真假樣本同時輸入判別網絡,通過卷積層能夠得到范圍為0到1的概率值,根據概率值判斷樣本的真假程度。訓練分為兩個部分:

(1)訓練生成網絡,提前設定好判別參數,用以優化生成網絡,直到生成的“假”樣本判別網絡無法識別,此時生成網絡輸出大概率真實的樣本,映射到函數內就是最大化D(G(z)),亦即最小化1-D(G(z))。

(2)訓練判別網絡,類似地,給定生成網絡的參數,區性優化判別網絡,這樣能大大提高判別網絡的精度,這里期望最大化D(x)。生成樣本G(z)需要使得D(G(z))最小。對判別網絡的目標函數優化為lnD(x)+ln(1-D(G(x)))。

最終得到目標函數

Ez-Pz(z)[ln(1-D(G(z)))]

(10)

然后固定生成網絡的參數,以優化判別網絡,使得V(D,G)最大

Pg(x)ln(1-D(x))]dx

(11)

為了式(11)最大,這需要式(12)

Pdata(x)ln(D(x))+Pg(x)ln(1-D(x))

(12)

取得最大值。顯然有:對任意非零的Pdata(x),Pg(x),且實數值D(x)∈[0,1]時,式(12)在Pdata(x)/(Pdata(x)+Pg(x))處取得最大值,列出最優的生成網絡D的函數

(13)

對生成網絡進行優化時,有Pdata=Pg時生成網絡取得最優解,使得生成網絡更好地再現真實樣本的分布。

3 結果與討論

設計四組實驗。分別是SVM對原始光譜進行分類的參照組、CNN對原始光譜進行分類的對照組、CNN對DCGAN生成光譜進行分類的實驗組和CNN對偏移法生成光譜進行分類的實驗組。

由于SVM和CNN需要進行訓練,在原始光譜的實驗中,選取70%作為訓練集,剩下30%作為測試集。在生成光譜的實驗中,分別用數據增強方式和DCGAN方式將每種藥品的譜圖數擴充到100個,再選取70%的光譜對CNN進行訓練,剩下30%的光譜進行測試。

3.1 原始光譜直接SVM分類

表4展示了對原始光譜的訓練集和測試集的劃分情況,SVM分類原始拉曼光譜的結果如表5所示。以SVM直接對原始的拉曼光譜分類產生的結果來看,對拉曼光譜的分類準確率并不高。對于Pefloxacin和Cefixime兩個樣本最少的藥品來說,幾乎無法準確分類。從表5中可以看出由于總體數據集樣本量不大,其分類精度依然有待提高。

表4 藥品樣本訓練集、測試集劃分情況Table 4 The training set,test set distribution of drug samples

表5 中檢院拉曼光譜數據判別詳細結果-SVM(%)Table 5 Detailed results of Raman spectrum discrimination of China food and drug institute-SVM (%)

3.2 原始光譜直接CNN分類

用于CNN分類的訓練集和測試集的劃分同表4。表6展示了相同波段的原始光譜輸入CNN的分類實驗結果。表中分別列出了CNN對原始拉曼光譜分類結果(訓練集分類準確率78.38%,測試集分類準確率75.00%)。同樣對于Pefloxacin和Cefixime兩個樣本最少的藥品來說,分類準確率略有提升。由于CNN具有很強的特征提取和分類能力,因此CNN對拉曼光譜的總體分類精度高于SVM。

表6 拉曼光譜數據判別詳細結果-CNN(%)Table 6 Detailed results of Raman spectrum discrimination CNN (%)

3.3 數據增強生成光譜直接CNN分類

上述實驗僅用原始光譜進行分類對比實驗,為了實驗的嚴謹性,需要考慮到生成的光譜是否具有相同的優越性。因此需要擴增譜圖和原始譜圖分類對比來查看情況,先用偏移法將每個藥品光譜擴充到100個,訓練集和測試集劃分見表7。分別輸入CNN訓練并分類得到結果,圖3為單個藥品生成10個譜圖和原始譜圖的疊加圖。表8是生成光譜數據判別詳細情況。實驗結果表明,偏移法生成譜圖具有較好的分類準確率;另一方面,分類過程中出現了一些誤分類的情況,即把本該分類到某種藥品的譜圖認為是另一種藥品的譜圖。出現這種現象的原因是偏移法生成的光譜有些波長點的峰強信息會改變,此時該拉曼峰可能會被認為是另一種分子。同時,由于偏移法生成光譜是對原光譜的重塑,因此有必要評估生成光譜相比原光譜的失真度。局部方差估計法LVE(local variance estimation method)是一個較好的能夠估計圖像失真程度的方法,其算法原理是先計算每張圖片像素局部方差,最大的局部方差為信號方差,最小的局部方差為噪聲方差,計算信號方差和噪聲方差的比值,并轉換成dB表示。表9為圖3生成的10個譜圖對比原始譜圖的信噪比,從實驗結果可以看出生成光譜相對原始光譜的失真程度。

表7 藥品樣本訓練集、測試集劃分情況Table 7 The training set,test set distribution of drug samples

圖3 偏移法生成譜圖Fig.3 Spectral generation by data augmentation

表8 中檢院拉曼光譜數據判別詳細結果-偏移法+CNN(%)Table 8 Detailed results of Raman spectrum discrimination of China food and drug institute-Data augmentation and CNN (%)

表9 偏移法擴增譜圖的LVE方法信噪比(對應圖3)Table 9 LVE signal to noise ratio of augmented spectral by slope-bias adjusting (corresponding to Fig.3)

3.4 DCGAN生成光譜直接CNN分類

同樣使用DCGAN將每個藥品光譜數量擴充到100,訓練集與測試集劃分同表7。圖4為原始的中檢院數據中隨機選取的10個藥品光譜如圖4(a),和DCGAN進行對抗生成的10個新的光譜如圖4(b)的展示。從視覺上看出生成的光譜相較原始光譜更加平滑清晰,說明DCGAN在生成光譜的過程中能夠起到預處理的作用。將劃分好的訓練集和測試集輸入CNN進行訓練分類,得到如表10所示的判別結果。實驗結果表明生成譜圖具有高分類準確率。同樣評估DCGAN生成光譜相比原光譜的失真度,實驗結果見表11,從實驗結果可以看出生成光譜的失真程度對比原始光譜差異較小,相比偏移法,DCGAN生成的光譜較好的保留了原始譜圖的信息。圖5是四個實驗的訓練集和測試集的分類準確率對比,從分類準確率來看,DCGAN生成的拉曼光譜數據更有利于準確分類。

表10 拉曼光譜數據判別詳細結果-DCGAN+CNN(%)Table 10 Detailed results of Raman spectrum discrimination of DCGAN and CNN (%)

表11 DCGAN擴增譜圖的LVE信噪比(對應圖4)Table 11 LVE signal to noise ratio of augmented spectral by DCGAN (corresponding to Fig.4)

圖4 原始譜圖(a)和DCGAN生成譜圖(b)對比Fig.4 The original spectra (a) were compared with the generated spectra (b) of DCGAN

圖5 訓練集和測試集的分類準確率對比圖Fig.5 Comparison of classification accuracy of training set and test set

4 結 論

本文提出的基于DCGAN的數據擴充可有效擴充Raman光譜數據,并可由此提高對擴充后數據分類的準確率。使用中檢院的藥品拉曼光譜數據集進行實驗,實驗結果表明:

(1)由于中檢院藥品數據集樣本量不大,該方法實現由少量的拉曼光譜生成更多的拉曼光譜擴充數據集,對解決由于數據集樣本量不夠而引發的深度學習分類精度較低的問題提出了一個新的思路;

(2)使用DCGAN網絡對光譜進行生成甚至超分辨率重建是可行的,并且效果較好;

(3)基于DCGAN左右互搏的思想,使得生成的光譜圖和原始光譜圖在不斷互相“欺騙”的過程中,提高了模型對光譜特征的識別和分類精度。

本文提出方法也存在不足之處,例如DCGAN是對原譜圖進行重塑,不能應用常用的圖像評價指標,因此如何更直觀地反映生成譜圖和原譜圖的關系還有待研究;另一方面由于數據集的樣本量不夠大,在大樣本容量時的實驗結果仍需進一步驗證。

猜你喜歡
曼光譜卷積光譜
基于三維Saab變換的高光譜圖像壓縮方法
基于3D-Winograd的快速卷積算法設計及FPGA實現
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
星載近紅外高光譜CO2遙感進展
苦味酸與牛血清蛋白相互作用的光譜研究
一種基于卷積神經網絡的性別識別方法
鋱(Ⅲ)與PvdA作用的光譜研究
BMSCs分化為NCs的拉曼光譜研究
便攜式薄層色譜-拉曼光譜聯用儀重大專項獲批
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合