王 悅, 陳建平, 傅啟明1,, 吳宏杰1,, 陸 悠1,
1(蘇州科技大學 電子與信息工程學院, 蘇州 215009)
2(蘇州科技大學 江蘇省建筑智慧節能重點實驗室, 蘇州 215009)
3(蘇州科技大學 蘇州市移動網絡技術與應用重點實驗室, 蘇州 215009)
4(珠海米棗智能科技有限公司, 珠海 519031)
可持續發展和低碳經濟逐漸成為這一代人最重要的挑戰之一[1].斯帕思(Jamm Gustare Spath)認為: “可持續發展就是轉向更清潔、更有效的技術——盡可能接近“零排放”或“密封式”, 工藝方法——盡可能減少能源和其他自然資源的消耗”[2].因此, 如何減少能源消耗及碳排放量是實現可持續發展和低碳經濟需要考慮的現實問題.據統計, 在世界能源消耗和二氧化碳排放方面, 建筑占比較高.例如, 2018年美國和歐洲的建筑業分別占能源消耗的39%和40%, 二氧化碳排放量占比則分別為38%和36%[3].建筑作為主要的能源消耗者,其中電能是主要的消耗部分.美國能源部(DOE) 2018年1月報告的最新月度電力數據表明, 商業和住宅建筑的電力消耗占美國所有發電量的77.5%[4].所以降低建筑電力能源消耗和減少建筑碳排放至關重要.建筑負荷曲線是指建筑物電力負荷隨時間的變化曲線.建筑負荷曲線預測有很多作用, 如建筑節能策略診斷(識別不必要的浪費)、改善供應管理以及需求響應規劃和定價[5].因此建筑負荷曲線預測對于合理減少能源消耗發揮著重要的作用.
由于建筑負荷曲線預測可以產生有用的信息并且應用范圍很廣, 早在20世紀60年代就已經開始了能源預測性能方法的研究[6].2015年Fonseca等人提出了一個綜合模型來描述社區和城區的時空建筑能耗模式.該模型使用空間(使用地理信息系統、地理信息系統的建筑位置)和時間(h)維度分析計算了住宅、商業和工業部門的電力和溫度需求[7], 然而, 在模擬時, 用戶可能未提供準確詳細的輸入數據, 導致最終的預測性能偏差.另一方面, 數據驅動的建筑能耗預測模型不需要有關模擬建筑的詳細數據, 而是從真實數據中學習并進行預測, 因此, 近年來數據驅動的能源消耗預測得到了大量的研究關注[8], 2017年方濤濤等人對于傳統神經網絡預測精度低的問題, 提出一種BP-Adaboost的預測算法, 該方法將多個神經網絡組成為一個強預測器, 其有效提高了能耗預測精度[9].2020年鄒峰等人提出一種DGQL的預測算法, 其通過將生成對抗網絡與Q學習相結合以提升能耗預測精度[10].現實中短期能耗預測任務中往往已知部分前序時刻數據, 要求預測后序能耗序列值, 面對如何利用已知能耗序列提升預測精度的問題, 利用LSTM網絡的解決方案效果較好.不過由于其后序能耗值與前序能耗值有相當大的關系,模型通常在前序能耗值的基礎上預測后序能耗值, 如果前序能耗值誤差較大, 后序能耗值在此基礎上預測也會有較大誤差, 因此該模型往往會由于一個預測值的誤差導致后序預測值整體的誤差.總之, 在建筑能耗預測研究領域, 研究者們提出各種不同的方法去預測建筑能耗以提升建筑能耗精度或者降低預測模型的使用復雜度.
本文在GAN (Generative Adversarial Networks)的基礎上提出了基于強化學習的生成對抗網絡(Reinforcement learning-based Generative Adversarial Networks, Re-GAN)算法, 并用于建筑節能預測問題, 以進行高精度能耗序列預測.Re-GAN算法在GAN的基礎上進行改進, 用強化學習優化GAN, 即把GAN的過程描述為一個MDP過程.具體方法為: 將GAN中的生成器作為強化學習中的Agent, 將GAN中的判別器輸出作為強化學習中的獎賞函數.訓練時, 該算法用真實能耗序列訓練網絡; 預測時, 該算法可以選擇通過向模型輸入已知真實值作為預測值, 以提升待預測序列中之后時刻能耗預測值的準確度.模型通常將在前序能耗值的基礎上預測后序能耗值, 所以如果前序能耗值誤差較大,后序能耗值在此基礎上預測也會有較大誤差, 但由于該算法中生成器的目標是生成整體誤差更小的能耗序列, 因此面對單個預測值誤差對后序預測值的誤差影響, 該方法可較大限度地避免誤差累計.實驗表明, 相較于多層感知機(MLP)、門控循環神經網絡(GRU)、卷積神經網絡(CNN)等模型, 本文所提出模型可以較為準確的捕捉到能耗曲線的起伏變化、有效的消除顯著誤差的影響, 是一種有效的建筑能耗預測方法.
自2014年Goodfellow提出生成對抗網絡GAN以來[11], 許多研究學者加入其中, 并將其主要應用于音樂、詩歌生成等方面.同時, 又在其基礎上提出條件生成對抗網絡(CGAN)[12]、深度卷積神經網絡(DCGAN)[13]、Wasserstein生成對抗網絡(WGAN)[14]、序列生成對抗網絡(SeqGAN)[15]等.GAN起源于二人零和博弈: 在利益之和不變的情況下, 兩個智能體互相提升自己能力以期待獲得更高的利益, 當兩個智能體都發現改變自己策略不能獲得更多利益時, 博弈結束, 最終的結果是兩個智能體的能力均有提升, 達到納什均衡[16].
GAN的目的是在提供真實數據的情況下訓練生成器和判別器, 使生成器生成更貼近真實數據分布的生成數據.GAN模型如圖1所示, 其包含兩個智能體:生成器Generator (生成器G)和判別器Discriminator(判別器D).

