劉 明,黃繼風(fēng),高 海
(上海師范大學(xué)信息與機(jī)電工程學(xué)院,上海201418)
實(shí)踐證明,人類行為識(shí)別技術(shù)在智能家居領(lǐng)域起著至關(guān)重要的作用.例如,更準(zhǔn)確地識(shí)別用戶的行為及其變化,使智能家居系統(tǒng)更好地為用戶提供相關(guān)幫助[1].傳統(tǒng)的行為識(shí)別方法側(cè)重于使用可穿戴式運(yùn)動(dòng)傳感器,如加速度計(jì)和陀螺儀來(lái)獲取用戶數(shù)據(jù).大量的已有研究[2-4]證明,加速度計(jì)與陀螺儀等運(yùn)動(dòng)傳感器能夠很好地識(shí)別單獨(dú)個(gè)體的動(dòng)作,但無(wú)法獲取個(gè)體之外的其他信息,難以識(shí)別個(gè)體與整體環(huán)境之間的復(fù)雜交互行為.因此,研究人員開(kāi)始嘗試使用圖像傳感器或聲音傳感器[5-10]來(lái)獲取用戶數(shù)據(jù),并對(duì)其行為進(jìn)行識(shí)別.
雖然基于圖像或聲音傳感器的方法均可以獲取個(gè)體與整體環(huán)境間交互的信息,能夠識(shí)別更復(fù)雜的交互行為,但是價(jià)格較高,且容易受到安裝位置、燈光、死角、像素等諸多限制.基于聲音傳感器的行為識(shí)別方法價(jià)格低廉,容易部署,不會(huì)受到燈光及死角等問(wèn)題的影響,更適合于家庭環(huán)境應(yīng)用.研究人員提出了多種基于聲學(xué)的行為識(shí)別方法,從單一的可穿戴設(shè)備[6]到整體傳感器系統(tǒng)[7-8].然而,這些方法都需要對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行逐幀標(biāo)注,標(biāo)注過(guò)程繁瑣,且容易受主觀因素影響,訓(xùn)練數(shù)據(jù)較少.此外,由于每個(gè)人的行為聲音存在一定差異,導(dǎo)致這些方法的準(zhǔn)確率依然較差.為了使模型能夠更準(zhǔn)確地識(shí)別特定用戶的行為,研究人員嘗試將特定用戶的行為作為訓(xùn)練數(shù)據(jù)來(lái)調(diào)整模型[9-10],這些方法需要用戶多次重復(fù)相同的行為,嚴(yán)重依賴于特定用戶的數(shù)據(jù),且只能保證對(duì)特定用戶的行為進(jìn)行準(zhǔn)確識(shí)別,泛化能力較差.
本文作者提出一種基于整體環(huán)境的聲音識(shí)別方法,能夠識(shí)別11 種常見(jiàn)的室內(nèi)行為,不需要人工收集訓(xùn)練數(shù)據(jù)或逐幀標(biāo)注,也不需要通過(guò)獲取特定用戶提供數(shù)據(jù)來(lái)調(diào)整模型.用數(shù)據(jù)集以及Google AudioSet數(shù)據(jù)集[11]中的YouTube 視頻聲音片段,提取embedding 特征及原始數(shù)據(jù)的梅爾頻譜圖特征作為訓(xùn)練集.由于數(shù)據(jù)集的量級(jí)較大,分類間嚴(yán)重不平衡.采用了深度強(qiáng)化學(xué)習(xí)方法來(lái)動(dòng)態(tài)地控制每一批次數(shù)據(jù)的分布,用以解決數(shù)據(jù)不平衡問(wèn)題.將數(shù)據(jù)批次作為強(qiáng)化學(xué)習(xí)中的環(huán)境的狀態(tài),將識(shí)別結(jié)果作為智能體的動(dòng)作,把對(duì)各個(gè)行為的識(shí)別錯(cuò)誤率函數(shù)作為執(zhí)行動(dòng)作后獲取的獎(jiǎng)勵(lì)信號(hào),最終實(shí)現(xiàn)用戶的行為識(shí)別.
傳統(tǒng)的行為識(shí)別方法使用可穿戴運(yùn)動(dòng)傳感器,此類設(shè)備可以在智能手機(jī)[3-4]、智能手表[12-14]及可穿戴傳感器板[2]上靈活實(shí)施.KWAPISZ 等[3]的方法僅要求對(duì)象攜帶智能手機(jī),可識(shí)別用戶步行、慢跑、上下樓、坐姿和站姿.THOMAZ 等[12]提出使用智能手表中的3 軸加速度計(jì)來(lái)檢測(cè)對(duì)象是否正在進(jìn)餐.RAVI等[2]將傳感器板安裝在人體內(nèi),實(shí)現(xiàn)簡(jiǎn)單的運(yùn)動(dòng)行為識(shí)別.這些工作的重點(diǎn)均對(duì)非常簡(jiǎn)單的行為動(dòng)作進(jìn)行識(shí)別,可以通過(guò)增加傳感器的數(shù)量,識(shí)別更復(fù)雜的行為.然而,基于多傳感器的訓(xùn)練數(shù)據(jù)集數(shù)量較少,且識(shí)別過(guò)程需要占用大量計(jì)算資源,基于復(fù)雜傳感器陣列的識(shí)別方法難以實(shí)現(xiàn).
由于傳統(tǒng)方法的局限性,研究人員提出聲學(xué)行為識(shí)別方法.YATANI 等[15]提出使用藍(lán)牙麥克風(fēng),從人類咽喉中收集聲學(xué)數(shù)據(jù),識(shí)別進(jìn)食、說(shuō)話和咳嗽等與咽喉運(yùn)動(dòng)相關(guān)的行為.THOMAZ 等[6]通過(guò)使用腕式聲學(xué)傳感器識(shí)別人類的進(jìn)食行為.隨著智能手機(jī)的發(fā)展,智能手機(jī)的聲學(xué)傳感器也越來(lái)越多地被用于行為識(shí)別任務(wù).一款名為AmbientSense 的Android 應(yīng)用[7],可對(duì)23 種簡(jiǎn)單的生活環(huán)境的進(jìn)行分類.CHEN等[8]提供一種基于聲學(xué)傳感器的行為識(shí)別方法,從原始聲音數(shù)據(jù)中提取出梅爾頻率倒譜系數(shù)(MFCC)特征,并對(duì)6 種浴室中的常見(jiàn)行為進(jìn)行識(shí)別.這些工作都需要收集用于訓(xùn)練的數(shù)據(jù),并對(duì)原始聲音數(shù)據(jù)進(jìn)行逐幀標(biāo)注,部分模型需要特定用戶多次重復(fù)相同的行為后,才能獲取足夠的數(shù)據(jù)進(jìn)行準(zhǔn)確識(shí)別.
HWANG 等[16]開(kāi)發(fā)了一個(gè)平臺(tái)用于收集用戶的聲音數(shù)據(jù),使用基于MFCC 特征的高斯直方圖生成全局K近鄰分類器,以識(shí)別基本的聲音場(chǎng)景.但是,該方案仍然需要收集用戶數(shù)據(jù),且識(shí)別性能很大程度上取決于已有訓(xùn)練集的大小和質(zhì)量.NGUYEN 等[9]利用半監(jiān)督學(xué)習(xí)方法將在線FreeSound 數(shù)據(jù)與用戶自己的錄音結(jié)合起來(lái),在手動(dòng)過(guò)濾離群值之后,從123 個(gè)FreeSound 聲音片段提取MFCC 特征,并進(jìn)行半監(jiān)督高斯混合模型(GMM)訓(xùn)練.
FreeSound 是一個(gè)聲音數(shù)據(jù)樣本存儲(chǔ)庫(kù),有超過(guò)4.0×105聲音片段.SALAMON 等[17]從FreeSound 數(shù)據(jù)庫(kù)中選擇的18.5 h的城市聲音片段,建立了UrbanSound數(shù)據(jù)庫(kù).S?GER等[18]在聲音的標(biāo)簽中添加形容詞和動(dòng)詞,改進(jìn)了FreeSound 數(shù)據(jù)庫(kù),并建立了AudioPairBank 數(shù)據(jù)集.ROSSI 等[10]基于高斯混合模型從FreeSound 數(shù)據(jù)庫(kù)提取MFCC 特征,并進(jìn)行環(huán)境識(shí)別,然而,由于訓(xùn)練集的大小有限(23 個(gè)行為分類僅有4 678 個(gè)聲音樣本),分類準(zhǔn)確率僅為38%,在手動(dòng)過(guò)濾38%的樣本作為異常值后,分類準(zhǔn)確率達(dá)到了57%.
Google發(fā)布的聲音數(shù)據(jù)集AudioSet[11]共分為527類,所有聲音片段長(zhǎng)度均為10 s,其標(biāo)簽為10 s內(nèi)該聲音片段中發(fā)生的所有事件,而非逐幀標(biāo)注.AudioSet數(shù)據(jù)集還提供VGGish 模型[19]提取的embedding 特征.VGGish模型將原始聲音數(shù)據(jù)按秒轉(zhuǎn)換為特征,并使用主成分分析(PCA),僅保留前128個(gè)PCA 系數(shù).一個(gè)128 維的embedding 特征向量代表1 s 的聲音片段,因此數(shù)據(jù)集內(nèi)的每個(gè)聲音片段為10 個(gè)128 維的embedding特征向量.
強(qiáng)化學(xué)習(xí)是近年來(lái)機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn)之一,是一種用自主學(xué)習(xí)的數(shù)學(xué)模型,在很多算法中起著重要的作用[20].它無(wú)需標(biāo)簽,僅僅需要執(zhí)行動(dòng)作后的獎(jiǎng)勵(lì)信號(hào)決定如何與一個(gè)動(dòng)態(tài)且未知的環(huán)境進(jìn)行交互,以期將累計(jì)獎(jiǎng)勵(lì)最大化[21].深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)結(jié)合,構(gòu)成了深度強(qiáng)化學(xué)習(xí),比如:基于深度強(qiáng)化學(xué)習(xí)方法的Atari2600 游戲[22]、戰(zhàn)勝了人類世界冠軍的圍棋程序AlphaGo[23]等.
在對(duì)模型進(jìn)行訓(xùn)練之前,需要先考慮如何從AudioSet數(shù)據(jù)集中選擇可以用于行為識(shí)別的標(biāo)簽,并將其與預(yù)測(cè)的行為進(jìn)行關(guān)聯(lián).FreeSound 數(shù)據(jù)庫(kù)以及AudioSet數(shù)據(jù)集中并不能同時(shí)找到所有典型的室內(nèi)行為.此外,將識(shí)別目標(biāo)限制在常見(jiàn)行為,且聲音容易獲取并識(shí)別的范圍內(nèi),某些標(biāo)簽未被選中,比如“睡覺(jué)”、“坐臥”、“站立”及“房間里沒(méi)有人”等.鑒于并非所有家庭都飼養(yǎng)寵物,沒(méi)有選擇任何寵物相關(guān)的類別.由于兩大數(shù)據(jù)庫(kù)對(duì)標(biāo)簽的分類設(shè)計(jì)無(wú)法與我們要識(shí)別的目標(biāo)行為絕對(duì)匹配,則采用間接匹配方法,確定與目標(biāo)行為密切相關(guān)的對(duì)象及其整體環(huán)境,并選擇這些對(duì)象和環(huán)境代表需要識(shí)別的目標(biāo)行為.例如,使用“water tap(水龍頭聲)”和“sink(水槽流水聲)”分別代表“洗手”和“洗臉”,因?yàn)檫@2個(gè)特征都與使用洗手池有關(guān),且非常相似.
基于上述考慮,確定了11 項(xiàng)常見(jiàn)室內(nèi)行為,將它們與13 個(gè)標(biāo)簽相關(guān)聯(lián).表1 展示了目標(biāo)行為與AudioSet標(biāo)簽之間的關(guān)聯(lián).
類別不平衡是機(jī)器學(xué)習(xí)領(lǐng)域中的一個(gè)常見(jiàn)的問(wèn)題,具體表現(xiàn)為:數(shù)據(jù)集中某一個(gè)或幾個(gè)分類樣本的數(shù)量遠(yuǎn)低于其他分類,AudioSet類別間的分布嚴(yán)重不平衡.圖1 展示了數(shù)據(jù)集中每個(gè)類別樣本的原始數(shù)量之比例.由圖1 可以看出,演奏音樂(lè)的樣本占了近50%,這將導(dǎo)致預(yù)測(cè)結(jié)果嚴(yán)重傾向于量級(jí)高的分類,嚴(yán)重影響模型的識(shí)別性能,因此針對(duì)該問(wèn)題,使用深度強(qiáng)化學(xué)習(xí)方法控制每一數(shù)據(jù)批次的分布,避免模型的訓(xùn)練受到數(shù)據(jù)分布不平衡的影響.
表1 AudioSet標(biāo)簽與行為的對(duì)照表
圖1 AudioSet中各分類樣本的大致分布
在強(qiáng)化學(xué)習(xí)中,對(duì)于當(dāng)前輸入狀態(tài)s,機(jī)器在某種策略π的指引下選擇動(dòng)作a=π(s),采用狀態(tài)-動(dòng)作值函數(shù)(Q值函數(shù))評(píng)估策略,其數(shù)學(xué)模型為:
其中,r為獎(jiǎng)勵(lì)值;t為當(dāng)前行動(dòng)的步數(shù);γ為衰減系數(shù),取值范圍為[0,1],是用來(lái)保證長(zhǎng)期累積獎(jiǎng)勵(lì)能夠趨于收斂.對(duì)式(1)進(jìn)一步推導(dǎo)可得Bellman方程:
其中,s'為狀態(tài)s下執(zhí)行動(dòng)作a后轉(zhuǎn)移到的新?tīng)顟B(tài);r為狀態(tài)s執(zhí)行動(dòng)作a后轉(zhuǎn)移至s'時(shí)獲取的獎(jiǎng)勵(lì);a'為根據(jù)新的狀態(tài)所作出的新動(dòng)作強(qiáng)化,學(xué)習(xí)任務(wù)中策略的改進(jìn)與值函數(shù)的改進(jìn)是一致的.根據(jù)式(2)求得Q(s,a)后,以策略替換π,Bellman方程變換為:
其中'Q'(s''a')為使用最優(yōu)策略π'時(shí),所產(chǎn)生的期望累積獎(jiǎng)勵(lì).
每一輪中迭代的損失函數(shù)為:
其中,目標(biāo)值為:
由于在實(shí)際應(yīng)用中,對(duì)于值函數(shù)的估計(jì)太過(guò)樂(lè)觀,將yi其中的目標(biāo)改為:
本研究的深度強(qiáng)化學(xué)習(xí)方法總體框架如圖2 所示.該方法主要由2 個(gè)部分構(gòu)成:環(huán)境和智能體.其中,環(huán)境每次提供一定批次的數(shù)據(jù)作為狀態(tài),智能體根據(jù)狀態(tài),識(shí)別其中包括的行為,并執(zhí)行動(dòng)作;環(huán)境結(jié)合樣本真實(shí)分類及智能體發(fā)出的動(dòng)作進(jìn)行評(píng)價(jià),將評(píng)價(jià)信號(hào)作為智能體獎(jiǎng)勵(lì)信號(hào),更新參數(shù).同時(shí),環(huán)境如繼續(xù)提供下一批次數(shù)據(jù),則根據(jù)智能體對(duì)當(dāng)前批次樣本的識(shí)別錯(cuò)誤率的比例,決定下一批次提供數(shù)據(jù)的比例.
圖2 深度強(qiáng)化學(xué)習(xí)流程圖
具體流程如下:
1)訓(xùn)練開(kāi)始時(shí),環(huán)境將包含多個(gè)數(shù)據(jù)樣本的批次作為狀態(tài)提供給智能體,其中各個(gè)行為的分類比例相同.
2)智能體接收到狀態(tài)后,對(duì)其中的每個(gè)數(shù)據(jù)樣本進(jìn)行識(shí)別,得出其包含的行為類別,作為動(dòng)作提交給環(huán)境.
3)當(dāng)環(huán)境接收到智能體提交的動(dòng)作后,計(jì)算各行為類別的識(shí)別錯(cuò)誤率,并將其作為獎(jiǎng)勵(lì)值.假設(shè)行為共分K 個(gè)類,智能體對(duì)各行為的識(shí)別錯(cuò)誤率分別為C1'C2'…'CK.獎(jiǎng)勵(lì)函數(shù)共分為兩個(gè)部分,第一個(gè)部分為對(duì)各個(gè)分類的錯(cuò)誤率平方和的負(fù)值;第二部分為最低與最高分類錯(cuò)誤率的差值,差值越大,說(shuō)明模型的分類不平衡情況越嚴(yán)重.由此,
如果智能體連續(xù)對(duì)多個(gè)批次的預(yù)測(cè)識(shí)別錯(cuò)誤率均低于預(yù)先設(shè)定的閾值,則停止訓(xùn)練;否則,決定下一批次提供的數(shù)據(jù)樣本的分類比例.假設(shè)每批次提供N 個(gè)樣本,則下一批次提供的第k個(gè)分類的樣本數(shù)
深度學(xué)習(xí)網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)(CNN)與長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)的結(jié)合,其輸入共分為兩個(gè)部分:1)原始數(shù)據(jù)的梅爾頻譜圖,統(tǒng)一截取為1 024×512 的格式;2)embedding 特征,格式為10×128,第一個(gè)維度代表時(shí)間,第二個(gè)維度代表特征.為了方便使用2維卷積神經(jīng)網(wǎng)絡(luò),將數(shù)據(jù)樣本的格式轉(zhuǎn)換為3維,并使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)一步提取與時(shí)間及特征均相關(guān)的更抽象的關(guān)系.為了防止梯度爆炸的同時(shí),保留更加精細(xì)的特征,網(wǎng)絡(luò)結(jié)構(gòu)中未使用池化層,僅在卷積層后進(jìn)行批量歸一化,使用LSTM 網(wǎng)絡(luò)提取時(shí)序相關(guān)的信息,網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,輸出層參考KONG 等[24]提出的attention model 層,以實(shí)現(xiàn)網(wǎng)絡(luò)的多分類預(yù)測(cè)功能.
圖3 智能體內(nèi)部神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
該深度強(qiáng)化學(xué)習(xí)模型在Ubuntu 16.04 系統(tǒng)平臺(tái)上訓(xùn)練和測(cè)試,基于Google 的TensorFlow 框架,使用Keras深度學(xué)習(xí)程序包與Python 3.6開(kāi)發(fā)軟件,使用NVDIA GTX 1070加速實(shí)驗(yàn).
選取樣本51 360 條,其中訓(xùn)練集樣本數(shù)量為45 310 條,測(cè)試集樣本數(shù)量為6 050 條.數(shù)據(jù)的原始形式為以10 s 為單位的聲音片段,訓(xùn)練數(shù)據(jù)集為音頻的梅爾頻譜圖,以及使用VGGish 模型從原始數(shù)據(jù)集中提取的embedding 特征,embedding 特征數(shù)據(jù)的信號(hào)采樣統(tǒng)一為128 Hz.模型訓(xùn)練參數(shù)如下:學(xué)習(xí)率為0.000 1,mini-batch 大小為64,迭代次數(shù)為1 000,衰減系數(shù)γ 為0.9,采用Adam 算法訓(xùn)練網(wǎng)絡(luò),損失函數(shù)為分類交叉熵.
在訓(xùn)練集上進(jìn)行10 次交叉驗(yàn)證,將其取平均值作為最終測(cè)試結(jié)果,驗(yàn)證模型的泛化能力.本方法與傳統(tǒng)的合成少數(shù)類過(guò)采樣技術(shù)(SMOTE)方法在相同網(wǎng)絡(luò)結(jié)構(gòu)下,總體分類準(zhǔn)確率如表2所示.
從表2 可以看出,在解決分類不均衡問(wèn)題上,本方法比SMOTE 方法效果更好.采用不同結(jié)構(gòu)及過(guò)采樣解決方法在分類準(zhǔn)確率上相差較大,說(shuō)明神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中,學(xué)習(xí)到了一些特征,有助于降低數(shù)據(jù)不平衡對(duì)模型帶來(lái)的影響.
實(shí)驗(yàn)結(jié)果如圖4 所示,本方法的總體識(shí)別準(zhǔn)確率達(dá)到了87.5%,對(duì)每個(gè)行為的識(shí)別準(zhǔn)確率均超過(guò)了83%.
表2 本方法與過(guò)采樣方法的分類準(zhǔn)確率結(jié)果對(duì)比
由于AudioSet 數(shù)據(jù)集本身存在的分類嚴(yán)重不平衡問(wèn)題,本文作者設(shè)計(jì)了基于深度強(qiáng)化學(xué)習(xí)思想的訓(xùn)練方法,對(duì)于每一批次的預(yù)測(cè)結(jié)果,動(dòng)態(tài)地調(diào)整下一批次的數(shù)據(jù)分類占比,避免了由數(shù)據(jù)集的分類不平衡問(wèn)題對(duì)模型分類效果造成的影響.通過(guò)大量交叉實(shí)驗(yàn)證明,本方法的總體分類準(zhǔn)確度達(dá)到87.5%,對(duì)所有分類的準(zhǔn)確度都在83%以上.相較于SMOTE 方法,本方法準(zhǔn)確率達(dá)到預(yù)期效果,且不需要采集用戶數(shù)據(jù),能夠達(dá)到對(duì)聲學(xué)行為進(jìn)行分類的目的.
圖4 在測(cè)試集上的識(shí)別結(jié)果
上海師范大學(xué)學(xué)報(bào)·自然科學(xué)版2020年1期