亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于演化LSTM神經(jīng)網(wǎng)絡(luò)的用戶終端睡眠預(yù)測模型①

        2020-11-24 05:46:42李曉敏秦曉衛(wèi)
        關(guān)鍵詞:覆蓋率神經(jīng)網(wǎng)絡(luò)狀態(tài)

        李曉敏,秦曉衛(wèi)

        (中國科學(xué)技術(shù)大學(xué) 中國科學(xué)院無線光電通信重點(diǎn)實(shí)驗(yàn)室,合肥 230026)

        1 引言

        近年來,智能手機(jī)的性能越來越強(qiáng)大,能夠承載的功能也越來越豐富.但與此同時,智能手機(jī)的功耗也不斷增加.電池技術(shù)的發(fā)展比較緩慢,并不遵循摩爾定律,導(dǎo)致手機(jī)電池的供給能力增長緩慢,無法滿足手機(jī)能耗的需求,制約手機(jī)的續(xù)航能力.因此,在電池技術(shù)不能取得快速突破的背景下,研究如何有效的降低手機(jī)功耗具有非常重要的意義.

        用戶在夜間休息的時候,手機(jī)實(shí)際上處于不使用狀態(tài),但手機(jī)后臺仍有很多不必要的進(jìn)程和模塊在運(yùn)行,如后臺應(yīng)用和GPS 定位模塊等.這些后臺非必要進(jìn)程或模塊占用大量的傳輸能耗和計算能耗.如果手機(jī)終端能夠準(zhǔn)確識別用戶是否處于睡眠狀態(tài),就可以在用戶處于睡眠狀態(tài)時,終止后臺不必要的進(jìn)程或模塊,進(jìn)入低功耗模式,提升手機(jī)終端續(xù)航能力.

        手機(jī)上豐富的傳感器數(shù)據(jù)以及人機(jī)交互信息可以反應(yīng)用戶的行為和狀態(tài),因此我們可以利用這些信息推斷用戶是否處于睡眠狀態(tài).現(xiàn)有睡眠預(yù)測方法常用于用戶健康監(jiān)測領(lǐng)域,Roomkham 等[1]介紹了使用消費(fèi)級設(shè)備如智能手機(jī)和可穿戴設(shè)備來預(yù)測睡眠的優(yōu)點(diǎn)和缺點(diǎn)以及常用的預(yù)測方法,其基本思想是基于機(jī)器學(xué)習(xí)分類模型,如SVM[2]、貝葉斯網(wǎng)絡(luò)[3]、C4.5 決策樹[4]和LSTM 神經(jīng)網(wǎng)絡(luò)[5]等,利用手機(jī)上傳感器等信息來識別用戶是否處于睡眠狀態(tài).Min 等[6]開發(fā)了一款Toss ‘N’ Turn 應(yīng)用程序用來預(yù)測用戶睡眠時長和睡眠質(zhì)量,該應(yīng)用采集7 種傳感器數(shù)據(jù),收集27 個人一個月的手機(jī)傳感器數(shù)據(jù)和睡眠日志,采用C4.5 決策樹和貝葉斯網(wǎng)絡(luò)作為模型,分別基于群體數(shù)據(jù)和個體數(shù)據(jù)訓(xùn)練獲得群體模型和個體模型.該應(yīng)用在群體模型上睡眠準(zhǔn)確率和睡眠質(zhì)量準(zhǔn)確率分別達(dá)到了93.06%和81.48%,在個體模型上睡眠準(zhǔn)確率和睡眠質(zhì)量預(yù)測準(zhǔn)確率分別達(dá)到了94.52%和83.97%.Chen 等[7]介紹了一種基于best effort sleep 的方法,采用不干擾用戶正常作息的方法,通過對比手機(jī)使用時長,充電時間的長短等來預(yù)測用戶的睡眠時長以及睡眠質(zhì)量,預(yù)測的粒度為小時級別.Bai 等[8]通過設(shè)計基于匹茲堡睡眠質(zhì)量指數(shù)(Pittsburgh Sleep Quality Index,PSQI)[9]的問卷來獲取用戶實(shí)際睡眠質(zhì)量,并提取日?;顒?、生活環(huán)境和社交活動等特征,在此基礎(chǔ)上提出了一種基于因子圖的睡眠預(yù)測方法,預(yù)測睡眠質(zhì)量準(zhǔn)確率達(dá)到了78%.Chen 等[10]提出了使用雙向LSTM 神經(jīng)網(wǎng)絡(luò)預(yù)測睡眠狀態(tài).與上述研究不同的是,本文的研究出發(fā)點(diǎn)是節(jié)能,當(dāng)判斷用戶處于睡眠狀態(tài)后,手機(jī)將進(jìn)入低功耗狀態(tài),需要同時考慮用戶使用體驗(yàn)和手機(jī)省電效率,極大化避免誤殺操作.直接采用上述的分類模型會帶來較多的誤殺操作,不能保證用戶使用體驗(yàn).

        預(yù)測用戶是否處于睡眠狀態(tài)是一個二分類問題,但與普通的二分類問題不同的是,用戶不會頻繁地在睡眠狀態(tài)和非睡眠狀態(tài)之間切換,用戶通常一個晚上只入睡一次,睡眠狀態(tài)和非睡眠狀態(tài)在時間上都具有一定的連續(xù)性.所以在衡量模型性能時,不僅要考慮準(zhǔn)確率,預(yù)測結(jié)果也不能頻繁跳變,預(yù)測結(jié)果頻繁的跳變會帶來較多的誤殺,這嚴(yán)重影響用戶的使用體驗(yàn).為此,本文定義覆蓋率和喚醒率為模型衡量指標(biāo),覆蓋率關(guān)注用戶處于睡眠時手機(jī)進(jìn)入低功耗模式的時長比例,覆蓋率高意味著高省電效率;喚醒率關(guān)注預(yù)測結(jié)果狀態(tài)跳變的次數(shù),喚醒率低意味著好的用戶體驗(yàn).

        傳統(tǒng)的機(jī)器學(xué)習(xí)分類模型如SVM,決策樹等模型損失函數(shù)固定,模型不易修改,可通過調(diào)整參數(shù)如正負(fù)樣本權(quán)重的方法達(dá)到調(diào)節(jié)覆蓋率和喚醒率的效果,但實(shí)驗(yàn)結(jié)果顯示此類方法在喚醒率較低時,覆蓋率表現(xiàn)較差.神經(jīng)網(wǎng)絡(luò)也可以作為分類模型,其中LSTM 神經(jīng)網(wǎng)絡(luò)可以較好地處理時序數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)具有損失函數(shù)定義靈活,模型結(jié)構(gòu)容易調(diào)整的特點(diǎn),通常取可導(dǎo)的損失函數(shù),如均方誤差或交叉熵等.在本文所述的問題中,喚醒率很難轉(zhuǎn)換為可導(dǎo)的損失函數(shù),不能使用梯度下降法進(jìn)行訓(xùn)練,直接對喚醒率優(yōu)化較為困難.神經(jīng)網(wǎng)絡(luò)也可采用調(diào)整正負(fù)樣本比重的方法間接的達(dá)到調(diào)節(jié)覆蓋率和喚醒率的效果,但是同樣在喚醒率較低時,覆蓋率表現(xiàn)較差.演化算法[11]是一種具有高魯棒性和廣泛適用性的全局優(yōu)化算法,具有自組織、自適應(yīng)和自學(xué)習(xí)的特點(diǎn),能夠不受問題性質(zhì)的限制,可以用來解決不可導(dǎo)的優(yōu)化問題.為此,本文提出了采用演化算法訓(xùn)練LSTM 神經(jīng)網(wǎng)絡(luò)的方式,直接優(yōu)化覆蓋率和喚醒率的綜合目標(biāo).實(shí)驗(yàn)結(jié)果表明,采用演化算法訓(xùn)練LSTM神經(jīng)網(wǎng)絡(luò)的方法相比于傳統(tǒng)模型能夠在喚醒率較低時達(dá)到更好的覆蓋率效果.

        2 數(shù)據(jù)集構(gòu)建

        2.1 數(shù)據(jù)采集

        睡眠預(yù)測的前提和基礎(chǔ)在于睡眠數(shù)據(jù)的獲取,本文采用智能手機(jī)獲取睡眠數(shù)據(jù),主要包括傳感器數(shù)據(jù)和人機(jī)交互信息.與睡眠相關(guān)的傳感器信息如環(huán)境光信息(通過環(huán)境光傳感器),運(yùn)動信息(通過加速度傳感器和重力傳感器)等.當(dāng)手機(jī)放在口袋中或屏幕朝下放置在桌面時,環(huán)境光信息將不可靠.因此,還收集了屏幕接近傳感器信息.環(huán)境嘈雜狀態(tài)也可提供睡眠相關(guān)信息,可通過麥克風(fēng)傳感器獲得,但出于隱私保護(hù)的考慮,不收集此類傳感器信息.人機(jī)交互信息(如屏幕開關(guān),電池充電狀態(tài))也可提供睡眠方面信息,例如,屏幕亮表明用戶大概率沒有睡著,人們在睡覺前可能有為手機(jī)充電的習(xí)慣,兩者都提供睡眠相關(guān)的信息.采集的原始數(shù)據(jù)如表 1 所示.

        表1 采集數(shù)據(jù)列表

        我們開發(fā)了數(shù)據(jù)采集APP,并與華為公司合作采集Beta 用戶數(shù)據(jù),采集了629 個用戶18 天的睡眠數(shù)據(jù).將用戶按照7:3 的比例劃分為A 組和B 組,A 組用戶產(chǎn)生的數(shù)據(jù)作為訓(xùn)練集,B 組用戶產(chǎn)生的數(shù)據(jù)作為測試集.傳感器數(shù)據(jù)每5 秒采集一條,屏幕狀態(tài)和充電狀態(tài)每變化一次采集一條.

        2.2 數(shù)據(jù)標(biāo)注

        模型訓(xùn)練需要首先給數(shù)據(jù)打標(biāo)簽,一個方案是采用問卷調(diào)查的方式,但是這種方式要求使用者能夠準(zhǔn)確的回憶起入睡的細(xì)節(jié),這通常是困難的[8].從節(jié)能角度,我們實(shí)際不關(guān)心用戶是否真實(shí)處于睡眠模式,故按照一定的規(guī)則根據(jù)屏幕變化狀態(tài)將用戶一天中較長時間沒有使用手機(jī)的時間段視為睡眠.睡眠起止時間的確定主要考慮以下幾點(diǎn):

        (1) 用戶在睡眠過程中可能會有少量、短時間的喚醒手機(jī),如半夜醒來上廁所.在設(shè)計規(guī)則時應(yīng)將此種情況忽略,在一定時間內(nèi)手機(jī)喚醒時長較短且喚醒次數(shù)較少時應(yīng)該仍然視為睡眠,只有大于一定時長和次數(shù)的喚醒才認(rèn)為是清醒狀態(tài).

        (2) 用戶進(jìn)入睡眠開始時,應(yīng)該有一段持續(xù)時間比較長的息屏狀態(tài).但Beta 用戶可能擁有多臺手機(jī),其中一臺備用機(jī)可能長時間處于息屏狀態(tài),對于這種情況,應(yīng)該過濾.

        (3) 有部分用戶白天用手機(jī)比較少,但一般白天的喚醒次數(shù)和喚醒時間比晚上多.故需要在以上的處理之外再加上睡眠期間手機(jī)最大喚醒次數(shù)的限制,以排除白天輕量的手機(jī)使用被誤判為睡眠的情況.

        基于以上因素考慮,本文提出了以下幾條規(guī)則:

        規(guī)則1.取一個長度為30 分鐘的時間窗口,當(dāng)窗口內(nèi)亮屏累計小于等于3 分鐘,且亮屏次數(shù)小于等于3 次,將亮屏數(shù)據(jù)忽略.

        規(guī)則2.當(dāng)息屏持續(xù)時間大于4 小時且小于16 小時,視為睡眠.

        規(guī)則3.對視為睡眠的時間段內(nèi)的數(shù)據(jù),如果喚醒次數(shù)超過8 次,則不視為睡眠.

        2.3 特征處理

        采集的原始數(shù)據(jù)并不都具備明確的意義,模型直接難以學(xué)習(xí),因此需要對原始數(shù)據(jù)做進(jìn)一步的處理.將時間序列采集數(shù)據(jù)劃分為一系列不重疊的10 分鐘窗口作為數(shù)據(jù)分析和特征提取的時間單位,選用10 分鐘窗口作為基本分析單位是因?yàn)?0 分鐘為一個平均睡眠潛伏期(從清醒到入睡的過渡時期)[6],且更細(xì)粒度的省電效率也無必要.靜止持續(xù)時間可通過加速度傳感器和重力傳感器獲得,加速度傳感器值減去重力傳感器值為用戶的真實(shí)加速度值,利用每個窗口內(nèi)的加速度方差判斷用戶的運(yùn)動狀態(tài).用戶在睡眠狀態(tài)時通常處于靜止?fàn)顟B(tài),取用戶在睡眠時間段的所有窗口的加速度方差值,計算均值mean和 標(biāo)準(zhǔn)差std,取門限T=mean+2std,則當(dāng)某個窗口的方差在門限之下時視為靜止?fàn)顟B(tài),否則為運(yùn)動狀態(tài),得到運(yùn)動狀態(tài)后可以計算出靜止持續(xù)時間.根據(jù)息屏狀態(tài)可直接計算出用戶的息屏持續(xù)時間.最后特征包括:當(dāng)前時刻t,靜止持續(xù)時間s_d,息屏持續(xù)時間sc_d,環(huán)境光的強(qiáng)度l,用戶充電狀態(tài)c,接近傳感器數(shù)據(jù)d.

        部分特征還存在數(shù)值分散的問題,如在非燈光直射時環(huán)境光強(qiáng)度值l分布從零到數(shù)百,但在燈光直射時強(qiáng)度值可達(dá)到數(shù)萬,這使得模型容易受到極值影響,難以學(xué)習(xí),且魯棒性較差.而數(shù)值在不同區(qū)域的意義不同,采用歸一化處理的效果較差.本文采用最短描述長度原則(Minimum Description Length Principle,MDLP),利用信息增益最大化的方式尋找連續(xù)變量的最佳分割點(diǎn),輸入一個維度的數(shù)據(jù),尋找當(dāng)前的最優(yōu)切分點(diǎn),使得切分后的信息增益保持最大值.當(dāng)切分點(diǎn)確定后,將連續(xù)變量一分為二,分為兩部分?jǐn)?shù)據(jù)集,在這兩部分?jǐn)?shù)據(jù)集中用同樣的方法循環(huán)切分.并在MDLP 的基礎(chǔ)上引入隨機(jī)化查找的方法,先得到的m個切分點(diǎn),然后多次隨機(jī)選取n(m>n)個切分點(diǎn)計算信息增益,最終選擇信息增益最大的一組切分點(diǎn)作為實(shí)際使用的切分點(diǎn).這樣可以使每一維度數(shù)據(jù)與標(biāo)簽的互信息量達(dá)到最大,在保留有效信息的同時,將數(shù)據(jù)切分成段,用整形量化數(shù)值表示真實(shí)值所屬區(qū)間.

        3 研究方法

        3.1 模型判斷流程

        模型的輸入為處理之后的特征數(shù)據(jù),輸出為是否處于睡眠狀態(tài),這是一個二分類問題.與普通的二分類問題不同的是,用戶的睡眠狀態(tài)和非睡眠狀態(tài)都具有一定的持續(xù)性,不會頻繁發(fā)生跳變.如果在t時刻判斷用戶處于睡眠狀態(tài),手機(jī)后臺終止不必要的進(jìn)程或模塊,則在之后的時間,除非用戶主動喚醒手機(jī),否則一直預(yù)測為睡眠狀態(tài),因?yàn)樵谟脩粑磫拘咽謾C(jī)之前,即使重新預(yù)測為非睡眠狀態(tài),手機(jī)后臺進(jìn)程已經(jīng)被終止.模型判斷流程如圖1所示.當(dāng)模型預(yù)測為非睡眠狀態(tài)時,下一時刻繼續(xù)判斷,當(dāng)預(yù)測為睡眠狀態(tài)時,則在用戶主動喚醒手機(jī)之前,一直預(yù)測為睡眠狀態(tài).當(dāng)用戶處于睡眠狀態(tài)后,當(dāng)前時刻t,用戶靜止持續(xù)時間s_d和用戶息屏持續(xù)時間sc_d值不斷增加,環(huán)境光l值、充電狀態(tài)c和接近傳感器數(shù)據(jù)d也保持穩(wěn)定,所以睡眠開始之后很遠(yuǎn)的數(shù)據(jù)意義不大,對模型判斷影響較大的為睡眠前和睡眠開始時刻之后附近的數(shù)據(jù).

        圖1 模型判斷流程圖

        3.2 綜合優(yōu)化目標(biāo)

        在衡量模型性能時,一方面,希望在用戶睡眠時手機(jī)盡可能長時間的處于低功耗模式,達(dá)到更好的省電效率;另一方面,如果錯誤的判斷用戶進(jìn)入睡眠狀態(tài),則手機(jī)會終止相應(yīng)的后臺進(jìn)程或模塊,當(dāng)用戶下次拿起手機(jī)時發(fā)現(xiàn)后臺應(yīng)用或模塊被終止,這會造成糟糕的用戶使用體驗(yàn),所以需要同時考慮手機(jī)省電效率和用戶使用體驗(yàn).為此,本文采用覆蓋率,喚醒率 作為模型的衡量指標(biāo),公式為:

        模型輸入為特征數(shù)據(jù),輸出為睡眠狀態(tài),用0 表示非睡眠狀態(tài),1 表示睡眠狀態(tài),TP表示預(yù)測為1 且實(shí)際為1 的樣本數(shù),FN表示預(yù)測為0 但實(shí)際為1 的樣本數(shù),CF表示錯誤進(jìn)入睡眠的次數(shù),定義為用戶實(shí)際入睡時刻之前預(yù)測狀態(tài)從0 跳變?yōu)? 且在實(shí)際睡眠開始之前手機(jī)被喚醒的次數(shù),CT表示正確進(jìn)入睡眠的次數(shù),定義為用戶實(shí)際入睡時刻之后預(yù)測狀態(tài)從0 跳變?yōu)? 或在用戶實(shí)際入睡時刻之前預(yù)測狀態(tài)從0 跳變?yōu)? 但在實(shí)際睡眠開始之前手機(jī)一直未被喚醒的次數(shù),后者也為正確進(jìn)入睡眠的原因是一直沒有被喚醒,后臺終止進(jìn)程的動作是正確的.值得注意的是,覆蓋率的定義等價于召回率,覆蓋率越高越好,高覆蓋率意味著良好的省電效率,但喚醒率定義并不等于虛警率,虛警率表示負(fù)樣本被喚醒率關(guān)注的是狀態(tài)跳變的次數(shù),低喚醒率意味著低誤殺率和好的用戶體驗(yàn).在實(shí)際預(yù)測時,當(dāng)模型判斷用戶進(jìn)入睡眠后,除非用戶主動喚醒,否則一直處于睡眠狀態(tài),即CT=1.圖2為一個夜晚的實(shí)際和預(yù)測序列舉例.

        圖2 實(shí)際和預(yù)測序列

        由圖2可以說明,用戶晚上23 點(diǎn)入睡,睡眠持續(xù)時長8 小時.預(yù)測序列1 判斷用戶在22:00~22:30 和23:30~7:00 處于睡眠狀態(tài).預(yù)測序列2 判斷用戶在22:00~22:15、22:30~22:45 和23:30~7:00 處于睡眠狀態(tài).預(yù)測序列1 和預(yù)測序列2 的覆蓋率相等,C1=C2=0.9375,意味著手機(jī)處于低功耗狀態(tài)時長占用戶總睡眠時長的93.75%.預(yù)測序列1 錯誤進(jìn)入睡眠一次,則W=1/2,預(yù)測序列2 錯誤進(jìn)入睡眠兩次,則W=2/3,錯誤預(yù)測的原因是用戶暫時放下手機(jī)被系統(tǒng)誤判為睡眠,進(jìn)而終止后臺進(jìn)程或模塊,當(dāng)用戶重新喚醒手機(jī)后,發(fā)現(xiàn)后臺進(jìn)程或模塊被終止,這嚴(yán)重降低了用戶的使用體驗(yàn).預(yù)測序列1 和預(yù)測序列2 的虛警率一樣,均為0.0625,但實(shí)際上序列2 造成了系統(tǒng)兩次誤殺后臺進(jìn)程或模塊,虛警率表示錯誤判為睡眠狀態(tài)樣本所占的比例,而喚醒率關(guān)注誤判次數(shù),預(yù)測結(jié)果頻繁跳變對虛警率的結(jié)果影響可能不大,但對喚醒率的影響會很大.所以本文選用喚醒率作為模型的一個衡量指標(biāo).在訓(xùn)練模型時,要同時優(yōu)化覆蓋率和喚醒率,在提高省電效率的同時保證用戶的使用體驗(yàn).

        計算喚醒率需要計算狀態(tài)跳變的次數(shù),而狀態(tài)的跳變需要在一個時間窗口內(nèi)發(fā)生,只根據(jù)某個時刻的預(yù)測結(jié)果無法判斷在此時刻睡眠狀態(tài)是否發(fā)生變化.考慮到用戶在一個夜晚只會進(jìn)入一次睡眠,所以窗口長度取為一天,可以保證在此窗口內(nèi)用戶實(shí)際發(fā)生了睡眠狀態(tài)的跳變.故在訓(xùn)練時以一天的數(shù)據(jù)為一個批次輸入模型.另外值得注意的是,喚醒率的計算很難轉(zhuǎn)換為可導(dǎo)的損失函數(shù).

        模型的優(yōu)化目標(biāo)為最大化覆蓋率C和最小化喚醒率W,這是一個多目標(biāo)優(yōu)化問題[12],線性加權(quán)是多目標(biāo)優(yōu)化廣泛使用的一種模型,SAW (Simple Additive Weighting)是其中經(jīng)典的一種線性加權(quán)求和方法,它忽略了不同目標(biāo)函數(shù)的不同單位和范圍,給不同的目標(biāo)函數(shù)制定相應(yīng)的權(quán)重,將所有的目標(biāo)函數(shù)進(jìn)行線性加權(quán),用一個綜合函數(shù)來代表總的優(yōu)化目標(biāo)[13,14],從而將多目標(biāo)優(yōu)化問題轉(zhuǎn)化為單目標(biāo)優(yōu)化問題.對于第i個目標(biāo)函數(shù)fi(x),用wi表示它的權(quán)重,則多目標(biāo)優(yōu)化模型可轉(zhuǎn)換為:

        其中,k≥ 2 是優(yōu)化目標(biāo)函數(shù)個數(shù),S是決策變量x的可行域.

        SAW 模型主要包括兩個步驟,第一為縮放,將各個目標(biāo)函數(shù)從原始值縮放;第二為指定權(quán)重,根據(jù)不同目標(biāo)的優(yōu)先級制定權(quán)重.覆蓋率C和喚醒率W的取值范圍都為[0,1],無需縮放.則多目標(biāo)優(yōu)化目標(biāo)可表示為maxw1(1-W)+w2C.進(jìn)一步的,令λ=w1/w2,則綜合優(yōu)化目標(biāo)為:

        式中,λ可用來調(diào)整喚醒率和覆蓋率的權(quán)重,λ越大表示對喚醒率要求越嚴(yán)格.

        3.3 LSTM 神經(jīng)網(wǎng)絡(luò)模型

        模型目標(biāo)為根據(jù)時序的特征數(shù)據(jù)持續(xù)判斷用戶是否處于睡眠狀態(tài),睡眠狀態(tài)通常與之前時刻用戶的狀態(tài)有關(guān),因此這是一個時序二分類問題.循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNNs)[15]是一類專門處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)模型.循環(huán)神經(jīng)網(wǎng)絡(luò)的神經(jīng)元輸入不僅包括當(dāng)前時刻的特征輸入,還包括上一時刻的輸出.這讓循環(huán)神經(jīng)網(wǎng)絡(luò)可以將之前的信息和現(xiàn)在的任務(wù)聯(lián)系起來,擁有學(xué)習(xí)過去信息的能力.但標(biāo)準(zhǔn)的循環(huán)神經(jīng)網(wǎng)絡(luò)難以學(xué)習(xí)到相隔比較遠(yuǎn)的信息,即存在長期依賴問題.LSTM 神經(jīng)網(wǎng)絡(luò)是一種特別的循環(huán)神經(jīng)網(wǎng)絡(luò),被設(shè)計用來解決長期依賴問題.LSTM 神經(jīng)網(wǎng)絡(luò)通過門結(jié)構(gòu)來控制信息的傳遞,分別是輸入門,遺忘門和輸出門.LSTM 每一個時間步的計算公式如下所示:

        其中,it、ft、ot、Ct分別表示t時刻輸入門的輸出值、遺忘門的輸出值、輸出門的輸出值、細(xì)胞記憶狀態(tài),ht為t時刻的隱藏狀態(tài),σ是Sigmoid 非線性激活函數(shù),⊙表示向量元素逐個相乘.

        預(yù)測是否處于睡眠是一個二分類問題,本文采取的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,在LSTM 模塊之上再加一層全連接層,最后輸出維度為1,值為0 或1,0 表示非睡眠,1 表示睡眠.

        圖3 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

        3.4 演化LSTM 神經(jīng)網(wǎng)絡(luò)

        LSTM 神經(jīng)網(wǎng)絡(luò)通常用梯度下降法訓(xùn)練,要求損失函數(shù)可導(dǎo),通常取均方誤差或交叉熵等.本文中,喚醒率關(guān)注的是睡眠狀態(tài)的跳變,很難轉(zhuǎn)換為可導(dǎo)的損失函數(shù),無法直接用梯度下降法訓(xùn)練,而演化算法可以用來解決不可導(dǎo)的優(yōu)化問題.演化算法也被稱為進(jìn)化算法(Evolution Algorithm,EA),演化算法的產(chǎn)生靈感借鑒了大自然中生物的進(jìn)化操作,自然界生物種群每一代都會有一定概率的變異出現(xiàn),不同個體之間以一定概率進(jìn)行交叉,產(chǎn)生下一代.環(huán)境會對變異和交叉產(chǎn)生的新個體進(jìn)行選擇,適應(yīng)的被保留,不適應(yīng)的被淘汰.演化算法在復(fù)雜的非線性最優(yōu)問題、復(fù)雜的組合規(guī)劃和整數(shù)規(guī)劃問題等領(lǐng)域有較多的應(yīng)用.Montana 等[16]提出了用演化算法代替梯度下降法,對全連接神經(jīng)網(wǎng)絡(luò)可導(dǎo)優(yōu)化目標(biāo)進(jìn)行優(yōu)化.

        本文選擇用演化算法訓(xùn)練LSTM 神經(jīng)網(wǎng)絡(luò),LSTM神經(jīng)網(wǎng)絡(luò)輸入為特征數(shù)據(jù),輸出為是否處于睡眠狀態(tài),分別用0 和1 表示睡眠和非睡眠,優(yōu)化目標(biāo)為最大化λ(1-W)+C,其中λ越大表示對喚醒率的要求越嚴(yán)格.當(dāng)用戶處于睡眠狀態(tài)后,特征數(shù)據(jù)穩(wěn)定,距離睡眠開始很遠(yuǎn)的數(shù)據(jù)意義不大,對模型判斷影響較大的為睡眠前和睡眠開始時刻之后附近的數(shù)據(jù).用演化算法訓(xùn)練時,隨著迭代的不斷進(jìn)行,模型預(yù)測進(jìn)入睡眠的時刻將不斷逼近實(shí)際進(jìn)入睡眠的時刻.差分演化算法(Differential Evolution,DE)[17]在連續(xù)空間內(nèi)收斂速度較快,確定性高,本文采用差分演化算法對LSTM 神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化.訓(xùn)練時,將一天的特征數(shù)據(jù)作為一個批次輸入LSTM 神經(jīng)網(wǎng)絡(luò),得到喚醒率和覆蓋率,計算綜合優(yōu)化目標(biāo),用差分演化算法對LSTM 神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化.整體流程如圖4所示,其具體步驟如下:

        (1) 初始化

        初始化種群,設(shè)定種群大小,將LSTM 神經(jīng)網(wǎng)絡(luò)的全部參數(shù)扁平化為一個一維向量,則一個個體為一個一維向量.對于每個個體Xi,采用高斯分布初始化:

        其中,Xi(0)表示第0 代第i個個體.xi,j(0)表示第0 代種群第i個個體第j維的數(shù)據(jù),和分別表示第j維的下界和上界,每個種群有Np個個體,每個個體有D個維度.

        (2) 變異

        采用差分策略實(shí)現(xiàn)個體變異,隨機(jī)選取種群中的兩個不同的個體,將二者向量差縮放后與待變異個體進(jìn)行向量合成,得到變異個體Vi(g+1).

        其中,r1,r2和r3是3 個隨機(jī)數(shù),區(qū)間為[1,Np],F被稱為縮放因子,為一個確定的常數(shù),g表示第g代種群.

        (3) 交叉

        交叉操作可以增加種群多樣性,具體操作如式(8)所示,其中CR∈[0,1]為交叉概率,U為交叉后個體.

        (4) 選擇

        模擬自然界環(huán)境選擇,將優(yōu)化目標(biāo)作為選擇函數(shù),采用貪婪選擇策略,選擇優(yōu)化函數(shù)值較優(yōu)的個體作為新的子代個體.如式(9)所示,其中f是優(yōu)化目標(biāo)函數(shù).

        完成上述4 個步驟為一輪迭代,每輪迭代對種群進(jìn)行更新,當(dāng)達(dá)到一定代數(shù)則訓(xùn)練停止.選擇此時種群中最優(yōu)的個體作為LSTM 神經(jīng)網(wǎng)絡(luò)的最終參數(shù).

        圖4 模型整體流程框圖

        當(dāng)數(shù)據(jù)量較大時,若直接使用演化算法進(jìn)行訓(xùn)練,每輪迭代時間過長,參數(shù)更新緩慢,訓(xùn)練速度很慢.本文借鑒mini-batch 訓(xùn)練方法,采用小批量訓(xùn)練.小批量訓(xùn)練需要對演化算法進(jìn)行改動,因?yàn)樵谠u估上一代解和下一代解時,訓(xùn)練數(shù)據(jù)已經(jīng)發(fā)生改變,則選擇函數(shù)也發(fā)生改變,所以采用小批量訓(xùn)練時,在每次迭代結(jié)束后需要重新評估上一代解.

        4 實(shí)驗(yàn)結(jié)果分析

        4.1 與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對比

        演化神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的對比結(jié)果如圖5.所示,分別選擇LSTM 神經(jīng)網(wǎng)絡(luò)和全連接神經(jīng)網(wǎng)絡(luò)(Multi-Layer Perceptron,MLP).LSTM_EA 和MLP_EA分別表示用演化算法訓(xùn)練LSTM 神經(jīng)網(wǎng)絡(luò)和全連接神經(jīng)網(wǎng)絡(luò),LSTM_BP 和MLP_BP 分別表示用梯度下降法訓(xùn)練LSTM 神經(jīng)網(wǎng)絡(luò)和全連接神經(jīng)網(wǎng)絡(luò).演化神經(jīng)網(wǎng)絡(luò)以λ(1-W)+C為學(xué)習(xí)目標(biāo),λ用來調(diào)節(jié)覆蓋率和喚醒率的權(quán)重,λ越大表示對喚醒率的要求越嚴(yán)格.圖5中從左到右,λ從1.0 降低到0.1,間隔為0.1,演化種群大小為50,F=0.5,CR=0.9.傳統(tǒng)神經(jīng)網(wǎng)絡(luò)以加權(quán)交叉熵為損失函數(shù)(Tensorflow 中weighted_ cross_entropy_with_logits 函數(shù)),通過調(diào)整正負(fù)樣本權(quán)重達(dá)到間接的調(diào)整覆蓋率和喚醒率的效果,圖中從左到右,正樣本與負(fù)樣本權(quán)重比從1:10 依次下降至1:1,梯度下降法選用動量法,學(xué)習(xí)率為0.01,動量為0.9.全連接網(wǎng)絡(luò)嘗試不同隱藏層數(shù),因?yàn)檩斎刖S度簡單,選擇一層隱藏層就有很好的效果,隱藏節(jié)點(diǎn)為8,LSTM 單元的輸出維度為4.

        圖5 演化神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對比

        分析每條曲線的走勢,采用演化算法直接對覆蓋率和喚醒率進(jìn)行優(yōu)化訓(xùn)練時,隨著λ從1.0 降低到0.1,目標(biāo)函數(shù)中喚醒率的權(quán)重不斷下降,曲線走勢為從左下角到右上角,即喚醒率不斷上升,覆蓋率不斷上升.采用梯度下降法,以加權(quán)交叉熵為優(yōu)化目標(biāo),通過調(diào)整正負(fù)樣本權(quán)重間接的調(diào)整喚醒率和覆蓋率,隨著負(fù)樣本權(quán)重不斷下降,曲線走勢為從左下角到右上角.可以看到兩類訓(xùn)練方法的曲線走勢是相同的.橫向?qū)Ρ榷鄺l曲線,采用同種訓(xùn)練方法時LSTM 網(wǎng)絡(luò)結(jié)果曲線在全連接神經(jīng)網(wǎng)絡(luò)結(jié)果曲線的上方,這與LSTM 網(wǎng)絡(luò)能更好的處理時序數(shù)據(jù)的預(yù)期符合;采用同種網(wǎng)絡(luò)結(jié)構(gòu),喚醒率較高時兩種方法的結(jié)果曲線非常接近,但在喚醒率較低時,采用演化算法的結(jié)果要明顯優(yōu)于采用梯度下降法的結(jié)果,這是因?yàn)椴捎醚莼惴ㄖ苯右詥拘崖蕿閮?yōu)化目標(biāo).因此當(dāng)對喚醒率要求較為嚴(yán)格時,采用演化算法訓(xùn)練得到的結(jié)果要更優(yōu).而在實(shí)際的使用中,高覆蓋率意味著高省電效率,低喚醒率保證用戶的使用體驗(yàn),用戶對后臺誤殺更為敏感,所以我們更關(guān)注喚醒率較低的部分.可以看到在喚醒率為0.1 左右時,采用演化算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)比采用梯度下降法訓(xùn)練神經(jīng)網(wǎng)絡(luò)在覆蓋率上有約5%的提升.故在整體表現(xiàn)上,演化LSTM 神經(jīng)網(wǎng)絡(luò)的效果最優(yōu).

        4.2 與傳統(tǒng)機(jī)器學(xué)習(xí)模型對比

        傳統(tǒng)的機(jī)器學(xué)習(xí)模型也可以通過調(diào)整正負(fù)樣本權(quán)重的方法間接的達(dá)到調(diào)整喚醒率和覆蓋率的效果,選擇SVM,隨機(jī)森林,決策樹3 種模型和演化神經(jīng)網(wǎng)絡(luò)模型的結(jié)果對比如圖6所示,SVM,Random Forest,Decision Tree 分別表示SVM,隨機(jī)森林和決策樹的結(jié)果曲線.同傳統(tǒng)神經(jīng)網(wǎng)絡(luò)方法一樣,改變正負(fù)樣本權(quán)重比從1:10 到1:1,覆蓋率和喚醒率都變大.在喚醒率較高時傳統(tǒng)機(jī)器學(xué)習(xí)方法的結(jié)果與采用演化算法的結(jié)果差距不大,其中LSTM 網(wǎng)絡(luò)效果最優(yōu),其次為SVM.但在喚醒率較低時,采用傳統(tǒng)機(jī)器學(xué)習(xí)方法要明顯劣于演化神經(jīng)網(wǎng)絡(luò)的方法.即當(dāng)對喚醒率的要求嚴(yán)格時,采用演化算法直接優(yōu)化的方法要更優(yōu).這說明對傳統(tǒng)神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)機(jī)器學(xué)習(xí)模型采用調(diào)整正負(fù)樣本權(quán)重間接調(diào)整地喚醒率和覆蓋率的方法都難以在低喚醒率時覆蓋率達(dá)到較好的結(jié)果,即難以在保證用戶使用體驗(yàn)前提下達(dá)到更好的省電效率.

        圖6 演化神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)機(jī)器學(xué)習(xí)模型對比

        4.3 能耗分析

        模型在服務(wù)器端訓(xùn)練,演化算法種群大小為50,每輪迭代計算量主要為神經(jīng)網(wǎng)絡(luò)前向計算量,而梯度下降法還包括反向求梯度運(yùn)算,反向計算量約為前向計算的量的兩倍,所以與采用梯度下降法相比,演化算法計算時間復(fù)雜度約為梯度下降法的16 倍,但兩者訓(xùn)練耗時都不大,分別是秒級和分鐘級,訓(xùn)練完成后部署至手機(jī)終端,我們主要關(guān)心在手機(jī)端的能耗.手機(jī)端能耗主要包括數(shù)據(jù)采集和存儲能耗以及預(yù)測能耗,經(jīng)過實(shí)際測驗(yàn),數(shù)據(jù)采集和存儲能耗極低,根據(jù)式(5),在預(yù)測時LSTM 神經(jīng)網(wǎng)絡(luò)計算量為6×4×4×8+3×4+4×1=400 次浮點(diǎn)乘運(yùn)算和5 ×4+1=21次浮點(diǎn)加運(yùn)算,此外還有3 個Sigmoid 運(yùn)算和兩個tanh 運(yùn)算,經(jīng)過實(shí)際測試,在手機(jī)端模型預(yù)測部分耗時為1 ms 以內(nèi),所以可實(shí)時預(yù)測用戶睡眠狀態(tài).考慮到用戶從清醒到入睡的過渡時間為分鐘級,模型每10 分鐘判斷一次用戶是否進(jìn)入睡眠狀態(tài),故模型在手機(jī)終端部署后計算能耗很低.

        5 結(jié)論與展望

        本文提出了使用演化算法訓(xùn)練LSTM 網(wǎng)絡(luò)的方法來判斷用戶是否處于睡眠狀態(tài),采用覆蓋率和喚醒率作為模型的衡量指標(biāo),高覆蓋率可保證手機(jī)省電效率,低喚醒率可保證用戶的使用體驗(yàn).采用演化LSTM 神經(jīng)網(wǎng)絡(luò)模型處理時序特征數(shù)據(jù),對覆蓋率和喚醒率的綜合優(yōu)化目標(biāo)進(jìn)行優(yōu)化,并借鑒梯度下降法中的minibatch 訓(xùn)練方法,采用小批量訓(xùn)練法.實(shí)驗(yàn)結(jié)果表明,采用演化算法訓(xùn)練LSTM 神經(jīng)網(wǎng)絡(luò)的整體結(jié)果最優(yōu),在喚醒率較低時能夠達(dá)到更好的覆蓋率,相較于其他方法在低喚醒率時覆蓋率提升約5%.在未來的工作中,將會考慮不同用戶使用習(xí)慣之間的差異,以及用戶使用習(xí)慣的變化對模型的影響.

        猜你喜歡
        覆蓋率神經(jīng)網(wǎng)絡(luò)狀態(tài)
        民政部等16部門:到2025年村級綜合服務(wù)設(shè)施覆蓋率超80%
        我國全面實(shí)施種業(yè)振興行動 農(nóng)作物良種覆蓋率超過96%
        神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
        電子制作(2019年19期)2019-11-23 08:42:00
        狀態(tài)聯(lián)想
        生命的另一種狀態(tài)
        基于噴丸隨機(jī)模型的表面覆蓋率計算方法
        熱圖
        家庭百事通(2016年3期)2016-03-14 08:07:17
        基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
        堅持是成功前的狀態(tài)
        山東青年(2016年3期)2016-02-28 14:25:52
        復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
        东北无码熟妇人妻AV在线| 国产精品高清网站| 肉体裸交137日本大胆摄影| 日韩成人无码一区二区三区| 91久久综合精品国产丝袜长腿| 日韩女优一区二区在线观看| 日韩av无码一区二区三区| 亚洲熟少妇在线播放999| 亚洲AV无码久久精品成人| 国产成人美涵人妖视频在线观看 | 国产裸体美女永久免费无遮挡| 欧妇女乱妇女乱视频| 亚洲国产精品午夜电影| 国产一区在线视频不卡| 性猛交ⅹxxx富婆视频| 99热久久这里只精品国产www| 999久久久免费精品国产牛牛| 日韩精品中文字幕第二页| 精品国产青草久久久久福利| 亚洲人成无码网站久久99热国产 | 老岳肥屁熟女四五十路| 久久人妻av一区二区软件| 国产精品久久久久国产a级| 亚洲AV手机专区久久精品| 国产精品人妻熟女男人的天堂| 精品久久久久久成人av| 欧美亚洲国产另类在线观看| 精品人妻夜夜爽一区二区| www夜插内射视频网站| 亚洲一区精品无码色成人| AV在线中出| 中文字幕人妻在线少妇| 中文字幕人妻被公上司喝醉| 亚洲午夜无码AV不卡| 日本在线综合一区二区| 亚洲国产精彩中文乱码av| 亚洲av熟妇高潮30p| 91在线视频视频在线| 中国国产不卡视频在线观看| 青青草97国产精品免费观看| 欧美中出在线|