賴志偉 鄧述為



摘要:文章詳細闡述了一個基于機器學習的人類活動識別方法。該方法對人類活動數據進行探索和預處理,提出了一個對人類活動進行識別的LSTM模型。本文中的問題是一個典型的分類問題,目標變量是6種不同種類的人類活動,選擇準確率作為模型的評測指標。具體方法是,通過讀取訓練階段保存到本地的模型,以相同的數據構造方式對測試集進行預測評估,不斷地調整學習率參數。研究表明,本文提出的LSTM模型在迭代10次、隱層數為50、學習率為0.01時達到了比較好的準確率,在測試集上有比較好的表現。
關鍵詞:機器學習;人類活動識別;統計分析;異常預警
中圖分類號:TN37? 文獻標志碼:A
0 引言
人類活動識別在近幾年發展迅速,很大部分原因源于智能手機的發展。當前,越來越多的傳感器被直接植入智能手機內部。例如:利用氣壓計可以測量當前環境下的大氣壓強值,從而推算出當前用戶所在的海拔高度,這對GPS有著輔助作用,使得測試可獲得更精確的垂直高度的變化[1]。目前,智能手機傳感器數據的分析尚處于萌芽階段,由于傳感器數據種類繁多、數據龐大,對其大規模的實時計算和處理要求非常高。深度學習技術的發展對識別準確度也有非常大的提升。一直以來,計算機模擬真實生產生活的場景被稱為虛擬現實,也就是人們在使用某種工具的過程中感受到的一種真實環境,而要實現虛擬現實技術首要的基礎就是對現實環境的分析和識別,而這些分析識別中最重要的就是人體動作的識別和分析[2]。人體動作識別最終的目標是基于人體動作跟蹤和人體特征提取的基礎上,對人體的動作特征進行分析進而自動識別人體動作的類型。本文就是應用機器學習算法探索人類活動識別的應用[3]。
綜上可知,人體動作的識別涉及人們日常生活的方方面面,對改善和提高人們的生活質量有重要的作用和實際應用意義。因而,目前很多高科技企業都把目光放到了以此為基礎的科技提升和改造上。該項技術涉及圖像處理、模式識別、機器視覺等多方面內容。相信隨著科技的不斷發展,人體動作識別的推廣和應用會在人們的生產生活中發揮巨大的作用。
1 人類活動識別
1.1 數據探索
人類活動識別仍有許多問題正促使新技術的發展,以提高在現實的條件下的準確性。其中,一些挑戰是:要度量的屬性選擇;便攜的、不顯眼的、廉價的數據采集系統的構造;特征提取及推理方法的設計;在現實的條件下收集數據;支持新用戶而無需對系統進行再訓練的靈活性;在滿足能量和處理需求的移動設備上的實現[4]。
本文考慮的是能夠從可穿戴慣性傳感器中估計人類活動的識別方法。在過去幾十年中,該類識別取得了長足的發展,不僅用最先進的方法脫離了功能工程,而且完全采用了端到端的深度學習方法。通過建立實驗、準備數據集和驗證活動識別方法的最佳實踐也發生了類似的變化。人類活動識別過程如圖1所示。
本文使用UCI數據庫中智能手機收集的人類活動識別數據。該數據是從一組年齡在19~48歲之間的30名志愿者中收集的。其中,每個人都在腰部佩戴了一部智能手機,通過行走、上樓、下樓、靜坐、站立、平躺等活動,利用智能手機中的嵌入式加速度計和陀螺儀獲取每個活動的數據,以50 Hz的恒定頻率捕獲3軸線性加速度和3軸角速度的行為數據,并通過觀察活動視頻人工標記行為類型。本文將獲得的數據分為兩組,其中70%的數據用于訓練,30%的數據用于測試。
下載的數據已經應用噪聲濾波器對加速度計和陀螺儀的傳感器信號進行預處理,現在以2.56s和50%重疊的固定寬度滑動窗口進行采樣。傳感器加速度信號具有重力和身體運動的分量。因此,本文使用濾波器將其分離成身體加速度和重力。假設重力僅具有低頻分量,使用具有0.3 Hz截止頻率的濾波器。對于每個窗口通過計算時域和頻域的變量來獲得特征向量。此外,數據被規范化為 [-1,1]的數據區間,每一行數據都是一個特征向量。
本文沒有使用數據集中直接提供的訓練集數據,因為該數據包含了很多冗余的數據,例如均值、最大最小值等統計信息,而是使用了原始的加速傳感器和陀螺儀提供預處理后的數據,它們被保存在數據集的文件夾下。
數據的基本情況如表1所示。其中,移動窗口數量可以視為由128個連續的活動值組成,因此可以作為后續建模中的序列。數據來源包括總的加速度、分解后的身體加速度和陀螺儀在x、y、z3個維度上的值。
通過對標簽數據進行統計分析,行走、平躺、站立、靜坐、上樓和下樓6種行為的分布較為平衡。其中,上下樓的數據略微少一些,站立和平躺的數據稍多,但是最多與最少的數據在訓練集中也僅差7%,總的標簽數據分布情況較為均衡。
1.2 數據預處理
本文使用百度Paddle平臺,需要從原始數據中獲取數據構建成numpy數組。原始特征數據分布在幾個文件中,需要逐個讀出然后組合在一起,從而確定數組維度。通常的機器學習框架需要的特征數據是batch size在前,特征維度在后,因此需要將數據進行轉換。而在標簽數據讀取中,數據標簽是從0開始編號。
根據上面的輔助函數,平臺分別讀取訓練集和測試集。下載的數據集直接提供組裝好的訓練集數據。考慮到該訓練集中有過多的冗余數據,本文沒有直接使用該訓練集,而是自行組裝訓練集。測試集的情況類似。由于數據量較大,因此一般不會直接將所有數據進行訓練,而是分為幾個批次分別處理。
1.3 模型構建
在數據探索階段,可以發現數據有著非常明顯的時間特征,因此考慮選擇RNN模型。采用深度學習算法,無論是常用的卷積神經網絡,還是RNN模型都可以幫助用戶提取數據中心的特征,而不需要利用傳統機器學習算法中人工提取特征的方法。原始的RNN模型在每一個時間步的計算都與前面N次的時間步的結果相關,一旦時間步延展到很長,計算量會呈指數級增長,導致訓練時間大幅增加,并且容易導致梯度消失的問題,因此本文將LSTM作為RNN的替代。
LSTM在RNN的基礎上,添加了門控和細胞狀態。有3類不同的門控,分別是遺忘門、輸入門和輸出門。3種門控的打開和關閉以及開關的程度決定了有多少信息會在當前LSTM單元中流動。細胞狀態代表了當前單元對信息的記憶。每一個時間步下的LSTM單元將從遺忘門接收上一個時間步LSTM單元的細胞狀態,并通過Sigmoid函數決定有多少信息會被遺忘,而剩余的信息將流入當前的細胞狀態中。輸入門將接收當前時間步的輸入,而輸出門將決定最終當前時間步的輸出結構。LSTM的長短期記憶功能就是通過這樣的門控實現。如果需要記憶長期的結果,那么遺忘門將長期打開;如果希望忽略前面的結果,那當前的遺忘門將會關閉。
本文使用Paddle1.1版本,還未實現靜態的LSTM API,而動態LSTM僅支持LodTensor數據定義形式。因此本文將自行實現LSTM模型。Paddle的框架如圖2所示。該函數的輸入包括了初始的輸入、初始的隱層、初始的細胞狀態以及定義的LSTM的層數。對于每一層構建出對應的權重和偏置以及每一層的初始輸入和初始細胞狀態,初始化的權重和偏置將在訓練過程中得到梯度優化。代碼中實現3種門控。每個時間步的計算完成后,需要更新流動的細胞狀態,并得到當前時間步的輸出。對于LSTM的每一層,不同時間步共享同一個權重和偏置,返回每一個時間步最終的輸出、最終的細胞狀態和最終的隱層。在編寫LSTM模型的代碼后,需要考慮如何將數據輸入模型。在數據預處理階段,得到了特征數據和標簽數據,其中包含時間步數、特征個數和標簽類數。因此使用Paddle的API定義輸入x、y、LSTM需要的初始細胞狀態和隱層。在輸入與LSTM層之間還需要有一次嵌入的過程。本文選擇使用一個全連接層將輸入變量映射到隱層。該全連接層的激活函數選擇ReLU,因為ReLU激活函數相比Sigmoid等函數計算量更小,同時會使得一部分神經元輸出為0,從而讓網絡變得稀疏且減少參數的相互依存關系和過擬合的發生概率。
2 模型評估
通過對學習率不斷調參,在測試集上對各個模型進行測試,評價其準確率的高低。在訓練階段有幾類超參數需要調優,初始和評估階段調整的超參數初始值與調整值如表2所示。
由于數據總量不大,因此不需要選擇部分數據作為訓練集進行訓練,只需要設定批次大小對數據進行訓練。對學習率進行調參,學習率對模型非常重要,過大容易導致損失值偏大或損失值震蕩,過小會導致模型過擬合,跳不出局部最優或收斂速度太慢。本文先選定1.0作為初始學習率,保持其他超參數不變進行實驗。可見損失函數值(cost)開始下降很快,但在40批次(batch num)后在1.5左右變動,并且準確率波動較大,但均在0.5以下。進一步增大學習率不會導致分類準確率提升,反而會使得損失下降,并且震蕩非常明顯。因此,需進一步降低學習率。根據上述學習率的調參,最終選定0.01作為較好的學習率。
采用同樣的數據構建支持向量機、決策樹、隨機森林、AdaBoost和高斯樸素貝葉斯等分類模型。發現LSTM在準確率上比其他機器學習模型都高,即使在只選代10次時,也有比較高的準確率,這可能很大程度源于LSTM捕獲了時序的信息,而其他機器學習方法忽略了這一信息,僅僅將所有數據等同處理。本文實現的LSTM模型在選代10次、隱層數為50、學習率? 為0.01時達到了比較好的準確率,在測試集上有比較好的表現。
3 結語
本文詳細闡述了基于機器學習的人類活動數據的存儲和預處理以及完整LSTM模型的構建過程,選擇Adagrad作為優化方法,以最小化模型的損失,在訓練完成后將模型保存到本地文件中,以供后續評測使用。模型評估證明本文提出的LSTM模型具有較好的準確率。
參考文獻
[1]張琳,易卿武,黃璐,等.基于Wavelet-CNN網絡的人類活動識別技術[J].無線電工程,2022(4):590-597.
[2]王楊,趙紅東.基于改進粒子群優化的支持向量機與情景感知的人體活動識別[J].計算機應用,2020(3):665-671.
[3]王麗曉.基于大間隔最近鄰算法的人類活動識別研究[J].數字技術與應用,2020(2):91-92,94.
[4]李洪俊.基于RBF神經網絡的人類活動識別[J].電子設計工程,2014(5):41-43,46.
(編輯 王永超)
Research on human activity identification based on Paddle
Lai? Zhiwei, Deng? Shuwei
(College of Information Engineering, Hunan University of Science and Engineering, Yongzhou 425199, China)
Abstract: This paper describes a machine learning based human activity recognition method in detail. This method explores and preprocesses human activity data, and proposes a LSTM model for human activity recognition. The problem in this paper is a typical classification problem. The target variables are six different kinds of human activities, and the accuracy rate is selected as the evaluation index of the model. Specific approach is to save to a local model by reading the training phase, and then by the same data structure was carried out on the test set predictive evaluation, then vector by constantly adjusting parameters. The research indicates that the proposed LSTM model is in the iteration vector 10 times, the number of hidden layer of 50 and achieves a better accuracy of 0.01, having a good performance on the test set.
Key words: machine learning; human activity recognition; statistical analysis; abnormal warning