劉貞文, 徐玲杰, 陳孝敬
1. 集美大學(xué)港口與環(huán)境工程學(xué)院, 福建 廈門 361021 2. 溫州大學(xué)機(jī)電工程學(xué)院, 浙江 溫州 325035 3. 溫州大學(xué)電氣與電子工程學(xué)院, 浙江 溫州 325035
近紅外光譜已廣泛應(yīng)用于各個(gè)領(lǐng)域, 是一種快速、 無損、 環(huán)保、 經(jīng)濟(jì)的實(shí)用技術(shù)[1]。 然而, 近紅外光譜的微弱信號不僅包含化學(xué)信息, 還包含各種背景噪聲。 因此, 為了從光譜中得到準(zhǔn)確的定量分析結(jié)果, 一個(gè)可靠的多元校正模型是必不可少的。 在實(shí)際應(yīng)用中, 可以使用一種以上的儀器來收集光譜。 將一種儀器(主儀器)的校準(zhǔn)模型直接應(yīng)用于另一種儀器(次儀器)的光譜測量, 會(huì)使該模型失效。 而針對新光譜的重新校準(zhǔn)是費(fèi)時(shí)的[2-3]。 校準(zhǔn)轉(zhuǎn)移的方法可以使用現(xiàn)有的模型來分析在新條件下(新儀器下)獲得的新樣品, 而不需要重新建立模型, 因此受到許多關(guān)注和研究[4]。
模型校準(zhǔn)轉(zhuǎn)移主要可以通過三種策略實(shí)現(xiàn): 模型預(yù)測值標(biāo)準(zhǔn)化、 模型系數(shù)標(biāo)準(zhǔn)化以及光譜標(biāo)準(zhǔn)化(光譜轉(zhuǎn)移)。 簡單的單變量斜率和偏差校正(SBC)[5]在兩個(gè)不同儀器上測量的光譜預(yù)測之間建立了線性方程。 通過線性方程的偏置和斜率, 可以對新光譜的預(yù)測進(jìn)行校正。 但只有當(dāng)儀器變化引起所有樣本系統(tǒng)的光譜差異時(shí), SBC才是有效的[6]。 與SBC方法不同, 模型系數(shù)的標(biāo)準(zhǔn)化可以應(yīng)用于不同樣本間光譜差異的情況, 但通常這些方法需要大量的光譜樣本才能得到滿意的參數(shù)校正結(jié)果。 通過標(biāo)準(zhǔn)化光譜進(jìn)行模型轉(zhuǎn)移是最常用的模型轉(zhuǎn)移策略, 這類方法通過一個(gè)轉(zhuǎn)移矩陣, 將次儀器上測量的樣品的光譜轉(zhuǎn)移為相應(yīng)的主儀器上的光譜, 使其服從于主儀器的樣本空間分布。
直接標(biāo)準(zhǔn)化(DS)[7]以及分段直接標(biāo)準(zhǔn)化(PDS)[8]是最具有代表性的標(biāo)準(zhǔn)化光譜方法。 DS直接將在主次儀器上測得的樣品的光譜聯(lián)系起來, 并用變換矩陣來描述這種關(guān)系, 主光譜的每個(gè)波長與次光譜的所有波長同時(shí)相關(guān)。 然而, 在PDS中, 頻譜相關(guān)被限制在一個(gè)更小的區(qū)域內(nèi)。 它對一個(gè)小窗口區(qū)域內(nèi)的不同儀器測量的光譜之間建立了線性關(guān)系, 以實(shí)現(xiàn)整體波段的非線性轉(zhuǎn)換。 典型相關(guān)分析(CCA)[9]和光譜空間變換(SST)[10]并沒有直接對光譜進(jìn)行校正, 而是從不同光譜中提取出主成分之間的關(guān)系。 SST通過對不同儀器上測量的光譜進(jìn)行比對, 構(gòu)建數(shù)據(jù)矩陣, 并通過主成分分析(PCA)來估計(jì)光譜轉(zhuǎn)換矩陣。 CCA是一種線性子空間學(xué)習(xí)方法, 它先用子空間算法降低主光譜的維數(shù), 而后在低子空間中計(jì)算了光譜間變換矩陣。
以上提到的算法, 都是基于線性變換實(shí)現(xiàn)預(yù)測值、 模型系數(shù)和光譜的轉(zhuǎn)移。 然而, 在不同儀器上測量的近紅外光譜不僅包含遵循朗伯-比爾定律的吸收信號, 還包含與儀器狀態(tài), 測量條件, 粒徑, 甚至溫度和濕度相關(guān)的信號[11], 這導(dǎo)致光譜之間非線性的差異。 因此, 僅使用簡單的線性模型很難描述在不同儀器上測量的近紅外光譜的差別[12]。 本工作使用深度自編碼(deep autoencoder, DAE)的方法, 建立了不同儀器之間的非線性映射, 在兩個(gè)公共數(shù)據(jù)集上表現(xiàn)優(yōu)于其他傳統(tǒng)線性光譜標(biāo)準(zhǔn)化方法。
深度自編碼(DAE)是深度神經(jīng)網(wǎng)絡(luò)(DNN)的一種特殊類型。 DAE是隱藏層不少于兩層的自編碼器, 它由編碼器和解碼器兩個(gè)部分組成。 作為一種非線性特征提取方法, 編碼器建立了自適應(yīng)多層編碼網(wǎng)絡(luò), 將高維數(shù)據(jù)轉(zhuǎn)換為低維碼。 解碼器使用了與編碼器相同網(wǎng)絡(luò)結(jié)構(gòu), 可以從代碼中重構(gòu)原始數(shù)據(jù)。 每一隱藏層的權(quán)值代表輸入變量的不同重構(gòu)。 為了恢復(fù)輸入信號, DAE必須捕獲輸入最重要的特性。 在編碼過程中, 使用反向傳播算法最小化原始數(shù)據(jù)與重構(gòu)數(shù)據(jù)之間的差異來訓(xùn)練隱含層的權(quán)值。 Ting等[13]利用DAE提取近紅外光譜的主要特征, 并將此方法用于近紅外光譜的分類。
圖1為隱藏層數(shù)三層的DAE。 從該圖中可以看出, DAE的輸入與輸出維度相同, 且編碼器與解碼器具有對稱的網(wǎng)絡(luò)結(jié)構(gòu)。 萬能近似定理[14]保證至少有一層隱藏層且隱藏單元足夠多的前饋神經(jīng)網(wǎng)絡(luò)能以任意精度近似任意函數(shù)(在很大范圍里), 這是非平凡深度(至少有一層隱藏層)的一個(gè)主要優(yōu)點(diǎn)[15]。 所以, 深度自編碼器在給定足夠多的隱藏單元的情況下, 能以任意精度近似任何從輸入到編碼的映射。 這也是深度自編碼器優(yōu)于淺層自編碼器之處。
(1)
圖1 具有三層隱藏層的深度自編碼器
所以整體的損失函數(shù)為
(2)
θML=argmaxpreconstruct(X2│X1;θ)
(3)
因?yàn)闃颖局g都是獨(dú)立同分布的, 所以式(3)可以表示為
(4)
用log函數(shù)將式(4)中的乘積轉(zhuǎn)化為求和的形式, 即對數(shù)似然
(5)
故可以對DAE的誤差函數(shù)L加入針對參數(shù)θ的懲罰項(xiàng)
(6)
得到以下懲罰項(xiàng)函數(shù)
(7)
根據(jù)式(2)和式(7)整體損失函數(shù)可以定義為
(8)
其中λ為懲罰項(xiàng)權(quán)重參數(shù)。 得到損失函數(shù)后, 即可用梯度反向傳播方法對網(wǎng)絡(luò)中的參數(shù)θ進(jìn)行迭代優(yōu)化, 其中α是學(xué)習(xí)率。
(9)
利用兩個(gè)近紅外光譜數(shù)據(jù)集對該方法的有效性進(jìn)行了驗(yàn)證。 第一個(gè)是國際漫反射會(huì)議網(wǎng)站發(fā)布的藥品片劑數(shù)據(jù)集(http://www.idrc-chambersburg.org/shootout2002.html)。 該數(shù)據(jù)集包含了655個(gè)藥物片劑樣品的近紅外光譜以及每個(gè)樣本的重量、 硬度和活性藥物成分(API)的測定值。 利用美國Foss公司的兩臺(tái)光譜儀, 測定的光譜波長范圍為600~1 898 nm, 分辨率為2 nm(納米)。 該數(shù)據(jù)集的655個(gè)樣本被分為校準(zhǔn)、 驗(yàn)證和預(yù)測集三個(gè)部分, 分別包含155, 40和460個(gè)樣本。 兩臺(tái)儀器得到的光譜樣本被用來互相轉(zhuǎn)移, 使用API驗(yàn)證光譜轉(zhuǎn)移后定量校準(zhǔn)模型的預(yù)測效果。 在計(jì)算中, 由于1 794~1 898 nm波段的光譜噪聲太大, 無法獲得合理的校準(zhǔn)結(jié)果[16], 因此使用了建議的600~1 792 nm波段的597個(gè)變量。 數(shù)據(jù)集中的可能的不合理譜線: 校準(zhǔn)集中的第19, 122, 126和127條, 預(yù)測集中的第11, 145, 267, 295, 342, 313, 341和343條譜線被剔除[6], 剩余的數(shù)據(jù)集中包含642個(gè)樣本。
第二個(gè)數(shù)據(jù)集是玉米數(shù)據(jù)集(http://software.eigenvector.com/Data/Corn/index), 包含了m5, mp5, mp6三種儀器上測量的近紅外光譜, 以及80個(gè)玉米樣品的水分、 油脂、 蛋白質(zhì)和淀粉含量。 每條光譜測量范圍為1 100~2 498 nm, 分辨率為 2 nm。 三種儀器測量的光譜被用來互相校正, 用蛋白質(zhì)含量來驗(yàn)證光譜轉(zhuǎn)移后定量較準(zhǔn)模型的預(yù)測結(jié)果。
在計(jì)算之前, 每個(gè)數(shù)據(jù)集都會(huì)根據(jù)經(jīng)典的Kennard-Stone(KS)[17]算法被劃分為校準(zhǔn)集、 驗(yàn)證集和預(yù)測集。 藥片集的642個(gè)樣本被分為400個(gè)樣本的校準(zhǔn)建模集, 以及各包含121個(gè)樣本的驗(yàn)證集和預(yù)測集。 玉米集的80樣本被分為40, 20, 20的校準(zhǔn)建模集、 驗(yàn)證集和預(yù)測集。 校準(zhǔn)建模集和驗(yàn)證集的光譜樣本會(huì)被用于建立定量分析的多變量回歸模型以及訓(xùn)練用于光譜轉(zhuǎn)移的DAE模型。 預(yù)測集的光譜樣本用來檢驗(yàn)DAE的效果, 同時(shí)檢驗(yàn)轉(zhuǎn)移后的光譜在原多變量回歸模型中的預(yù)測結(jié)果。
針對藥片數(shù)據(jù)集和玉米數(shù)據(jù)集, 我們分別設(shè)計(jì)了兩個(gè)編碼器層數(shù)為四層的深度自編碼器網(wǎng)絡(luò), 結(jié)構(gòu)分別的[597 400 200 100 200 400 597]和[700 350 175 80 175 350 700]。 因此, 輸入的儀器一的藥片光譜維度, 經(jīng)過編碼器從597逐步變?yōu)?00, 200, 100, 再經(jīng)過對稱的解碼器, 從維度100逐步變?yōu)?00, 400, 597的輸出光譜, 輸出的維度為597的光譜即為我們所需的符合儀器二樣本分布空間的光譜。 自編碼器的損失函數(shù)和參數(shù)優(yōu)化方式根據(jù)式(8)和式(9)獲得。 進(jìn)行藥片數(shù)據(jù)集光譜轉(zhuǎn)移的自編碼器網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。 玉米數(shù)據(jù)集的樣本也同上進(jìn)行光譜的轉(zhuǎn)移。
圖2 針對藥片數(shù)據(jù)集光譜轉(zhuǎn)移的深度自編碼器網(wǎng)絡(luò)結(jié)構(gòu)
我們使用sigmoid激活函數(shù)來限制每層神經(jīng)元的輸出接近于0。 經(jīng)過多次代碼的運(yùn)行, 確定將式(8)中的懲罰系數(shù)λ設(shè)置為0.01, 將式(9)中的學(xué)習(xí)率α設(shè)置為0.001, 迭代訓(xùn)練5 000個(gè)回合后, 模型收斂, 并達(dá)到最佳的轉(zhuǎn)移光譜的效果。
圖3展示了從兩個(gè)數(shù)據(jù)集的預(yù)測集中隨機(jī)選取的兩臺(tái)儀器上對應(yīng)的光譜樣本, 對它們進(jìn)行相互的光譜轉(zhuǎn)移后的可視化結(jié)果。 圖3(a)是藥片數(shù)據(jù)集的兩臺(tái)儀器上對應(yīng)的光譜相互轉(zhuǎn)移的結(jié)果, 實(shí)線是真實(shí)的一組具有相同屬性值的, 由不同儀器測量出的光譜樣本, 虛線是經(jīng)過3.1中設(shè)計(jì)的深度自編碼器模型轉(zhuǎn)移后的光譜。 從圖3(a)中可得, 兩條譜線的差異主要集中在波段0~90和500~597 nm, 而在其余波段內(nèi), 兩條光譜線幾乎重合, 說明這兩條光譜之間存在著很明顯的非線性偏移。 在這主要差異的兩個(gè)波段中, 虛線與實(shí)線重合, 這表明光譜得到了成功的轉(zhuǎn)移。 圖3(b)—(d)是玉米樣本集的三臺(tái)光譜儀m5, mp5和mp6上的光譜相互轉(zhuǎn)移的結(jié)果。 從三張圖可以看出, m5的光譜與mp5和mp6之間偏移較大, 而mp5與mp6光譜偏移小。 圖中虛實(shí)線吻合, 說明深度自編碼器能夠有效地對三臺(tái)儀器得出玉米光譜樣本進(jìn)行兩兩之間的轉(zhuǎn)移。
進(jìn)行光譜轉(zhuǎn)移是為了將偏移的光譜進(jìn)行轉(zhuǎn)移后, 直接應(yīng)用于已建立的多變量校準(zhǔn)模型中, 來獲得有效的定性定量分析結(jié)果。 因此, 為了進(jìn)一步研究本方法的有效性, 將本方法與經(jīng)典的線性轉(zhuǎn)移方法PDS和SST算法中得到的轉(zhuǎn)移光譜分別作為測試樣本輸入已建立的多變量校準(zhǔn)模型, 通過比較多變量模型輸出的均方根誤差(RMSEP)來驗(yàn)證轉(zhuǎn)移的效果。 多變量校準(zhǔn)模型通過經(jīng)典的偏最小二乘法(PLS)算法建立[18]。 通過7次交叉驗(yàn)證, 確定了PLS模型中潛在變量(nLV)的最優(yōu)數(shù)量。 如表1和表2所示, 顯然, 當(dāng)用一臺(tái)儀器的校準(zhǔn)集光譜建立的模型直接預(yù)測另一臺(tái)儀器的光譜, 效果很差。 但當(dāng)三種方法得到的轉(zhuǎn)移光譜被預(yù)測時(shí), RMSEP顯著降低。 通過對三種方法的比較, 本方法得到的轉(zhuǎn)移光譜在原校準(zhǔn)模型中的表現(xiàn)略優(yōu)于常用的SST和PDS方法。 不管是哪兩臺(tái)光譜儀之間的相互轉(zhuǎn)移, 均得到了類似的結(jié)果。
圖3 兩個(gè)數(shù)據(jù)集的不同儀器上的光譜相互轉(zhuǎn)移的結(jié)果, (a)中的A1和A2代表藥片數(shù)據(jù)集兩臺(tái)光譜儀上測出的光譜
表1 藥片數(shù)據(jù)集進(jìn)行光譜轉(zhuǎn)移后, 轉(zhuǎn)移光譜在多變量校準(zhǔn)模型中的RMSEP
注: nLV: 偏最小二乘法(PLS)的潛變量個(gè)數(shù); w: PDS中選用的窗口尺寸; nPC: SST算法中選取的主成分個(gè)數(shù)
Note: nLV: Number of latent variables in PLS; w: Window size used in PDS; nPC: Number of principal components in SST
表2 玉米數(shù)據(jù)集進(jìn)行光譜轉(zhuǎn)移后, 轉(zhuǎn)移光譜在多變量校準(zhǔn)模型性中的RMSEP
續(xù)表2
mp6 轉(zhuǎn) mp5(PSD)w=17, nLV=80.15mp6 轉(zhuǎn) mp5(SST)nPC=30.159 8mp6 轉(zhuǎn) mp5(DAE)λ=0.01, α=0.0010.146 6mp6mp6nLV=90.155 2m5nLV=90.677 9mp6nLV=90.192 2m5 轉(zhuǎn) mp6(PSD)w=17, nLV=80.225 1m5 轉(zhuǎn) mp6(SST)nPC=30.231 9m5 轉(zhuǎn) mp6(DAE)λ=0.01, α=0.0010.201 3mp5 轉(zhuǎn) mp6(PSD)w=17, nLV=80.169 7mp5 轉(zhuǎn) mp6(SST)nPC=30.179 5mp5 轉(zhuǎn) mp6(DAE)λ=0.01, α=0.0010.162 3
注: nLV: 偏最小二乘法(PLS)的潛變量個(gè)數(shù); w: PDS中選用的窗口尺寸; nPC: SST算法中選取的主成分個(gè)數(shù)
Note: nLV: Number of latent variables in PLS; w: Window size used in PDS; nPC: Number of principal components in SST
研究了深度自編碼在近紅外光譜轉(zhuǎn)移中的應(yīng)用, 探索了一種非線性的光譜轉(zhuǎn)移方法。 通過數(shù)理統(tǒng)計(jì)的相關(guān)知識, 設(shè)計(jì)了符合光譜轉(zhuǎn)移需求的誤差函數(shù)。 同時(shí), 針對藥片數(shù)據(jù)集和玉米數(shù)據(jù)集, 給出了詳細(xì)網(wǎng)絡(luò)結(jié)構(gòu)和模型參數(shù)。 將預(yù)測集樣本輸入訓(xùn)練好的DAE轉(zhuǎn)移模型, 可以發(fā)現(xiàn)轉(zhuǎn)移后的光譜與相應(yīng)的目標(biāo)光譜譜線基本重合, 說明本轉(zhuǎn)移模型的有效性。 最后, 為了進(jìn)一步驗(yàn)證本方法的優(yōu)越性, 將本方法與SST和PDS方法進(jìn)行比較。 將這三種算法得到的轉(zhuǎn)移光譜分別作為測試樣本, 輸入已建立的偏最小二乘(PLS)多變量校準(zhǔn)模型, 通過比較RMSEP, 可以發(fā)現(xiàn)本方法在多變量校準(zhǔn)模型中的預(yù)測結(jié)果的均方根誤差均小于SST和PDS, 平均提高了5.7%和10.1%, 進(jìn)一步證明了本方法高效和實(shí)用的優(yōu)點(diǎn)。