圖1 生成對抗網絡
生成器G負責將其隨機產生的多維向量z轉化為與Xreal相同數據格式的Xg數據集.Xreal數據集需要事先提供, 如: 統一格式的圖片、統一格式的詩歌、統一格式的音樂等, 統一格式指的是輸入電腦的數據尺寸大小, 例如將圖片作為Xreal數據集, 則可統一格式為RGB模式下的64×64像素.
判別器D負責判別數據真假與否.真實數據集Xreal和生成器生成的Xg數據集共同作為判別器D的輸入.假設x為Xreal或Xg數據集的一條數據, 判別器D在不知x所屬數據集的情況下對其打分.打分高低依賴于判別器D判別出的x與真實數據相似程度.即x與Xreal數據集越接近, 分數越高; 否則分數較低.
生成器G的目標是使生成數據被判別器D判別為真; 而判別器D的目標是對輸入數據能夠進行準確分類, 即屬于Xreal數據集的數據被判高分、屬于Xg數據集的數據被判低分.
強化學習(Reinforcement Learning, RL)通過與場景交互, 在動作空間中選取合適的動作去應對以獲取最大的獎賞.
強化學習模型如圖2所示, Agent在一定程度上能夠感知環境Environment的部分狀態, 感知到的狀態稱之為State, 此時Agent需要產生可以影響環境的動作Action, 產生動作Action之后Agent會收到由環境給與的反饋Reward.由于Agent產生了可以影響環境的動作, 因此環境產生變化, Agent會獲得新的環境狀態,此時又可在新狀態的基礎上產生新的動作以此循環與環境進行交互, 直到達到設定的結束條件即可結束交互.

