李駿翔,李兆豐,楊賽賽,陶洪峰,姚 輝,吳 超
1(浙江省郵電工程建設(shè)有限公司 大數(shù)據(jù)研究院,杭州 310052)
2(浙江大學(xué) 公共管理學(xué)院,杭州 310058)
隨著通訊和數(shù)字化產(chǎn)業(yè)的發(fā)展,機房電量消耗越來越大.統(tǒng)計發(fā)現(xiàn),機房中空調(diào)的耗電量占機房總耗電量50%左右[1],怎樣節(jié)省空調(diào)設(shè)備的耗電量成為亟待解決的問題.另一方面,電信機房很多是無人值守的,空調(diào)的設(shè)置參數(shù)通常是固定不變或者維護人員定期去調(diào)整,但機房的熱負荷是在動態(tài)變化的(機房設(shè)備工作負載發(fā)熱,室外溫濕度情況,機房門禁開關(guān)等都是影響熱負荷的因素),傳統(tǒng)的空調(diào)設(shè)定參數(shù)不變或很長時間人為去調(diào)整一次的方式,由于沒有自動化調(diào)節(jié),通常會把空調(diào)制冷量輸出設(shè)定的較大以應(yīng)對可能的機房高負荷情況(突然的高溫天氣或機房設(shè)備負載升高),但多數(shù)情況下機房實際熱負荷并沒有那么大,這種過度設(shè)置造成會不必要的電能浪費,所以設(shè)計一種自適應(yīng)調(diào)節(jié)的空調(diào)節(jié)能控制系統(tǒng)成為解決問題的關(guān)鍵.
郭曉巖提出了一種變風(fēng)量空調(diào)系統(tǒng)的模糊神經(jīng)網(wǎng)絡(luò)預(yù)測控制系統(tǒng)[2],動態(tài)調(diào)節(jié)出風(fēng)量達到節(jié)能目的,雖然取得一定的效果,但針對非線性,時序性,狀態(tài)空間較大的機房空調(diào)控制系統(tǒng),這種控制方式很難取得更好的效果,而且空調(diào)的可控參數(shù)不止有出風(fēng)量,還有設(shè)定溫度,開關(guān)機等.Congradac 和 Kulic采用遺傳算法優(yōu)化空調(diào)控制系統(tǒng)達到節(jié)能的目的[3],這種控制優(yōu)化方法需要專家設(shè)計建模,人為調(diào)整優(yōu)化參數(shù),實際應(yīng)用中比較復(fù)雜,需要大量分析調(diào)整才能找到合適參數(shù)設(shè)定.
強化學(xué)習(xí)是一種用于控制決策的人工智能算法,它能夠從與環(huán)境交互中學(xué)習(xí)控制策略,是目前比較熱門的一種機器學(xué)習(xí)算法,廣泛應(yīng)用在機器人控制,自動駕駛,能源調(diào)度等領(lǐng)域.在空調(diào)節(jié)能控制方面,文獻[4,5]提出了基于表格存儲參數(shù)的Q-learning強化學(xué)習(xí)空調(diào)節(jié)能控制算法,這種方法對狀態(tài)空間較小的情況具有好的效果,但對于輸入變量較多且輸入變量是連續(xù)的應(yīng)用場景,由于狀態(tài)空間較大,構(gòu)建的參數(shù)表格巨大,無法存儲或檢索,導(dǎo)致維數(shù)災(zāi)難問題.文獻[6-8]提出了使用深度神經(jīng)網(wǎng)絡(luò)作為記憶體的深度強化學(xué)習(xí),解決空調(diào)控制中狀態(tài)空間較大的問題,取得不錯的節(jié)能控制效果,但以上文獻提出的方案是在模擬環(huán)境中構(gòu)建模型和實驗分析,真實的機房環(huán)境場景對室內(nèi)溫度和濕度有嚴格的要求,不允許出現(xiàn)溫度超出規(guī)定范圍的情況,所以很難實際推廣應(yīng)用.
基于以上分析,本論文提出了一種規(guī)則約束和深度強化學(xué)習(xí)相結(jié)合的控制算法,該算法以保證機房室內(nèi)溫度在要求的范圍之內(nèi)和節(jié)省空調(diào)耗電量為優(yōu)化目標.在保證不產(chǎn)生高溫告警,同時符合機房溫度要求的條件下,利用強化學(xué)習(xí)算法學(xué)習(xí)在不同環(huán)境場景下的最節(jié)能的控制策略.同時設(shè)計了模型自動更新機制,具備持續(xù)學(xué)習(xí)能力,能夠隨著數(shù)據(jù)的積累,不斷改善空調(diào)節(jié)能控制策略,越用越好.該算法已成功應(yīng)用到實際機房環(huán)境,在保證機房室內(nèi)溫度符合要求條件下取得很好的節(jié)能效果.
強化學(xué)習(xí)是一種需要不斷與環(huán)境交互,根據(jù)獎勵反饋調(diào)整模型,最終得最佳策略模型的機器學(xué)習(xí)方法.強化學(xué)習(xí)是一種探索試錯過程.其在機房空調(diào)節(jié)能控制的工作原理如圖1所示,強化學(xué)習(xí)模型從機房及空調(diào)系統(tǒng)環(huán)境中觀測到一個狀態(tài)數(shù)據(jù)St,根據(jù)模型參數(shù)推理計算得到執(zhí)行動作At,把動作At作用到機房及空調(diào)系統(tǒng)環(huán)境中,環(huán)境會發(fā)生變化,達到新的狀態(tài)St+1,同時得到環(huán)境的反饋獎勵Rt+1,強化學(xué)習(xí)模型根據(jù)反饋獎勵優(yōu)化自身參數(shù):某個動作導(dǎo)致機房內(nèi)溫濕度超出規(guī)定或?qū)е驴照{(diào)耗電量增加,就通過調(diào)整參數(shù),減弱輸出該動作的趨勢,反之則會加強輸出該動作的趨勢.通過強化學(xué)習(xí)模型和機房及空調(diào)系統(tǒng)環(huán)境的不斷交互,最終得節(jié)能收益最大化的策略,即最優(yōu)策略.
圖1 強化學(xué)習(xí)在機房空調(diào)節(jié)能控制中的原理
在機房空調(diào)節(jié)能控制場景中,強化學(xué)習(xí)中的狀態(tài),動作,獎勵函數(shù)的設(shè)定如下:
狀態(tài)(state,S):狀態(tài)是從機房及空調(diào)系統(tǒng)環(huán)境中觀測到的信息,需要從機房中安裝的傳感器和設(shè)備工作狀態(tài)數(shù)據(jù)中,選取能夠反映機房環(huán)境變化的特征作為狀態(tài).例如:室外溫度,室內(nèi)溫度,機房負載等都可以加入狀態(tài)空間中.
動作(action,A):動作是強化學(xué)習(xí)模型輸出可控制空調(diào)設(shè)置的集合.輸出動作需要根據(jù)空調(diào)可控參數(shù)和空調(diào)數(shù)量來制定.通常選取空調(diào)開關(guān)機,設(shè)定溫度作為控制動作.
獎勵函數(shù)(reward,R):獎勵函數(shù)是反饋動作作用到機房環(huán)境后造成的影響好壞的評價指標,需要根據(jù)優(yōu)化目標確定.例如控制目標是節(jié)省空調(diào)耗電量,則獎勵函數(shù)可以根據(jù)空調(diào)耗電量值來設(shè)計.
Q-learning是由Watkins提出的最簡單的值迭代(value iteration)強化學(xué)習(xí)算法[9,10].與策略迭代(policy iteration)算法[11]不同,值迭代算法會計算每個“狀態(tài)-動作”的價值(value)或是效用(utility),把這個值叫Q值,其計算如式(1)所示.
其中,st為在t時刻的環(huán)境狀態(tài);Rt+1為在當(dāng)前狀態(tài)st執(zhí)行動作a之后的即時獎勵;γ為折扣因子,表示對長期獎勵回報的權(quán)重;St+1為執(zhí)行動作a到達的新的狀態(tài).
Q-learning算法將環(huán)境狀態(tài)(state)和執(zhí)行動作(action)構(gòu)建成一張Q-table表格來存儲Q值參數(shù),表的行代表環(huán)境狀態(tài)(state),列代表執(zhí)行動作(action)形式如表1所示.對每個狀態(tài)和動作對應(yīng)的Q值的準確估計,是值迭代算法的核心.
表1 Q-table表格形式
Q-learning算法的執(zhí)行流程如圖2所示.
圖2 Q-learning 算法執(zhí)行流程
首先初始化Q-table表,一般把Q值全部初始化為0或隨機初始化,然后算法模型與環(huán)境交互,計算新的Q值,計算方法如式(1)所示.利用新計算的Q值更新原表格中的Q值,為了使Q-table表的迭代更新更加平緩,一般更保守的更新Q-table表,即引入松弛因子變量α,保留一定比例的原Q值,取一定比例新計算的Q值,按式(2)所示更新.
在強化學(xué)習(xí)更新迭代過程中,使用epsilon-greedy算法[12]選擇輸出動作,如圖3所示,以一部分概率隨機選擇動作執(zhí)行,以一部分概率按照貪婪策略,取最大Q值對應(yīng)動作執(zhí)行.在開始階段由于采用隨機初始化或全部初始化為0的方式,所以Q值估計不準,而且為了更好的探索環(huán)境,隨機選取動作的概率較大,隨著學(xué)習(xí)迭代次數(shù)的增加,隨機選取動作的概率逐漸減少,直到降低為0.最終收斂到最優(yōu)策略,在執(zhí)行時選擇某狀態(tài)下最大的Q值對應(yīng)的動作執(zhí)行.
圖3 Epsilon-greedy 算法選擇動作
在電信機房環(huán)境中,傳感器和設(shè)備比較多,狀態(tài)維數(shù)空間非常大,無法利用 Q-learning 算法建立有效的Q-table表格,針對這個問題,Mnih等人在Q-learning算法基礎(chǔ)上提出利用神經(jīng)網(wǎng)絡(luò)取代Q-table表,利用神經(jīng)網(wǎng)絡(luò)對值函數(shù)進行估計,神經(jīng)網(wǎng)絡(luò)的輸入是狀態(tài),輸出是各個動作的Q值,即DQN(Deep Q Network)算法[13,14].全連接神經(jīng)網(wǎng)絡(luò)具有擬合泛化能力強,結(jié)構(gòu)簡單,容易訓(xùn)練等優(yōu)點,所以采用全連接網(wǎng)絡(luò)作為算法存儲單元.假如輸入狀態(tài)有p個,輸出動作空間為n,網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示.
圖4 全連接DQN網(wǎng)絡(luò)結(jié)構(gòu)
在機房熱負荷較小時(機房設(shè)備工作負載較低,并且機房外界溫度較低),無論空調(diào)采用什么設(shè)定動作,機房空調(diào)低負荷運行,耗電量基本相同.或者在機房熱負荷較大(機房內(nèi)設(shè)備工作負載高,外界溫度高)時,無論空調(diào)采用什么設(shè)定動作,空調(diào)總是滿負荷運行,耗電量基本相同.針對以上兩種情況,傳統(tǒng)的DQN算法只能學(xué)習(xí)在同一狀態(tài)下哪種動作設(shè)置是有價值的,無法判定狀態(tài)的價值[15],所以無法對以上兩種情況的Q值進行準確的估計.
Dueling-DQN算法[15]在不改變DQN輸入輸出的情況下,在輸出層之前將網(wǎng)絡(luò)結(jié)構(gòu)拆分為兩個分支:價值估計分支和優(yōu)勢估計分支,分別對狀態(tài)的價值和在該狀態(tài)下不同動作的價值進行估計,然后再把兩個網(wǎng)絡(luò)分支線性合并為輸出層,如式(3)所示.
其中,V為價值函數(shù)估計,參數(shù)為α.A為優(yōu)勢函數(shù)估計,參數(shù)為β,公共隱含層的參數(shù)為θ,網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示.
圖5 Dueling-DQN網(wǎng)絡(luò)結(jié)構(gòu)
Dueling-DQN算法采用把網(wǎng)絡(luò)拆分成價值函數(shù)和優(yōu)勢函數(shù)單獨估計,適用于實際的機房空調(diào)控制場景,能夠在熱負荷較低或較高時也能準確的對Q值進行估計,并且具有很好的泛化能力[15],所以本論文的控制決策部分采用Dueling-DQN算法.
針對機房空調(diào)節(jié)能控制場景,對比幾種常用的強化學(xué)習(xí)算法(DQN,Double-DQN,Dueling-DQN)在機房空調(diào)節(jié)能數(shù)據(jù)集上損失函數(shù)的表現(xiàn)如圖6所示.
圖6 不同深度強化學(xué)習(xí)算法的損失函數(shù)變化
可以看到與DQN,Double-DQN相比,Dueling-DQN算法損失函數(shù)有更快的收斂速度,同時損失函數(shù)的波動較小,表明在機房空調(diào)節(jié)能控制場景中,采用Dueling-DQN算法具有更好的算法穩(wěn)定性和訓(xùn)練性能表現(xiàn).
Dueling-DQN算法由于需要不斷的試錯才能學(xué)習(xí)到最優(yōu)的控制策略,但實際的機房環(huán)境不允許調(diào)控過程使機房室內(nèi)溫度超出規(guī)定的范圍,否則可能會導(dǎo)致機房設(shè)備工作不穩(wěn)定.另外,強化學(xué)習(xí)算法實際應(yīng)用時需要考慮機房環(huán)境發(fā)生變化時,算法模型也要相應(yīng)更新.所以需要結(jié)合實際應(yīng)用場景設(shè)計整個控制系統(tǒng),具體架構(gòu)如圖7所示,首先控制系統(tǒng)會定時采集機房中所有傳感器數(shù)據(jù)并存儲,然后基于采集的傳感器數(shù)據(jù)通過規(guī)則約束分析和Dueling-DQN推理相結(jié)合得到最終的輸出動作,并下發(fā)到實際機房中執(zhí)行.執(zhí)行后可以得到空調(diào)耗電量的獎勵反饋及執(zhí)行動作前后的傳感器狀態(tài),把這些數(shù)據(jù)存儲到存儲庫(memory)中用于Dueling-DQN模型的訓(xùn)練更新.控制系統(tǒng)每天固定時間從存儲庫中提取數(shù)據(jù)進行模型重新訓(xùn)練并替換舊的模型.
圖7 系統(tǒng)總體框架圖
節(jié)能控制決策部分使用Dueling-DQN算法和基于專家經(jīng)驗的規(guī)則約束相結(jié)合的方法輸出最終的執(zhí)行動作.在探索學(xué)習(xí)階段,Dueling-DQN神經(jīng)網(wǎng)絡(luò)模型對Q值的估計還不夠準確,有可能輸出的控制動作會導(dǎo)致機房室內(nèi)溫度超出規(guī)定的范圍,存在安全隱患,真實的機房環(huán)境不允許出現(xiàn)超出溫度范圍要求(一般24-27℃,具體根據(jù)機房管理要求確定)的情況.所以在Dueling-DQN 算法基礎(chǔ)上增加安全規(guī)則約束,讓Dueling-DQN算法在安全范圍內(nèi)運行,同時通過獎勵函數(shù)的設(shè)定,不斷優(yōu)化Dueling-DQN神經(jīng)網(wǎng)絡(luò)參數(shù),使算法決策輸出朝安全節(jié)能的方向進化.
機房空調(diào)不同的設(shè)定動作,輸出的制冷量不同,耗電量也不同.傳統(tǒng)的空調(diào)控制系統(tǒng)根據(jù)室內(nèi)溫度和室外溫度通過規(guī)則約束直接得到了確定的空調(diào)設(shè)置動作輸出,雖然也能滿足機房制冷需求,但不同機房的具體環(huán)境場景,規(guī)則得到的動作不一定是最節(jié)能的.約束規(guī)則如表2所示,其中,a1,a2,a3為在不同室內(nèi)外溫度范圍下空調(diào)可以執(zhí)行的控制動作.
表2 傳統(tǒng)規(guī)則約束動作輸出
本決策系統(tǒng)具體執(zhí)行流程如圖8所示,首先根據(jù)室內(nèi)溫度和室外溫度確定多個可以設(shè)置的安全動作范圍,而不是具體一個設(shè)置動作,這些動作具體執(zhí)行時能滿足機房制冷需求,但是具體哪個動作執(zhí)行后最節(jié)能還需要后續(xù)判斷.具體約束規(guī)則如表3所示.
表3 根據(jù)約束得到安全動作范圍
圖8 規(guī)則約束 Dueling-DQN算法執(zhí)行流程
然后決策系統(tǒng)推理計算Dueling-DQN算法的設(shè)定溫度動作輸出,再判定Dueling-DQN算法設(shè)定溫度輸出是否在上述安全的設(shè)定溫度范圍內(nèi),如果在安全動作范圍之內(nèi),則按Dueling-DQN算法輸出動作執(zhí)行,如果不在安全范圍之內(nèi)則按傳統(tǒng)規(guī)則約束輸出動作執(zhí)行,同時給予該步動作執(zhí)行一個懲罰獎勵.
控制算法在運行時從機房中獲取各種傳感器數(shù)據(jù)作為當(dāng)前狀態(tài)s,經(jīng)過控制決策部分輸出執(zhí)行動作a作用到真實的機房環(huán)境中執(zhí)行,獲取即時獎勵r,機房環(huán)境發(fā)生變化達到新的狀態(tài)st+1,在這個過程中積累一個訓(xùn)練樣本數(shù)據(jù)(s,a,r,s').系統(tǒng)設(shè)計了用于存儲訓(xùn)練樣本的存儲庫,并引入經(jīng)驗回放機制[12]便于模型的離線訓(xùn)練.存儲庫具有固定容量大小,當(dāng)存儲庫存儲滿了之后,再存入新的數(shù)據(jù)時,最先存入到存儲庫中的數(shù)據(jù)會被丟棄,這種機制保證了訓(xùn)練樣本的時效性,保證模型能夠自適應(yīng)機房環(huán)境的變化.
Dueling-DQN算法模型每天固定時間訓(xùn)練更新:首先加載當(dāng)前模型參數(shù),然后從存儲庫中每次隨機提取batch size的數(shù)據(jù)樣本進行訓(xùn)練,訓(xùn)練一定輪數(shù)收斂到更好的模型參數(shù)時,用新模型替換舊模型.這種模型更新機制既能使模型繼承原來的部分策略又能根據(jù)機房環(huán)境的變化更新策略,能夠自適應(yīng)處理隨季節(jié)變化,機房設(shè)備性能衰減導(dǎo)致的控制策略變化.
選擇電信某機房作為實驗環(huán)境,該機房有一臺定頻空調(diào)設(shè)備,送風(fēng)方式為上通風(fēng),機房建筑面積33.86 m2,機房設(shè)備工作總負載為6.6 kW左右,熱量來源包括3個方面:太陽輻射,室內(nèi)外溫度差,設(shè)備工作散熱.該機房維護管理要求室內(nèi)溫度保持在20-25℃之間,機房示意圖如圖9所示.
圖9 機房熱平衡示意圖
實驗前在空調(diào)和其他工作設(shè)備上安裝電表,統(tǒng)計空調(diào)耗電量和機房設(shè)備總工作負載; 并在機房外面安裝一個溫濕度傳感器; 室內(nèi)安裝兩個溫濕度傳感器; 通過監(jiān)控系統(tǒng)可以獲取室內(nèi)外溫濕度數(shù)據(jù),設(shè)備耗電量和功率數(shù)據(jù),空調(diào)運行狀態(tài)數(shù)據(jù).
在實際應(yīng)用中,需要根據(jù)機房實際情況確定控制系統(tǒng)中的各個參數(shù),才能使算法正常運行,主要包括以下參數(shù)設(shè)定:Dueling-DQN模型輸入?yún)?shù)選擇,控制輸出動作范圍設(shè)定,算法獎勵函數(shù)設(shè)定,模型訓(xùn)練和更新參數(shù)設(shè)定.
(1)Dueling-DQN模型輸入?yún)?shù)選擇
根據(jù)機房熱量來源和與節(jié)能控制相關(guān)性分析,選擇室外溫濕度,室內(nèi)平均溫度,室內(nèi)平均濕度,天氣狀況,門禁狀態(tài),空調(diào)工作狀態(tài),機房設(shè)備總負載功率作為輸入特征,這里設(shè)定數(shù)據(jù)采樣頻率為1次/min(當(dāng)然也可以提高采集頻率,要綜合考慮數(shù)據(jù)采集設(shè)備的承受能力),選取最近60 min以上特征的歷史數(shù)據(jù)作為模型輸入.具體特征介紹如下:
機房室外溫濕度:通過機房外墻溫濕度傳感器采集得到,包括濕度和溫度數(shù)據(jù).
室內(nèi)平均溫濕度:室內(nèi)兩個溫濕度點位的平均值,包括溫度和濕度數(shù)據(jù).
天氣狀況:通過氣象接口獲取,包括晴,陰,多云,雨等不同狀態(tài).
門禁狀態(tài):通過監(jiān)控系統(tǒng)中門禁設(shè)備采集到的工作狀態(tài),判定機房門是打開還是關(guān)閉.
空調(diào)工作狀態(tài):空調(diào)運行狀態(tài)數(shù)據(jù),包括送風(fēng)溫度,回風(fēng)溫度,設(shè)定溫度,壓縮機工作狀態(tài).
機房設(shè)備總負載功率:通過機房中所有工作設(shè)備的電表采集到的功率值相加得到.
(2)控制輸出動作范圍設(shè)定
控制動作是作用在機房空調(diào)上的,不同品牌的空調(diào),可以進行控制的控制操作不同,這里我們空調(diào)品牌是愛默生,可進行的控制動作包括:空調(diào)開關(guān)機和設(shè)定溫度調(diào)節(jié)(調(diào)節(jié)范圍為20-26℃),通過監(jiān)控系統(tǒng)可以把控制動作下發(fā)到空調(diào)執(zhí)行.
(3)Dueling-DQN算法獎勵函數(shù)設(shè)定
為了確保算法能朝著減少空調(diào)耗電量方向優(yōu)化,并且在規(guī)定的安全約束內(nèi)運行,設(shè)計的獎勵函數(shù)分為兩部分,公式為R=-P+S,-P是空調(diào)在一個交互周期中的耗電量,優(yōu)化目標是減少空調(diào)耗電量所以取負值.S是安全約束獎勵,在安全約束范圍之內(nèi)取0,在安全約束之外取-|T上限-t下限|,其中,T上限和t下限分別是安全約束要求的上限和下限溫度.
(4)算法模型訓(xùn)練和更新參數(shù)設(shè)定
Dueling-DQN算法模型神經(jīng)網(wǎng)絡(luò)部分使用的是全連接神經(jīng)網(wǎng)絡(luò),包括兩個公共隱含層,神經(jīng)元節(jié)點數(shù)都為20.價值函數(shù)分支包括一個隱含層,節(jié)點數(shù)為10,優(yōu)勢函數(shù)包括一個隱含層,節(jié)點數(shù)為20,具體結(jié)構(gòu)如圖5所示.實驗驗證過程中,Dueling-DQN算法其他超參數(shù)設(shè)定如表4所示.
本文所述空調(diào)節(jié)能控制系統(tǒng)的一個創(chuàng)新點就是能夠在原有模型基礎(chǔ)上繼續(xù)訓(xùn)練優(yōu)化策略得到新的模型,新的模型即保留了舊模型部分策略,又根據(jù)機房環(huán)境的變化添加或替換部分策略,更適應(yīng)當(dāng)前機房環(huán)境,實現(xiàn)模型的自適應(yīng)更新,同時也能減少重新訓(xùn)練所消耗的計算資源.為了驗證模型根據(jù)新數(shù)據(jù)更新策略的同時保留舊的策略,進行以下實驗,通過觀測模型損失函數(shù)的變化驗證以上特性.
首先進行第1個實驗,選取100個樣本數(shù)據(jù),訓(xùn)練200輪,得到損失函數(shù)隨著訓(xùn)練輪數(shù)的變化趨勢,如圖10所示,可以看到模型損失函數(shù)隨著訓(xùn)練輪數(shù)的增加逐漸收斂到一個固定的值,說明模型得到了一個穩(wěn)定的控制策略.然后進行第2個實驗,先選取100個樣本數(shù)據(jù),訓(xùn)練200輪; 然后再加載訓(xùn)練好的模型,選取100個新的樣本數(shù)據(jù),再訓(xùn)練200輪; 然后再加載訓(xùn)練好的模型,再選取100個新的樣本數(shù)據(jù),再訓(xùn)練200輪;總共訓(xùn)練600輪,損失函數(shù)隨訓(xùn)練輪數(shù)的變化趨勢如圖11 所示,可以看到,在200輪,400輪加入新的數(shù)據(jù)繼續(xù)訓(xùn)練時,模型損失函數(shù)雖然略有上升,但整體峰值逐漸下降,模型能夠根據(jù)新數(shù)據(jù)學(xué)習(xí)到新的策略,同時保留歷史訓(xùn)練數(shù)據(jù)的得到的策略.
圖10 初始訓(xùn)練200輪損失函數(shù)變化
圖11 加載模型繼續(xù)訓(xùn)練損失函數(shù)變化
假設(shè)每增加100個樣本需要訓(xùn)練200輪,每一輪訓(xùn)練占用的計算資源和消耗時間相同,隨著新數(shù)據(jù)的不斷增加,如果每次都采用全部數(shù)據(jù)重新訓(xùn)練,那么模型訓(xùn)練時間會成倍增加,當(dāng)模型訓(xùn)練時間大于控制間隔時間,新的控制策略無法及時部署,會對下一次的控制策略產(chǎn)生影響,所以模型根據(jù)新的數(shù)據(jù)繼續(xù)訓(xùn)練更新很有必要.
為了證明本文所述Dueling-DQN控制算法具有節(jié)能效果,我們對比采用Dueling-DQN控制算法和不采用該控制算法機房空調(diào)耗電量,這里把采用Dueling-DQN算法的運行方式稱為節(jié)能控制模式,把不采用Dueling-DQN算法的運行方式稱為傳統(tǒng)運行模式,也即是機房原來的默認設(shè)置(空調(diào)設(shè)定溫度為固定值,例如空調(diào)開機設(shè)定20℃).機房按照以下方式運行:奇數(shù)天按Dueling-DQN算法調(diào)控運行,偶數(shù)天按傳統(tǒng)默認設(shè)置運行,運行一個月時間,統(tǒng)計耗電量數(shù)據(jù)如表5所示,經(jīng)過一個月數(shù)據(jù)實驗對比,傳統(tǒng)運行模式平均每天耗電量37.61 kWh,節(jié)能控制模式平均每天耗電量30.72 kWh,平均節(jié)能百分比為18.3%.受季節(jié)因素影響,在冬天室外環(huán)境較冷的情況下,節(jié)能效果會更好,夏天節(jié)能效果會稍差.
表5 耗電量數(shù)據(jù)對比
從表3中取室外溫度接近,機房負載接近的兩種運行模式的數(shù)據(jù)進行對比,如圖12所示,在室外溫度基本相同,節(jié)能控制模式總負載功率與傳統(tǒng)運行模式接近(部分時間段負載更高)的情況下,空調(diào)耗電量反而更低,并且能夠保證室內(nèi)溫度在安全約束范圍之內(nèi)(20-25℃),說明節(jié)能控制算法能夠?qū)W習(xí)到較好的節(jié)能控制策略.
圖12 不同模式運行對比圖
把兩種運行模式的數(shù)據(jù)分開來看,圖13為采用Dueling-DQN算法的節(jié)能控制模式,可以看到空調(diào)設(shè)定溫度動作是在動態(tài)變化,算法模型會根據(jù)外部數(shù)據(jù)的變化動態(tài)調(diào)整空調(diào)設(shè)定溫度(例如機房室外溫度升高,機房負載功率升高時,設(shè)定溫度降低,提供更多的制冷量).而傳統(tǒng)運行模式,如圖14所示,并沒有結(jié)合其他傳感器數(shù)據(jù)的動態(tài)調(diào)節(jié),空調(diào)設(shè)定溫度一般是人為設(shè)定的一個固定值,并且為了應(yīng)對可能的高溫天氣和設(shè)備負載突然升高,一般會設(shè)定到一個較低的值,提供有冗余的制冷量輸出.本實驗驗證作為對比的傳統(tǒng)運行模式的空調(diào)設(shè)定溫度為20℃,當(dāng)然也可以把對比的傳統(tǒng)運行模式空調(diào)設(shè)定溫度調(diào)整到21℃或更高,對應(yīng)的節(jié)能百分比也會降低,但風(fēng)險也會增大,而且這種改變是在我們經(jīng)過數(shù)據(jù)分析這個先決條件之后得到的,所以本論文采用空調(diào)設(shè)定溫度為20℃作為傳統(tǒng)運行模式.
圖13 節(jié)能控制模式運行數(shù)據(jù)圖
圖14 傳統(tǒng)運行模式運行數(shù)據(jù)圖
本論文提出了基于規(guī)則約束的強化學(xué)習(xí)節(jié)能控制算法,設(shè)計基于規(guī)則約束的強化學(xué)習(xí)探索和執(zhí)行方法,保證模型運行過程中輸出動作的安全可靠.結(jié)合電信機房應(yīng)用場景,采用Dueling-DQN算法,提高在機房負荷較低或較高的情況下模型的訓(xùn)練的速度和表達能力.設(shè)計模型自動更新機制,根據(jù)新數(shù)據(jù)持續(xù)優(yōu)化網(wǎng)絡(luò)模型,使節(jié)能效果越來越好.本論文提出的機房空調(diào)控制方法解決了強化學(xué)習(xí)在實際應(yīng)用中的問題:學(xué)習(xí)過程中安全性問題,模型自動更新問題.控制算法具有很好的推廣應(yīng)用能力,通過對控制參數(shù)的簡單修改可以推廣到鐵塔機房,基站機房,大型IDC機房等場景.