莊連生 呂 揚(yáng) 楊 健 李厚強(qiáng)
1(中國(guó)科學(xué)技術(shù)大學(xué)信息科學(xué)技術(shù)學(xué)院 合肥 230027)2(軍事科學(xué)院系統(tǒng)工程研究院 北京 100191)3(鵬城實(shí)驗(yàn)室 廣東深圳 518000)(lszhuang@ustc.edu.cn)
時(shí)間序列建模是機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)研究熱點(diǎn),廣泛應(yīng)用于股票行情分析、語(yǔ)音識(shí)別、腦電分析等領(lǐng)域[1].近年來(lái),得益于海量數(shù)據(jù)資源的出現(xiàn)和計(jì)算資源的提升,以循環(huán)神經(jīng)網(wǎng)絡(luò)[2](recurrent neural network,RNN)為代表的深度學(xué)習(xí)技術(shù)被廣泛應(yīng)用于時(shí)間序列模型中,并在一些特定領(lǐng)域取得了巨大的成功(如語(yǔ)音識(shí)別).但是,現(xiàn)有循環(huán)神經(jīng)網(wǎng)絡(luò)仍然存在著3個(gè)問(wèn)題:
1)難以捕獲時(shí)間上的長(zhǎng)期依賴關(guān)系.經(jīng)驗(yàn)表明,RNN只能處理不超過(guò)200個(gè)時(shí)間步的時(shí)間序列數(shù)據(jù)之間的依賴關(guān)系,難以滿足實(shí)際應(yīng)用需要;
2)多數(shù)RNN網(wǎng)絡(luò)只考慮了對(duì)時(shí)域信息建模,忽略了對(duì)頻域信息建模,而頻率是描述和分析時(shí)間序列的一個(gè)重要工具;
3)傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體通常只能疊加2~3層,繼續(xù)疊加反而會(huì)造成性能下降,不利于擬合復(fù)雜函數(shù).這些缺陷限制了現(xiàn)有循環(huán)神經(jīng)網(wǎng)絡(luò)的性能,尤其是處理一些具有長(zhǎng)時(shí)依賴關(guān)系且頻率成分比較豐富的時(shí)間序列的時(shí)候.
針對(duì)上述問(wèn)題,研究人員從不同角度對(duì)RNN網(wǎng)絡(luò)進(jìn)行改進(jìn)和探索.為提高神經(jīng)網(wǎng)絡(luò)對(duì)長(zhǎng)時(shí)依賴關(guān)系的建模能力,研究人員先后提出了長(zhǎng)短期記憶網(wǎng)絡(luò)[3](long short-term memory,LSTM),Peephole LSTM[4],GRU[5](gated recurrent unit),CW-RNN[6](clockwork RNN)等.最近,Li等人[7]提出一種獨(dú)立循環(huán)神經(jīng)網(wǎng)絡(luò)(independently recurrent neural network,IndRNN)模型,通過(guò)解耦隱藏層神經(jīng)元和引入修正線性單元(rectified linear unit,ReLU),維持網(wǎng)絡(luò)的長(zhǎng)期記憶,并可以疊加多層,更加容易訓(xùn)練成深層神經(jīng)網(wǎng)絡(luò).但是,IndRNN僅考慮了時(shí)域特征模式,沒(méi)有考慮頻域特征模式.因此,當(dāng)輸入數(shù)據(jù)存在豐富的頻率成分時(shí),比如對(duì)股票交易數(shù)據(jù)、音位數(shù)據(jù)建模時(shí),IndRNN模型反而不如其他簡(jiǎn)單的算法性能更好.
事實(shí)上,如果要對(duì)時(shí)間序列進(jìn)行分類或預(yù)測(cè),對(duì)頻率成分的建模起著非常重要的作用[8].例如在音位分類問(wèn)題中,像“p”,“t”這樣的音位是由短而高頻的信號(hào)產(chǎn)生的,而“iy”,“ey”等音位則與較長(zhǎng)的低頻信號(hào)有關(guān).建模頻域特征對(duì)于正確識(shí)別語(yǔ)句中的音位是相當(dāng)有用的.類似地,在預(yù)測(cè)問(wèn)題中,音樂(lè)片段通常由跨越頻段的不同頻率組成,所以自動(dòng)生成音樂(lè)片段的剪輯通常需要適當(dāng)?shù)貙?duì)高頻和低頻成分進(jìn)行建模[8].此外,對(duì)特定物體進(jìn)行跟蹤也是一個(gè)經(jīng)典的預(yù)測(cè)問(wèn)題,特定物體跟蹤問(wèn)題可以表述為利用物體運(yùn)動(dòng)觀察量持續(xù)預(yù)測(cè)某物體的實(shí)際位置,從信號(hào)處理的角度考慮,提取物體運(yùn)動(dòng)的觀察量在某些頻率上的特征和分析物體運(yùn)動(dòng)周期對(duì)于預(yù)測(cè)物體位置非常重要.此外,對(duì)社會(huì)現(xiàn)象進(jìn)行分析或預(yù)測(cè)時(shí),也應(yīng)該考慮時(shí)間序列的頻域特征模式.舉例來(lái)說(shuō),在對(duì)交通流量數(shù)據(jù)進(jìn)行分析時(shí),工作日和雙休日周期、早高峰和晚高峰周期,對(duì)于分析交通流量數(shù)據(jù)都尤為重要.因此,對(duì)時(shí)間序列中的頻域特征模式建模,是正確分析時(shí)間序列數(shù)據(jù)的關(guān)鍵.基于上述觀察,Hu等人[8-9]提出了一種狀態(tài)頻率記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(state frequency memory recurrent neural network,SFM-RNN),通過(guò)多頻率狀態(tài)記憶實(shí)現(xiàn)對(duì)頻域特征模式的提取.但是,SFM-RNN模型基于LSTM的門實(shí)現(xiàn)對(duì)高低頻的選擇,并不能有效地對(duì)長(zhǎng)時(shí)依賴關(guān)系進(jìn)行建模.事實(shí)上,我們的實(shí)驗(yàn)也表明SFM-RNN模型只能疊加1~2層,無(wú)法訓(xùn)練深層網(wǎng)絡(luò).
受IndRNN和SFM-RNN啟發(fā),本文提出一種新型循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)——時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)(long term recurrent neural network with state-frequency memory,LTRNN-SFM).該網(wǎng)絡(luò)通過(guò)將傳統(tǒng)信號(hào)分析手段引入到循環(huán)神經(jīng)網(wǎng)絡(luò)中,即通過(guò)將循環(huán)神經(jīng)網(wǎng)絡(luò)隱藏層的狀態(tài)向量替換為狀態(tài)-頻率矩陣,聯(lián)合捕獲時(shí)間序列時(shí)域特征模式和頻域的特征模式.同時(shí),通過(guò)解耦隱藏層的神經(jīng)元、引入非飽和激活函數(shù)ReLU和權(quán)重裁剪,有效地避免了梯度消失和梯度爆炸問(wèn)題,既可以使網(wǎng)絡(luò)維持長(zhǎng)期記憶,又可以使深層網(wǎng)絡(luò)更加容易訓(xùn)練.LTRNN-SFM借鑒了SFM-RNN和IndRNN的核心思想,在保留了兩者優(yōu)點(diǎn)的基礎(chǔ)上巧妙避開了各自缺陷.最終,LTRNN-SFM比SFM-RNN模型更簡(jiǎn)單,也取得了比IndRNN更強(qiáng)的表達(dá)能力.最終實(shí)驗(yàn)表明:LTRNN-SFM在時(shí)間序列分類任務(wù)上性能更好,更適合處理長(zhǎng)時(shí)依賴且頻率豐富的時(shí)間序列.
Li等人[7]提出的IndRNN模型通過(guò)解耦隱藏層神經(jīng)元、引入激活函數(shù)ReLU和權(quán)重裁剪,較好地避免了梯度消失和梯度爆炸問(wèn)題,可以實(shí)現(xiàn)對(duì)具有長(zhǎng)時(shí)間依賴關(guān)系的時(shí)間序列數(shù)據(jù)的有效建模.實(shí)驗(yàn)表明:IndRNN模型可以處理超過(guò)1 000個(gè)時(shí)間步的時(shí)間序列,并更容易堆疊得到深層網(wǎng)絡(luò).
IndRNN模型可以描述為
ht=σ(Wxt+u⊙ht-1+b),
(1)
其中,⊙代表矩陣的哈達(dá)瑪積(Hadamard product)運(yùn)算,這使得隱藏層中的神經(jīng)元之間是相互獨(dú)立的;σ代表激活函數(shù)ReLU.圖1描述了基礎(chǔ)IndRNN[7]模型結(jié)構(gòu).
Fig.1 Basic IndRNN architecture圖1 基礎(chǔ)IndRNN模型結(jié)構(gòu)
對(duì)于第n個(gè)神經(jīng)元,隱藏層的狀態(tài)hn,t可以描述為
hn,t=σ(wnxt+unhn,t-1+bn),
(2)
其中,wn和un分別是輸入權(quán)重矩陣的第n行和隱藏層權(quán)重向量的第n個(gè)元素,隱藏層的每個(gè)神經(jīng)元只接收來(lái)自該時(shí)間步的輸入信息和前一時(shí)間步隱藏層對(duì)應(yīng)神經(jīng)元的狀態(tài),即IndRNN模型中的每個(gè)神經(jīng)元可以獨(dú)立處理一種時(shí)間-空間特征模式,其中wn負(fù)責(zé)提取輸入信息的空間特征,un負(fù)責(zé)提取來(lái)自上一時(shí)間步的時(shí)間特征.
IndRNN模型提出了隱藏層中各神經(jīng)元獨(dú)立提取時(shí)間-空間特征的新視角.不同神經(jīng)元間的特征融合可以通過(guò)多層網(wǎng)絡(luò)結(jié)構(gòu)的堆疊實(shí)現(xiàn),在這種情況下,上一層隱藏層的所有神經(jīng)元的輸出將作為下一層隱藏層每個(gè)神經(jīng)元的輸入.
IndRNN模型所使用的ReLU激活函數(shù),不但改善了隱藏層內(nèi)的梯度消失,也改善了隱藏層間的梯度消失,使IndRNN模型可以實(shí)現(xiàn)多層疊加.文獻(xiàn)[7]證明了一層隱藏層權(quán)重是可對(duì)角化矩陣、激活函數(shù)是線性函數(shù)的傳統(tǒng)RNN模型與2層IndRNN模型等價(jià).此外,在多層疊加的IndRNN模型中,隱藏層之間是全連接的形式,因此也可以引入批量歸一化(batch normalization,BN)等連接方式.
為了對(duì)時(shí)間序列進(jìn)行多頻率分析,Hu等人[8]提出了SFM-RNN模型,以捕捉輸入時(shí)間序列的時(shí)域和頻域特征.
SFM-RNN模型將LSTM模型的狀態(tài)向量存儲(chǔ)單元替換為狀態(tài)-頻率矩陣存儲(chǔ)單元,對(duì)于預(yù)測(cè)和分類任務(wù),通過(guò)門選擇適當(dāng)?shù)臓顟B(tài)-頻率成分,決定應(yīng)該選擇哪些成分來(lái)預(yù)測(cè)輸出信息或作為分類的依據(jù).
SFM-RNN模型的狀態(tài)-頻率矩陣可由離散傅里葉變換得到:
(3)
Fig.2 Comparison between the cell structures of the LSTM and the SFM-RNN圖2 LSTM和SFM-RNN網(wǎng)絡(luò)單元結(jié)構(gòu)對(duì)比圖
此外,SFM-RNN模型能以自適應(yīng)方式確定頻率.具體而言,可以將頻率定義為與每個(gè)時(shí)刻輸入信息和存儲(chǔ)單元相關(guān)的函數(shù),使模型自動(dòng)學(xué)習(xí)對(duì)應(yīng)的頻率.
本文提出的時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)模型(LTRNN-SFM)借鑒了SFM-RNN模型和IndRNN模型的核心思路,有效保留了這2個(gè)模型的優(yōu)點(diǎn),巧妙避免了現(xiàn)有循環(huán)神經(jīng)網(wǎng)絡(luò)存在的主要問(wèn)題.其基本思想是:通過(guò)將傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)隱藏層的狀態(tài)向量替換為狀態(tài)-頻率矩陣,聯(lián)合捕獲時(shí)間序列時(shí)域和頻域的特征模式;通過(guò)解耦隱藏層神經(jīng)元、引入非飽和激活函數(shù)ReLU和權(quán)重裁剪,有效地避免了梯度消失和梯度爆炸問(wèn)題,既可以使網(wǎng)絡(luò)維持長(zhǎng)期記憶,又可以訓(xùn)練深層網(wǎng)絡(luò).
假設(shè)一個(gè)時(shí)間序列數(shù)據(jù)集中有M條時(shí)間序列,根據(jù)某個(gè)時(shí)間點(diǎn)上觀測(cè)變量的數(shù)量,可以將時(shí)間序列劃分為單變量時(shí)間序列和多變量時(shí)間序列[1].本文提出的時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)可以處理單變量時(shí)間序列和多變量時(shí)間序列.
本文設(shè)計(jì)了2種網(wǎng)絡(luò)結(jié)構(gòu),單層時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)和多層時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò),均可以應(yīng)用于分類和預(yù)測(cè)問(wèn)題.在具體應(yīng)用中,基于不同的應(yīng)用場(chǎng)合和目的,可以采用不同層數(shù)的網(wǎng)絡(luò)結(jié)構(gòu).采用的層數(shù)越多,越能擬合復(fù)雜函數(shù).
通過(guò)網(wǎng)絡(luò)結(jié)構(gòu)和梯度問(wèn)題2個(gè)方面闡述單層時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò).
1)網(wǎng)絡(luò)結(jié)構(gòu)
單層時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)可以描述為
(4)
隱藏層的狀態(tài)-頻率矩陣可以分解為實(shí)部和虛部:
Reht=σ(Wxt[cosω1t,cosω2t,…,cosωKt]+
u⊙Reht-1+b),
(5)
Imht=σ(Wxt[sinω1t,sinω2t,…,sinωKt]+
u⊙Imht-1+b),
(6)
(7)
其中,(·)2代表該矩陣對(duì)應(yīng)元素的平方.
ht的相位被定義為
(8)
其中,arctan(·)是對(duì)矩陣中每個(gè)元素進(jìn)行反正切變換.
在最后一個(gè)時(shí)間步,根據(jù)式(7)求出隱藏層的狀態(tài)-頻率矩陣的幅度,作為預(yù)測(cè)或分類任務(wù)的依據(jù),其中相位信息由于不影響最終結(jié)果被忽略.
如2.1節(jié)所述,在對(duì)時(shí)域和頻域的特征模式聯(lián)合建模時(shí),在每個(gè)時(shí)間步,輸入信息都分解到K個(gè)頻率維度上.隱藏層的所有神經(jīng)元共同構(gòu)成狀態(tài)-頻率矩陣,以維持多頻率狀態(tài)記憶.對(duì)于狀態(tài)-頻率矩陣中的每個(gè)元素,用矩陣的行檢索不同的狀態(tài),每個(gè)狀態(tài)能理解為引發(fā)信號(hào)的某種物理因子.與此類似,用矩陣的列索引不同頻率分量,表示不同因子對(duì)不同頻率分量的影響程度.由于隱藏層神經(jīng)元已經(jīng)被解耦,神經(jīng)元之間相互獨(dú)立,下一時(shí)間步的神經(jīng)元僅會(huì)接受上一時(shí)間步對(duì)應(yīng)神經(jīng)元的輸出,每個(gè)神經(jīng)元可以獨(dú)立地處理一種狀態(tài)-頻率-時(shí)間模式,提高了神經(jīng)元的可解釋性.
2)梯度問(wèn)題
正是由于時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)隱藏層神經(jīng)元之間相互獨(dú)立,有效地避免了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)中的梯度消失和梯度爆炸問(wèn)題.
具體而言,在誤差反向傳播過(guò)程中,由于隱藏層中神經(jīng)元沒(méi)有相互聯(lián)系,因此可以對(duì)每個(gè)神經(jīng)元獨(dú)立計(jì)算梯度.
矩陣中第n行、第k列元素對(duì)應(yīng)的神經(jīng)元描述為
hn k,t=σ(wnxtejωkt+un khn k,t-1+bn k),
(9)
對(duì)于神經(jīng)元hn k,假設(shè)時(shí)刻T的優(yōu)化目標(biāo)是Jn k,則反向傳播到時(shí)刻t的梯度為
(10)
Fig.3 Illustration of the residual LTRNN-SFM architecture圖3 引入殘差連接的時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)示意圖
深層時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)可以通過(guò)單層時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)疊加而成.網(wǎng)絡(luò)疊加有助于擬合更加復(fù)雜的函數(shù).
傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)及變體(如RNN和LSTM)的激活函數(shù)主要基于sigmoid和tanh,一般只能疊加2~3層,再往上疊加性能反而下降,這是由于sigmoid和tanh的梯度在飽和區(qū)域非常平緩,從而造成層間梯度消失.而深層時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)由于使用了非飽和函數(shù)ReLU,可以有效緩解層間的梯度消失問(wèn)題.此外,BN層的應(yīng)用也較好地改善了深層神經(jīng)網(wǎng)絡(luò)的梯度問(wèn)題.
和IndRNN模型類似,在時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)中,隱藏層之間也是全連接的形式,因此同樣可以引入BN等連接方式.圖3為引入殘差連接的多層時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)示意圖.
圖3中“Weight”和“LTRNN-SFM+ReLU”分別表示對(duì)輸入數(shù)據(jù)的處理和每個(gè)時(shí)間步的隱藏層神經(jīng)元的處理.
時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用如圖4所示:
Fig.4 Applications of LTRNN-SFM圖4 時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用
1)時(shí)間序列預(yù)測(cè)任務(wù)
假設(shè)訓(xùn)練集有M條單變量時(shí)間序列,第m條時(shí)間序列表述為{zm,t|t=1,2,…,T},n步預(yù)測(cè)任務(wù)定義為根據(jù)前t個(gè)時(shí)間步的序列對(duì)t+n時(shí)間步的值z(mì)m,t+n進(jìn)行預(yù)測(cè)[5]:
(11)
其中,f表示從歷史信息預(yù)測(cè)n個(gè)時(shí)間步后信息的函數(shù)映射.時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)即等價(jià)于式(11)中f映射.
在時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)任務(wù)中,網(wǎng)絡(luò)的訓(xùn)練分為2個(gè)階段:
① 前向傳播階段.對(duì)時(shí)間序列預(yù)測(cè)時(shí),將時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)最后一個(gè)時(shí)刻的隱藏層的狀態(tài)-頻率矩陣ht的幅度|ht|,作為全連接層的輸入,并通過(guò)全連接層將矩陣壓縮得到n步預(yù)測(cè)值.
② 反向傳播階段,即誤差傳播階段.最小化訓(xùn)練集中預(yù)測(cè)值和真實(shí)值間的平方差之和進(jìn)行訓(xùn)練:
(12)
網(wǎng)絡(luò)中所有參數(shù)通過(guò)基于時(shí)間的反向傳播(back-propagation through time,BPTT)算法進(jìn)行更新.
2)時(shí)間序列分類任務(wù)
假設(shè)一個(gè)時(shí)間序列數(shù)據(jù)集中有M條多變量時(shí)間序列,即D={V1,V2,…,VM},每條時(shí)間序列有T個(gè)觀測(cè)點(diǎn)和一個(gè)類標(biāo)簽,即第m條時(shí)間序列可以表示為Vm=〈vm,1,vm,2,…,vm,T,cm〉.時(shí)間序列分類任務(wù)可以定義為將時(shí)間序列的一組觀測(cè)值映射為類標(biāo)簽[1].
在時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)分類問(wèn)題中,網(wǎng)絡(luò)的訓(xùn)練分為2個(gè)階段:
(13)
在分類任務(wù)中,得到最大概率的類標(biāo)簽作為網(wǎng)絡(luò)輸出的預(yù)測(cè)類標(biāo)簽.
② 反向傳播階段,即誤差傳播階段.計(jì)算實(shí)際輸出類標(biāo)簽和理想類標(biāo)簽的交叉熵代價(jià)函數(shù),并按照最小化交叉熵的方法調(diào)整權(quán)重矩陣.
交叉熵代價(jià)函數(shù):
(14)
為驗(yàn)證本文所提出的時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)的性能,下面將網(wǎng)絡(luò)應(yīng)用于SKLearn(scikit-learn)手寫數(shù)字?jǐn)?shù)據(jù)集分類任務(wù)、人體動(dòng)作識(shí)別數(shù)據(jù)集分類任務(wù)和手勢(shì)階段數(shù)據(jù)集分類任務(wù)中.
SKLearn是基于Numpy和Scipy的一個(gè)機(jī)器學(xué)習(xí)算法庫(kù),其中包含了大量?jī)?yōu)質(zhì)的數(shù)據(jù)集.本實(shí)驗(yàn)選取的是SKLearn中的手寫數(shù)字?jǐn)?shù)據(jù)集[10].該數(shù)據(jù)集共有1 797個(gè)樣本,樣本示例如圖5所示.其中每個(gè)樣本對(duì)應(yīng)一張手寫數(shù)字圖像和一個(gè)0~9整數(shù)的標(biāo)簽,圖片分為10類,即手寫數(shù)字0~9.不同于MNIST手寫數(shù)字?jǐn)?shù)據(jù)集,SKLearn中的每張手寫數(shù)字圖像大小為8×8像素,這使識(shí)別更加困難,對(duì)算法要求更高.數(shù)據(jù)集被隨機(jī)劃分為測(cè)試集和訓(xùn)練集,其中訓(xùn)練集占80%,測(cè)試集占20%.
為了將圖像分類問(wèn)題轉(zhuǎn)換為時(shí)間序列分類問(wèn)題,每張手寫數(shù)字圖片被視為一串時(shí)間序列,該序列有8個(gè)觀測(cè)點(diǎn),每個(gè)觀測(cè)點(diǎn)有8個(gè)觀測(cè)變量,即一個(gè)多變量時(shí)間序列.具體而言,每張圖片以矩陣的形式存儲(chǔ),如圖5所示,其中矩陣中每行對(duì)應(yīng)每個(gè)觀測(cè)時(shí)間點(diǎn),行中每個(gè)元素對(duì)應(yīng)每個(gè)觀測(cè)變量.
0051391000013151015500315201180041200880058009800411011270021451012000061310000
Fig.5 Example of SKLearn hand-written digital dataset圖5 SKLearn 手寫數(shù)字?jǐn)?shù)據(jù)集示例
實(shí)驗(yàn)中采用的對(duì)比模型包括LSTM[3],IndRNN[7],SFM-RNN[8]以及本文提出的LTRNN-SFM.對(duì)于IndRNN,LSTM,LTRNN-SFM,由于2層模型的性能明顯優(yōu)于單層模型,因此本實(shí)驗(yàn)基于2層堆疊的網(wǎng)絡(luò)結(jié)構(gòu).對(duì)于SFM-RNN模型,2層SFM-RNN的性能反而比單層SFM-RNN模型有明顯下降,甚至由于每次初始化不同,模型可能無(wú)法收斂,因此實(shí)驗(yàn)采用單層SFM-RNN模型.這種設(shè)置保證了每種模型有最佳性能表現(xiàn),保證了比較的公平性.
圖6顯示了4種模型在測(cè)試集上的分類正確率,這里模型訓(xùn)練的輪數(shù)為500輪.
Fig.6 Experimental results for the hand-written digital dataset圖6 手寫數(shù)字?jǐn)?shù)據(jù)集實(shí)驗(yàn)結(jié)果
由圖6可知,LTRNN-SFM模型的性能明顯優(yōu)于IndRNN,LSTM,SFM-RNN.該實(shí)驗(yàn)結(jié)果也驗(yàn)證了2.1節(jié)對(duì)模型的分析,即對(duì)分辨率較低的圖片進(jìn)行分類時(shí),LTRNN-SFM由于引入了多頻率分析,而不只是時(shí)域一個(gè)維度,與只考慮了時(shí)域信息的神經(jīng)網(wǎng)絡(luò)模型(IndRNN,LSTM)相比,性能有一定的提高.這里需要指出的是,IndRNN模型性能表現(xiàn)比SFM-RNN和LSTM還差.這主要是因?yàn)椋琁ndRNN適合處理長(zhǎng)時(shí)依賴關(guān)系的時(shí)序數(shù)據(jù),而本實(shí)驗(yàn)中每張圖像轉(zhuǎn)換為時(shí)序數(shù)據(jù)長(zhǎng)度僅為8,并不能體現(xiàn)出模型適合長(zhǎng)時(shí)依賴的優(yōu)勢(shì).從這個(gè)結(jié)果同時(shí)可以看出,本文所提出的算法對(duì)于短時(shí)序列也是有效的,體現(xiàn)了LTRNN-SFM模型的魯棒性.
本實(shí)驗(yàn)使用UCI人體動(dòng)作識(shí)別數(shù)據(jù)集(UC Irvine machine learning repository-human activity recognition,UCI-HAR)[11]來(lái)驗(yàn)證模型的有效性.該數(shù)據(jù)集的來(lái)源是30名年齡在19~48歲之間的志愿者,每個(gè)人在腰上佩戴智能手機(jī)(三星Galaxy S II)進(jìn)行了6項(xiàng)活動(dòng)(步行、站立、坐、躺、上樓、下樓),通過(guò)嵌入式加速度計(jì)和角速度計(jì),研究人員以50 Hz的恒定速率捕獲3個(gè)軸方向的線性加速度和3個(gè)軸方向的角速度.這些實(shí)驗(yàn)已經(jīng)過(guò)視頻記錄以手動(dòng)標(biāo)記數(shù)據(jù).所獲得的數(shù)據(jù)集已被隨機(jī)分成2組,其中70%的志愿者被選中用于生成訓(xùn)練數(shù)據(jù),其余30%的志愿者生成測(cè)試數(shù)據(jù).實(shí)驗(yàn)選擇了未提取特征的完整原始傳統(tǒng)信號(hào),共10 299個(gè)樣本,其中訓(xùn)練集有7 352個(gè)樣本,測(cè)試集有2 947個(gè)樣本.每個(gè)樣本可以被視為一條有128個(gè)觀測(cè)時(shí)間點(diǎn)的多變量時(shí)間序列,每個(gè)觀測(cè)點(diǎn)有9個(gè)觀測(cè)變量.
實(shí)驗(yàn)比較了4種模型(LSTM[3],IndRNN[7],SFM-RNN[8],LTRNN-SFM)在UCI-HAR數(shù)據(jù)集上的性能,網(wǎng)絡(luò)結(jié)構(gòu)與3.1節(jié)實(shí)驗(yàn)相同,模型訓(xùn)練輪數(shù)設(shè)置為1 000輪.實(shí)驗(yàn)結(jié)果如圖7所示:
Fig.7 Experimental results for the UCI-HAR dataset圖7 人體動(dòng)作識(shí)別數(shù)據(jù)集UCI-HAR實(shí)驗(yàn)結(jié)果
由圖7可知,LTRNN-SFM,IndRNN,LSTM三者在測(cè)試集上的正確率相差不大,但是SFM-RNN性能表現(xiàn)卻比較糟糕.這可能是因?yàn)镾FM-RNN模型大量使用了sigmoid,tanh飽和激活函數(shù),導(dǎo)致在較長(zhǎng)的時(shí)間序列中,會(huì)造成梯度消失/爆炸的問(wèn)題.對(duì)于IndRNN和LSTM兩種模型,由于沒(méi)有考慮到頻率特征模式,使得其性能也稍遜于本文的LTRNN-SFM.
為了進(jìn)一步驗(yàn)證LTRNN-SFM模型捕捉長(zhǎng)時(shí)依賴關(guān)系的能力,本實(shí)驗(yàn)選擇了UCI手勢(shì)階段分類數(shù)據(jù)集[12].該數(shù)據(jù)集是用Kinect采集的多人動(dòng)態(tài)手勢(shì)庫(kù),旨在實(shí)現(xiàn)非特定人的動(dòng)態(tài)手勢(shì)識(shí)別,以提高視頻預(yù)處理能力.采集的數(shù)據(jù)包括6個(gè)關(guān)節(jié)點(diǎn)(左手、右手、左手腕、右手腕、頭部、脊柱)對(duì)應(yīng)的位置(坐標(biāo)x,y,z).具體而言,3位志愿者被要求閱讀3個(gè)漫畫,并用手勢(shì)講述漫畫內(nèi)容,其中包括志愿者A講述故事1,2,3,志愿者B和志愿者C講述故事1和故事3.最后由手勢(shì)研究人員對(duì)文件進(jìn)行手動(dòng)分割,將所有文件分為5個(gè)不同的階段.本實(shí)驗(yàn)采用的數(shù)據(jù)集為UCI數(shù)據(jù)集的子集[13],并選取了未提取特征的原始信號(hào),所獲得的數(shù)據(jù)集被隨機(jī)分為2組,共396個(gè)樣本,其中80%的數(shù)據(jù)被用于訓(xùn)練,20%的數(shù)據(jù)被用于測(cè)試,屬于小樣本問(wèn)題.每個(gè)樣本可以被視為一條有214個(gè)觀測(cè)時(shí)間點(diǎn)的多變量時(shí)間序列信號(hào),每個(gè)觀測(cè)點(diǎn)有18個(gè)觀測(cè)變量.
實(shí)驗(yàn)比較了4種單層模型(LSTM[3],IndRNN[7],SFM-RNN[8],LTRNN-SFM)在該數(shù)據(jù)集上的性能.由于數(shù)據(jù)集較小,模型訓(xùn)練輪數(shù)設(shè)置為300輪.實(shí)驗(yàn)結(jié)果如圖8所示:
Fig.8 Experimental results for the gesture phase dataset圖8 手勢(shì)階段分類數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
由圖8可知,SFM-RNN和LSTM的測(cè)試正確率遜于另外2種模型,這證明了LTRNN-SFM的長(zhǎng)時(shí)記憶能力,也從實(shí)驗(yàn)角度證實(shí)了解耦隱藏層神經(jīng)元、引入ReLU激活函數(shù)和權(quán)重裁剪后緩解了梯度問(wèn)題.值得注意的是,LTRNN-SFM比IndRNN的測(cè)試正確率高出10%以上,這是由于手勢(shì)數(shù)據(jù)中含有豐富的頻率成分,并且該數(shù)據(jù)集屬于小樣本問(wèn)題,LTRNN-SFM既聯(lián)合考慮了時(shí)域和頻域信息,又能維持長(zhǎng)期依賴關(guān)系,對(duì)數(shù)據(jù)的表示和擬合能力更強(qiáng).
針對(duì)現(xiàn)有循環(huán)神經(jīng)網(wǎng)絡(luò)在解決時(shí)序建模問(wèn)題時(shí)存在的不足,本文提出一種時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò),可以應(yīng)用于具有長(zhǎng)時(shí)依賴關(guān)系且頻率豐富的時(shí)間序列分析任務(wù),包括時(shí)間序列預(yù)測(cè)和時(shí)間序列分類.該模型把傳統(tǒng)信號(hào)分析手段引入到循環(huán)神經(jīng)網(wǎng)絡(luò),通過(guò)將傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)隱藏層的狀態(tài)向量替換為狀態(tài)-頻率矩陣,實(shí)現(xiàn)對(duì)時(shí)間序列時(shí)域特征模式和頻域特征模式的聯(lián)合建模.同時(shí),通過(guò)解耦隱藏層神經(jīng)元、引入非飽和激活函數(shù)ReLU和權(quán)重裁剪,有效地避免了梯度消失和梯度爆炸問(wèn)題,使神經(jīng)網(wǎng)絡(luò)模型既可以維持長(zhǎng)期記憶,又更加容易訓(xùn)練深層網(wǎng)絡(luò).實(shí)驗(yàn)結(jié)果表明:該模型比目前循環(huán)神經(jīng)網(wǎng)絡(luò)模型具有更好性能、更適合時(shí)間序列分析.
對(duì)于時(shí)頻聯(lián)合長(zhǎng)時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò),未來(lái)可以從3個(gè)方面進(jìn)行改進(jìn):1)如何設(shè)計(jì)更好的多層模型結(jié)構(gòu);2)是否可以使模型隱藏層中神經(jīng)元不是完全獨(dú)立而是部分連接;3)如何讓模型有更廣泛的針對(duì)性或適用性.這些都是我們未來(lái)的研究方向.