雷 劍
(南華大學(xué) 電氣工程學(xué)院,湖南 衡陽 421000)
電梯群控系統(tǒng),通常是指在高層建筑內(nèi)集中收集呼梯信號(hào)并管理調(diào)度3臺(tái)以上電梯的運(yùn)行控制系統(tǒng)。目前電梯群控系統(tǒng)中,大多采用并聯(lián)或者全集選的調(diào)度方法。這些方法依托于候梯時(shí)間等單目標(biāo)優(yōu)化方法,不能很好的同時(shí)解決候梯時(shí)間和運(yùn)行效率的問題。20世紀(jì)90年代,基于BP神經(jīng)網(wǎng)絡(luò)的電梯群控技術(shù)已經(jīng)成熟運(yùn)用到實(shí)際應(yīng)用中,取得了很好的成績[1]。但傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)還存在一些缺陷,如收斂速度不理想[2],難以脫離局部極值。由于BP神經(jīng)網(wǎng)絡(luò)本身的結(jié)構(gòu)和特性,網(wǎng)絡(luò)模型效果最優(yōu)的隱含層神經(jīng)元個(gè)數(shù)無法確定[3],學(xué)習(xí)率以及激活函數(shù)的選擇都會(huì)對神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)精度產(chǎn)生較大的影響。
電梯群控系統(tǒng)是一個(gè)存在多目的性、不確定性、非線性以及擾動(dòng)性的復(fù)雜系統(tǒng),同時(shí)包含著若干部電梯以及不同樓層之間的呼梯信號(hào)的龐大數(shù)據(jù),這些都是傳統(tǒng)電梯群控算法難以高效率、低能耗解決的問題。Adam(adaptive moment estimation,自適應(yīng)矩估計(jì))算法不僅適合解決含大規(guī)模數(shù)據(jù)和參數(shù)的優(yōu)化問題,而且收斂速度更快、效果更好,能夠更好的實(shí)現(xiàn)電梯調(diào)度分配,提高系統(tǒng)的整體性能。
函數(shù)表達(dá)式選用了一種綜合評價(jià)函數(shù),作為某一樓層對某一臺(tái)電梯呼梯的依據(jù)。通過滿意度評價(jià)函數(shù)來彌補(bǔ)原本單目標(biāo)優(yōu)化電梯群控的不足。評價(jià)函數(shù)滿意度的大小表示了電梯的呼梯次序。詳細(xì)計(jì)算方法參看文獻(xiàn)[4]。
公式(1)為第i部電梯與第j層呼梯信號(hào)之間的滿意度評價(jià)函數(shù)[5]。
式中,ω1、ω2、ω3為評價(jià)函數(shù)中不同交通模式下的權(quán)重,權(quán)重之和為1。評價(jià)函數(shù)f w(i,j)為乘客平均候梯時(shí)間表達(dá)式;f r(i,j)為長時(shí)間候梯率表達(dá)式;f e(i,j)為能源消耗表達(dá)式。
1.2.1 BP神經(jīng)網(wǎng)絡(luò)的模型搭建
模型中神經(jīng)網(wǎng)絡(luò)分為3層結(jié)構(gòu),其中當(dāng)前電梯內(nèi)乘客數(shù)量、電梯到呼梯樓層的相對距離和電梯響應(yīng)呼梯信號(hào)前需要??康臉菍訑?shù),作為輸入層的3個(gè)輸入;隱含層是網(wǎng)絡(luò)連接的核心,應(yīng)根據(jù)具體情況建立相應(yīng)模型;輸出層只有一個(gè)神經(jīng)元,作為某臺(tái)電梯對當(dāng)前呼梯信號(hào)滿意度的輸出。
網(wǎng)絡(luò)訓(xùn)練中權(quán)值和閾值的修正過程如下:
(1)初始化網(wǎng)絡(luò)的權(quán)值和閾值。
(2)向網(wǎng)絡(luò)提供可學(xué)習(xí)的樣本數(shù)據(jù)。
(3)計(jì)算上一層神經(jīng)元的輸出,作為下一層的輸入:
每組樣本數(shù)據(jù)的學(xué)習(xí)得到最新修正的權(quán)系數(shù)后,判斷預(yù)測值與實(shí)際值之間的相對誤差是否滿足預(yù)設(shè)目標(biāo)。如滿足則訓(xùn)練結(jié)束,否則返回步驟(3)。
1.2.2 Dropout
訓(xùn)練學(xué)習(xí)中,如果參數(shù)多,而訓(xùn)練樣本少時(shí),模型很容易發(fā)生過擬合的現(xiàn)象。Dropout[6]可有效緩解過擬合的發(fā)生,在一定程度上達(dá)到正則化的效果。
Dropout是指在前向傳播過程中,為了增強(qiáng)模型的泛化性,讓某個(gè)神經(jīng)元以特定的概率停止工作,進(jìn)而緩解過擬合的發(fā)生。工作流程如圖1所示。
圖1 引入Dropout的神經(jīng)網(wǎng)絡(luò)模型Fig.1 Introducing the neural network model of Dropout
具體學(xué)習(xí)過程如下:
(1)訓(xùn)練前隱含層的所有神經(jīng)元,以一定概率停止工作(暫時(shí)),不參與前向傳播。輸入輸出神經(jīng)元保持不變。
(2)樣本數(shù)據(jù)在改變后的網(wǎng)絡(luò)中前向傳播,得到的誤差再通過修改的網(wǎng)絡(luò)進(jìn)行反向傳播。每次迭代后,在原來的神經(jīng)網(wǎng)絡(luò)上按Adam算法更新權(quán)值和閾值。
(3)重復(fù)執(zhí)行以上兩個(gè)步驟,直至完成迭代訓(xùn)練。
Dropout在隨機(jī)選擇神經(jīng)元停止工作時(shí),網(wǎng)絡(luò)結(jié)構(gòu)也會(huì)發(fā)生變化,而不同的神經(jīng)網(wǎng)絡(luò)模型也會(huì)產(chǎn)生不同的過擬合。其中互為“反向”擬合相互抵消,從而在整體上減少過擬合的現(xiàn)象,以此提升預(yù)測準(zhǔn)確性。對三層BP神經(jīng)網(wǎng)絡(luò)模型來說,Dropout的超參數(shù)概率p設(shè)為0.2-0.4比較合適,不會(huì)因此讓損失函數(shù)的值過大,可有效減少測試集的誤差。
1.2.3 電梯群控算法
Adam算法是一種基于低階自適應(yīng)的隨機(jī)目標(biāo)函數(shù)一階梯度優(yōu)化算法[7]。由于該算法中包含了AdaGrad算法和動(dòng)量法的優(yōu)點(diǎn),以此訓(xùn)練得到模型的實(shí)際應(yīng)用效果,在大多數(shù)場景下都要更優(yōu)。其迭代過程如下:
上述推導(dǎo)公式中,t為迭代數(shù);α為學(xué)習(xí)率;默認(rèn)設(shè)定為0.001;gt為計(jì)算梯度;公式(11)、(12)中,mt、vt分別為偏一階矩向量和二階矩向量。參數(shù)向量初始化:m0=0、v0=0;β1、β2分別為對應(yīng)矩估計(jì)的指數(shù)衰減率,通常β1=0.9、β2=0.999;ε為一個(gè)非常小的正數(shù),通常取ε=10-8,防止運(yùn)算過程中出現(xiàn)分母為0的現(xiàn)象。公式(14)中,θ即為待求的網(wǎng)絡(luò)參數(shù)。
在確定了參數(shù)和目標(biāo)函數(shù)之后,網(wǎng)絡(luò)訓(xùn)練中循環(huán)迭代地更新各個(gè)參數(shù),直到目標(biāo)函數(shù)滿足設(shè)定精度或達(dá)到預(yù)先設(shè)定次數(shù)為止。Adam算法不僅易實(shí)現(xiàn),并具有很高的計(jì)算效率,適合解決帶有大規(guī)模數(shù)據(jù)和多個(gè)目標(biāo)優(yōu)化的問題。因此,本文選用Adam算法,作為基于神經(jīng)網(wǎng)絡(luò)的電梯群控系統(tǒng)的優(yōu)化算法。
BP神經(jīng)網(wǎng)絡(luò)容易過早陷入局部極值且收斂速度較慢。因此本課題采用Adam替代傳統(tǒng)優(yōu)化算法,并在網(wǎng)絡(luò)的前向傳播過程中加入Dropout,緩解過擬合的發(fā)生,有效增強(qiáng)了神經(jīng)網(wǎng)絡(luò)的泛化能力和收斂性。訓(xùn)練流程如圖2所示。流程步驟如下:
圖2 基于Adam算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程Fig.2 Optimization of BP neural network training process based on Adam algorithm
(1)根據(jù)樣本數(shù)據(jù)計(jì)算多目標(biāo)評價(jià)函數(shù)表達(dá)式,得到滿意度函數(shù)值,再按照電梯群控系統(tǒng)要求建立神經(jīng)網(wǎng)絡(luò)模型。
(2)對網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行均勻分布初始化。
(3)在數(shù)據(jù)開始訓(xùn)練前,Dropout以概率p隨機(jī)停止網(wǎng)絡(luò)模型中神經(jīng)元的工作。
(4)以樣本數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),求解網(wǎng)絡(luò)預(yù)測值和實(shí)際值的誤差E,將誤差在網(wǎng)絡(luò)中反向傳播。
(5)根據(jù)誤差求出目標(biāo)函數(shù)的梯度,用Adam算法修正網(wǎng)絡(luò)的權(quán)值和閾值,直到目標(biāo)函數(shù)小于期望值或者達(dá)到設(shè)定迭代次數(shù),則退出訓(xùn)練;否則返回步驟(3)繼續(xù)執(zhí)行。
模型中,需對以下4個(gè)參數(shù)進(jìn)行調(diào)優(yōu)。其主要目的是讓目標(biāo)函數(shù)在滿足設(shè)定精度的基礎(chǔ)上,不斷提高預(yù)測準(zhǔn)確率。
(1)目標(biāo)函數(shù)。目標(biāo)函數(shù)是網(wǎng)絡(luò)預(yù)測值與實(shí)際值的平均相對誤差率,設(shè)定精度e<5%。
(2)學(xué)習(xí)率。網(wǎng)絡(luò)中用SGD以及Adam兩種算法進(jìn)行比較。SGD算法學(xué)習(xí)率設(shè)為0.01,Adam算法學(xué)習(xí)率設(shè)為0.001。
(3)神經(jīng)元個(gè)數(shù)與激活函數(shù)的選擇。隱含層神經(jīng)元個(gè)數(shù)一般采用實(shí)驗(yàn)法確定,為了神經(jīng)網(wǎng)絡(luò)能夠得到最好的輸入輸出的映射關(guān)系,同時(shí)損失函數(shù)和輸出誤差滿足期望要求,需要通過實(shí)驗(yàn)測定一個(gè)最佳的隱含層節(jié)點(diǎn)數(shù)。依據(jù)文獻(xiàn)[8]的經(jīng)驗(yàn)公式,可估算神經(jīng)元個(gè)數(shù)的范圍在3-12之間。先設(shè)置數(shù)量較少的神經(jīng)元個(gè)數(shù)進(jìn)行訓(xùn)練,然后逐漸增加,使用同一樣本集訓(xùn)練,最終選取網(wǎng)絡(luò)誤差最小時(shí)對應(yīng)的隱含層節(jié)點(diǎn)數(shù)[9],見表1。
表1 神經(jīng)元個(gè)數(shù)與激活函數(shù)的選擇對誤差的影響Tab.1 The Influence of the Number of Neurons and the Selection%
從表1中可以看出,當(dāng)隱含層神經(jīng)元個(gè)數(shù)為8、激活函數(shù)為Sigmoid時(shí),平均相對誤差最小。
(4)網(wǎng)絡(luò)初始化。網(wǎng)絡(luò)中的參數(shù)初值采用均勻分布初始化的方法。使用TensorFlow提供的tf.random_uniform函數(shù),默認(rèn)取值范圍為[0,1],可以有效的減少梯度彌散問題,使得輸入信號(hào)在網(wǎng)絡(luò)中傳遞的更深。
在TensorFlow框架中用Spyder對神經(jīng)網(wǎng)絡(luò)進(jìn)行搭建、訓(xùn)練與仿真。網(wǎng)絡(luò)模型結(jié)構(gòu)為三輸入一個(gè)輸出,隱含層層數(shù)為1,神經(jīng)元個(gè)數(shù)為8。把經(jīng)過統(tǒng)計(jì)的300組電梯樣本數(shù)據(jù)和對應(yīng)的滿意度評價(jià)值隨機(jī)分成訓(xùn)練集和測試集并進(jìn)行歸一化處理,訓(xùn)練集包括290組樣本數(shù)據(jù),其余10組作為網(wǎng)絡(luò)模型的驗(yàn)證的測試集。
圖3為基于BP神經(jīng)網(wǎng)絡(luò)評價(jià)函數(shù)測試集平均相對誤差結(jié)果對比。在條件相同的情況下訓(xùn)練1 000次,每25次取一次結(jié)果。結(jié)果表明,基于Adam算法優(yōu)化的網(wǎng)絡(luò)平均相對誤差e<2%,傳統(tǒng)SGD方法訓(xùn)練耗時(shí)10.716 S,而Adam算法僅耗時(shí)8.634 S,收斂更加迅速。誤差結(jié)果:隨機(jī)梯度下降法平均相對誤差為11.96%;Adam算法平均相對誤差為1.60%。
圖3 神經(jīng)網(wǎng)絡(luò)擬合評價(jià)函數(shù)對比兩種算法平均相對誤差示意圖Fig.3 Schematic diagram of comparing the average relative error of the two algorithms on the neural network fitting evaluation function
由圖4、圖5可見,在測試集上預(yù)測結(jié)果表明:基于Adam優(yōu)化神經(jīng)網(wǎng)絡(luò)的算法誤差更小,相比較傳統(tǒng)BP傳統(tǒng)神經(jīng)網(wǎng)絡(luò),真實(shí)值和預(yù)測值的相對誤差減小一個(gè)數(shù)量級,網(wǎng)絡(luò)預(yù)測精度有明顯的提高。
圖4 基于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)測試集滿意度評價(jià)函數(shù)結(jié)果Fig.4 The result of satisfaction evaluation function based on traditional BP neural network test set
圖5 基于Adam優(yōu)化神經(jīng)網(wǎng)絡(luò)測試集滿意度評價(jià)函數(shù)結(jié)果Fig.5 The result of satisfaction evaluation function based on Adam optimized neural network test set
表2中數(shù)據(jù)為基于Adam優(yōu)化神經(jīng)網(wǎng)絡(luò)測試集樣本真實(shí)值和預(yù)測值的詳細(xì)結(jié)果。從表中可見,最大相對誤差為2.50%,最小相對誤差為0.08%。整體測試集平均相對誤差為1.26%,遠(yuǎn)小于傳統(tǒng)SGD算法訓(xùn)練后的誤差結(jié)果。
表2 測試集在Adam優(yōu)化神經(jīng)網(wǎng)絡(luò)模型的測試結(jié)果Tab.2 Test set results based on Adam optimized neural network model %
針對BP神經(jīng)網(wǎng)絡(luò)的電梯群控傳統(tǒng)算法的收斂速度慢,且易于陷入局部最小值,導(dǎo)致出現(xiàn)聚集效應(yīng)、群控系統(tǒng)效率不高等問題的課題研究。首先在前人的基礎(chǔ)上介紹了一種基于神經(jīng)網(wǎng)絡(luò)的多目標(biāo)優(yōu)化模型,在網(wǎng)絡(luò)模型中將樣本數(shù)據(jù)分別在基于傳統(tǒng)隨機(jī)梯度下降法的BP神經(jīng)網(wǎng)絡(luò)與基于Adam算法的BP神經(jīng)網(wǎng)絡(luò)下各自學(xué)習(xí),通過仿真測試驗(yàn)證效果。從表1中的神經(jīng)元和激活函數(shù)的組合搭配中可以看出,神經(jīng)元個(gè)數(shù)和激活函數(shù)的選擇會(huì)對網(wǎng)絡(luò)的預(yù)測結(jié)果造成一定的影響,根據(jù)誤差最小值選擇為神經(jīng)元個(gè)數(shù)為8,激活函數(shù)為Sigmoid,以此進(jìn)行網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練和預(yù)測。但訓(xùn)練過程中出現(xiàn)了訓(xùn)練集效果很好,而測試集誤差偏大的現(xiàn)象,因此在網(wǎng)絡(luò)前向傳播過程中加入了Dropout,一定程度上緩解了過擬合現(xiàn)象的發(fā)生,提高了預(yù)測的準(zhǔn)確率。基于表2的測試結(jié)果可以得出,Adam算法優(yōu)化后神經(jīng)網(wǎng)絡(luò)模型不僅收斂性更強(qiáng),訓(xùn)練速度更快,同時(shí)更易于掙脫局部極值的束縛,提高了網(wǎng)絡(luò)輸出的準(zhǔn)確率。在以多目標(biāo)優(yōu)化的基于神經(jīng)網(wǎng)絡(luò)的電梯群控系統(tǒng)的基礎(chǔ)上改善了電梯運(yùn)載效率,達(dá)到了優(yōu)化目的,提升了整體電梯群控系統(tǒng)的性能。