黃開(kāi)遠(yuǎn), 羅 娜
(華東理工大學(xué)能源化工過(guò)程智能制造教育部重點(diǎn)實(shí)驗(yàn)室, 上海 200237)
近幾年,利用深度學(xué)習(xí)進(jìn)行時(shí)間序列預(yù)測(cè)的方法在多個(gè)領(lǐng)域如環(huán)境溫度預(yù)測(cè)[1]、金融股票預(yù)測(cè)[2]、工業(yè)指標(biāo)預(yù)測(cè)[3]等取得了廣泛的成功。一般來(lái)說(shuō),其優(yōu)越的性能得益于數(shù)量龐大的訓(xùn)練樣本。然而,在實(shí)際過(guò)程中存在樣本數(shù)據(jù)難以收集的問(wèn)題。Um 等[4]指出在少量訓(xùn)練樣本的情況下,預(yù)測(cè)模型可能無(wú)法捕獲訓(xùn)練數(shù)據(jù)中的特征依賴關(guān)系,導(dǎo)致算法陷入局部最優(yōu)。因此,缺少數(shù)據(jù)支持的模型精度難以滿足預(yù)期目標(biāo)。
為了彌補(bǔ)數(shù)據(jù)不足帶來(lái)的問(wèn)題,研究者提出了小樣本學(xué)習(xí)(FSL)。Li 等[5]將從較少的訓(xùn)練樣本中訓(xùn)練模型的學(xué)習(xí)任務(wù)稱為FSL。Wang 等[6]認(rèn)為FSL監(jiān)督學(xué)習(xí)的核心問(wèn)題是不可靠的經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化器,由于訓(xùn)練過(guò)程中經(jīng)驗(yàn)風(fēng)險(xiǎn)偏離期望風(fēng)險(xiǎn),兩者的誤差受樣本數(shù)量與假設(shè)空間的影響,導(dǎo)致模型精度下降。因此,必須利用一些方法來(lái)降低經(jīng)驗(yàn)風(fēng)險(xiǎn)與期望風(fēng)險(xiǎn)之間的誤差。小樣本學(xué)習(xí)分為數(shù)據(jù)增強(qiáng)、模型改進(jìn)、算法優(yōu)化3 類。Fawaz 等[7]指出數(shù)據(jù)增強(qiáng)方法通過(guò)提高訓(xùn)練數(shù)據(jù)規(guī)模有效地避免了訓(xùn)練過(guò)程中出現(xiàn)的過(guò)擬合問(wèn)題。本文采用數(shù)據(jù)增強(qiáng)方法處理時(shí)間序列預(yù)測(cè)任務(wù)中存在的小樣本問(wèn)題。
小樣本問(wèn)題最早在圖像分類、圖像識(shí)別等領(lǐng)域被廣泛研究,例如可以通過(guò)旋轉(zhuǎn)、平移等幾何變換[8]進(jìn)行圖像數(shù)據(jù)增強(qiáng)。Schwartz 等[9]針對(duì)類別數(shù)據(jù)不平衡的問(wèn)題,通過(guò)學(xué)習(xí)樣本較多類別中不同實(shí)例的遷移關(guān)系,應(yīng)用在樣本較少的類別中,以生成同類別的數(shù)據(jù)。Dubost 等[10]將現(xiàn)有的已經(jīng)分析好的圖像進(jìn)行組合處理,對(duì)血管中蛋白質(zhì)含量信號(hào)進(jìn)行檢測(cè),提高了檢測(cè)精度。在回歸問(wèn)題上,Li 等[11]通過(guò)對(duì)原始數(shù)據(jù)添加高斯噪聲來(lái)進(jìn)行數(shù)據(jù)增強(qiáng)。Zhang 等[12]提出了混合數(shù)據(jù)增強(qiáng)(Mixup)方法,主要是將數(shù)據(jù)以線性插值的形式進(jìn)行擴(kuò)充。
數(shù)據(jù)增強(qiáng)方法在回歸與分類領(lǐng)域得到了充分的研究與發(fā)展,但對(duì)于時(shí)間序列數(shù)據(jù)的增強(qiáng)方法卻少有研究。Wen 等[13]指出,在對(duì)多元時(shí)間序列進(jìn)行預(yù)測(cè)分析時(shí)需要考慮多維特征在時(shí)間維度上的復(fù)雜動(dòng)態(tài)變化,因此,將圖像處理等領(lǐng)域的數(shù)據(jù)增強(qiáng)方法應(yīng)用于時(shí)間序列數(shù)據(jù)時(shí)可能不會(huì)產(chǎn)生有效的合成數(shù)據(jù)。Niyogi等[14]提出了虛擬樣本生成的概念,認(rèn)為生成虛擬樣本的過(guò)程實(shí)際上是利用隨機(jī)變量擬合指定的數(shù)據(jù)分布,所生成的虛擬樣本擁有與原數(shù)據(jù)相似的特征分布。生成對(duì)抗網(wǎng)絡(luò)(GAN)[15]利用虛擬樣本生成概念生成了合成數(shù)據(jù)。GAN通過(guò)聯(lián)合訓(xùn)練生成器與判別器對(duì)原數(shù)據(jù)分布進(jìn)行擬合,并逐步發(fā)展出如條件生成對(duì)抗網(wǎng)絡(luò)(CGAN)[16]等結(jié)構(gòu)。改進(jìn)條件生成對(duì)抗網(wǎng)絡(luò)(RegGAN)[17]利用采樣生成新的特征數(shù)據(jù)x? ,而對(duì)于其標(biāo)簽y? ,則通過(guò)對(duì)CGAN 的條件進(jìn)行修改,生成估計(jì)值。具有對(duì)抗性訓(xùn)練的連續(xù)循環(huán)神經(jīng)網(wǎng)絡(luò)(C-RNN-GAN)[18]將GAN 與循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合起來(lái),對(duì)時(shí)間序列小樣本問(wèn)題進(jìn)行數(shù)據(jù)增強(qiáng),但這種方法并不能保證有效地捕獲數(shù)據(jù)在時(shí)間步上的依賴關(guān)系及其動(dòng)態(tài)特性。Yoon 等[19]提出了一種新的GAN方法TimeGAN,通過(guò)將預(yù)測(cè)任務(wù)的監(jiān)督學(xué)習(xí)方法與編碼任務(wù)的非監(jiān)督學(xué)習(xí)方法結(jié)合起來(lái),有效地生成了時(shí)間序列數(shù)據(jù)。Deng 等[20]利用TimeGAN對(duì)病人是否患有高血糖或者低血糖的分類問(wèn)題進(jìn)行數(shù)據(jù)增強(qiáng),展示了較好的分類結(jié)果。
為了解決時(shí)間序列預(yù)測(cè)建模任務(wù)中的小樣本問(wèn)題,本文提出了一種基于注意力機(jī)制并融合時(shí)間卷積網(wǎng)絡(luò)與長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)的數(shù)據(jù)增強(qiáng)網(wǎng)絡(luò)(ATCLSTM-TimeGAN),通過(guò)融合注意力機(jī)制[21]與時(shí)間卷積結(jié)構(gòu)(TCN)[22],獲得更好的數(shù)據(jù)生成效果。針對(duì)TimeGAN 在編碼-解碼結(jié)構(gòu)[23]中將輸入數(shù)據(jù)編碼后用解碼器重構(gòu)輸入數(shù)據(jù)時(shí)存在時(shí)間序列信息丟失的問(wèn)題,使用基于Soft-Attention 機(jī)制[24]的LSTM 網(wǎng)絡(luò)[25]構(gòu)成編碼-解碼網(wǎng)絡(luò),有效地解決了該問(wèn)題。針對(duì)生成網(wǎng)絡(luò)中生成器的輸入一般為隨機(jī)向量,用基于Self-Attention[26]的TCN 結(jié)構(gòu)來(lái)組成生成器,充分考慮了所有變量的影響。因此,ATCLSTM-TimeGAN可以自適應(yīng)地選擇最相關(guān)的特征序列,取得最優(yōu)的數(shù)據(jù)生成效果。真實(shí)性與有用性的實(shí)驗(yàn)結(jié)果表明:對(duì)比于其他數(shù)據(jù)增強(qiáng)方法, ATCLSTM-TimeGAN 所生成的數(shù)據(jù)更貼合于原數(shù)據(jù)分布,具有更低的預(yù)測(cè)誤差。
給定時(shí)間窗口尺寸為T(mén)的n維輸入時(shí)間序列{x1,x2,···,xt,xT} ,其中xt=(x1t,x2t,···,xnt)∈Rn,其標(biāo)簽y∈R 與整個(gè)數(shù)據(jù)特征在t1~tT時(shí)刻的分布相關(guān)。時(shí)間序列預(yù)測(cè)模型旨在學(xué)習(xí)當(dāng)前目標(biāo)值yT的非線性映射:
其中:F(·) 是需要學(xué)習(xí)的非線性映射函數(shù)。這通常需要大量的監(jiān)督樣本來(lái)進(jìn)行模型訓(xùn)練。FSL 的目標(biāo)是在給定訓(xùn)練集Dtrain只提供有限的監(jiān)督信息的情況下獲得良好的學(xué)習(xí)性能。本文采用數(shù)據(jù)增強(qiáng)的方法,通過(guò)對(duì)原數(shù)據(jù)分布進(jìn)行估計(jì),然后在估計(jì)分布和真實(shí)數(shù)據(jù)分布之間建立映射,生成與真實(shí)數(shù)據(jù)分布相匹配的新的合成樣本,即p(x1:T)≈p(x?1:T) 。最終通過(guò)對(duì)數(shù)據(jù)集的擴(kuò)充,獲得良好的預(yù)測(cè)模型。
考慮一般的時(shí)間序列過(guò)程,通常可以將時(shí)間序列分為靜態(tài)過(guò)程、動(dòng)態(tài)過(guò)程以及隨機(jī)噪聲。時(shí)間序列生成模型除了需要捕捉數(shù)據(jù)在相關(guān)時(shí)間點(diǎn)的靜態(tài)特征分布外,更應(yīng)該關(guān)注其多維特征的動(dòng)態(tài)變化。TimeGAN是在GAN 的基礎(chǔ)上誕生的,專門(mén)用于時(shí)間序列小樣本問(wèn)題,有4 個(gè)組成部分,聯(lián)合訓(xùn)練3 個(gè)損失函數(shù),其主要目標(biāo)是最小化生成數(shù)據(jù)與原始數(shù)據(jù)之間特征分布的差異:
GAN 的基本思想如下:給定一個(gè)數(shù)據(jù)集X={x1,x2,···xi···,xm}∈Rn,其 中xi為n維 特 征 的 第i個(gè)數(shù)據(jù),定義一個(gè)生成器網(wǎng)絡(luò)G,對(duì)于一個(gè)隨機(jī)向量Z∈Rn,這個(gè)隨機(jī)向量一般為Gaussian 分布或均勻分布,在經(jīng)過(guò)生成器得到的生成數(shù)據(jù)G(z) ,其分布PG(z)能夠逼近于原數(shù)據(jù)分布PX。為了衡量這兩個(gè)分布的逼近程度,定義并訓(xùn)練一個(gè)判別器D,本質(zhì)上D是一個(gè)先驗(yàn)二分類判別器。為了生成真實(shí)數(shù)據(jù),需要最小化 l n(1-D(G(z))) ,即通過(guò)合成數(shù)據(jù)與真實(shí)數(shù)據(jù)之間分類的差距,利用反向傳播對(duì)生成器進(jìn)行訓(xùn)練,其目標(biāo)函數(shù)為:
一旦判別器D收斂,可以得到PG(z)≈PX,因此GAN 可以生成近似于目標(biāo)分布的數(shù)據(jù)。
TimeGAN 將GAN 的無(wú)監(jiān)督對(duì)抗生成訓(xùn)練與回歸模型中的監(jiān)督訓(xùn)練結(jié)合起來(lái),實(shí)現(xiàn)對(duì)時(shí)間序列問(wèn)題的數(shù)據(jù)增強(qiáng)。TimeGAN 的4 個(gè)組成部分分別為編碼網(wǎng)絡(luò)E、解碼網(wǎng)絡(luò)R以及GAN 網(wǎng)絡(luò)中的D和G。嵌入和恢復(fù)網(wǎng)絡(luò)提供特征和隱藏空間之間的映射轉(zhuǎn)換,一方面減少網(wǎng)絡(luò)計(jì)算的維度,同時(shí)也提取其靜態(tài)與動(dòng)態(tài)特征,與seq2seq[27]結(jié)構(gòu)類似,嵌入網(wǎng)絡(luò)與恢復(fù)網(wǎng)絡(luò)維護(hù)一個(gè)重構(gòu)損失函數(shù)(LR):
同樣,在時(shí)間序列數(shù)據(jù)下為了生成近似于目標(biāo)分布的合成數(shù)據(jù),對(duì)于D和G網(wǎng)絡(luò)對(duì)抗訓(xùn)練損失函數(shù)(LU)定義為:
此外,對(duì)于時(shí)間序列而言,數(shù)據(jù)的時(shí)間維度與特征維度會(huì)對(duì)目標(biāo)變量產(chǎn)生不同的影響,僅僅依靠GAN 中的對(duì)抗訓(xùn)練與編碼-解碼網(wǎng)絡(luò)的非監(jiān)督訓(xùn)練,無(wú)法準(zhǔn)確捕捉到其時(shí)間維度上的動(dòng)態(tài)特性,生成的數(shù)據(jù)只是每個(gè)時(shí)刻上數(shù)據(jù)特征的單一重構(gòu),使生成的時(shí)間序列數(shù)據(jù)失真。因此,要求生成器G在生成數(shù)據(jù)的同時(shí), 給定 1 ~T-1 時(shí)刻的輸入數(shù)據(jù),能夠預(yù)測(cè)下一時(shí)間步T的數(shù)據(jù),也即生成網(wǎng)絡(luò)能夠同時(shí)捕獲整個(gè)時(shí)間窗口內(nèi)數(shù)據(jù)在特征維度和時(shí)間維度的分布,其預(yù)測(cè)損失函數(shù)(LS)公式為:
在對(duì)一個(gè)時(shí)間序列過(guò)程進(jìn)行分析建模時(shí),一般會(huì)考慮循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體,如GRU[28]、LSTM[29]等。一般常用循環(huán)網(wǎng)絡(luò)來(lái)分別組成TimeGAN 的各個(gè)部分,然而,在數(shù)據(jù)樣本量較少的情況下,TimeGAN中編碼-解碼結(jié)構(gòu)隨著輸入數(shù)據(jù)時(shí)間步的增加,其編碼效果顯著下降。Goldberg[30]提出了基于注意力機(jī)制的編碼-解碼網(wǎng)絡(luò),能夠有效解決這一問(wèn)題。因此,將編碼網(wǎng)絡(luò)在每一時(shí)刻輸出的特征采用Soft-Attention 機(jī)制進(jìn)行解碼,相當(dāng)于采用匹配機(jī)制來(lái)選擇所有時(shí)間步上的隱藏狀態(tài)部分,自適應(yīng)地將權(quán)重分配到所有時(shí)間步上,對(duì)不同時(shí)間步的輸入給予不同的關(guān)注權(quán)重,解決其編碼-解碼過(guò)程中存在的動(dòng)態(tài)信息丟失問(wèn)題。此外,對(duì)于生成網(wǎng)絡(luò)G,其輸入一般為隨機(jī)向量矩陣Z,目的是通過(guò)不斷訓(xùn)練使生成器能夠?qū)w一化后的值域區(qū)間分布與原數(shù)據(jù)特征分布形成對(duì)應(yīng)關(guān)系,利用循環(huán)網(wǎng)絡(luò)提取區(qū)間分布特征可能會(huì)模糊其特征分布的對(duì)應(yīng)關(guān)系。與循環(huán)網(wǎng)絡(luò)將每個(gè)時(shí)間步的信息編碼到一個(gè)不斷傳播的隱藏狀態(tài)不同,TCN 通過(guò)不斷擴(kuò)大的感受野,逐步將整個(gè)時(shí)間窗口的數(shù)據(jù)特征覆蓋,因此考慮使用TCN 構(gòu)成生成網(wǎng)絡(luò)。同樣,為了對(duì)不同時(shí)刻向量zt給予不同的關(guān)注度,自適應(yīng)地給予不同權(quán)重,采用Self-Attention機(jī)制融合卷積結(jié)構(gòu),生成最貼合于原數(shù)據(jù)分布的合成數(shù)據(jù)。ATCLSTM-TimeGAN 的結(jié)構(gòu)如圖1 所示,圖中Q、K、V分別為查詢、輸出、值矩陣,dk為Q與K的特征維度,ht為提取到的高維隱藏層特征。
圖1 ATCLSTM-TimeGAN 結(jié)構(gòu)Fig.1 Structure of ATCLSTM-TimeGAN
圖2 Soft-Attention 的結(jié)構(gòu)Fig.2 Structure of Soft-Attention
通過(guò)在編碼-解碼網(wǎng)絡(luò)中引入Soft-Attention 機(jī)制,對(duì)不同時(shí)間步狀態(tài)給予不同的注意力權(quán)值,獲得更好的編碼-解碼效果。在生成網(wǎng)絡(luò)中利用TCN 卷積結(jié)構(gòu),通過(guò)不斷擴(kuò)張的感受野對(duì)整個(gè)時(shí)間步的輸入數(shù)據(jù)進(jìn)行覆蓋,同時(shí)加入Self-Attention 機(jī)制充分考慮了所有變量的綜合影響,獲得較好的數(shù)據(jù)生成效果。
其中:ett′∈R ,即為當(dāng)前時(shí)刻下對(duì)所有輸入給予不同注意力的權(quán)值,可以通過(guò)式(9)求得;式(9)中v、W為模型參數(shù),它們與編碼器和解碼器中的各個(gè)權(quán)重與偏移項(xiàng)以及嵌入層參數(shù)等都是需要同時(shí)學(xué)習(xí)的模型參數(shù)。
2.2.2 Self-Attention 在生成器中,對(duì)于一個(gè)n維的輸入隨機(jī)序列Z=(z0,z1,···zt···,zT) ,其中zt∈Rn,因?yàn)樾蛄幸话銥榫鶆蚍植蓟蚋咚狗植嫉碾S機(jī)值,生成器捕獲歸一化的值域區(qū)間取值分布與真實(shí)數(shù)據(jù)分布之間的對(duì)應(yīng)關(guān)系,極小化其分布的差值,所以才能生成與真實(shí)數(shù)據(jù)分布相似的合成數(shù)據(jù)。然而,一方面,隨機(jī)序列本無(wú)時(shí)間維度的關(guān)系,使用循環(huán)網(wǎng)絡(luò)來(lái)合成數(shù)據(jù)可能會(huì)模糊其特征對(duì)應(yīng)關(guān)系;另一方面,卷積網(wǎng)絡(luò)對(duì)無(wú)時(shí)間序列關(guān)系數(shù)據(jù)的特征提取能力優(yōu)于循環(huán)神經(jīng)網(wǎng)絡(luò),因此在生成器中使用TCN 網(wǎng)絡(luò)來(lái)生成數(shù)據(jù)。TCN 網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示(圖中d表示膨脹系數(shù))。同樣,在輸入到TCN 卷積結(jié)構(gòu)之前,自適應(yīng)分配權(quán)重給不同時(shí)間步的輸入,采用Self-Attention機(jī)制提取輸入數(shù)據(jù)間的依賴關(guān)系,以達(dá)到數(shù)據(jù)生成的最佳效果。
圖3 TCN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of TCN
圖4 Self-Attention 的結(jié)構(gòu)Fig.4 Structure of Self-Attention
為了驗(yàn)證本文所提出的數(shù)據(jù)增強(qiáng)方法用于小樣本情況下時(shí)間序列預(yù)測(cè)問(wèn)題的有效性,本文首先在兩個(gè)典型時(shí)間序列數(shù)據(jù)集上進(jìn)行數(shù)據(jù)生成與可視化的基準(zhǔn)實(shí)驗(yàn),這兩個(gè)數(shù)據(jù)集樣本數(shù)量龐大,利用較多樣本的分布可視化更直觀地展現(xiàn)生成數(shù)據(jù)與原始數(shù)據(jù)分布間的差異,以檢查生成樣本的真實(shí)性。然后,在兩個(gè)典型工業(yè)過(guò)程數(shù)據(jù)集中進(jìn)行數(shù)據(jù)增強(qiáng)后的時(shí)間序列預(yù)測(cè),驗(yàn)證所生成數(shù)據(jù)的有用性。
(1) 可視化。將合成的數(shù)據(jù)與原始數(shù)據(jù)進(jìn)行t分布-隨機(jī)近鄰嵌入(t-SNE)和主成分分析(PCA)降維可視化處理。與PCA 分析類似,t-SNE 也是一種降維技術(shù),它將不同數(shù)據(jù)之間的相似程度轉(zhuǎn)化為概率分布,使特征相似的過(guò)程數(shù)據(jù)映射在低維空間具有相似的分布,以此評(píng)價(jià)合成數(shù)據(jù)的真實(shí)性。
(2) 預(yù)測(cè)。為了模擬實(shí)際生產(chǎn)過(guò)程中數(shù)據(jù)量不足的問(wèn)題,使用少量樣本進(jìn)行數(shù)據(jù)增強(qiáng)與預(yù)測(cè)。少量樣本的數(shù)量為原始數(shù)據(jù)剛好能夠得到較好預(yù)測(cè)效果最小數(shù)據(jù)量的一半,這樣的樣本數(shù)量在不進(jìn)行數(shù)據(jù)增強(qiáng)時(shí)得到的預(yù)測(cè)網(wǎng)絡(luò)的預(yù)測(cè)效果達(dá)不到預(yù)期目標(biāo)。使用數(shù)據(jù)增強(qiáng)方法對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行擴(kuò)充后,通過(guò)預(yù)測(cè)誤差評(píng)價(jià)合成數(shù)據(jù)的有用性。
空氣質(zhì)量(Air Quality)數(shù)據(jù)集收集了某個(gè)被污染地區(qū)的空氣質(zhì)量,包括一氧化碳、苯等污染物指標(biāo)的含量。通過(guò)特征工程去除缺失值較多的特征序列,并對(duì)缺失值較少的特征序列進(jìn)行平均值填充,保留12 個(gè)相關(guān)特征序列,其中以苯含量作為目標(biāo)序列值。經(jīng)過(guò)測(cè)試,在使用200 個(gè)以上原始數(shù)據(jù)進(jìn)行預(yù)測(cè)訓(xùn)練時(shí),能獲得可接受的預(yù)測(cè)效果,均方誤差(RMSE)為0.015 左右,因此選擇使用100 個(gè)原始數(shù)據(jù)進(jìn)行增強(qiáng)。
用電能耗(Appliances Energy)數(shù)據(jù)集收集了環(huán)境數(shù)據(jù)與用電量之間的關(guān)系。通過(guò)特征工程,保留25 個(gè)相關(guān)特征序列,以用電量為預(yù)測(cè)量。該數(shù)據(jù)集的特征維度較高,數(shù)據(jù)中用電量變化較大,存在較多突變點(diǎn)。通過(guò)不斷測(cè)試,在使用1000 個(gè)樣本進(jìn)行預(yù)測(cè)訓(xùn)練時(shí),能獲得可接受的預(yù)測(cè)效果,RMSE 為0.06左右,因此選擇使用500 個(gè)原始數(shù)據(jù)進(jìn)行增強(qiáng)。
工業(yè)蒸汽(Industrial Steam)數(shù)據(jù)集通過(guò)對(duì)鍋爐傳感器進(jìn)行分鐘級(jí)別的連續(xù)采樣,根據(jù)鍋爐的工況,預(yù)測(cè)產(chǎn)生的蒸汽量。對(duì)特征與目標(biāo)之間進(jìn)行相關(guān)性分析,保留12 個(gè)相關(guān)特征序列作為輸入。經(jīng)過(guò)不斷測(cè)試,在使用100 個(gè)以上原始數(shù)據(jù)進(jìn)行預(yù)測(cè)訓(xùn)練時(shí),能獲得可接受的預(yù)測(cè)效果,RMSE 為0.064 左右,因此選擇50 個(gè)原始數(shù)據(jù)進(jìn)行增強(qiáng),生成50 個(gè)合成數(shù)據(jù),共100 個(gè)數(shù)據(jù)作為訓(xùn)練集,然后進(jìn)行預(yù)測(cè)訓(xùn)練。
青霉素(IndPenSim)數(shù)據(jù)集是工業(yè)級(jí)青霉素發(fā)酵過(guò)程模擬器IndPenSim 所生成的數(shù)據(jù),具有較強(qiáng)的非線性和不確定性。通過(guò)相關(guān)性分析與在線可測(cè)性分析,保留9 個(gè)相關(guān)特征序列,對(duì)青霉素生產(chǎn)終點(diǎn)的質(zhì)量進(jìn)行預(yù)測(cè)。經(jīng)過(guò)測(cè)試,在使用250 個(gè)以上原始數(shù)據(jù)進(jìn)行預(yù)測(cè)訓(xùn)練時(shí)能獲得可接受的預(yù)測(cè)效果,RMSE為0.067 左右,因此選擇150 個(gè)原始數(shù)據(jù)進(jìn)行增強(qiáng),生成150 個(gè)合成數(shù)據(jù),共300 個(gè)數(shù)據(jù)作為訓(xùn)練集,然后進(jìn)行預(yù)測(cè)訓(xùn)練。
在上述數(shù)據(jù)集中將ATCLSTM-TimeGAN 與一些數(shù)據(jù)增強(qiáng)方法進(jìn)行性能比較,包括Mixup、C-RNNGAN、TimeGAN(含使用LSTM 與GRU 的TimeGAN),以及本文所提出并逐步改進(jìn)的基于時(shí)間卷積神經(jīng)網(wǎng)絡(luò)的TC-TimeGAN、基于注意力機(jī)制的Attention-LSTM-TimeGAN。為了評(píng)估不同模型所合成數(shù)據(jù)的真實(shí)性與有用性,首先通過(guò)可視化合成數(shù)據(jù)與真實(shí)數(shù)據(jù)的分布評(píng)估其真實(shí)性。然后,通過(guò)比較合成數(shù)據(jù)用于樣本數(shù)量較少情況下的預(yù)測(cè)性能評(píng)估其有用性。
數(shù)據(jù)增強(qiáng)網(wǎng)絡(luò)中可調(diào)節(jié)的參數(shù)主要包括:網(wǎng)絡(luò)層數(shù)n,隱藏層單元數(shù)m。預(yù)測(cè)網(wǎng)絡(luò)中的參數(shù)主要包括:預(yù)測(cè)網(wǎng)絡(luò)LSTM 的n與m。實(shí)驗(yàn)中統(tǒng)一將時(shí)間步長(zhǎng)T設(shè)置為8,在4 個(gè)數(shù)據(jù)集的實(shí)驗(yàn)中,數(shù)據(jù)增強(qiáng)網(wǎng)絡(luò)的n統(tǒng)一設(shè)置為2,m根據(jù)數(shù)據(jù)特征維度不同分別設(shè)置為12、16、12、10,迭代次數(shù)(epoch)統(tǒng)一設(shè)置為5000;預(yù)測(cè)網(wǎng)絡(luò)的n同樣統(tǒng)一設(shè)置為2,m根據(jù)數(shù)據(jù)特征維度不同分別設(shè)置為12、16、12、4,epoch 統(tǒng)一設(shè)置為1000。本文在3 個(gè)不同的評(píng)價(jià)標(biāo)準(zhǔn)上進(jìn)行預(yù)測(cè)結(jié)果對(duì)比,分別是RMSE、平均絕對(duì)誤差(MAE)、平均絕對(duì)誤差百分比(MAPE),并對(duì)多次試驗(yàn)結(jié)果取平均值。
為了評(píng)估合成數(shù)據(jù)的真實(shí)性,本文在Air Quality數(shù)據(jù)集與Appliances Energy 數(shù)據(jù)集上利用小樣本下原數(shù)據(jù)訓(xùn)練的數(shù)據(jù)增強(qiáng)網(wǎng)絡(luò)生成5000 個(gè)合成數(shù)據(jù)然后與原5000 個(gè)樣本進(jìn)行可視化對(duì)比,結(jié)果分別如圖5、圖6 所示。C-RNN-GAN 在訓(xùn)練過(guò)程中只是將隨機(jī)向量簡(jiǎn)單編碼后與原數(shù)據(jù)一起進(jìn)行對(duì)抗訓(xùn)練,其生成數(shù)據(jù)的可視化結(jié)果較差,并且很可能生成了超出原數(shù)據(jù)分布的合成數(shù)據(jù)。GRU-TimeGAN 在用Appliances Energy 預(yù)測(cè)數(shù)據(jù)集中所生成的數(shù)據(jù)對(duì)原數(shù)據(jù)具有較好的覆蓋,但在Air Quality數(shù)據(jù)集中表現(xiàn)并不理想,其原因是該數(shù)據(jù)集不夠穩(wěn)定,對(duì)模型捕捉特征分布的性能要求較高,而TimeGAN 在這方面的能力較弱?;贏ttention 機(jī)制的TimeGAN 由于在生成模型中仍然使用LSTM網(wǎng)絡(luò),其生成數(shù)據(jù)可視化結(jié)果仍然具有改進(jìn)空間,并且可能存在過(guò)擬合的情況。而ATCLSTM-TimeGAN通過(guò)引入TCN 卷積結(jié)構(gòu)獲得更好的特征提取能力,其生成數(shù)據(jù)可視化結(jié)果均優(yōu)于其他基線模型。不同方法所合成的數(shù)據(jù)用于預(yù)測(cè)訓(xùn)練的結(jié)果如表1、圖7 和圖8 所示,可以得知, ATCLSTM-TimeGAN所生成的數(shù)據(jù)用于預(yù)測(cè)時(shí),在各項(xiàng)評(píng)估指標(biāo)中均占據(jù)優(yōu)勢(shì)。
表1 Air Quality 數(shù)據(jù)集與Appliances Energy 數(shù)據(jù)集預(yù)測(cè)性能對(duì)比Table 1 Prediction performance comparison between Air Quality dataset and Appliances Energy dataset
圖5 Air Quality 數(shù)據(jù)集t-SNE 與PCA 可視化對(duì)比圖Fig.5 Comparison of t-SNE and PCA visualization of the Air Quality dataset
圖6 Appliances Energy 數(shù)據(jù)集t-SNE 與PCA 可視化對(duì)比圖Fig.6 Comparison of t-SNE and PCA visualization of the Appliances Energy dataset
圖7 Air Quality 數(shù)據(jù)集預(yù)測(cè)曲線圖Fig.7 Air Quality dataset prediction plots
圖8 Appliances Energy 數(shù)據(jù)集預(yù)測(cè)曲線圖Fig.8 Appliances Energy dataset prediction plots
為了驗(yàn)證本文所提出的數(shù)據(jù)增強(qiáng)方法能夠解決實(shí)際生產(chǎn)過(guò)程中存在的小樣本問(wèn)題,在Industrial Steam 數(shù)據(jù)集和IndPenSim 數(shù)據(jù)集上模擬數(shù)據(jù)量不足的情況下,利用數(shù)據(jù)增強(qiáng)方法進(jìn)行預(yù)測(cè)訓(xùn)練,以評(píng)估模型生成數(shù)據(jù)的有用性,可視化對(duì)比如圖9、圖10 所示。不同方法用于預(yù)測(cè)時(shí)的結(jié)果如表2 與圖11、圖12 所示。分析兩次實(shí)驗(yàn)的預(yù)測(cè)結(jié)果可知,使用CRNN-GAN 增強(qiáng)后的預(yù)測(cè)效果最差。Mixup 方法對(duì)原數(shù)據(jù)采用線性插值來(lái)生成虛擬數(shù)據(jù),實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn)該方法所得到的可視化分布圖幾乎是完全覆蓋與跟蹤的,其原因是該方法只對(duì)現(xiàn)有數(shù)據(jù)的插值進(jìn)行組合,而忽略了變量之間的復(fù)雜關(guān)聯(lián),數(shù)據(jù)的有用性得不到保障?;谘h(huán)網(wǎng)絡(luò)的TimeGAN 通過(guò)在訓(xùn)練過(guò)程中強(qiáng)調(diào)數(shù)據(jù)的時(shí)間序列依賴特性進(jìn)行聯(lián)合訓(xùn)練,生成相對(duì)真實(shí)的時(shí)間序列數(shù)據(jù),在合成數(shù)據(jù)的真實(shí)性與有用性上取得了較好的結(jié)果,但由于其編碼結(jié)構(gòu)與特征提取能力的缺陷,對(duì)特征分布不穩(wěn)定性較高的數(shù)據(jù)集的預(yù)測(cè)結(jié)果較差。ATCLSTMTimeGAN 模型生成的數(shù)據(jù)用于訓(xùn)練預(yù)測(cè)網(wǎng)絡(luò)所得到的3 個(gè)評(píng)價(jià)結(jié)果均優(yōu)于其他基線模型,其預(yù)測(cè)曲線在突變點(diǎn)與峰值處具有更好的預(yù)測(cè)效果,并且能夠達(dá)到在數(shù)據(jù)充足情況下的預(yù)測(cè)效果。
表2 Industrial Steam 數(shù)據(jù)集與IndPenSim 數(shù)據(jù)集預(yù)測(cè)性能對(duì)比Table 2 Prediction performance comparison between Industrial Steam dataset and IndPenSim dataset
圖9 Industrial Steam 數(shù)據(jù)集生成數(shù)據(jù)與原數(shù)據(jù)t-SNE 與PCA 可視化對(duì)比圖Fig.9 Comparison of t-SNE and PCA visualization of the Industrial Steam dataset
圖10 IndPenSim 數(shù)據(jù)集生成數(shù)據(jù)與原數(shù)據(jù)t-SNE 與PCA 可視化對(duì)比圖Fig.10 Comparison of t-SNE and PCA visualization of the IndPenSim dataset
圖11 Industrial Steam 數(shù)據(jù)集的預(yù)測(cè)曲線Fig.11 Prediction plots of the Industrial Steam dataset
圖12 IndPenSim 數(shù)據(jù)集的預(yù)測(cè)曲線Fig.12 Prediction plots of the IndPenSim dataset
本文引入Attention 機(jī)制得到Attention-LSTMTimeGAN,自適應(yīng)地將權(quán)重分配于時(shí)間序列特征維度上,提取時(shí)間序列依賴關(guān)系,增強(qiáng)網(wǎng)絡(luò)的編碼-解碼能力。針對(duì)TimeGAN在特征提取能力上的缺陷,引入TCN 的卷積結(jié)構(gòu),將歸一化后值域區(qū)間內(nèi)的取值分布與真實(shí)數(shù)據(jù)的分布形成對(duì)應(yīng)關(guān)系,得到TCTimeGAN,增強(qiáng)其特征提取能力。這兩個(gè)改進(jìn)的模型在合成數(shù)據(jù)分布可視化效果與預(yù)測(cè)效果方面均優(yōu)于原TimeGAN,說(shuō)明模型的改進(jìn)有一定的效果。ATCLSTM-TimeGAN 融合這兩個(gè)改進(jìn)點(diǎn),繼承其優(yōu)點(diǎn),在合成數(shù)據(jù)可視化與預(yù)測(cè)任務(wù)中均優(yōu)于其他基線模型。
表1、表2 示出的original 代表小樣本情況下不使用數(shù)據(jù)增強(qiáng)方法的預(yù)測(cè)效果,結(jié)果表明很難得到滿意的預(yù)測(cè)準(zhǔn)確度。從4 個(gè)實(shí)驗(yàn)的預(yù)測(cè)效果圖中可知,ATCLSTM-TimeGAN 所合成的數(shù)據(jù)在突變點(diǎn)與峰值處具有較好的增強(qiáng)效果,說(shuō)明所合成的數(shù)據(jù)對(duì)原數(shù)據(jù)具有較好的覆蓋。在實(shí)驗(yàn)過(guò)程中設(shè)置各種網(wǎng)絡(luò)參數(shù)的數(shù)量相近,避免因參數(shù)的數(shù)量相差過(guò)大影響實(shí)驗(yàn)效果。相較于不使用數(shù)據(jù)增強(qiáng)方法,將ATCLSTM-TimeGAN 所合成的數(shù)據(jù)加入到預(yù)測(cè)訓(xùn)練中,使預(yù)測(cè)精度在Air Quality、Appliances Engergy、Industrial Steam、Indpensim 這4 個(gè)數(shù)據(jù)集上分別提升了41%、33%、20%、12%。
本文針對(duì)時(shí)間序列預(yù)測(cè)任務(wù)中存在數(shù)據(jù)量不足而無(wú)法準(zhǔn)確建模的時(shí)間序列預(yù)測(cè)小樣本問(wèn)題,改進(jìn)原TimeGAN 結(jié)構(gòu)而提出了ATCLSTM-TimeGAN。兩個(gè)大規(guī)模數(shù)據(jù)集的PCA 與t-SNE 的可視化結(jié)果表明,ATCLSTM-TimeGAN 所合成的數(shù)據(jù)對(duì)原數(shù)據(jù)具有更好的跟蹤與覆蓋,真實(shí)性更高,優(yōu)于其他數(shù)據(jù)增強(qiáng)網(wǎng)絡(luò)。最后在兩個(gè)典型工業(yè)過(guò)程中驗(yàn)證合成數(shù)據(jù)的有用性,即通過(guò)數(shù)據(jù)增強(qiáng)的方法來(lái)解決實(shí)際生產(chǎn)過(guò)程中數(shù)據(jù)樣本量不足的問(wèn)題。實(shí)驗(yàn)結(jié)果表明ATCLSTM-TimeGAN 所生成的數(shù)據(jù)用于預(yù)測(cè)訓(xùn)練時(shí),在突變點(diǎn)與峰值處能夠產(chǎn)生較好的擬合,具有更低的誤差,能夠顯著提高小樣本情況下預(yù)測(cè)模型的精度。