鄧 心,那 俊,張瀚鐸,王昱林,張 斌
1.東北大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,沈陽(yáng) 110819
2.東北大學(xué) 軟件學(xué)院,沈陽(yáng) 110819
隨著萬(wàn)物互聯(lián)和智能計(jì)算的趨勢(shì)不斷加深,各類(lèi)智能信息物理系統(tǒng)(cyber-physical systems,CPS)和物聯(lián)網(wǎng)(Internet of things,IoT)[1]應(yīng)用不僅已經(jīng)實(shí)現(xiàn)了物理世界和信息世界的無(wú)縫連接,更讓物理設(shè)備具有了計(jì)算、通信、精確控制等能力,催生了機(jī)器人、無(wú)人機(jī)和自動(dòng)駕駛汽車(chē)等自主設(shè)備。通過(guò)無(wú)處不在的環(huán)境感知、設(shè)備本身的計(jì)算能力以及網(wǎng)絡(luò)通信和遠(yuǎn)程控制,這些自主設(shè)備將實(shí)現(xiàn)與周?chē)h(huán)境和人類(lèi)更自然地交互,被Gartner列為2019年十大戰(zhàn)略技術(shù)趨勢(shì)之一,已經(jīng)成為研究界和產(chǎn)業(yè)界普遍關(guān)注的焦點(diǎn)。
智能家居是家庭信息化的一種重要實(shí)現(xiàn)方式。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展和成熟,智能家居已經(jīng)成為了社會(huì)信息化發(fā)展的重要組成部分。智能照明是智能家居的重要組成部分,良好的室內(nèi)光照可以提高人的視覺(jué)舒適程度和健康狀況[2]。隨著物聯(lián)網(wǎng)的蓬勃發(fā)展,新一代的LED照明系統(tǒng)應(yīng)運(yùn)而生,即基于LED的智能照明系統(tǒng)。通過(guò)集成傳感器和執(zhí)行器,各類(lèi)LED智能燈能夠與其他智能設(shè)備一起使用,以改善人們的生活方式,提高便利性和可定制性,同時(shí)達(dá)到節(jié)能的目的[3]。例如,Philips Hue是一種無(wú)線(xiàn)照明產(chǎn)品,可以與一系列智能設(shè)備(例如Amazon Echo,Apple HomeKit,Google Home等)配合使用,以為居住者提供方便舒適的方式來(lái)控制和體驗(yàn)照明。
照明控制策略是智能照明系統(tǒng)的核心,它描述了如何在給定目標(biāo)下修改照明。例如,開(kāi)關(guān)、調(diào)光器和場(chǎng)景設(shè)置器是通過(guò)手動(dòng)控制滿(mǎn)足個(gè)人偏好并實(shí)現(xiàn)節(jié)省能源的基本策略[4]。為了提高用戶(hù)體驗(yàn)的質(zhì)量,燈光控制策略需要更加靈活,以便能夠調(diào)節(jié)燈光以自動(dòng)提供舒適的照明,同時(shí)自動(dòng)將能源成本降至最低。特別是考慮到日光的自然變化和用戶(hù)需求的多樣性,自主學(xué)習(xí)用戶(hù)偏好并適應(yīng)環(huán)境亮度變化已經(jīng)成為了智能照明系統(tǒng)的關(guān)鍵功能[5-6]。通過(guò)提供接近個(gè)人各自偏好的亮度在情緒、亮度滿(mǎn)意度和環(huán)境滿(mǎn)意度上具有重要提升作用。如果可以最大限度地利用自然光,智能地調(diào)節(jié)每個(gè)人所在位置的光照設(shè)備,讓綜合光照強(qiáng)度一直保持在一個(gè)讓人舒適的范圍內(nèi),可以節(jié)約能源、降低光污染、增加辦公效率等[6]。
考慮到每個(gè)人對(duì)光照的舒適程度和自身習(xí)慣不同,要在滿(mǎn)足舒適度的同時(shí),還要精確地控制光照設(shè)備,很難使用一個(gè)確定的策略來(lái)滿(mǎn)足所有人需求。文獻(xiàn)[5]提出一個(gè)基于ANN的方法滿(mǎn)足每個(gè)辦公室人員桌子上的亮度偏好,通過(guò)最小化具有分布式照明的照明系統(tǒng)總體能量消耗,構(gòu)建表示每個(gè)桌子上的照明強(qiáng)度和實(shí)際亮度之間相互影響的模型。然而,作者并沒(méi)有考慮自然光的影響,且假設(shè)所有桌子期望亮度相同,并未考慮用戶(hù)的個(gè)性化亮度偏好。文獻(xiàn)[7-8]以使用者為中心,強(qiáng)調(diào)自適應(yīng)亮度控制模型的重要性,主要關(guān)注開(kāi)/關(guān)操作,而不是亮度調(diào)節(jié)。文獻(xiàn)[9]提出了辦公區(qū)域內(nèi)的個(gè)性化照明,提出了優(yōu)化照明的控制算法,并使用具有生成調(diào)光信號(hào)的亮度生成器模型。文獻(xiàn)[10]引入了一種改進(jìn)的強(qiáng)化學(xué)習(xí)控制器,可獲得最佳的百葉窗和燈光控制策略來(lái)提供燈光控制的個(gè)性化服務(wù)。文獻(xiàn)[11]基于居民的行為模式采用人工神經(jīng)網(wǎng)絡(luò)進(jìn)行在線(xiàn)學(xué)習(xí)和自適應(yīng),使用基于相似度閾值的數(shù)據(jù)替換算法對(duì)歷史數(shù)據(jù)進(jìn)行替換,取得了很好的效果,但自然光的影響并沒(méi)有考慮。
針對(duì)現(xiàn)有方法存在的上述問(wèn)題,本文提出一種基于深度強(qiáng)化學(xué)習(xí)的智能燈亮度個(gè)性化調(diào)節(jié)方法。一方面,通過(guò)考慮自然光強(qiáng)和用戶(hù)位置動(dòng)態(tài)調(diào)整燈光亮度起到節(jié)能的作用,另一方面則通過(guò)采集用戶(hù)對(duì)燈光亮度的手動(dòng)調(diào)節(jié)情況形成強(qiáng)化學(xué)習(xí)的正負(fù)反饋,逐漸學(xué)習(xí)并擬合用戶(hù)的使用偏好。由于強(qiáng)化學(xué)習(xí)是一種典型的在線(xiàn)學(xué)習(xí)算法,相較于傳統(tǒng)用戶(hù)行為模式挖掘、人工神經(jīng)網(wǎng)絡(luò)等方法具有更好的動(dòng)態(tài)適應(yīng)能力。
強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)重要分支,它避免了對(duì)復(fù)雜的環(huán)境和用戶(hù)行為進(jìn)行建模,在很多需要實(shí)現(xiàn)個(gè)性化的問(wèn)題中發(fā)揮了積極作用[11]。強(qiáng)化學(xué)習(xí)的本質(zhì)是通過(guò)學(xué)習(xí)模型與環(huán)境不斷地進(jìn)行交互,通過(guò)獲取的反饋信息優(yōu)化其自身的決策行為,不斷地進(jìn)行學(xué)習(xí)和決策,最終獲得最優(yōu)的決策方案。
強(qiáng)化學(xué)習(xí)可以使用馬爾可夫決策過(guò)程(Markov decision process,MDP)進(jìn)行建模。馬爾科夫決策過(guò)程被定義為一個(gè)五元組S,A,P,R,γ,其中,S為狀態(tài)集,A為動(dòng)作集,P為轉(zhuǎn)移的概率,R為回報(bào)函數(shù),γ為折扣因子。
強(qiáng)化學(xué)習(xí)的目標(biāo)是給定一個(gè)馬爾科夫決策過(guò)程,尋找最優(yōu)策略[12]。其中,策略是指狀態(tài)到動(dòng)作的映射,如式(1)所示:
其中,π為策略,代表給定一個(gè)狀態(tài)s,在動(dòng)作集上的一個(gè)分布。式(1)表示策略π在狀態(tài)s給出一個(gè)動(dòng)作概率,如果給出的策略是確定的,那么策略π就會(huì)在狀態(tài)s上指定一個(gè)確定的動(dòng)作。當(dāng)策略π確定后,就可以計(jì)算累計(jì)回報(bào),如式(2)所示:
Q-learning[13]是強(qiáng)化學(xué)習(xí)的基礎(chǔ)算法,屬于強(qiáng)化學(xué)習(xí)算法中基于價(jià)值(value-based)的算法。狀態(tài)-行為值函數(shù)Q(s,a)就是在某一時(shí)刻的狀態(tài)s(s∈S)下,采取動(dòng)作a(a∈A)能夠獲得收益的期望。環(huán)境會(huì)根據(jù)算法的動(dòng)作反饋相應(yīng)的回報(bào)R。通過(guò)回報(bào)R可求得狀態(tài)行為值函數(shù)Q(s,a)的值,如式(3)所示:
其中,k為迭代步數(shù)s0為當(dāng)前狀態(tài),a0為在s0狀態(tài)下執(zhí)行的動(dòng)作,π未執(zhí)行策略,Eπ(·)為求策略π的期望。
通過(guò)Q(s,a)可以看出,每個(gè)狀態(tài)的選擇策略都與它下一步獲取的回報(bào)有關(guān),即隨著迭代次數(shù)的增加算法會(huì)在每一個(gè)狀態(tài)選擇能獲取到最大回報(bào)的策略,最終得到最優(yōu)方案。根據(jù)所獲得的狀態(tài)-行為值函數(shù)Q(s,a),采用貪婪策略π*進(jìn)行選擇每一步的動(dòng)作,如式(4)所示:
其中,π*為策略,s為當(dāng)前狀態(tài)a為要執(zhí)行的動(dòng)作。在訓(xùn)練過(guò)程前期,通常在策略π上增加一定的隨機(jī)策略來(lái)對(duì)狀態(tài)進(jìn)行探索,常見(jiàn)的使用策略為ε-greedy。
通過(guò)貪婪策略π進(jìn)行狀態(tài)轉(zhuǎn)移后得到獎(jiǎng)勵(lì)r和新的狀態(tài)s′,可以采用時(shí)間差分法的方法對(duì)Q-learning進(jìn)行更新,如式(5)所示:
其中,α為學(xué)習(xí)率,s′為下一個(gè)狀態(tài),a′為下一個(gè)狀態(tài)要選擇的動(dòng)作,r為Q(s,a)轉(zhuǎn)義過(guò)程中的獎(jiǎng)勵(lì)值,γ為獎(jiǎng)勵(lì)折扣率。
使用強(qiáng)化學(xué)習(xí)算法只需根據(jù)每次與環(huán)境交互而獲得的s,a,r,s′進(jìn)行訓(xùn)練,讓算法在每個(gè)初始狀態(tài)s0下能夠在短時(shí)間內(nèi)獲取最高的獎(jiǎng)勵(lì)值,無(wú)需對(duì)復(fù)雜的場(chǎng)景進(jìn)行建模,因此在解決智能燈的個(gè)性化適應(yīng)問(wèn)題上,能夠有很好的表現(xiàn)。
Q-learning所解決的問(wèn)題的狀態(tài)空間和動(dòng)作空間必須是離散的,并且問(wèn)題的狀態(tài)空間和動(dòng)作空間不能太大。當(dāng)面對(duì)高維度的狀態(tài)空間、行為空間,以及連續(xù)的行為空間時(shí),Q-learning的狀態(tài)-行為值函數(shù)往往無(wú)法進(jìn)行表示。
谷歌DeepMind提出了將深度神經(jīng)網(wǎng)絡(luò)和Q-learning相結(jié)合,即deepQ-learning(DQN),來(lái)處理高維度狀態(tài)空間和行為空間的問(wèn)題[14]。與Q-learning相比,DQN[15]使用了卷積神經(jīng)網(wǎng)絡(luò)來(lái)逼近狀態(tài)-行為值函數(shù),允許更高維度、更多數(shù)量的狀態(tài)作為強(qiáng)化學(xué)習(xí)算法的輸入;DQN還提供一個(gè)經(jīng)驗(yàn)回放(experience replay)[16]功能用來(lái)彌補(bǔ)訓(xùn)練時(shí)數(shù)據(jù)不足的問(wèn)題。
Double DQN(DDQN)[17]和DQN的不同之處在于策略選擇,使用貪婪策略雖然可以讓Q(s,a)值快速地向可能優(yōu)化的目標(biāo)靠攏,但很容易出現(xiàn)過(guò)估計(jì)(over estimation)現(xiàn)象,最終得到的算法模型會(huì)有很大偏差。DDQN使用兩個(gè)神經(jīng)網(wǎng)絡(luò),通過(guò)對(duì)目標(biāo)Q(s,a)值動(dòng)作的選擇和目標(biāo)Q(s,a)值的計(jì)算來(lái)消除DQN的過(guò)估計(jì)問(wèn)題。在一個(gè)網(wǎng)絡(luò)中選擇出最大Q(s,a)值的對(duì)應(yīng)動(dòng)作,如式(6)所示:
其中w為網(wǎng)絡(luò)參數(shù)。
在另一個(gè)網(wǎng)絡(luò)中利用選擇出的動(dòng)作來(lái)計(jì)算目標(biāo)Q(s,a)值,如式(7)所示:
其中w′為網(wǎng)絡(luò)參數(shù)。
Actor-Critic算法是策略(policy based)和價(jià)值(value based)相結(jié)合的方法,算法使用Actor網(wǎng)絡(luò)負(fù)責(zé)生成動(dòng)作策略π與環(huán)境進(jìn)行交互;使用Critic神經(jīng)網(wǎng)絡(luò)負(fù)責(zé)對(duì)Actor的表現(xiàn)進(jìn)行評(píng)估并指導(dǎo)下一步Actor的動(dòng)作,相當(dāng)于Q-learning中的狀態(tài)-行為值函數(shù),Actor和Critic網(wǎng)絡(luò)都有相同結(jié)構(gòu)的目標(biāo)網(wǎng)絡(luò)負(fù)責(zé)使兩個(gè)神經(jīng)網(wǎng)絡(luò)收斂。由于Actor-Critic算法缺少經(jīng)驗(yàn)回放部分,這會(huì)在訓(xùn)練的過(guò)程中消耗更多時(shí)間。asynchronous advantage actor-Critic(A3C)[18]算法采用異步訓(xùn)練框架,利用多個(gè)線(xiàn)程和環(huán)境進(jìn)行交互,避免了對(duì)經(jīng)驗(yàn)庫(kù)的過(guò)度依賴(lài)的同時(shí),還做到了異步并發(fā)學(xué)習(xí)能夠幫助模型更好更快的收斂。
論文提出的基于深度強(qiáng)化學(xué)習(xí)的智能燈亮度個(gè)性化調(diào)節(jié)方法主要由三部分構(gòu)成,即(1)數(shù)據(jù)采集;(2)數(shù)據(jù)存儲(chǔ)和強(qiáng)化學(xué)習(xí)算法的決策推理;(3)智能燈的控制。方法流程如圖1所示。
圖1 方法流程Fig.1 Process design
系統(tǒng)開(kāi)啟后將實(shí)時(shí)采集環(huán)境信息,本文使用用戶(hù)位置、自然光強(qiáng)、照明光強(qiáng)和用戶(hù)位置處的實(shí)際光強(qiáng)。將采集到的上述環(huán)境信息作為環(huán)境狀態(tài)輸入深度強(qiáng)化學(xué)習(xí)模型,形成對(duì)智能燈亮度的調(diào)節(jié)動(dòng)作,并基于智能燈接口對(duì)其實(shí)施亮度調(diào)節(jié)。
使用算法動(dòng)態(tài)調(diào)節(jié)亮度后,系統(tǒng)將重新獲得當(dāng)前的環(huán)境狀態(tài),并采集是否發(fā)生用戶(hù)手動(dòng)調(diào)節(jié)。如果在給定時(shí)間閾值范圍內(nèi),發(fā)生人工手動(dòng)調(diào)節(jié),則視為算法輸出未滿(mǎn)足用戶(hù)偏好,形成負(fù)反饋;否則,則認(rèn)為算法輸出滿(mǎn)足用戶(hù)偏好,形成正反饋。在每次收到反饋后,通過(guò)不斷更新模型逐步擬合在各種環(huán)境狀態(tài)下的用戶(hù)偏好亮度,提升智能燈亮度控制的精準(zhǔn)度。
使用強(qiáng)化學(xué)習(xí)解決問(wèn)題首先要按照馬爾可夫決策過(guò)程建立強(qiáng)化學(xué)習(xí)模型[19]。將基于深度強(qiáng)化學(xué)習(xí)的智能燈個(gè)性化調(diào)節(jié)模型定義為一個(gè)五元組,M=S,A,P,R,γ,其中,S代表環(huán)境狀態(tài)空間,A代表動(dòng)作空間,P代表狀態(tài)轉(zhuǎn)移概率,R代表獎(jiǎng)勵(lì)值,γ代表獎(jiǎng)勵(lì)折扣。構(gòu)建基于深度強(qiáng)化學(xué)習(xí)的智能燈個(gè)性化調(diào)節(jié)模型,則需要按照上述定義對(duì)系統(tǒng)進(jìn)行抽象建模。
(1)環(huán)境狀態(tài)S的選擇
對(duì)于環(huán)境狀態(tài)的選擇,需要選取能夠?qū)Q策起決定性作用的因素,本文中的環(huán)境狀態(tài)來(lái)自于照明系統(tǒng)周?chē)男畔?,包括智能燈與采集點(diǎn)的距離distance、采集點(diǎn)的自然光強(qiáng)sunbright、系統(tǒng)光強(qiáng)lightbright和綜合光強(qiáng)combright,所構(gòu)建的狀態(tài)如式(8)所示:
(2)動(dòng)作空間A的選擇及轉(zhuǎn)移概率P
動(dòng)作空間定義為對(duì)智能燈的調(diào)節(jié)動(dòng)作。對(duì)智能燈進(jìn)行調(diào)整主要分為兩種方法,第一種模型的輸出為連續(xù)動(dòng)作,即模型直接輸出智能燈的光強(qiáng),智能燈根據(jù)模型的輸出進(jìn)行直接調(diào)整亮度;第二種模型的輸出為離散動(dòng)作,即模型的輸出是基于當(dāng)前的設(shè)備光強(qiáng),對(duì)當(dāng)前光強(qiáng)進(jìn)行調(diào)高、調(diào)低或者不變??紤]到實(shí)驗(yàn)數(shù)據(jù)的離散性特征和強(qiáng)化學(xué)習(xí)算法本身的缺陷,本文采用第二種調(diào)整方法。動(dòng)作空間A分為up,hold,down即up、hold、down代表對(duì)當(dāng)前光強(qiáng)進(jìn)行調(diào)高、不變或調(diào)低。
(3)環(huán)境反饋獎(jiǎng)勵(lì)R及獎(jiǎng)勵(lì)折扣γ
強(qiáng)化學(xué)習(xí)需要構(gòu)造相應(yīng)的獎(jiǎng)勵(lì)函數(shù)來(lái)進(jìn)行模型訓(xùn)練。智能燈的優(yōu)化目標(biāo)是讓當(dāng)前用戶(hù)不再對(duì)其進(jìn)行調(diào)整。設(shè)置的獎(jiǎng)勵(lì)值如下,如果用戶(hù)在給定時(shí)間范圍內(nèi)未對(duì)智能燈進(jìn)行調(diào)整,則可以認(rèn)為用戶(hù)所在位置的綜合光強(qiáng)符合用戶(hù)偏好,環(huán)境應(yīng)該返回一個(gè)正反饋1,同時(shí)若用戶(hù)一直都沒(méi)有對(duì)智能燈進(jìn)行調(diào)整,則環(huán)境每次都要在當(dāng)前的獎(jiǎng)勵(lì)值上乘以一個(gè)衰減率γ來(lái)獲取新的獎(jiǎng)勵(lì)值,直到用戶(hù)對(duì)智能燈進(jìn)行調(diào)節(jié)才將獎(jiǎng)勵(lì)值重新設(shè)為1。如果用戶(hù)調(diào)節(jié)系統(tǒng),則可以認(rèn)為用戶(hù)所在位置的綜合光強(qiáng)和用戶(hù)偏好不符,則返回一個(gè)負(fù)反饋-1。達(dá)到算法和環(huán)境進(jìn)行交互的效果,進(jìn)而對(duì)模型進(jìn)行訓(xùn)練。
其中,Icontrol為用戶(hù)調(diào)整智能燈的次數(shù),α為每次迭代中人未調(diào)整智能燈的單次交互次數(shù),γ為獎(jiǎng)勵(lì)衰減率,i為每次迭代中人未調(diào)整智能燈的連續(xù)次數(shù)(γ=0.9,Rpositive=1,Rnegative=-1)。
本文采用DIALux軟件模擬照明環(huán)境。DIALux是一個(gè)燈光照明設(shè)計(jì)軟件,可根據(jù)實(shí)際需要向場(chǎng)景內(nèi)部添加日光,能滿(mǎn)足目前所有照明設(shè)計(jì)及計(jì)算要求。
考慮到不同照明環(huán)境或復(fù)雜的光源映射到算法中均為環(huán)境光強(qiáng),本文使用亮度傳感器對(duì)環(huán)境光進(jìn)行采集則不需要考慮照明環(huán)境的光照復(fù)雜程度。
如圖2所示,將模擬環(huán)境設(shè)置為一個(gè)5.4 m×3.6 m的房間,房間內(nèi)設(shè)置一個(gè)窗戶(hù)。在房間中央的桌子上放置一個(gè)功率可變的智能燈設(shè)備。通過(guò)調(diào)整智能燈的功率,可控制智能燈的光照強(qiáng)度。智能燈距窗1.8 m,距地面0.85 m,取距離地面0.85 m高為人們?nèi)粘9ぷ髌矫?,可獲取不同功率下工作平面上每個(gè)點(diǎn)在當(dāng)前環(huán)境光影響下的光照強(qiáng)度。收集該房間內(nèi)的光強(qiáng)數(shù)據(jù)縮略圖如圖3所示,圖中紅點(diǎn)為智能燈的位置,光強(qiáng)單位lx。
圖2 環(huán)境場(chǎng)景布置Fig.2 Environment scene design
從圖3可以看出智能燈附近的光照強(qiáng)度為300 lx左右,此刻窗邊的光照強(qiáng)度為1 367 lx左右,通過(guò)調(diào)節(jié)智能燈的功率和環(huán)境光可以獲得不同情況下房間內(nèi)的光照強(qiáng)度。本文取智能燈和窗戶(hù)之間的數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),分別在具有環(huán)境光和沒(méi)有環(huán)境光兩種情況下,調(diào)整智能燈功率取這段距離內(nèi)的所有光照強(qiáng)度數(shù)據(jù)和此刻的日光數(shù)據(jù)。部分?jǐn)?shù)據(jù)如表1所示。
圖3 房間內(nèi)光強(qiáng)信息Fig.3 Illumination information in room
表1 模擬環(huán)境光強(qiáng)數(shù)據(jù)Table 1 Simulation illumination data
智能燈功率設(shè)置范圍為250 W到450 W,步長(zhǎng)為10 W,分析不同功率下獲得的光照數(shù)據(jù)與距離的關(guān)系可得不同功率下光強(qiáng)與距離的關(guān)系呈同分布且距離智能燈越遠(yuǎn),設(shè)備光強(qiáng)越弱,綜合光強(qiáng)也越來(lái)越弱,但與智能燈距離超過(guò)0.42 m后由于自然光逐漸變強(qiáng),綜合光強(qiáng)也隨之變強(qiáng),考慮設(shè)備光強(qiáng)和自然光強(qiáng)的平衡性,實(shí)驗(yàn)?。?,0.42)m內(nèi)的數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)集。其中智能燈功率設(shè)置為250 W時(shí),光強(qiáng)與距離的關(guān)系如圖4所示。圖4中,藍(lán)色數(shù)據(jù)代表有環(huán)境光影響下的綜合光照強(qiáng)度;紅色數(shù)據(jù)為去除環(huán)境光時(shí),設(shè)備光照強(qiáng)度。
圖4 光照強(qiáng)度與距離的關(guān)系圖Fig.4 Relationship between illumination and distance
使用上述所設(shè)置的智能燈功率和步長(zhǎng),以智能燈為原點(diǎn)對(duì)每個(gè)功率每隔0.056 m取一組綜合光強(qiáng)、智能燈光強(qiáng)和環(huán)境光強(qiáng)數(shù)據(jù),每個(gè)功率下共取7組。使用所采集數(shù)據(jù)根據(jù)2.2節(jié)規(guī)定的環(huán)境狀態(tài)S對(duì)算法的輸入序列進(jìn)行構(gòu)建。
根據(jù)《建筑照明設(shè)計(jì)標(biāo)準(zhǔn)》規(guī)定,學(xué)習(xí)時(shí)光照強(qiáng)度標(biāo)準(zhǔn)值為300 lx,考慮智能燈的使用場(chǎng)景,模型需要調(diào)整智能燈功率將當(dāng)前距離下的綜合光照強(qiáng)度保持在300 lx到320 lx之間,根據(jù)2.2節(jié)構(gòu)建算法反饋獎(jiǎng)勵(lì)。在不同距離下對(duì)模型進(jìn)行訓(xùn)練,實(shí)現(xiàn)用戶(hù)無(wú)論與智能燈距離多遠(yuǎn)都能讓光照強(qiáng)度保持在舒適范圍內(nèi)。
實(shí)驗(yàn)中涉及到的三種算法輸入狀態(tài)、動(dòng)作空間都相同,算法參數(shù)設(shè)置如表2所示。
表2 算法參數(shù)設(shè)置Table 2 Algorithm parameter setting
本文使用表2中的參數(shù)采用Python語(yǔ)言中的Tensor-Flow框架進(jìn)行實(shí)現(xiàn),計(jì)算機(jī)硬件參數(shù)為Corei7-7700HQ,2.80 GHz。
在模型訓(xùn)練過(guò)程中因?yàn)槊看蔚c環(huán)境交互600次,所以每次迭代獲得的獎(jiǎng)勵(lì)值最多不超過(guò)600。在模型訓(xùn)練過(guò)程中,每經(jīng)過(guò)3個(gè)訓(xùn)練周期進(jìn)行統(tǒng)計(jì)所獲獎(jiǎng)勵(lì)的平均值,得出算法的獎(jiǎng)勵(lì)曲線(xiàn),如圖5~7所示。
從算法獎(jiǎng)勵(lì)曲線(xiàn)可以看出,DDQN算法(圖6)在本實(shí)驗(yàn)中訓(xùn)練速度最快,同時(shí)泛化能力也很強(qiáng),能夠在很短的迭代次數(shù)內(nèi)對(duì)沒(méi)有遇到過(guò)的環(huán)境狀態(tài)做出正確的決策,進(jìn)而獲得很高的獎(jiǎng)勵(lì)值。相比之下DQN算法(圖5)泛化能力較弱,在沒(méi)有遇到的環(huán)境狀態(tài)下需要做出一定次數(shù)的學(xué)習(xí)才能很好地適應(yīng)當(dāng)前狀態(tài),但隨著迭代次數(shù)的增加模型的泛化能力逐漸增強(qiáng),獎(jiǎng)勵(lì)的總趨勢(shì)也逐漸上升。
圖5 DQN算法獎(jiǎng)勵(lì)曲線(xiàn)Fig.5 DQN algorithm reward
圖6 DDQN算法獎(jiǎng)勵(lì)曲線(xiàn)Fig.6 DDQN algorithm reward
A3C(圖7)模型訓(xùn)練速度相對(duì)DQN和DDQN更慢,因?yàn)锳3C需要訓(xùn)練Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò),兩個(gè)網(wǎng)絡(luò)都收斂后才能獲得穩(wěn)定的模型決策,從A3C的獎(jiǎng)勵(lì)曲線(xiàn)可以看出該算法泛化能力很強(qiáng),能夠很快適應(yīng)陌生的環(huán)境狀態(tài),決策準(zhǔn)確率要高于DQN和DDQN,而且獎(jiǎng)勵(lì)曲線(xiàn)還在穩(wěn)步上升。從模擬實(shí)驗(yàn)結(jié)果圖中也可以看出DQN和DDQN在未經(jīng)過(guò)預(yù)訓(xùn)練的情況下能夠在很短的迭代周期內(nèi)獲取較高的獎(jiǎng)勵(lì)值,能夠滿(mǎn)足用戶(hù)需求,而A3C算法則需要進(jìn)行多次交互才能適應(yīng)用戶(hù)習(xí)慣,根據(jù)實(shí)際場(chǎng)景的應(yīng)用情況,可以在應(yīng)用前先對(duì)模型進(jìn)行預(yù)訓(xùn)練,讓模型達(dá)到一個(gè)普適的范圍,然后在實(shí)際場(chǎng)景中對(duì)模型進(jìn)行反饋調(diào)整,能夠在應(yīng)用中獲取更好的用戶(hù)體驗(yàn)。
圖7 A3C算法獎(jiǎng)勵(lì)曲線(xiàn)Fig.7 A3C algorithm reward
由于強(qiáng)化學(xué)習(xí)算法自身的性質(zhì),所有強(qiáng)化學(xué)習(xí)算法在與環(huán)境交互的過(guò)程中需要在執(zhí)行的動(dòng)作中加入噪聲進(jìn)行隨機(jī)探索,因此獎(jiǎng)勵(lì)曲線(xiàn)存在一定的震蕩現(xiàn)象是合理的?;谝陨戏治觯珼DQN模型和A3C模型隨著迭代次數(shù)的增加平均獎(jiǎng)勵(lì)波動(dòng)越來(lái)越小,從泛化能力上來(lái)看這兩種算法都很適合應(yīng)用在智能燈個(gè)性化亮度調(diào)節(jié)上。考慮到智能燈不是專(zhuān)用的計(jì)算設(shè)備,還需要從內(nèi)存占用、訓(xùn)練時(shí)間等方面對(duì)算法進(jìn)行對(duì)比分析,找出合適搭載到智能燈設(shè)備上的算法。表3統(tǒng)計(jì)了三種算法訓(xùn)練所需資源。
表3 算法訓(xùn)練過(guò)程中所需資源Table 3 Resources required in algorithm training
從訓(xùn)練時(shí)占用內(nèi)存來(lái)看,三種算法訓(xùn)練所需內(nèi)存差距不大,但從迭代次數(shù)和訓(xùn)練時(shí)間上來(lái)看DQN算法達(dá)到收斂所需的平均迭代次數(shù)和訓(xùn)練時(shí)間都很高,A3C算法需要的迭代次數(shù)較多是因?yàn)槎鄠€(gè)線(xiàn)程同時(shí)與環(huán)境進(jìn)行交互,本實(shí)驗(yàn)設(shè)置4個(gè)Critic網(wǎng)絡(luò)進(jìn)行探索環(huán)境,每個(gè)線(xiàn)程在訓(xùn)練時(shí)間內(nèi)與環(huán)境交互約30次,無(wú)論是訓(xùn)練時(shí)間還是收斂時(shí)所需迭代次數(shù)A3C算法和DDQN算法相差不大,但A3C算法需要使用多個(gè)線(xiàn)程與環(huán)境進(jìn)行交互,當(dāng)線(xiàn)程增多時(shí)訓(xùn)練時(shí)占用內(nèi)存會(huì)高于DDQN算法。
綜合以上分析,本文所提出的基于深度強(qiáng)化學(xué)習(xí)的智能燈亮度個(gè)性化調(diào)節(jié)方法完成了以下目標(biāo)。
(1)在面對(duì)環(huán)境因素復(fù)雜的辦公場(chǎng)所,不必對(duì)其進(jìn)行建模,用戶(hù)只需與智能燈進(jìn)行交互便能讓系統(tǒng)適應(yīng)用戶(hù)偏好。
(2)使用三種強(qiáng)化學(xué)習(xí)算法進(jìn)行了模擬實(shí)驗(yàn),對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,對(duì)比算法間的差異,選出適用于智能燈設(shè)備的算法。
為驗(yàn)證方案有效性,本文在實(shí)際環(huán)境中使用亮度傳感器、距離傳感器、nodemcu芯片、樹(shù)莓派和小米Yeelight對(duì)本實(shí)驗(yàn)方案進(jìn)行了驗(yàn)證。
本文將亮度傳感器和距離傳感器通過(guò)GPIO引腳搭載到nodemcu芯片上,如圖8、圖9所示。
圖8 亮度傳感器連接nodemcuFig.8 Brightness sensor connect nodemcu
圖9 距離傳感器連接nodemcuFig.9 Distance sensor connect nodemcu
將芯片部署到智能燈周?chē)?。芯片啟?dòng)后會(huì)和決策推理模塊所在的樹(shù)莓派建立socket連接,通過(guò)socket連接與樹(shù)莓派進(jìn)行通信,同時(shí)芯片向傳感器所在的引腳發(fā)送信號(hào),每隔一定的時(shí)間從傳感器讀取數(shù)據(jù),將數(shù)據(jù)發(fā)送給樹(shù)莓派。智能燈也通過(guò)Wifi模塊與樹(shù)莓派相連,將用戶(hù)對(duì)智能燈的調(diào)節(jié)信息實(shí)時(shí)傳輸給樹(shù)莓派,作為智能燈實(shí)現(xiàn)個(gè)性化的依據(jù)。
樹(shù)莓派啟動(dòng)后會(huì)對(duì)算法模型進(jìn)行初始化,初始化方法與模擬實(shí)驗(yàn)中的方法相同,初始化完成后利用數(shù)據(jù)庫(kù)中來(lái)自數(shù)據(jù)采集模塊所收集到綜合光強(qiáng)、環(huán)境光強(qiáng)、智能燈光強(qiáng)和用戶(hù)控制信息對(duì)所部署模型進(jìn)行個(gè)性化訓(xùn)練。
樹(shù)莓派根據(jù)算法模型推理結(jié)果,通過(guò)Wifi和智能燈建立socket通信,對(duì)智能燈進(jìn)行亮度調(diào)節(jié)。再根據(jù)調(diào)節(jié)的結(jié)果獲取用戶(hù)反饋,對(duì)算法不斷修正,直到當(dāng)前模型符合用戶(hù)偏好。實(shí)驗(yàn)結(jié)果與模擬實(shí)驗(yàn)大致相同,驗(yàn)證了本文提出方法的有效性。
論文針對(duì)智能燈亮度個(gè)性化調(diào)節(jié)問(wèn)題所面臨的挑戰(zhàn),提出基于強(qiáng)化學(xué)習(xí)的智能燈亮度個(gè)性化調(diào)節(jié)方法。通過(guò)使用傳感器采集智能燈周?chē)匀还鈴?qiáng)、綜合光強(qiáng)等信息對(duì)當(dāng)前環(huán)境和用戶(hù)行為使用數(shù)據(jù)進(jìn)行描述,利用強(qiáng)化學(xué)習(xí)算法的特性,無(wú)需對(duì)復(fù)雜的環(huán)境進(jìn)行建模,就能對(duì)用戶(hù)所在環(huán)境和用戶(hù)偏好進(jìn)行自適應(yīng),讓用戶(hù)無(wú)論在什么時(shí)間,距離智能燈多遠(yuǎn)的情況下都能獲得最舒適的光強(qiáng),并有效減少不必要的照明消耗。下一步將引入對(duì)多用戶(hù)環(huán)境中不同用戶(hù)亮度偏好沖突的解決策略,并考慮多個(gè)可變光源共同存在的復(fù)雜場(chǎng)景,以便更好地應(yīng)用到實(shí)際工作生活中。