李克文,柯翠虹,張 敏,王曉暉,耿文亮
中國石油大學(xué)(華東)計算機科學(xué)與技術(shù)學(xué)院,山東 青島 266580
時間序列數(shù)據(jù)[1-2]是一組由時間先后順序排列組合而成的數(shù)值型數(shù)據(jù),通常為實數(shù)或?qū)崝?shù)向量的集合,醫(yī)學(xué)、經(jīng)濟、交通和氣象等領(lǐng)域均會產(chǎn)生大量基于時間順序排列的序列數(shù)據(jù),為機器學(xué)習(xí)與深度學(xué)習(xí)應(yīng)用實踐提供數(shù)據(jù)支撐。時間序列分類[3]是時間序列分析領(lǐng)域極具前景的重要研究方向,主要利用有監(jiān)督方式,學(xué)習(xí)有標(biāo)簽訓(xùn)練數(shù)據(jù)內(nèi)部基于時間先后順序的潛在關(guān)系,進而對無標(biāo)簽時間序列進行類別預(yù)測,在日常生活中時間序列分類任務(wù)廣泛應(yīng)用于醫(yī)療診斷、異常檢測、安全監(jiān)控等領(lǐng)域。但由于時間序列本身隨時間不斷變化且易受外部因素干擾,具有較強非平穩(wěn)性,序列前后基于時間存在耦合問題,較難提取特征,受先后順序限制較大,因此給分類任務(wù)造成了極大的困難。
近年來,隨著人工智能的快速發(fā)展,深度學(xué)習(xí)算法以其展開數(shù)據(jù)內(nèi)部層次結(jié)構(gòu)、捕獲數(shù)據(jù)表征間潛在聯(lián)系[4]的特點被廣泛應(yīng)用于時間序列分類任務(wù)中,相較于傳統(tǒng)的時間序列分類方法有了顯著的改進。例如,Kwon等人[5]應(yīng)用長短期記憶(long short-term memory,LSTM)模型對加密貨幣價格時間序列進行分類,性能提升了約7%。Elsayed 等人[6]用門控循環(huán)單元(gated recurrent unit,GRU)替換LSTM 來創(chuàng)建深度門控循環(huán)和卷積網(wǎng)絡(luò)混合模型GRU-FCN,實證表明提出的GRUFCN 模型在許多單變量時間序列數(shù)據(jù)集上表現(xiàn)出優(yōu)于LSTM-FCN模型的分類性能。李向偉等人[7]提出了一種將改進卷積神經(jīng)網(wǎng)絡(luò)與雙向長短時記憶網(wǎng)絡(luò)進行融合的評估方法,對基本電氣量時間序列數(shù)據(jù)進行暫態(tài)穩(wěn)定評估,且在復(fù)雜條件下仍能保持較好的評估性能。Li等人[8]提出了一種基于滑動相對位置矩陣和CNN 的時間序列聯(lián)合模型,在預(yù)處理過程中利用滑動相對位置將時間序列數(shù)據(jù)轉(zhuǎn)換為二維圖像后使用CNN對圖像進行分類,實驗結(jié)果表明所提模型的精度高于其他模型。上述算法均在時間序列分類任務(wù)中取得了一定效果,但普遍基于一種循環(huán)網(wǎng)絡(luò)結(jié)構(gòu),每一時刻的輸出依賴于上一時刻的狀態(tài)與輸出,無法并行計算,導(dǎo)致計算資源浪費,感受野大小限制和順序性結(jié)構(gòu)存在長距離信息弱化問題,無法捕捉長距離時間信息。
基于上述深度學(xué)習(xí)方法普遍存在的問題,本文提出了一種增強局部注意力的時間序列分類方法。首先,該方法擬合基于自注意計算的混合距離信息以改進自注意力機制缺乏位置信息的問題,在自注意力可訓(xùn)練矩陣乘積運算的基礎(chǔ)上將混合距離信息融入矩陣計算中,以達到擴展自注意力機制的目的。其次,構(gòu)造多尺度卷積注意力提取模塊獲取多尺度局部前向信息,以解決標(biāo)準(zhǔn)自注意力機制基于點值計算獲取當(dāng)前值的表征矩陣,未充分利用到局部前向信息易造成注意力混淆的問題,提升自注意力機制的局部注意力。最后,使用改進后的自注意力機制構(gòu)造時序自注意分類模塊,堆疊模塊開展時間序列分類任務(wù)。本文提出的增強局部注意力的時間序列分類方法在UCR時間序列分類數(shù)據(jù)集上的實驗結(jié)果表明,與現(xiàn)有時間序列分類方法相比,增強局部注意力的時間序列分類方法能夠有效提高時間序列分類效果。
自注意力機制是自我注意力指揮認(rèn)知和行為的一種重要選擇機制,其作用為選擇性聚焦于信息的一個重要的方面,忽略其他感知信息,經(jīng)由重要信息指揮下一步認(rèn)知與行為[9]。自注意力機制以點積計算方式量化了輸入元素之間的相互依賴關(guān)系,這種機制使用簡單且易于并行計算,允許輸入元素自由決定注意重點。
假設(shè)輸入序列為x=(x1,x2,…,xn),n為時間序列節(jié)點個數(shù),自注意力機制以點積方式計算時間序列節(jié)點權(quán)重,時間序列節(jié)點權(quán)重計算公式如下:
其中,WQ為輸入序列的查詢參數(shù)矩陣;WK為輸入序列的鍵參數(shù)矩陣;din表示輸入時間序列的維度大小,當(dāng)din值較大時點積幅度變大,權(quán)重值計算將進入梯度極小區(qū)域[10],為了抵消權(quán)重值影響,因此在scoreij的計算中將點積結(jié)果除以
經(jīng)由時間序列節(jié)點權(quán)重計算輸入時間序列的線性變換加權(quán)和,更新時間序列節(jié)點值,計算公式如下:
其中,WV為輸入序列的值參數(shù)矩陣,表征學(xué)習(xí)到的輸入序列值信息。
多頭注意力基于多維擴展的思想,采用多個自注意力頭疊加的方式解決單一自注意力機制對當(dāng)前位置信息進行編碼時會過度將注意力集中于自身位置的問題,使不同層的自注意力機制編碼表示多樣化,進而增加模型的表達能力[11],模型結(jié)構(gòu)圖如圖1所示。
圖1 多頭注意力模型結(jié)構(gòu)Fig.1 Structure of multi-attention model
多頭注意力能夠聯(lián)合注意不同位置上不同表示子空間的信息,拼接多頭自注意力機制計算結(jié)果,經(jīng)由權(quán)重擬合最終輸出,計算公式如下:
其中,p為注意力頭的個數(shù),WT表示可訓(xùn)練的注意力頭權(quán)重矩陣。
標(biāo)準(zhǔn)的自注意力機制是位置不敏感的,缺乏一種編碼序列位置信息的自然表示方式,因此大量基于位置信息嵌入的改進自注意力模型被提出來?,F(xiàn)有的位置信息注入方式主要有兩種,分別為絕對位置嵌入和相對位置嵌入。
絕對位置嵌入[11]使用絕對位置編碼,為每個位置的節(jié)點提供一個位置嵌入向量,在原始輸入的基礎(chǔ)上擬合了位置嵌入向量,使輸入時間序列帶有當(dāng)前位置的絕對位置信息,進而學(xué)習(xí)時間序列不同位置的上下文表示。其中,最為廣泛使用的是三角式絕對位置編碼,一般也稱為Sinusoidal 位置編碼[11]。三角式位置基于三角公式:
證明了位置α+β的向量可以表示成位置α和位置β的向量組合,因此可以作為位置嵌入向量擬合至原始數(shù)據(jù)中,其數(shù)學(xué)表示為:
其中,pk,2i、pk,2i+1分別是位置k的編碼向量中第2i、2i+1 個分量,d為位置向量的維度。
相對位置嵌入[12]并未完整建模每個輸入時間節(jié)點的位置信息,而是使用相對位置編碼表示當(dāng)前時間節(jié)點與其他時間節(jié)點的相對距離信息,以有向聯(lián)通圖形式表示相對位置編碼即為有向連通圖中各個時間節(jié)點兩兩互相連接的邊向量。例如,Shaw 等人[13]受絕對位置啟發(fā),將本來依賴二元坐標(biāo)(i,j)的鍵矩陣K和值矩陣V的絕對位置信息轉(zhuǎn)換為只依賴相對距離i-j的向量和,并參與矩陣計算最后得出注意力值;He 等人[14]展開采用截斷式相對位置編碼,去除位置絕對項,將查詢矩陣、鍵矩陣的乘積與相對位置編碼擬合,從而使用有限個位置編碼,就可以表達出任意長度的相對位置。
絕對位置編碼采用的是異構(gòu)位置信息擬合,不同位置對應(yīng)的位置編碼不同,編碼只依賴于位置編號,位置之間缺乏約束關(guān)系。相對位置編碼可以較好地表征位置之間的約束關(guān)系,但由于距離的對稱性無法區(qū)分時間序列方向,且注意力分布偏向較近時間節(jié)點,不利于全長序列的理解[15]。因此,本文提出一種基于自注意計算的混合距離信息,將絕對位置編碼信息與原始輸入分離,作為獨立的絕對位置因子,采用累加方式將上下文位置信息融入自注意力矩陣計算結(jié)果中,采用系數(shù)乘積法將訓(xùn)練式相對位置因子融入矩陣計算中,進而在原始矩陣中擬合當(dāng)前時間節(jié)點與其他時間節(jié)點的相對距離信息,在不影響自注意力機制并行運算的前提下綜合利用兩種編碼優(yōu)勢獲取前向位置約束關(guān)系,相較于單一使用絕對位置編碼和相對位置編碼在準(zhǔn)確率上有一定提升。
與現(xiàn)有的位置嵌入相比,本文提出的混合距離信息不基于原始輸入添加異構(gòu)位置信息,而是在自注意力機制運算中加入混合距離信息表征學(xué)習(xí)到的查詢矩陣位置信息和鍵矩陣位置信息。以標(biāo)準(zhǔn)的自注意力機制運算為例,展開含有位置信息的自注意力分?jǐn)?shù)計算公式如下式所示:
由展開公式可以看出,含有位置信息的自注意力分?jǐn)?shù)計算包含四部分,分別為查詢值對鍵值的相關(guān)性、查詢值對鍵位置的相關(guān)性、查詢位置對鍵值的相關(guān)性和查詢位置對鍵位置的相關(guān)性。其中,第2 項和第3 項可認(rèn)為是查詢矩陣Q和鍵矩陣K與兩個矩陣之間的相對位置關(guān)系乘積,因此采用可訓(xùn)練的相對位置編碼表示,第4項查詢位置對鍵位置的相關(guān)性可認(rèn)為是查詢位置矩陣和鍵位置的絕對位置關(guān)系乘積,因此采用相對位置編碼表示。改進后的混合距離信息表示如下:
其中,r_posQ,K表示查詢矩陣Q和鍵矩陣K之間的相對位置矩陣,計算方式為r_posQ,K=Wr(Concat(Q,K)),a_posQ和a_posK表示查詢矩陣Q和鍵矩陣K的絕對位置矩陣,采用三角式絕對編碼生成。
近年來,卷積神經(jīng)網(wǎng)絡(luò)[16]得益于其優(yōu)異的局部特征信息提取能力而被廣泛應(yīng)用于各個領(lǐng)域,卷積在其中發(fā)揮了不可或缺的作用。卷積的核心在于卷積核,組成卷積核的每個元素都對應(yīng)一個權(quán)重系數(shù)和偏差量,卷積核在工作時,規(guī)律地掃過輸入特征,在感受野內(nèi)擬合權(quán)重系數(shù)和偏差,從而有效提取局部高相關(guān)信息。然而卷積在增加感受野的同時也縮小了特征圖尺寸,即使卷積后使用上采樣還原了原始特征大小,卻也造成了精度損失,因此空洞卷積[17]以其增加感受野的同時保持特征圖的尺寸不變的優(yōu)勢,迅速占領(lǐng)一席之地。與正常的卷積不同,空洞卷積引入了擴張率,由此定義了卷積核處理數(shù)據(jù)時各值的間距,相較于標(biāo)準(zhǔn)卷積,空洞卷積有效擴大了感受野大小并且擁有捕獲多尺度的上下文信息的優(yōu)異能力??斩淳矸e結(jié)構(gòu)如圖2所示。
圖2 空洞卷積Fig.2 Dilated Convolution
時間序列基于時間特性順序演化,對于單個時間節(jié)點而言,脫離先后環(huán)境難以判斷該時間節(jié)點屬于異常點、變化點還是正常點,然而標(biāo)準(zhǔn)的自注意力機制運算基于點值計算,點值之間相互獨立,沒有充分利用上下文環(huán)境,因此對節(jié)點的判斷易存在混淆,從而降低時間序列分類的精度。對于波動性較大的時間序列,自注意力機制可能存在因單點運算無法正確匹配上下文環(huán)境導(dǎo)致模式匹配錯誤問題。對于點值相同的同一序列節(jié)點,如圖3所示,其中藍線表示時間序列,紅線表示相同點值,在計算時間節(jié)點相關(guān)性時,因點積會給予點值相同的節(jié)點更大權(quán)重,但由圖中可以看出點值相同的時間節(jié)點并未具備強相關(guān)性,不應(yīng)在計算相關(guān)性時分配更高權(quán)重。
圖3 波動性時間序列Fig.3 Time series with volatility
因此,本文提出一種多尺度卷積注意力,在自注意力機制運算時由傳統(tǒng)的單點值參與運算轉(zhuǎn)換為帶有多尺度局部前向信息的點值參與運算,由此提高自注意力機制捕捉前文環(huán)境用以準(zhǔn)確分類的能力。
以單一注意力頭為例,單尺度卷積注意力在值矩陣獲取時采用步長為1 的卷積核獲取當(dāng)前節(jié)點值及當(dāng)前節(jié)點前文信息,通過單一尺度卷積核擬合前向信息,避免后向信息的干擾。延伸到多注意力頭,采用空洞卷積核擴展單尺度卷積注意力,配合多頭注意力實現(xiàn)不同尺度局部前向信息的獲取和擬合,有效降低了局部小范圍多值波動情況對時間序列分類造成的影響,以XN=(x1,x2,…,xN)表示序列長度為N的原始時間序列,YN=(y1,y2,…,yN)作為時間序列輸出值,假設(shè)默認(rèn)卷積核尺寸為1×k,多尺度卷積注意力可表示為:
其中,Hi(i∈1,2,…,heads)表示第i個注意力頭的尺度卷積核寬度(默認(rèn)長度不變,均為1),di(i∈1,2,…,heads)為每個卷積核的擴張率,heads表示注意力頭個數(shù),h(j)和x(j)分別表示j時刻的卷積權(quán)重值和時間節(jié)點值。
針對異常點,通過不同尺度前向信息的擬合可以降低異常點參與前向趨勢信息計算的概率,從而有效降低偶發(fā)性異常導(dǎo)致的梯度偏移。針對變化點,多尺度卷積結(jié)構(gòu)可以較好地歸納波動性較大的時間序列的真實變化趨勢,從而有效降低因波動變化帶來的局部前向趨勢的不準(zhǔn)確性。多尺度卷積結(jié)構(gòu)如圖4所示,其中圓圈表示原始時間序列中的N個時間節(jié)點,實心框表示大小為1×3,擴張率分別為1、2、3的卷積核,計算多注意力頭的卷積結(jié)果后擬合輸出作為最終節(jié)點值。
圖4 多尺度卷積結(jié)構(gòu)Fig.4 Multi-scale convolution structure
由于局部感受野擴大,導(dǎo)致位置靠前的時間節(jié)點在使用不同尺度卷積核時存在部分前向信息空值,因此采用時間序列拼接的方式,將時間序列頭尾拼接,由此填充前向信息空值,此操作對于季節(jié)性時間序列分類任務(wù)效果更佳。
為了更進一步提高時間序列分類任務(wù)精度,本文以結(jié)合了基于自注意計算的混合距離信息和多尺度卷積注意力的改進標(biāo)準(zhǔn)自注意力機制為核心,構(gòu)造自分類模塊,耦合多模塊構(gòu)造時序自注意分類架構(gòu)。模型架構(gòu)如圖5所示。
圖5 模型架構(gòu)Fig.5 Model framework
本文采用三層自分類模塊(self-classification module)組合的模式進行時間序列分類,每一模塊由改進的多頭標(biāo)準(zhǔn)自注意機制(improved multi-head attention)、殘差連接、層歸一化(layer normalization)和全連接神經(jīng)網(wǎng)絡(luò)(feed forward)構(gòu)成。模塊使用殘差連接將改進多頭注意力輸出結(jié)果與原始輸入相加,使訓(xùn)練時梯度可快捷傳播至初始層;層歸一化將模塊中的隱藏層歸一化為標(biāo)準(zhǔn)正態(tài)分布;全連接神經(jīng)網(wǎng)絡(luò)將輸入經(jīng)由兩層線性映射并使用激活函數(shù)激活,由此增加復(fù)雜過程的擬合程度。三層自分類模塊累加增加了特征的抽象程度,更能模擬出特征間復(fù)雜的潛在關(guān)系。輸入經(jīng)由三層自分類模塊后還需通過特征擬合層(feature fitting layer)和時間擬合層(time fitting layer),兩層均使用了全連接神經(jīng)網(wǎng)絡(luò)用以特征降維及時間壓縮,由此輸出最終分類結(jié)果。
本文采用UCR 時間序列分類數(shù)據(jù)集進行實驗。UCR時間序列分類數(shù)據(jù)集包含公開可用的時間序列數(shù)據(jù)集,根據(jù)樣本的數(shù)量和時間序列的長度而變化。使用標(biāo)準(zhǔn)分割將每個數(shù)據(jù)集分割為訓(xùn)練集和測試集。本文抽取了不同分類數(shù)目下不同時間序列長度的典型時間序列分類數(shù)據(jù)集,表1總結(jié)了數(shù)據(jù)集的細(xì)節(jié),其中ED表示時間序列間的平均歐氏距離。
表1 UCR時間序列分類數(shù)據(jù)集Table 1 UCR time series classification dataset
本文提出了一種擬合基于自注意計算的混合距離信息和多尺度卷積注意力的自注意分類模型,以達到在標(biāo)準(zhǔn)注意力計算的基礎(chǔ)上增強局部關(guān)鍵感知能力的目的。為了驗證本文方法的有效性,選取基于絕對位置嵌入和相對位置嵌入改進的自注意力機制,采用相同時序自注意分類架構(gòu)進行消融實驗,驗證改進方法在時間序列分類數(shù)據(jù)集上的性能。
(1)TYPE0:使用標(biāo)準(zhǔn)自注意力機制,采用點值方式,不增加位置信息表示。
(2)TYPE1:使用絕對位置編碼嵌入標(biāo)準(zhǔn)自注意力機制,即采用三角式位置編碼生成位置嵌入向量,擬合原始輸入使輸入,時間序列帶有當(dāng)前位置的絕對位置信息。
(3)TYPE2:使用相對位置編碼嵌入標(biāo)準(zhǔn)自注意力機制,即在標(biāo)準(zhǔn)自注意力機制鍵矩陣和值矩陣中分別擬合可訓(xùn)練矩陣表示基于兩點位置間的相對位置信息。
(4)TYPE3:使用本文提出的基于自注意計算的混合距離信息和多尺度卷積注意力來改進標(biāo)準(zhǔn)自注意力機制。
實驗中BEST-TYPE3 列表示最優(yōu)實驗結(jié)果值與本文提出方法的實驗結(jié)果值的差值。由表2、表3 的實驗結(jié)果可知,數(shù)據(jù)差值均小于0.005。結(jié)合表1數(shù)據(jù)集細(xì)節(jié)中的ED(平均歐氏距離)分析可發(fā)現(xiàn),提出方法并未取得最好效果的數(shù)據(jù)集ED較大。根據(jù)模型實現(xiàn)細(xì)節(jié)分析可知,本文提出方法較其他改進自注意力方法增加了多尺度卷積注意力,從而使用了更多參數(shù),在處理各分類差距較大的簡單時間序列分類任務(wù)時,在同等實驗環(huán)境和參數(shù)設(shè)置下稍遜于其他改進方法。面對相似性更高的時間序列分類,本文的改進方法具有更好的效果。因此本文提出的改進自注意力方法更適用于通用時序序列分類場景,在復(fù)雜任務(wù)下精度較高,且在簡單任務(wù)下效果也能達到較好效果。
表2 時間序列分類數(shù)據(jù)集消融實驗結(jié)果Table 2 Experimental results of time series classification dataset ablation experiment
表3 消融實驗結(jié)果統(tǒng)計Table 3 Statistics of ablation experiment results
抽取時間序列長度各不相同的數(shù)據(jù)集繪出Loss 和Mertic迭代訓(xùn)練圖,如圖6所示,時間序列長度采用80、140、500 和720,驗證時間序列長度變化是否對算法造成影響。可以看出,本文提出方法的收斂速度相較其他自注意力改進方法有一定提升,可更快達到收斂,隨著時間序列長度的增加,使用標(biāo)準(zhǔn)自注意力機制和使用相對值編碼嵌入標(biāo)準(zhǔn)自注意力機制構(gòu)建的模型效果顯著下降,使用絕對位置編碼嵌入標(biāo)準(zhǔn)自注意力機制構(gòu)建的模型效果有了明顯提升,而本文方法性能穩(wěn)居第一,由此可證明本文方法較對比算法更具普適性,適用于不同長度下的時間序列。綜上所述,使用本文的基于自注意計算的混合距離信息和多尺度卷積注意力改進標(biāo)準(zhǔn)自注意力機制,相較于無位置嵌入、絕對位置嵌入和相對位置嵌入標(biāo)準(zhǔn)自注意力機制方法,使用場景更為廣泛,使用效果更佳,有效提高了時間序列分類任務(wù)的準(zhǔn)確率和F1 SCORE,能較好地擬合時序位置信息以達到局部注意力增強的效果。
圖6 Loss和Mertic迭代訓(xùn)練圖Fig.6 Loss and Mertic iterative training diagrams
為了驗證本文提出的基于局部注意力增強的時間序列分類方法在時間序列數(shù)據(jù)集上的效果,采用當(dāng)前較新的時間序列分類方法與本文方法在UCR時間序列分類數(shù)據(jù)集中進行效果比較。采用時間序列分類準(zhǔn)確率和F1 SCORE作為時間序列分類評價標(biāo)準(zhǔn),實驗對比結(jié)果如表4和表5所示。
表4 UCR時間序列分類數(shù)據(jù)集對比實驗結(jié)果Table 4 Contrast experimental results of UCR time series classification dataset
由表4 和表5 可知,本文提出的基于局部注意力增強的時間序列分類方法較LSTM、LSTM-FCN、GRU-FCN和CNN 算法更具普適性,在20 個實驗數(shù)據(jù)集中最優(yōu)占比達到90%以上,處理精度較高。如圖7 所示,相較于其他時間序列分類方法,本文方法收斂速度快,在同等環(huán)境及同一實驗參數(shù)設(shè)置條件下可更好、更快地達到收斂狀態(tài),能較好地學(xué)習(xí)到數(shù)據(jù)集中不同分類的深層潛在信息,有效提高時間序列分類效果。
圖7 Loss和Mertic迭代訓(xùn)練圖Fig.7 Loss and Mertic iterative training diagrams
為了使時間序列分類方法能夠處理更復(fù)雜的任務(wù)場景,本文提出了一種增強局部注意力的時間序列分類方法。該算法擬合基于自注意計算的混合距離信息以改進自注意力機制位置信息缺乏的問題,在不影響并行性計算的前提下使得自注意力機制具有位置敏感性;實現(xiàn)多頭注意力與多尺度卷積的有效結(jié)合,充分利用多尺度局部前向信息提升自注意力機制的局部注意力;基于上述局部注意力增強模塊設(shè)計時序自注意分類架構(gòu),采用并行性的計算架構(gòu)降低資源浪費,訓(xùn)練模型開展時間序列分類任務(wù)。實驗結(jié)果表明,與現(xiàn)有時間序列分類方法相比,增強局部注意力的時間序列分類方法能夠加速收斂,充分學(xué)習(xí)時間序列深層潛在信息,進一步提升時序序列分類效果。