王天,劉兆英,張婷,劉博文,李玉鑑,2
1. 北京工業(yè)大學(xué) 信息學(xué)部,北京 100124
2. 桂林電子科技大學(xué) 人工智能研究院,廣西 桂林 541004
時間序列是用按時間順序排列的變量來表示事件的序列[1]。時間序列數(shù)據(jù)廣泛地存在于生產(chǎn)生活中,例如股票的走向趨勢、商品價格的變化波動、患者的心電圖或者腦電波活動情況等等。分析時序數(shù)據(jù)對指導(dǎo)人們生產(chǎn)生活具有重大意義,例如醫(yī)生通過觀察病人的心電圖判斷其是否患病;經(jīng)濟(jì)學(xué)家觀測股票分析其走向趨勢。在這些時間序列分析問題中,時間序列分類(time series classification,TSC)[2]是一項比較重要且具有挑戰(zhàn)性的任務(wù)。
目前深度學(xué)習(xí)已經(jīng)在計算機視覺以及自然語言處理等多個領(lǐng)域得到極大的發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的時間序列分類也取得了一定的進(jìn)展。例如,Wang 等[3]提出了全卷積網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)和ResNet 模型,實現(xiàn)了端到端的訓(xùn)練過程,避免了復(fù)雜的特征工程。金海波[4]針對傳統(tǒng)Shapelets 算法時間復(fù)雜度高的問題,提出一種快速發(fā)現(xiàn)算法,完成了算法的并行化。張國豪等[5]提出了一種結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN) 和雙向門控循環(huán)單元(gate recurrent unit,GRU)的模型結(jié)構(gòu),用于提取時間序列數(shù)據(jù)的卷積特征和時序特征,該模型利用了2 種特征信息完成了對時序數(shù)據(jù)的分類。胡紫音等[6]利用注意力機制在多元時序數(shù)據(jù)中進(jìn)行特征選擇,解決了高維數(shù)據(jù)特征提取問題。王會青等[7]利用反向傳播神經(jīng)網(wǎng)絡(luò)提取時間序列特征用樸素貝葉斯分類,解決了有限數(shù)據(jù)集的分類問題。Iwana 等[8]提出5 種原型選擇算法,并利用動態(tài)時間歸整(dynamic time warping,DTW)[9]計算序列與原型之間的局部距離特征作為CNN 的輸入,充分探索了局部距離特征的分類潛力。姜逸凡等[10]利用孿生網(wǎng)絡(luò)衡量序列之間的相似性進(jìn)行分類。Karim 等[11]嘗試將長短時記憶網(wǎng)絡(luò)(long short-term memory,LSTM)和全卷積網(wǎng)絡(luò)結(jié)合提出了LSTM-FCN模型,該模型同時提取時間序列的局部特征和長期依賴關(guān)系,在多個數(shù)據(jù)集上取得了優(yōu)于FCN、ResNet 等模型的結(jié)果。
以上對時間序列分類的研究中,幾乎都是從模型的角度出發(fā),通過設(shè)計不同的模型,提取高質(zhì)量的特征,進(jìn)而提高準(zhǔn)確率,而鮮少從數(shù)據(jù)的角度出發(fā)。實際上許多應(yīng)用中的標(biāo)記數(shù)據(jù)存在局限性[12],例如數(shù)據(jù)量小、類別不平衡等,進(jìn)而影響了模型的分類性能。
數(shù)據(jù)增強作為深度學(xué)習(xí)中常用的技術(shù)手段,可以通過擴(kuò)充數(shù)據(jù)集提高模型性能[13-14],并在圖像處理等領(lǐng)域得到了廣泛的使用。然而類似的方法卻不能很好地應(yīng)用到時序數(shù)據(jù)[15],例如添加隨機噪聲[16]、隨機形變[16]等增強方法。Forestier 等[17]提出的加權(quán)動態(tài)時間彎曲重心平均算法(weighted DTW barycenter averaging,wDBA),該算法以加權(quán)方式計算平均序列生成新樣本,按照權(quán)重分配方式分為全平均[17](average all,AA)、選擇平均[17](average selected,AS)和距離選擇平均[17](average selected with distance,ASD)3 種方法。該算法雖然可以生成無限多樣本,但是計算量較大,不適用于長序列。
Mixup[18]作為一種簡單有效的數(shù)據(jù)增強方法,已經(jīng)在圖像分類中得到廣泛的應(yīng)用。為此,本文將Mixup 引用到時間序列數(shù)據(jù)中,并結(jié)合LSTM-FCN,提出Mixup 數(shù)據(jù)增強的LSTM-FCN算法。該算法首先使用Mixup 方法增強原始時間序列數(shù)據(jù),得到新的增強數(shù)據(jù);然后使用增強后的數(shù)據(jù)訓(xùn)練LSTM-FCN,并進(jìn)行分類。
本文的主要貢獻(xiàn)包括2 個方面:1)提出了一種Mixup 數(shù)據(jù)增強的LSTM-FCN 的時間序列分類算法,將Mixup 數(shù)據(jù)增強方法應(yīng)用于時間序列數(shù)據(jù);2)驗證了Mixup 數(shù)據(jù)增強對時間序列分類的性能影響,在30 個UCR 數(shù)據(jù)集上的實驗表明,Mixup 數(shù)據(jù)增強的LSTM-FCN 可以提高模型的分類準(zhǔn)確率。
圖1 給出了LSTM-FCN 模型的結(jié)構(gòu)。從圖1可以看出,該模型由2 個分支組成,分別為時序卷積分支和長短時記憶分支。其中,時序卷積分支采用了全卷積網(wǎng)絡(luò)模型,該部分包含3 個卷積塊,每一塊都由一個一維卷積層、塊歸一化和ReLU 激活函數(shù)組成,最后一層由全局平均池化取代全連接層以減少模型參數(shù);長短時記憶分支使用了一層LSTM 網(wǎng)絡(luò),同時加入Dropout 緩解模型的過擬合情況。最后拼接2 個分支的輸出,并使用Softmax 對得到的特征進(jìn)行分類。
圖1 LSTM-FCN 結(jié)構(gòu)
本節(jié)首先介紹提出的算法整體框架,然后詳細(xì)介紹Mixup 數(shù)據(jù)增強算法,最后給出算法的完整訓(xùn)練過程。
本文提出的基于Mixup 數(shù)據(jù)增強的LSTMFCN 時間序列分類算法包含2 部分:Mixup 數(shù)據(jù)增強和LSTM-FCN 分類模型,圖2 給出了其整體流程圖。具體來說,Mixup 在訓(xùn)練階段首先對批量數(shù)據(jù)及其獨熱(one-hot)編碼形式的標(biāo)簽進(jìn)行混合,生成新的增強數(shù)據(jù);然后將增強數(shù)據(jù)作為LSTM-FCN 的輸入,訓(xùn)練LSTM-FCN 并輸出分類結(jié)果。訓(xùn)練過程中使用混合標(biāo)簽計算交叉熵?fù)p失而不用原始標(biāo)簽?;旌现蟮臉?biāo)簽以概率的形式表達(dá)了樣本的類別,使得模型在預(yù)測結(jié)果時得到更平滑的估計。模型訓(xùn)練完成后,它已經(jīng)學(xué)習(xí)到了良好的區(qū)分邊界,在測試階段將不再需要Mixup部分。
圖2 模型框架
Mixup[18]是一種基于鄰域風(fēng)險原則的數(shù)據(jù)增強方法,該算法利用線性插值的方式對2 個樣本和標(biāo)簽進(jìn)行混合,一定程度上擴(kuò)展了訓(xùn)練數(shù)據(jù)的分布空間,從而使模型的泛化能力得到提高。
Dmixup將作為一個迷你塊用來訓(xùn)練模型。
Mixup 方法的主要思想是將經(jīng)驗狄拉克分布
Mixup 以經(jīng)驗鄰域風(fēng)險為原則優(yōu)化網(wǎng)絡(luò)模型參數(shù),可以提高模型的不確定性估計能力,增強模型的泛化能力。
模型訓(xùn)練算法給出了Mixup 數(shù)據(jù)增強的LSTM-FCN 的訓(xùn)練過程。具體來說,在訓(xùn)練過程中,每一步都會產(chǎn)生一個隨機數(shù),并對該批次數(shù)據(jù)使用Mixup 計算得到增強后的樣本。經(jīng)過多次迭代后,間接上增加了數(shù)據(jù)的多樣性,豐富了數(shù)據(jù)分布。
本文實驗在Windows10 環(huán)境下完成,CPU 為
Intel(R) Core(TM) i5-8300H CPU @ 2.30 GHz,GPU 為NVIDIA GeForce GTX 1050 Ti,代 碼使用Pytorch 編寫,使用分類準(zhǔn)確率(Accuracy)Raccuracy和平均排名(Average rank)Raverage[20]來評估模型的性能。
本文使用UCRArchive2018[21]中的30 個數(shù)據(jù)集進(jìn)行實驗分析以驗證本文算法的有效性。表1給出了這30 個數(shù)據(jù)集的基本信息,包括訓(xùn)練集和測試集樣本個數(shù)、類別和長度。圖3 給出了2 個數(shù)據(jù)集的示例樣本,不同線段表示不同的類別。
表1 數(shù)據(jù)集信息
圖3 數(shù)據(jù)集樣本示例
實驗中,LSTM-FCN 的時序卷積分支的3 個卷積層采取了He 初始化,3 個卷積核大小分別為7×1、5 ×1和 3 ×1,數(shù)量分別為128、256和128。LSTM的隱含狀態(tài)個數(shù)固定為8。優(yōu)化器使用Adam 算法,學(xué)習(xí)率設(shè)置為0.001。訓(xùn)練過程中采取學(xué)習(xí)率衰減策略,當(dāng)損失函數(shù)在30 個迭代次數(shù)內(nèi)沒有下降時,將學(xué)習(xí)率減小為原來的0.9 倍,直到學(xué)習(xí)率為0.000 1。迷你塊大小設(shè)置為16,每個數(shù)據(jù)集訓(xùn)練2 000 次。數(shù)據(jù)集的 α參數(shù)設(shè)置如表2。
表2 Mixup 參數(shù)設(shè)置
本文在UCR 的30 個數(shù)據(jù)集上進(jìn)行了對比實驗,表3 給出了本文方法與LSTM-FCN 模型3 次訓(xùn)練結(jié)果的平均分類準(zhǔn)確率,加粗?jǐn)?shù)值表示最優(yōu)結(jié)果。訓(xùn)練時間比表示本文方法訓(xùn)練模型花費時間與訓(xùn)練LSTM-FCN 花費時間的比值。
表3 本文方法和LSTM-FCN 結(jié)果
從 表3 可 以 看 出:1)使 用Mixup 增 強的LSTM-FCN 在26 個數(shù)據(jù)集上取得了不低于LSTM-FCN 的 平 均 分 類 準(zhǔn) 確 率。 其 中,在CinCECGTorso 數(shù) 據(jù) 集 上,Mixup 增 強 的LSTMFCN 取得了91.50% 的分類準(zhǔn)確率,與LSTMFCN 的結(jié)果相比,提高了4.79%,提升效果最為明顯。2)Mixup 方法在小數(shù)據(jù)集(數(shù)量小于200)上的提升效果比較明顯。例如,在ArrowHead、BeetleFly、Herring 以及Wine 等12 個數(shù)據(jù)集的準(zhǔn)確率提升在1% 以上。3)所有數(shù)據(jù)集的訓(xùn)練時間比都在1 左右。這說明使用Mixup 數(shù)據(jù)增強后訓(xùn)練模型所花費的代價幾乎與LSTM-FCN 相同,但使用Mixup 后模型取得了更好的分類準(zhǔn)確率。
綜合以上分析,Mixup 增強方法可以應(yīng)用于時間序列數(shù)據(jù)中,并有效提高模型的分類性能,尤其適用于小樣本的時間序列數(shù)據(jù),這是因為小樣本數(shù)據(jù)分布一般較為稀疏,不能充分反應(yīng)真實數(shù)據(jù)的分布情況,但經(jīng)過Mixup 方法生成增強數(shù)據(jù)后,可以填充原始數(shù)據(jù)中空白的分布空間,使模型更好地估計區(qū)分邊界。
為驗證Mixup 的有效性,本節(jié)將其與wDBA[17]的3 種 方法(AA[17]、AS[17]和ASD[17]) 進(jìn) 行比較。本文分別使用這4 種數(shù)據(jù)增強方法對數(shù)據(jù)增強,然后使用增強的數(shù)據(jù)訓(xùn)練LSTM-FCN 并測試。表4 給出了不同方法的結(jié)果,圖4 展示了不同方法的可視化結(jié)果。
圖4 不同數(shù)據(jù)增強方法的效果比較
1)從圖4(d)可以看出,使用Mixup 后,多數(shù)數(shù)據(jù)集的準(zhǔn)確率得到提升,從圖4(a)、(b)、(c)中可以發(fā)現(xiàn),AA、AS、ASD 方法雖然在一些數(shù)據(jù)集上提高了準(zhǔn)確率,但還有一部分?jǐn)?shù)據(jù)集準(zhǔn)確率出現(xiàn)下降的情況。這說明Mixup 是一種更加通用的數(shù)據(jù)增強方法。
2)從 表4 可 以 看出:使 用Mixup 增 強的LSTM-FCN 在26 個數(shù)據(jù)集上取得了不低于LSTM-FCN 的結(jié)果,而AA、AS 和ASD 方法分別在第9、10 和13 這3 個數(shù)據(jù)集上取得了不低于LSTM-FCN 的 結(jié) 果;同 時,Mixup 分 別 在 第20、21 和22 這3 個數(shù)據(jù)集上取得了優(yōu)于AA、AS 和ASD 方法的結(jié)果。 與其他3 種方法相比,Mixup 方法的平均準(zhǔn)確率分別提升了2.49%、1.86%和1.57%,而且Mixup 方法取得了最高的平均 準(zhǔn) 確 率90.28%; 另 外,Mixup 方 法 取 得了1.800 的最高平均排名,高于LSTM-FCN 的3.067,AA 的3.750,AS 的3.033 和ASD 的3.350。
表4 數(shù)據(jù)增強方法準(zhǔn)確率比較 %
綜合以上分析,不同的數(shù)據(jù)增強方法有助于提高模型的分類性能;此外,Mixup 方法取得了高于其他3 種數(shù)據(jù)增強方法的結(jié)果,這表明Mixup方法更適合于時間序列分類。
本小節(jié)探索超參數(shù) α對準(zhǔn)確率的影響。選取10 個數(shù)據(jù)集,使用多個 α值{0.1, 0.2, 0.4, 0.8, 1.0,2.0, 4.0, 8.0}訓(xùn)練模型,觀察其對分類性能的影響,結(jié)果如圖5 所示。從圖5 可以看出:
圖5 不同 α值對準(zhǔn)確率的影響
1)當(dāng) α增大時準(zhǔn)確率整體上呈現(xiàn)下降的趨勢。這是因為當(dāng) α變大時,數(shù)據(jù)的混合程度變強,導(dǎo)致合成數(shù)據(jù)的類別信息表達(dá)模糊,模型不能從其中提取到有效特征進(jìn)行分類。
2)有5 個數(shù)據(jù)集在α=0.1 時取得了最優(yōu)結(jié)果,例如,Adiac、Lightning2、Wine 等;此外,對于某些數(shù)據(jù)集,例如Fish 和ECG200,不同 α值對其影響較小,準(zhǔn)確率沒有表現(xiàn)出明顯的變化;還有,在一些小數(shù)據(jù)集中可以看到較為明顯的效果提升,例如Wine(數(shù)量57)和ArrowHead(數(shù)量36)。
總體來說,不同數(shù)據(jù)集對 α值的適應(yīng)情況不同,本文還未能探索出自適應(yīng)的方法確定 α的值,這是未來一個可能的研究方向。但是,大部分時序數(shù)據(jù)集在 α取0.1 時取得了最好的分類準(zhǔn)確率,因此,本文推薦設(shè)置 α=0.1 為默認(rèn)取值。
本文使用數(shù)據(jù)增強方法改善分類效果,提出基于Mixup 和LSTM-FCN 的時間序列分類模型。首先使用Mixup 對原始數(shù)據(jù)進(jìn)行增強,然后使用增強后的數(shù)據(jù)訓(xùn)練LSTM-FCN 網(wǎng)絡(luò),并進(jìn)行分類。實驗結(jié)果表明:
1)Mixup 可以應(yīng)用于時序數(shù)據(jù),并有效提高LSTM-FCN 的分類準(zhǔn)確率;
2)與wDBA 方法相比,Mixup 具有明顯優(yōu)勢;
3)Mixup 的性能受參數(shù)的影響,不同的參數(shù)會得到不同的性能。
未來將依據(jù)時間序列的特征,對Mixup 方法進(jìn)行改進(jìn),使其更好地應(yīng)用于時間序列數(shù)據(jù),以進(jìn)一步提高模型的性能。