圖2 強化學習
由于在交互初期已設定好一個或多個與環境狀態有關的目標, 此目標不斷訓練Agent使Agent可獲取整個交互的最大獎賞.因此, 訓練后的Agent不應只考慮當前單個動作的獎賞Reward, 還應考慮整體交互的獎賞和, 使得整體獎賞值最大.即Agent選取動作不僅看重當前獎賞值Reward, 更應看重長期整體的獎賞值.
將GAN網絡應用于建筑能耗預測的傳統模式基本為: 將大量統一格式的能耗序列作為Xreal數據集,GAN中生成器G將自身隨機產生的多維向量轉化成和Xreal數據集一樣長度的序列, 生成器生成的能耗序列組成Xg數據集.作為GAN中的判別器, 其只能接收完整的序列數據進行判別并給出得分, 判別器接受完整的序列數據進行判別, 若分數接近于1則更偏向于認為是來自真實數據集Xreal, 若分數接近于0則更偏向于認為是來自生成器G.在不斷訓練后, 使得生成序列分布接近真實能耗序列分布.
由于GAN的預測輸出格式是固定的完整能耗序列, 若在生成過程中已知能耗序列中部分數據x1:k={t1,t2,···,tk}(k為已知能耗數據的數量), 要求預測之后時刻能耗數據tk+1或者 {tk+1,tk+2,···,tn}(n為能耗序列的標準長度), 這種情況只是通過GAN應用到建筑能耗預測的傳統模式是無法做到的, 因為模型規定的生成器G是沒有輸入, 生成器只是根據自己隨機生成的向量去轉化為統一格式且分布和真實數據相似的生成序列.所以, 面對當前序列中已有的部分時刻能耗資源,如何將其利用使預測值精度更高是該研究的出發點.
Re-GAN方法通過將強化學習與GAN相結合, 用真實能耗序列訓練網絡, 且可以通過向模型輸入待預測序列中已知的部分前序值以提升待預測序列中之后時刻預測值的準確度.在此之前, GAN結合強化學習的方法主要運用于文本生成、音樂生成等, 如SeqGAN[15].
面對建筑能耗預測問題, 劃分一個時間長度并將其時間內的能耗值數量作為建筑能耗序列的標準長度.若已知部分真實能耗序列要求預測未來能耗值, 提出了Re-GAN算法, 該方法建模如下:
(1)若將n作為序列的標準長度, 則真實能耗序列表示為:xreal={T1,T2,···,Tn},Xreal表示真實能耗數據集;
(2)則由生成器生成的序列表示為:xg={t1,t2,···,tn};Xg表示生成能耗數據集;
(3)在生成器生成能耗值的過程中, 若k代表已知能耗序列的長度, 則已知的生成能耗序列表示為:x1:k={t1,t2,···,tk},k∈ [1,n], 則完整的生成能耗序列表示為:x1:n={t1,t2,···,tn}, 易知x1:n=xg.
如圖3所示, 在強化學習中Agent作為智能體決策時, 環境是當前已知的能耗序列x1:k; 接收到的狀態是當前已知能耗序列x1:k, 做出的下一個動作是下一時刻的能耗預測值即tk+1(將[tmin,tmax]按照等間隔劃分且間隔數自定,tk+1在其中取值); 由此可推出Agent做出選擇動作tk+1以后, 環境變為x1:k+1={t1,t2,···,tk+1},返回給Agent的狀態是x1:k+1, 之后Agent再選擇動作tk+2, 環境又被變為x1:k+2; 直到選擇最后一個動作tn時,環境變為x1:n={t1,t2,···,tn}, Agent結束與環境的交互,獲得完整生成序列x1:n.此時此完整序列xg=x1:n作為生成器的輸出.由于生成器需要Reward作為選擇每個動作的獎賞以優化網絡, 因此設定GAN中判別器的輸出作為Reward.

圖3 強化學習的網絡結構
如圖4所示, 將GAN中的生成器作為強化學習中的Agent, 將GAN中判別器的輸出作為強化學習中的獎賞.由于判別器D只接受和真實序列格式一樣的序列, 則Agent只有將序列生成完畢、獲得完整的生成序列xg時, 判別器D才會接收xg返回給Agent相應的Reward.

圖4 Re-GAN算法的網絡結構
由于GAN模型的目標函數可以表示為式(1), 原文章已證明其收斂[11].公式左邊加項為判別器判別真實數據集數據的分值, 越接近于1代表判別器更認為來自于真實數據集; 公式右邊加項為判別器判別生成器生成數據的分值與1的差距(D(x)∈[0,1]).訓練過程分為兩個步驟交替循環, 在保持生成器G不變的情況下, 優化判別器使目標函數值更大; 接下來在保證判別器D不變的情況下, 優化生成器使目標函數值更小.

由此得出判別器D的損失函數如式(2), 當判別器對來自真實數據集的數據判別分數越高、生成數據集的數據判別分數越低時, 表明判別器判別能力越好, 同時損失函數的值也越小.判別器的具體流程如圖5所示.


圖5 Re-GAN的判別器
根據式(2)可得出生成器的損失函數如式(3)所示, 判別器對生成的能耗數據判別分數越高, 生成器的損失函數值越小, 同時表明生成器的生成的數據更加接近真實數據.

