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