張儒鵬,于亞新,張 康,劉 夢,尚祖強(qiáng)
東北大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,沈陽 110000
目前各種便攜式設(shè)備得到了快速發(fā)展,例如智能手環(huán)、智能手機(jī)等,這些新興的自適應(yīng)移動應(yīng)用都可以利用嵌入式傳感器采集到的大數(shù)據(jù)對用戶進(jìn)行動作識別和行為分析。比如,醫(yī)療系統(tǒng)可以利用動作識別有效監(jiān)控動作行為和病人身體情況,這樣一方面指導(dǎo)了醫(yī)護(hù)人員執(zhí)行正確的治療,另一方面又解決了醫(yī)院工作人員匱乏問題。在康復(fù)訓(xùn)練中,動作識別和行為分析可以輔助病人進(jìn)行康復(fù)活動,分析病人動作行為,對老年人進(jìn)行監(jiān)控保證安全[1];在體育運動中,人體行為識別技術(shù)作為一種輔助手段,可用于分析運動員各項數(shù)據(jù),有效的數(shù)據(jù)分析提升了運動員成績,從而提高了整體競技水平[2]。
這種新興自適應(yīng)移動應(yīng)用的特性是:(1)高準(zhǔn)確性。在大多數(shù)應(yīng)用背景下,要求動作識別算法能對每個動作達(dá)到精確識別,通常準(zhǔn)確率達(dá)到95%以上才可以得到應(yīng)用,這就要求系統(tǒng)核心算法要有高準(zhǔn)確性。(2)在線實時性。在這種應(yīng)用背景下,由于實時性要求,系統(tǒng)沒有時間去過濾和處理錯誤數(shù)據(jù),這就要求系統(tǒng)核心算法要有很強(qiáng)的魯棒性和容錯性。但迄今為止,已有相關(guān)研究工作所用算法幾乎沒有考慮這些特性所帶來的要求,一是準(zhǔn)確率達(dá)不到系統(tǒng)要求,或者根本沒有考慮系統(tǒng)模型的容錯性,基于此,本文提出一種新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來提高識別準(zhǔn)確率,并在數(shù)據(jù)集中通過構(gòu)造不合法數(shù)據(jù)證明了新的模型具有很高的魯棒性和容錯性。
自適應(yīng)移動應(yīng)用可以進(jìn)行研發(fā)的理論前提是人類的某個特定身體運動可以轉(zhuǎn)化為組合傳感器的特定信號特征,這種信號特征可以用機(jī)器學(xué)習(xí)技術(shù)對其進(jìn)行感知和分類,也就是說可穿戴動作識別依賴于機(jī)器學(xué)習(xí)對傳感器組合信號的模式識別,其中組合信號是加速度計、陀螺儀或磁場傳感器的組合。相關(guān)研究一直在極力追求實現(xiàn)以下兩個目標(biāo):增強(qiáng)識別準(zhǔn)確率和減少對工程特征的依賴。但這兩個目標(biāo)卻難以實現(xiàn),因為動作識別問題的難點在于特定動作運動模式的巨大變化,換句話說,不同個體完成同一動作的運動軌跡其模式不完全相同,因此工程特征難以全面正確表達(dá)各個動作的運動軌跡模式,從而導(dǎo)致識別準(zhǔn)確率難以達(dá)到令人滿意的結(jié)果。為實現(xiàn)上述兩個目標(biāo),一種新的基于深度學(xué)習(xí)的特征提取方法被提出。
深度學(xué)習(xí)是分層組織的,后一層處理前一層的輸出,它是一個使用多個非線性信息處理層來進(jìn)行特征提取和分類的神經(jīng)網(wǎng)絡(luò)。深度學(xué)習(xí)相關(guān)研究中普遍使用的兩個經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)是卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[3]和遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[4],其中CNN是一種具有特征提取能力的深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN),通過堆疊幾個卷積運算以創(chuàng)建一個逐步變得更抽象的特征圖,從原始數(shù)據(jù)中自動提取有效特征,不再依賴人類的領(lǐng)域知識,該提取方式不僅增強(qiáng)了系統(tǒng)的準(zhǔn)確率和泛化能力,而且還可以形成一個端對端系統(tǒng),從而減輕系統(tǒng)訓(xùn)練復(fù)雜度。而RNN則天生具有序列信息處理能力,它的一個變形LSTM(long short term memory)[4]包含一個記憶模塊模擬時間序列中的時間依賴關(guān)系,可以很好地處理具有時間先后依賴關(guān)系的信息。
因為CNN出眾的特征提取能力,本文也將使用它來提取動作的運動模式特征。但是只使用單一CNN,隨著CNN層的增加會出現(xiàn)參數(shù)爆炸性增長問題以及卷積視野變窄問題,而Inception結(jié)構(gòu)[5]可以解決這兩個問題。為此,本文加入了Inception結(jié)構(gòu),但經(jīng)典的Inception結(jié)構(gòu)包含大卷積核,造成時間消耗過多,使得模型訓(xùn)練速度和識別速度都有所下降。為克服時間復(fù)雜度過高問題,本文對Inception結(jié)構(gòu)進(jìn)行了適當(dāng)優(yōu)化,提出一種新的O-Inception(optimization Inception)結(jié)構(gòu),一方面該結(jié)構(gòu)通過用多個小卷積核替換大卷積核提高了訓(xùn)練和識別速度,另一方面借助pooling層優(yōu)化減少了特征丟失,在一定程度上提高了準(zhǔn)確率。此外,為使準(zhǔn)確率進(jìn)一步提升,本文又加入LSTM以充分使用被識別動作本身所含的時序信息。對于模型要求的容錯性,則通過融合O-Inception和LSTM所形成的OI-LSTM模型得到了有效解決。
本文一共分為6個部分。第1章為引言部分,主要介紹了研究背景。第2章簡述了國內(nèi)外在動作識別領(lǐng)域的研究現(xiàn)狀。與深度學(xué)習(xí)相關(guān)的一些理論知識則在第3章進(jìn)行了詳細(xì)介紹。第4章闡述了本文所提動作識別神經(jīng)網(wǎng)絡(luò)模型OI-LSTM。第5章為實驗部分,驗證了本文所提模型的有效性、容錯性和實時性。第6章為結(jié)論。
2.1節(jié)主要介紹了動作識別的基本步驟和傳統(tǒng)識別方法。2.2節(jié)主要介紹了近些年該領(lǐng)域研究者基于深度學(xué)習(xí)所做的動作識別研究。
動作識別一般可以分為以下兩個主要的步驟,第一個步驟是時間序列的分段,當(dāng)前的主流方法是使用一個固定長度的滑動窗口將整個動作的時間序列分割成相等的段。例如針對數(shù)據(jù)集WISDM的研究,大部分都是使用以上所述的時間序列分段方式,即固定窗口長度和固定移動方向[6-10]。第二個步驟是從得到的原始段中提取有效的特征。整個工程中最為關(guān)鍵的就是特征提取,它將直接影響著系統(tǒng)的整體識別準(zhǔn)確率。以前的識別算法中多使用工程特征,這種方式雖然也能表現(xiàn)出優(yōu)異的性能,但是要求有豐富的領(lǐng)域知識,領(lǐng)域?qū)<覍ふ液玫墓こ烫卣饕彩窍喈?dāng)耗時的,它對新的數(shù)據(jù)源和實驗裝置的推廣通常是平庸的,這將難以達(dá)到人們期望的強(qiáng)泛化能力,使得系統(tǒng)難以從動作識別放大升級為更復(fù)雜的高級別的行為識別應(yīng)用。相關(guān)研究中常見的工程特征有譜熵、自回歸系數(shù)和快速傅里葉變換系數(shù)等?;谝陨蟽刹剑瑒幼髯R別的經(jīng)典解決方案是使用模板匹配方法[10]或隱馬爾可夫模型[11]或支持向量機(jī)等。
DNN已經(jīng)應(yīng)用于可穿戴動作識別(human action recognition,HAR)領(lǐng)域,大家已經(jīng)開始使用卷積層和非遞歸層相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu)[12-13]。在文獻(xiàn)[14-17]中,作者使用多個傳感器,把這些信號逐行堆疊成一個二維的“信號圖”,最后把這個信號圖送入卷積神經(jīng)網(wǎng)絡(luò)。在文獻(xiàn)[18]中,不處理原始傳感器信號圖,而是將離散傅里葉變換應(yīng)用于該圖,并利用所獲得的特征進(jìn)行分類。CNN的網(wǎng)絡(luò)結(jié)構(gòu)在不同的研究中也是不同的,在文獻(xiàn)[8]中考慮了一個卷積層和兩層的DENSE層,在文獻(xiàn)[14,16-17]中則是使用另外多個卷積層和一個DENSE層。另外因為CNN和LSTM的結(jié)合已經(jīng)在語音識別領(lǐng)域得到了最先進(jìn)的結(jié)果,基于都需要對時間信息進(jìn)行建模[19],本文考慮將這種結(jié)合應(yīng)用在動作識別上。
本章主要介紹了深度學(xué)習(xí)的一些理論基礎(chǔ)和網(wǎng)絡(luò)結(jié)構(gòu)。本文用到的符號及其含義如表1所示。
Table 1 Symbol and meanings表1 符號及含義
卷積神經(jīng)網(wǎng)絡(luò)在圖像和語音識別領(lǐng)域得到了長足發(fā)展,得益于其突出的特征提取性能。用CNN替換全連接不僅可以提取出有效的特征圖,還可以加快訓(xùn)練速度和縮短識別時間,這是因為它是部分連接并且是參數(shù)共享的。
CNN是一種前饋神經(jīng)網(wǎng)絡(luò),受生物視覺系統(tǒng)啟發(fā)形成。用一個類似于滑動窗口的濾波器filter對輸入數(shù)據(jù)做卷積運算,每次運算只關(guān)注一個數(shù)據(jù)子區(qū)域,一個卷積核對一個數(shù)據(jù)段做一個卷積運算生成一個特征圖。其詳細(xì)結(jié)構(gòu)描述如下:
(1)卷積層:卷積操作的應(yīng)用取決于應(yīng)用維度,手機(jī)加速度計的數(shù)據(jù)是一維的具有時間性質(zhì)的序列,因此本文的卷積層使用一維卷積。這時卷積核可以被看作是一個過濾器,能夠去除異常值,過濾數(shù)據(jù)或充當(dāng)特征檢測器,找出能夠確定動作類型的最明顯的時間序列。卷積運算是兩個向量之間的運算,對于一個輸入向量x?Rn,用另一個向量f?Rm在向量x上滑動,每次滑動做一次點乘運算,所有步驟的輸出作為一次卷積的輸出。用一維的卷積核從數(shù)據(jù)中得到一個特征圖可以用式(1)表示。
(2)池化層:該層通常緊跟在卷積層后面,用于減少卷積層得出的特征圖的特征表示,選出特征圖中最具代表性的特征,給特征圖降維,使用一個正方形窗口在特征圖上移動,取窗口中最大的值或者取平均值,這兩種做法分別稱為最大池化和平均池化。
(3)全連接層:全連接層的每個神經(jīng)元都與上一層的神經(jīng)元全連接,用來把前面提取到的特征綜合起來,并把輸出轉(zhuǎn)化為一個一維向量用來分類,這一層可以學(xué)習(xí)更多的非線性依賴關(guān)系。
(4)Softmax層:最后一層的輸出傳給Softmax層以計算每一分類的概率分布。
Inception的核心思想是用小卷積核代替大卷積核,借鑒了NIN(net in net)設(shè)計思路,充分利用卷積和池化性能,將卷積分組,最后再將各個分組的卷積輸出連接起來,避免了當(dāng)網(wǎng)絡(luò)深度加深、網(wǎng)絡(luò)寬度變寬時所帶來的參數(shù)爆炸性增長問題,即梯度不會出現(xiàn)彌散現(xiàn)象。Inception Native結(jié)構(gòu)一方面增加了網(wǎng)絡(luò)寬度,另一方面又增加了網(wǎng)絡(luò)對尺度的適應(yīng)性。但該網(wǎng)絡(luò)有一個極大缺陷,由于它含有一個5×5的卷積核,因此卷積操作的計算量相當(dāng)巨大。為減少計算量,提出了正式的Inception結(jié)構(gòu)。它在每個大卷積核之前都加上了一個1×1卷積核來降低特征圖的厚度。
深度可分離(depthwise separable)是由深度卷積發(fā)展而來。深度卷積是指,對輸入數(shù)據(jù)的每個channel用channel所對應(yīng)的所有filter去分別做卷積。一個深度卷積結(jié)構(gòu)一般包含4個參數(shù)filter_height,filter_width,in_channels,channel_multiplier,其中filter_height和filter_width表示卷積核窗口的大小;in_channels表示輸入數(shù)據(jù)的channel個數(shù);channel_multiplier表示每個channel所擁有的filter個數(shù)。每個channel經(jīng)過一次卷積后產(chǎn)生的特征圖(feature map)都會有channel_multiplier個通道,則最后的特征圖就會有in_channels*channel_multiplier個通道了。
深度可分離是在深度卷積基礎(chǔ)上增加了另外一個Pointwise convolution操作,該Pointwise convolution就是1×1的卷積,可以看作是對多個分離的通道做融合操作。
LSTM網(wǎng)絡(luò)是一種特殊的RNN網(wǎng)絡(luò),可以學(xué)習(xí)長期時間的依賴信息,擅長處理依賴于時間序列的任務(wù)。類似普通RNN,LSTM擁有重復(fù)神經(jīng)網(wǎng)絡(luò)模塊的鏈?zhǔn)叫问剑貜?fù)的模塊與普通RNN有著不同的結(jié)構(gòu),LSTM重復(fù)模塊的結(jié)構(gòu)如圖1所示。
Fig.1 LSTM internal structure圖1 LSTM內(nèi)部結(jié)構(gòu)
LSTM的關(guān)鍵在于圖中的Ct-1,它表示細(xì)胞狀態(tài),貫穿于網(wǎng)絡(luò)的整個運行周期,類似于一個傳送帶,只有少量的線性交互,因此信息在上面很容易保存。LSTM精心設(shè)計了一種稱為門的結(jié)構(gòu),能給細(xì)胞狀態(tài)刪除或者添加信息,并讓信息選擇性通過。一個門一般包括Sigmod激活和Pointwise乘法兩個數(shù)學(xué)運算。Sigmod函數(shù)的輸出值介于0和1之間,0代表不允許信息通過,1代表任意值通過。LSTM共包括3個門,分別為忘記門、輸入門和輸出門。
首先,忘記門決定從細(xì)胞狀態(tài)中丟棄什么信息,該門會讀取ht-1和Xt,輸出一個在0到1之間的數(shù)值給每個在細(xì)胞狀態(tài)Ct-1中的數(shù)字。忘記門的輸出如式(2)所示。
下一步,輸入門決定把哪些新的信息保存在細(xì)胞狀態(tài)中。輸入門有兩步運算,Sigmod的輸出值決定什么值將要被更新,tanh層創(chuàng)建一個新的候選值向量,決定如何把輸出值加入到細(xì)胞狀態(tài)中,基于以上兩個操作對細(xì)胞狀態(tài)更新的公式如式(3)~式(5)所示。
最后,使用輸出門得到LSTM的最終輸出。先使用一個sigmod層決定哪些信息需要輸出,細(xì)胞狀態(tài)經(jīng)過tanh處理后與sigmod的輸出相乘得到整個LSTM網(wǎng)絡(luò)的最后輸出,其公式如式(6)、式(7)所示。
如前所述,動作識別難點在于特定動作運動模式有著巨大變化,模型往往難以表現(xiàn)很高的準(zhǔn)確性,或者在一個數(shù)據(jù)集上表現(xiàn)比較優(yōu)秀,但是在另一個數(shù)據(jù)集上卻遜色于其他模型。同時手機(jī)傳感器實時情況下存在錯誤數(shù)據(jù),這就要求模型不僅要準(zhǔn)確率高,還要有自適應(yīng)性、魯棒性和數(shù)據(jù)容錯性?;趯δP蛽碛懈邷?zhǔn)確性和容錯性缺一不可的特點,本文提出了一種新的網(wǎng)絡(luò)結(jié)構(gòu)OI-LSTM。
Fig.2 OI-LSTM neural network圖2 OI-LSTM神經(jīng)網(wǎng)絡(luò)模型
OI-LSTM模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,該模型分為兩個模塊:特征提取模塊和時序依賴處理模塊。特征提取模塊包括4個連續(xù)卷積層和1個O-Inception結(jié)構(gòu),根據(jù)式(1)進(jìn)行卷積運算。其中,卷積運算只沿時間方向卷積數(shù)據(jù),并使用修正的線性單元(ReLU)計算特征映射;O-Inception結(jié)構(gòu)提取的特征經(jīng)DepthConcat聯(lián)接得到各通道的綜合特征,把綜合特征再按時間依賴關(guān)系放入特征池中。時序依賴處理模塊是一個雙層LSTM網(wǎng)絡(luò)結(jié)構(gòu)。LSTM每一個時間步驟都從特征池中提取一個對應(yīng)的特征圖,一個時間序列t0到tn的特定動作則對應(yīng)N+1個特征圖。為獲得最佳識別效果,在確定時間依賴處理單元中LSTM遞歸層神經(jīng)元個數(shù)和層數(shù)時,本文借鑒了參考文獻(xiàn)[17]所提的一個參數(shù)確定原則,即縱向至少2層LSTM原則,另外根據(jù)任務(wù)本身規(guī)模,確定每層的神經(jīng)元個數(shù)為32。OI-LSTM模型將上述兩個模塊進(jìn)行了有效融合,一方面因為O-Inception結(jié)構(gòu)的加入使得網(wǎng)絡(luò)層次加深,視野擴(kuò)寬,即可以提取到更加豐富的特征,從而提高了識別率;另一方面又因為LSTM的加入使得時序信息得以充分使用。LSTM對時序信息的有效處理,不僅可以提高識別率,同時還可利用LSTM推理能力使模型整體擁有一定程度的容錯能力。
圖2給出了傳感器數(shù)據(jù)在OI-LSTM模型各層中的流動情況。首先,經(jīng)過第一個卷積層conv1,它擁有18個卷積核,每個卷積核尺寸是2×2,每次卷積前用0填充原始數(shù)據(jù)(使卷積后得到特征圖尺寸與原數(shù)據(jù)相同),得到特征圖輸入池化層pooling1,這層的窗口移動步長和窗口大小都為2。接下來,重復(fù)3次卷積和池化操作,但卷積核個數(shù)依次增加為36、72和144。為獲得更高維度、視野更廣的特征圖,再把pooling4輸出的特征圖送入O-Inception結(jié)構(gòu)中,即把pooling4輸出分別用3個大小為1×1,個數(shù)分別為36、18和18的卷積核做卷積運算,結(jié)果分別為conv1_11、conv1_21和conv1_31;同時,把pooling4輸入到一個核大小為2×2的avg_pool_41中(avg_pool_41使用平均池化操作);然后,conv1_21輸出到卷積核大小為2、個數(shù)為36的卷積層conv2_22中,conv1_31則輸入到卷積核大小為2、個數(shù)為36的卷積層conv2_32中,conv2_32的輸出還要輸入到卷積核大小為3、數(shù)量為36的卷積層conv_3_32中;接下來,avg_pool_41輸出到卷積核大小為3、個數(shù)為36的卷積層conv1_42中;最后,把conv1_11、conv2_22、con3_32和conv1_42按通道維度疊加起來,疊加后的特征圖做平化處理,轉(zhuǎn)化成一個一維向量,把這個一維向量輸入雙層LSTM網(wǎng)絡(luò)。
首先,OI-LSTM模型具有高識別率,部分原因在于其中的O-Inception結(jié)構(gòu)。O-Inception結(jié)構(gòu)通過使用一個2×2和3×3的兩層卷積替換原始Inception結(jié)構(gòu)中的5×5卷積,pooling層也由3×3替換為2×2,pooling層后的卷積由1×1替換為3×3,結(jié)構(gòu)如圖3所示。如果直接使用原始Inception結(jié)構(gòu),雖然也可提升特征表達(dá)能力,但同時會帶來更多的時間消耗,使得模型訓(xùn)練速度和識別速度都有所下降。因此,為克服時間復(fù)雜度過高問題,OI-LSTM模型對Inception進(jìn)行了結(jié)構(gòu)調(diào)整和優(yōu)化,即替之以O(shè)-Inception結(jié)構(gòu)。由卷積操作過程可知,用多個小卷積核替換一個大卷積核,其前后得到的特征圖并沒有發(fā)生變化,即得到了相同的特征圖,但計算復(fù)雜度卻大大降低,從而加快了網(wǎng)絡(luò)訓(xùn)練速度和識別速度。另外,用2×2池化替換3×3池化,在一定程度上可以減少特征丟失,比如3×3的一次池化操作將丟失8個信息,而2×2的一次操作僅丟失3個信息。利用3×3卷積替換1×1,由于前者視野窗口大于后者,增強(qiáng)了卷積視野,從而提高了模型準(zhǔn)確率。
Fig.3 O-Inception structure圖3 O-Inception結(jié)構(gòu)
其次,OI-LSTM模型具有高識別率,還在于該模型并沒有像傳統(tǒng)CNN那樣,把提取到的特征簡單地用全連接層綜合來直接分類,而是通過LSTM把時序依賴信息融入了動作分類中。一個連續(xù)動作在持續(xù)時間內(nèi)其各個動作分解都是相互依賴的,例如一個持續(xù)2 s的步行動作,該動作在0.1 s那一刻的抬腳與0.5 s那一刻的向前邁步是前后依賴的,離開0.1 s的動作幀,單獨識別0.5 s的動作幀將毫無意義,而傳統(tǒng)CNN動作識別卻并沒有把該依賴信息考慮進(jìn)去,而是把這兩個時刻的特征圖割裂開來,同等對待,這就丟失了連續(xù)動作本身所具有的各個時刻前后依賴的信息。基于此,本文通過加入LSTM實現(xiàn)將連續(xù)幀前后依賴關(guān)系納入OI-LSTM模型中,進(jìn)一步提高了模型的識別準(zhǔn)確率。
云團(tuán)間,有東西一閃而過。三體艦?不,不可能,云團(tuán)里怎么會有軍艦?zāi)??壺天曉再次遙控灰色翼龍的眼睛進(jìn)行搜索,卻沒有發(fā)現(xiàn)異常。如果目前能用的只有感應(yīng)網(wǎng)絡(luò),那就將它的作用發(fā)揮到極致。壺天曉暗自思忖著,全力搜索著龐大的感應(yīng)網(wǎng)絡(luò),希望能發(fā)現(xiàn)點兒什么。
如果數(shù)據(jù)中有錯誤數(shù)據(jù)或者不合法數(shù)據(jù),傳統(tǒng)CNN網(wǎng)絡(luò)的識別率就會顯著下降,甚至無法訓(xùn)練,但這與系統(tǒng)所要求的實時在線處理需求相矛盾,換句話說,系統(tǒng)并沒有時間去驗證或過濾用戶發(fā)來的數(shù)據(jù),也無法去除臟數(shù)據(jù)和不合法數(shù)據(jù),因此,為實現(xiàn)高容錯性,系統(tǒng)需要自動排除錯誤和不合法數(shù)據(jù)。經(jīng)研究發(fā)現(xiàn),深度可分離卷積結(jié)構(gòu)的特殊卷積方式,在某種程度上確實可以解決容錯性問題,但卻會導(dǎo)致準(zhǔn)確率下降。原因在于這種卷積方式使得網(wǎng)絡(luò)無法在每一層綜合各個通道的信息來得到更加全面的特征圖,不可避免地丟失了特征圖的表達(dá)能力,進(jìn)而降低了準(zhǔn)確率。
與深度可分離卷積網(wǎng)絡(luò)不同,OI-LSTM模型不但具有高容錯性,而且還擁有較好的高識別率,其之所以擁有容錯能力是因為,當(dāng)加入LSTM時,若干不同時刻對應(yīng)著多個特征圖,LSTM在每個時刻都會讀入一個特征圖作為輸入,假如ti時刻對應(yīng)的特征圖Mi中某個通道是錯誤的數(shù)據(jù),因為各特征圖間是有時間依賴關(guān)系的,此時LSTM就會根據(jù)其他特征圖的正確數(shù)據(jù)給出對Mi的一個預(yù)測,從而可忽略Mi中的錯誤數(shù)據(jù),于是,就不會因為錯誤數(shù)據(jù)的存在而對識別準(zhǔn)確率產(chǎn)生太大影響。
本系統(tǒng)對算法的一個很重要的要求是實時性。從模型本身來說,以下兩方面的改進(jìn)提升了實時性。首先OI-LSTM模型沒有使用全連接層,而是使用LSTM按時序順序來組織綜合各個特征圖的信息。另外OI-LSTM的卷積層并不是簡單CNN疊加,而是使用了改良后的O-Inception結(jié)構(gòu)替代了普通的大卷積核的CNN。通過計算可知,如果模型中包含過多的全連接層,將導(dǎo)致模型整體的訓(xùn)練參數(shù)呈指數(shù)增長,過多的訓(xùn)練參數(shù)必然會增加整個模型的訓(xùn)練時間以及動作的識別時間。另外過大的卷積核,會使窗口滑動期間GPU計算結(jié)果的過程中做更多的加法與乘法運算,這里使用Inception結(jié)構(gòu)去代替大卷積核,避免復(fù)雜的運算,減輕GPU的壓力,把更多的算力用于模型深度的加深?;谝陨蟽煞矫娴膬?yōu)化,模型的訓(xùn)練速度和識別速度都得到了顯著的提升,識別準(zhǔn)確率卻沒有下降。
本章將在WISDM和UCI兩個數(shù)據(jù)集上驗證本次研究所提出的OI-LSTM網(wǎng)絡(luò)的高識別率和高容錯性,數(shù)據(jù)集包含從Android智能手機(jī)獲取的加速度計時間序列數(shù)據(jù)。這些數(shù)據(jù)是在用戶執(zhí)行一系列不同的活動時收集的,例如散步、慢跑、爬樓梯、坐著、下樓梯和站立。數(shù)據(jù)集的70%用來訓(xùn)練,30%作為測試。這些數(shù)據(jù)分別來自36個和30個不同的使用者。5.1節(jié)介紹了實驗環(huán)境,5.2節(jié)介紹了實驗的評估標(biāo)準(zhǔn),5.3節(jié)給出了O-Inception和DWN兩個對比網(wǎng)絡(luò)的詳細(xì)網(wǎng)絡(luò)結(jié)構(gòu),5.4節(jié)給出了相關(guān)實驗結(jié)果及對實驗結(jié)果的分析。
這里所設(shè)計的四種動作識別神經(jīng)網(wǎng)絡(luò)是使用python語言在TensorFlow上實現(xiàn)的,TensorFlow是一個采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計算的開源軟件庫。
設(shè)備相關(guān)參數(shù):GPU,GTX1080;內(nèi)存,16 GB;CPU,至強(qiáng)E5;操作系統(tǒng),Windows 7。
模型是在完全人工監(jiān)督下訓(xùn)練的,從softmax層把梯度回傳到卷積層、LSTM層。網(wǎng)絡(luò)參數(shù)的優(yōu)化使用隨機(jī)梯度下降(stochastic gradient descent,SGD),Loss函數(shù)使用互熵?fù)p失,特別注意在含有LSTM的網(wǎng)絡(luò)中,要另外使用截斷梯度法。為了提高效率,模型訓(xùn)練時被分成200大小的mini-batch。學(xué)習(xí)率均設(shè)置為0.000 1,所有模型均訓(xùn)練1 000 epoch,所有參數(shù)的初始化均使用截斷正態(tài)分布隨機(jī)值。
本文用精確率(Precision)、召回率(Recall)、F1值(F1 Measure)、平均準(zhǔn)確率(Accuracy)等評測指標(biāo)來衡量算法性能。
精確率=提取正確的的信息條數(shù)/提取的總條數(shù),本文中精確率=各動作識別正確的個數(shù)/(各動作識別正確的個數(shù)+各動作識別錯誤的個數(shù)),如式(8)所示。
召回率=提取出的正確的信息條數(shù)/樣本數(shù)目,本文中召回率=每類動作識別正確的個數(shù)/每類動作樣本個數(shù)。
式(8)和式(9)中,T(i)表示識別為第i類動作正確的個數(shù),F(xiàn)(i)表示識別為第i類動作錯誤的個數(shù),D(i)表示第i類動作的樣本數(shù)量。
F值是準(zhǔn)確率和召回率的加權(quán)調(diào)和平均,即如式(10)所示。
當(dāng)參數(shù)α=1時,F(xiàn)就是F1,即如式(11)所示。
平均準(zhǔn)確率表示識別正確的所有動作數(shù)/樣本總數(shù)。
其中,R表示識別正確的動作個數(shù),A表示數(shù)據(jù)集含有的樣本總數(shù)。
為了觀察OI-LSTM模型的性能,另外設(shè)計了圖4所示的O-Inception卷積網(wǎng)和圖5所示的深度可分離卷積網(wǎng)(depthwise separable network,DWN),并在UCI和WISDM兩個數(shù)據(jù)集上分別對它們的準(zhǔn)確性和容錯性進(jìn)行了測試,并和OI-LSTM進(jìn)行對比。可以看到O-Inception卷積網(wǎng)和OI-LSTM使用了相同的特征提取模塊。但是O-Inception卷積網(wǎng)使用特征提取模塊提取到特征后,就直接輸入到一個全連接層,僅僅利用全連接層把前面提取到的特征綜合起來后直接進(jìn)行識別,識別的結(jié)果沒有利用到時序信息。
圖5給出了采集的傳感器數(shù)據(jù)在DWN中的流動情況。首先輸入到一個卷積核大小為20,深度為8的卷積層,然后把得到的特征再輸入到一個最大池化層(該池化操作的移動步長和窗口大小均為2),特征經(jīng)過池化層后得到了更加顯著的特征圖。接下來,再把特征圖作為輸入,輸入到一個深度可分離卷積層(其卷積核大小和深度均為2),該層得到的特征圖已經(jīng)融合了每個通道的特征,融合后的特征圖經(jīng)過池化和平滑處理后送入一個擁有1 000個神經(jīng)元的全連接層,最后輸入softmax層得到動作分類的概率分布。
Fig.4 O-Inception neural network圖4 O-Inception神經(jīng)網(wǎng)絡(luò)
Fig.5 Depthwise separable network圖5 深度可分離卷積網(wǎng)絡(luò)
5.4.1小節(jié)測試了OI-LSTM的識別準(zhǔn)確率,實驗結(jié)果表明模型在兩個數(shù)據(jù)集上都得到了不錯的效果。5.4.2小節(jié)著重測試了模型的容錯率,實驗結(jié)果顯示模型在獲得容錯能力同時仍然擁有很高的識別率。5.4.3小節(jié)主要通過實驗驗證了本文所提出的模型的實時性優(yōu)于其他模型。
5.4.1 準(zhǔn)確率性能測試
本次實驗將在兩個數(shù)據(jù)集上做準(zhǔn)確率測試。所得實驗結(jié)果將和相關(guān)研究的論文中的其他方法的結(jié)果進(jìn)行比較。實驗結(jié)果如表2、表3所示??梢钥吹奖疚奶岢龅腛I-LSTM識別模型的準(zhǔn)確率在兩個不同的數(shù)據(jù)集上均高于相關(guān)論文中使用的方法。在WISDM數(shù)據(jù)集上,文獻(xiàn)[19]因為使用了CNN并在dense層額外加入了人工提取的數(shù)學(xué)統(tǒng)計特征,因此它的準(zhǔn)確率在相關(guān)研究中是最好的,但OI-LSTM、DWN和O-Inception模型在不使用任何人工特征的情況下,它們的準(zhǔn)確率卻均高于文獻(xiàn)[19]中的準(zhǔn)確率。OI-LSTM表現(xiàn)最為優(yōu)秀,達(dá)到97.3%的準(zhǔn)確率。如果將OI-LSTM的特征提取模塊和時序依賴處理模塊拆開形成兩個網(wǎng)絡(luò)O-Inception和雙層LSTM,這兩個網(wǎng)絡(luò)的識別準(zhǔn)確率分別為96.49%和94.62%,可以發(fā)現(xiàn)拆開后各自模塊單獨使用的效果遠(yuǎn)不如OILSTM,因此將這兩種網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行融合是有必要的,且效果提升明顯。在UCI數(shù)據(jù)集上的效果更為明顯,單獨用特征提取模塊中的O-Inception網(wǎng)絡(luò)和時序依賴處理模塊中的LSTM網(wǎng)絡(luò)去做動作識別,準(zhǔn)確率很低,甚至不如相關(guān)研究中的CNN+數(shù)學(xué)特征的方法,但是融合后的OI-LSTM網(wǎng)絡(luò)的識別率遠(yuǎn)高于其他方法。實驗結(jié)果還可以說明,特征提取模塊中的O-Inception卷積結(jié)構(gòu)的特征提取能力要高于普通CNN和深度可分離卷積。因為OI-LSTM繼承了OInception的優(yōu)秀的特征提取能力,而且還擁有了LSTM的時序信息處理能力,所以它的準(zhǔn)確率是最高的。
Table 2 Comparison of experimental results of different algorithms on WISDM表2 WISDM數(shù)據(jù)集上不同算法的實驗結(jié)果對比
Table 3 Comparison of experimental results of different algorithms on UCI表3 UCI數(shù)據(jù)集上不同算法的實驗結(jié)果對比
表4、表5列出了在WISDM和UCI上的各個動作詳細(xì)分類結(jié)果,并與其他論文中的先進(jìn)算法進(jìn)行了比較??梢钥吹剑赪ISDM上慢跑、步行和站立是最容易識別的,不管是傳統(tǒng)機(jī)器學(xué)習(xí)算法,還是本文所設(shè)計的四種神經(jīng)網(wǎng)絡(luò)其準(zhǔn)確率都能達(dá)到90%以上的準(zhǔn)確率,因為這兩個動作的動作變化與其他動作變化區(qū)別最為明顯,所以最好識別。比較難識別的是上下樓動作。例如上樓的識別,使用Basic featuers+RF算法準(zhǔn)確率只能達(dá)60%,文獻(xiàn)[19]中的CNN+數(shù)學(xué)特征也只能達(dá)到70%多,因為這兩個動作最容易混淆。但本文所設(shè)計的OI-LSTM網(wǎng)絡(luò)在上樓這個動作上的識別準(zhǔn)確率已經(jīng)接近90%。在UCI上,OI-LSTM在各個動作上的動作分類結(jié)果優(yōu)勢更為明顯。另外可以發(fā)現(xiàn)單獨使用特征提取模塊中的OInception、時序依賴模塊的雙層LSTM和深度可分離卷積表現(xiàn)并不像在WISDM上那么優(yōu)秀了。它們好像只是擅長其中的部分動作,比如O-Inception卷積只擅長識別躺和坐這兩個動作,但識別站和上樓兩個動作只有80%多的準(zhǔn)確率,而OI-LSTM則沒有劣勢,基本都可以達(dá)到99%以上的準(zhǔn)確率。從分類結(jié)果的準(zhǔn)確性上可以得出,OI-LSTM模型在各個動作的各自準(zhǔn)確率和綜合準(zhǔn)確率上,都遠(yuǎn)遠(yuǎn)高于其他模型。
Table 4 Classification precision on WISDM表4 WISDM上分類準(zhǔn)確率 %
Table 5 Classification precision on UCI表5 UCI上分類準(zhǔn)確率 %
為了更精細(xì)地觀察OI-LSTM模型的性能,分別統(tǒng)計了4個模型O-Inception、DWN、LSTM、OI-LSTM在6個動作上的各自精確率、召回率和F1值,如表6、表7所示??梢钥吹剑琌I-LSTM模型的精確率、召回率和F1-score值都遠(yuǎn)高于其他三種結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。實驗結(jié)果表明OI-LSTM的各項性能指標(biāo)都遙遙領(lǐng)先,幾乎沒有弱點。
通過記錄各個網(wǎng)絡(luò)在每個epoch訓(xùn)練結(jié)束后其在測試集上的準(zhǔn)確率,得到如圖6、圖7所示的準(zhǔn)確率變化圖。其中綠色表示O-Inception神經(jīng)網(wǎng)絡(luò),藍(lán)色表示復(fù)合OI-LSTM神經(jīng)網(wǎng)絡(luò),黑色表示LSTM,紅色表示DWN??梢钥吹皆谟?xùn)練過程中O-Inception卷積網(wǎng)和復(fù)合OI-LSTM的準(zhǔn)確率在200輪訓(xùn)練后較其他兩種網(wǎng)絡(luò)就有明顯的優(yōu)勢。這說明OI-LSTM的特征提取模塊提取到的特征圖在200 epoch訓(xùn)練后就可以被用來精確分類。WISDM數(shù)據(jù)集上,O-Inception卷積網(wǎng)絡(luò)在600 epoch以后準(zhǔn)確率就趨于平緩,更糟的是,在UCI數(shù)據(jù)集上不到50 epoch就很難提升了;而OI-LSTM網(wǎng)絡(luò)在兩個數(shù)據(jù)集上的整個訓(xùn)練過程中,一直振動上升,并逐漸緩慢超過單獨的O-Inception網(wǎng)絡(luò)結(jié)構(gòu),UCI數(shù)據(jù)集上尤為明顯。O-Inception之所以在達(dá)到一定準(zhǔn)確率后出現(xiàn)了瓶頸,準(zhǔn)確率難以再次提升,就是因為它丟失了時序信息,也正因如此OILSTM會在訓(xùn)練次數(shù)增加的同時準(zhǔn)確率會緩慢提升并超過O-Inception。
Table 6 Precision,recall and F1-score of action recognition on WISDM表6 WISDM上的精確率、召回率與F1值 %
Table 7 Precision,recall and F1-score of action recognition on UCI表7 UCI上的精確率、召回率與F1值 %
Fig.6 Accuracy curve on UCI圖6 UCI上準(zhǔn)確率變化曲線圖
Fig.7 Accuracy curve on WISDM圖7 WISDM上準(zhǔn)確率變化曲線圖
5.4.2 容錯能力測試
下面的實驗則將注意力放在各種算法的數(shù)據(jù)容錯能力上。為了此實驗的順利進(jìn)行,將模擬傳感器出錯,即在WISDM數(shù)據(jù)和UCI數(shù)據(jù)集上隨機(jī)添加錯誤數(shù)據(jù),用如下方式添加:(1)在傳感器讀數(shù)范圍內(nèi)取隨機(jī)數(shù)代替原數(shù)據(jù)正確值。(2)用NAN類型數(shù)據(jù)代替原數(shù)據(jù)正確值。(3)用INF類型數(shù)據(jù)代替原數(shù)據(jù)正確值。
實驗結(jié)果的準(zhǔn)確率變化圖如圖8、圖9所示。從圖9中可以看到,LSTM和O-Inception結(jié)構(gòu)的網(wǎng)絡(luò)準(zhǔn)確率達(dá)到40%左右就不再變化,loss值無法降低,網(wǎng)絡(luò)的訓(xùn)練無法進(jìn)行。而DWN神經(jīng)網(wǎng)絡(luò)和OI-LSTM網(wǎng)絡(luò)則可以順利地訓(xùn)練下去。但值得注意的是,DWN雖然具有容錯能力,但是其準(zhǔn)確率很大程度上遜色于OI-LSTM,這取決于其容錯能力的獲得原理與OI-LSTM不同。DWN的容錯性得力于其特有的卷積方式,因為各個通道分開卷積,例如1通道的某個a數(shù)據(jù)發(fā)生錯誤,但是2、3、4等通道數(shù)據(jù)b、c、d是正確的,由深度可分離卷積的卷積方式可知,最后的總體特征圖中的某個點e是由最后一層的pointwise convolution操作把1、2、3、4通道的a、b、c、d綜合起來得到的,而b、c、d在3個通道上都是正確的,那么1通道的錯誤數(shù)據(jù)a將會被弱化忽略,從而使得網(wǎng)絡(luò)擁有了容錯性。然而,也正是因為這種卷積方式使得網(wǎng)絡(luò)無法在每一層綜合各個通道的信息來得到更加全面的特征圖,所以不可避免地丟失了特征圖的表達(dá)能力,導(dǎo)致準(zhǔn)確率有所下降。在4.3節(jié)中,已經(jīng)分析了O-Inception和LSTM融合使得整個模型獲得容錯能力的原因,并發(fā)現(xiàn)它在獲得容錯能力的同時提升了準(zhǔn)確率?;诖耍琌I-LSTM是優(yōu)于DWN的。
Fig.8 Accuracy curve on error UCI圖8 含有錯誤數(shù)據(jù)UCI上的準(zhǔn)確率變化曲線圖
Fig.9 Accuracy curve on error WISDM圖9 含有錯誤數(shù)據(jù)WISDM上的準(zhǔn)確率變化曲線圖
實驗證明,O-Inception與LSTM的融合出現(xiàn)了1+1>2的效果,不僅使網(wǎng)絡(luò)的準(zhǔn)確率得到提升,還使網(wǎng)絡(luò)擁有了數(shù)據(jù)容錯能力,對錯誤數(shù)據(jù)不敏感。
5.4.3 實時性測試
本次實驗驗證了本文提出的O-Inception結(jié)構(gòu)在實時性上的優(yōu)勢。實驗統(tǒng)計了在UCI數(shù)據(jù)集上,4種網(wǎng)絡(luò)OI-LSTM、O-Inception、DWN、LSTM同時訓(xùn)練500輪時的時間,通過對比得出OI-LSTM在速度上的優(yōu)勢。
實驗結(jié)果如圖10、圖11所示。從圖10中可以看出O-Inception網(wǎng)絡(luò)的實時性具有很大的優(yōu)勢,是4種類型的網(wǎng)絡(luò)中訓(xùn)練速度最快的。O-Inception結(jié)構(gòu)的模型的速度是LSTM的10倍之多。從實驗結(jié)果可以看出,如果單純使用LSTM這一種結(jié)構(gòu),是無法滿足系統(tǒng)對于實時性的要求的。另外,本文提出的OILSTM模型網(wǎng)絡(luò)雖然速度稍遜于O-Inception,但是其足以滿足系統(tǒng)所要求的實時性。值得注意的是,OILSTM在網(wǎng)絡(luò)深度加深的情況下,速度比淺層網(wǎng)絡(luò)DWN還要快。雖然OI-LSTM中含有LSTM結(jié)構(gòu),但它的速度要比LSTM快5倍之多。從這里可以看出這種融合方式在準(zhǔn)確率提升的同時效率也得到了極大的提升。
Fig.10 Training time curve of 4 models圖10 4種模型訓(xùn)練時間曲線圖
Fig.11 Training time consume curve of 3 models圖11 3種模型訓(xùn)練時間局部曲線圖
圖11是把LSTM變化曲線去掉后放大的曲線圖。去除LSTM結(jié)構(gòu)的影響,單獨從CNN特征提取角度來分析,使用O-Inception結(jié)構(gòu)有效提升了模型提取特征圖的速度,它的速度是DWN的5倍。另外因為OI-LSTM用LSTM替換了全連接層,在一定程度上快于DWN這種傳統(tǒng)CNN網(wǎng)絡(luò)。
本文提出了OI-LSTM神經(jīng)網(wǎng)絡(luò)的動作識別模型,同時設(shè)計了O-Inception結(jié)構(gòu)的卷積網(wǎng)、深度可分離卷積網(wǎng)DWN和雙層LSTM網(wǎng)絡(luò)作為對比網(wǎng)絡(luò)。通過實驗可知O-Inception結(jié)構(gòu)的特征提取能力高于普通CNN和DWN,但DWN具有一定數(shù)據(jù)容錯性。最為突出的是復(fù)合OI-LSTM,它在O-Inception卷積網(wǎng)的基礎(chǔ)上融合了LSTM,使得準(zhǔn)確率得到顯著提升的同時,獲得了一定的容錯能力,對錯誤數(shù)據(jù)不敏感,從而提高了系統(tǒng)的魯棒性,使整個系統(tǒng)具有容錯性。
為了評估所提出的OI-LSTM模型的性能,在兩個流行的WISDM和UCI數(shù)據(jù)集上進(jìn)行了測試。實驗結(jié)果表明本文提出的OI-LSTM的準(zhǔn)確性明顯優(yōu)于其他最優(yōu)方法,并在兩個數(shù)據(jù)集上都建立了最先進(jìn)的結(jié)果。另外,OI-LSTM模型還具有其他模型所不具有的數(shù)據(jù)容錯性。