但由于生成器G的訓練依賴于判別器D提供的評判分數, 如何利用強化學習訓練生成器生成完整能耗序列以及如何利用判別器評判分數優化生成器,這一系列問題正是強化學習與GAN結合的難點.
由于GAN中優化生成器的方法是使損失函數更小, 即使Ex~Xg[D(x)]的值更大, 且在強化學習中要求使Agent即生成器獲得的整體獎賞更大, 因此對于生成序列, 將D(x)作為整體獎賞.整體獎賞D(x)更大時, Agent的獎賞R更大, 同時使生成器gloss的損失函數更小.
由此, 若定義Gθ是網絡參數為θ的生成器G, 則求的過程被轉化為求的過程, 由于Rθ具有隨機性(生成器和判別器均有隨機性), 所以通過整體獎賞的期望值來判定Gθ的生成能力的優良, 即轉化訓練目標為如式(4)所示,τ=x1:n表示生成序列的一種可能性或者說生成器生成的一個完整序列, 每種τ出現的可能性依賴于θ,Gθ的期望獎賞計算方法是將生成器所有可能出現的τ的獎賞與每種τ出現的概率相乘并求和.實際訓練過程中是讓生成器參數不變的情況下生成M個τ, 然后求所有τ的獎賞均值.

由于對生成器采用策略梯度的方法, 將更新后的參數表示為θ*, 因此,η表示為更新參數θ*的步長或學習率.則在梯度下降過程中,,其中, 學習率η為超參數, 在訓練時需提前設置, 而網絡參數θ的取值依賴于的求解.
此外, 由于R(τ)的取值與θ無關, 因此在式(4)的基礎上求概率梯度, 得式(5).其中, 求解梯度的數值需轉化為對數形式, 并將其中所有可能出現的τ的獎賞與每種τ出現的概率相乘并求和的過程轉化為采樣M次τ求均值的過程.其中首先求解梯度的數值轉化為對數形式, 然后最后一步將其中所有可能出現的τ的獎賞與每種τ出現的概率相乘并求和的過程轉化為采樣M次τ求均值的過程.

如圖6所示, 在已知序列x1:k的情況下生成器一步步生成每個序列點, 其中每一行生成器生成一個序列點.如圖中第一行表示, 在已知序列x1:k作為State的基礎上產生動作tk+1, 其選擇概率是P(tk+1|x1:k,θ).此時下一個狀態是確定的為x1:k+1, 相應下一個動作概率為P(tk+2|x1:k+1,θ), 直至最后一個動作概率為P(tn|x1:n-1,θ),因此實際應用時獲得的是已知序列x1:k, 而訓練網絡則是從0開始生成序列, 因此, 此時可得式(6)和式(7).


圖6 Re-GAN的生成器
如果用整體序列的獎賞R(τ)代表該序列中每一個動作的好壞稍有不妥, 故采用蒙特卡洛搜索[17]的方法,R(ti|x1:i-1)表示在x1:i-1狀態下產生ti所達到的下一個狀態的好壞程度.
由于下一個狀態必是x1:i, 因此R(ti|x1:i-1)=R(x1:i),此時定義即在x1:i狀態下采樣出J個完整序列并求其獎賞均值.將R(x1:i)代入公式可得式(8), 并根據式(9)更新網絡參數θ.

Re-GAN算法需要預訓練判別器D, 之后訓練過程分為兩個步驟以交替循環訓練, 第一步在保持生成器G不變的情況下, 優化判別器使目標函數值更大; 接下來在保證判別器D不變的情況下, 優化生成器使目標函數值更小.由于生成器較判別器不易收斂, 所以設置訓練一次判別器后再訓練g_steps次生成器.下面給出詳細的Re-GAN算法流程, 如算法1所示.

算法1.基于強化學習的生成對抗網絡算法1.預訓練判別器D;2.初始化 Gθ、Dβ的權值;3.令 θ'=θ;4.For(i=1; i<= epochs; i++){5.#訓練判別器D 6.將xreal中的采樣序列和生成器G的生成序列混合;7.訓練判別器D以最小化dloss;8.#訓練生成器G 9.For(j=1; j<=g_steps; j++){10.利用Gθ生成序列x1:n;11.For(k=1; k<= n; k++){12.利用Gθ計算R(x1:k)13.}images/BZ_164_701_1455_755_1489.png14.采用梯度下降方法利用 優化Gθ;15.θ'=θ;16.}17.}
算法1給出模型的訓練過程, 主要包括了初始化和循環訓練判別器、生成器過程.其中生成器由循環神經網絡實現、判別器由全連接神經網絡實現.初始化生成器和判別器的超參數后進行模型訓練.模型訓練是一個逐步地優化過程, 在此模型中每次訓練分為兩步, 先訓練判別器, 之后訓練生成器.
通常生成器較判別器不易收斂, 所以設置訓練一次判別器后再訓練g_steps次生成器.訓練判別器時注意需要將生成器G的參數設置為不可跟蹤, 這樣生成器的生成數據分布固定, 且真實數據的分布必然固定,以此才可訓練判別器優化判別能力, 否則極有可能在優化判別器的同時使生成器的生成能力降低[18].
訓練生成器的過程也是求 ?Rˉθ的過程, 以通過來更新生成器Gθ, 由于其中的R(x1:i)對于求梯度來說是一個系數且較難計算(每個R(x1:i)的時間復雜度為J), 所以對于序列x1:n, 先將R(x1:i)求出, 再用式(8)求梯度以優化生成器網絡.
本文實驗環境為Python 3.6, tensorflow-gpu 1.12,NVIDIA GFORCE GTX980, Windows 10操作系統.實驗所用的數據集來自建筑數據基因組項目[19], 在共享的507棟建筑性能相關數據集中, 每棟建筑數據包括整棟建筑每小時的電表數據和各種特征元數據, 如總建筑面積、主要用途類型、天氣信息和行業.本文選取其中一棟建筑唐寧街綜合大樓的數據進行實驗(https://platform.carbonculture.net/assets/10-downing-street/).
唐寧街綜合大樓是一棟四層的一級和二級磚砌的格魯吉亞排屋, 其中唐寧街10號分享其可持續發展數據, 以便每個人都能幫助確定新的儲蓄并提出改進建議.選取其2012年1月1日至2018年12月31日共6年的數據作為本文實驗中的真實數據集, 將其中2012年至2017年的數據作為訓練集、2018年的數據作為測試集(能耗數據按小時采集, 每天24次).
圖7展示的是2017年1月共31天的能耗數據、圖8展示的是2017年1月8日至1月14日共7天的能耗數據, 橫坐標是時間單位, 縱坐標是全樓用電, 用WBE (the Whole-Building Electricity)表示, 其中可以明顯看出工作日與能耗之間的大致關系.

圖7 2 017.1.1-2 017.1.31能耗實際值

圖8 2 017.1.8-2 017.1.14能耗實際值
按照所選取訓練集, 將其轉化為按天為單位的能耗曲線, 其行表示為該棟建筑的每一天, 列為該棟建筑一天中24小時的能耗值.首先使用LoadShape模型和相關的Python庫, 通過刪除總異常值和填充小間隙來清理每個儀表數據集.
本文關注基于時間序列的能耗數據變化, 且為了固定模型學習中的預測范圍, 故通過每年的峰值負荷標準化建筑的日負荷曲線, 并將真實能耗數據值進行歸一化處理, 處理后數據范圍是[0,1].用表示單個真實能耗數據,Tmax代表年能耗數據(刪除總異常值后)的最大值,Tmin代表年能耗數據(刪除總異常值后)的最小值.那么歸一化后的數據Tk可表示為式(10):

本文將Re-GAN與MLP、GRU和CNN進行比對.且不同方法對應的訓練數據集均為預處理之后的訓練集, 以體現實驗的公平性.
選取平均絕對百分比誤差MAPE和均方根誤差RMSE作為評價指標, 其表達式為式(11)和式(12):

其中,n表示預測能耗序列的長度,Tk和tk分別表示每個序列點的真實能耗值和預測能耗值.MAPE范圍是[0, +∞),MAPE為0表示為完美模型,MAPE越大表示預測效果越差.同時MAPE公式要求真實數據不能存在等于0的情況, 從圖7可以看出能耗值不存在等于0的情況且能耗數據極小值不為0, 因此此評價標準可用.此外, 將數據去歸一化處理后用RMSE評估, 這時RMSE評價標準可直觀的表示預測的平均誤差數值, 比如RMSE=5, 可以認為預測序列相比真實序列平均差5.MAPE和RMSE都是數值越小表示能耗預測結果越準確.
本文對唐寧街綜合大樓的數據集進行訓練, 將2012年-2017年的數據作為訓練集, 2018年的數據作為測試集.為了研究本文Re-GAN算法的預測效果, 設置MLP、GRU、CNN幾種算法作為對比.
表1為4種算法在相同訓練集上的預測誤差.通過表1可知, 4種算法在相同訓練集上預測結果的RMSE值比較接近, 說明它們對訓練集數據具有相似的數據擬合效果.而后通過檢驗在測試集上的預測效果比較各個算法的泛化能力.

表1 不同方法下預測的誤差對比(訓練集)
表2為4種算法在相同測試集上的預測誤差.通過表2可知, 各個模型在測試集上的預測準確度有較大的差別, 實驗選取5個星期的能耗數據進行預測, 發現MLP、GRU、CNN、Re-GAN方法最終預測結果的RMSE均值分別為5.50、4.42、4.34、2.67.Re-GAN方法較其他預測方法在MAPE上分別降低了5.91%、4.11%、3.9%; 相比于其他方法在RMSE上分別降低了51.45%、39.59%、38.48%.綜合分析, Re-GAN方法在MAPE和RMSE指標上都有明顯的下降, 且具有較好的泛化性能, 表明在預測過程中整體預測精度和模型性能都有較大的提升.

表2 不同方法下預測的誤差對比(測試集)
分析得出, 采用GRU方法預測能耗數據在訓練集上雖然有很高的訓練精度, 但是在面對未學習過的數據集(測試集)時表現的效果不是很理想, 泛化能力較差.一部分原因是循環神經網絡一個序列位置的輸出受之前預測值的影響, 誤差極有可能累計或者很有可能發生相位偏移, 從而導致預測準確度不高.采用CNN方法預測的平均絕對百分比誤差和均方根誤差相較于GRU均有所降低, 但預測效果仍有待提高.
Re-GAN算法從整體時間序列角度出發, 以強化學習中的獎賞為目標, 試圖獲得更高的總獎賞值.值得注意的是即使出現準確度較低的一個點, 下一個預測值也不會受太大的影響, 因為此時模型選取的下一個預測能耗值是為獲取更高的獎賞總和, 即模型受之前單個預測值誤差的影響較小.因此在面對峰值時Re-GAN算法預測效果更好.
表3為Re-GAN算法在相同測試集上不同輸入量的誤差對比.通過表3可知, 用Re-GAN方法輸入不同數量的輸入值其預測精度也會有所不同.

表3 Re-GAN方法不同輸入量誤差對比(測試集)
Re-GAN算法增加了利用已知真實能耗數據提升預測精度的功能.在不同已知輸入序列條件下,MAPE值也有不同, 如表3所示, “8個”代表在Re-GAN方法下輸入前8個小時已知值, 同理, “12個”“16個”代表在Re-GAN方法下輸入前12個小時、前16個小時的已知值.因此在Re-GAN方法下輸入0小時已知值、輸入8個小時已知值、輸入12個小時已知值和輸入16個小時已知值的MAPE均值分別為6.25%、5.90%、5.70%、5.13%.可以得知: 本文算法下已知輸入序列越多,MAPE誤差均值越小.
總體來看, 與MLP、GRU、CNN相比, Re-GAN在MAPE和RMSE評價指標上均具有明顯的下降, 同時輸入已知序列更能降低預測的誤差.表明在預測過程中Re-GAN方法具有更高的預測性能和穩定性, 是一種可行的建筑能耗預測方法.
為了更清晰直觀的表示各算法的預測效果, 圖9展示了2018年3月12日用不同方法預測能耗的對比圖, 此時Re-GAN無輸入數據.
根據圖9可知Re-GAN算法預測的能耗序列更接近于真實能耗序列值, 預測效果較好, GRU算法在峰值處能耗值稍有延遲, MLP預測效果較差, 雖然可以預測出能耗曲線的起伏變化, 但其預測值稍低且峰值處不明顯.CNN效果僅次于Re-GAN, 在能耗曲線上有偏離但起伏狀態能準確地捕捉到.因此, 相較于其他模型,Re-GAN模型可以較為準確的捕捉到能耗曲線的起伏變化, 有效的消除顯著誤差的影響, 是一種有效的建筑能耗預測方法.

圖9 不同方法下預測值與真實值的對比(2 018.3.21)
本文提出了一種將強化學習與GAN結合的Re-GAN算法能耗預測模型, 該模型將GAN中的生成器作為強化學習中的智能體Agent、將GAN中的判別器作為強化學習中的獎賞函數, 其中Agent每一序列點的預測目標都是使序列整體的誤差更小.根據模型的特點可通過輸入已知能耗數據提升預測準確度.本文將Re-GAN算法和MLP、GRU、CNN這3種方法進行對比, 提出的預測模型能夠獲得更小的預測誤差,且隨著已知能耗數據的增加預測誤差更小.
本文的預測對象主要是長度較短的能耗序列, 然而, 對于較長的能耗序列, 算法存在以下兩個問題:(1)收斂速度慢; (2)對計算機內存要求較高.下一步,將考慮對這些問題進行解決, 同時不斷完善能耗預測模型.當前, 利用強化學習優化GAN并用于能耗預測是一個值得研究的方向, 進一步優化使其具有更強的通用性應該會獲得更有價值的結果.