湯 燁,陸衛(wèi)忠,陳成,黃宏梅
(1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215009;2.江蘇省建筑智慧重點(diǎn)實(shí)驗(yàn)室,江蘇 蘇州 215009;3.蘇州市虛擬現(xiàn)實(shí)智能交互及應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 蘇州 215009)
在常規(guī)的照明計(jì)算中,設(shè)計(jì)人員需根據(jù)照明場(chǎng)所的室形指數(shù)、有效頂棚反射比、地板反射比和墻面反射比,在燈具生產(chǎn)商提供的利用系數(shù)表中查找對(duì)應(yīng)的利用系數(shù)和利用系數(shù)修正系數(shù),因表中只提供了部分離散的取值,所以計(jì)算誤差較大,雖然使用直線內(nèi)插法可以獲得比較精確的取值,但計(jì)算過程復(fù)雜[1]。
針對(duì)利用系數(shù)計(jì)算的常規(guī)方法繁瑣的問題,文獻(xiàn)[2,3]提出了用神經(jīng)網(wǎng)絡(luò)擬合計(jì)算過程,以降低計(jì)算復(fù)雜度。在此基礎(chǔ)上,本文考慮影響利用系數(shù)的因素,建立了由可變網(wǎng)絡(luò)和固定網(wǎng)絡(luò)并聯(lián)組成的網(wǎng)絡(luò)模型,加入Adam優(yōu)化算法,提高了計(jì)算精確度和工程實(shí)用性。在實(shí)際應(yīng)用中,設(shè)計(jì)人員只需針對(duì)每種燈具,訓(xùn)練一個(gè)固定網(wǎng)絡(luò)和每種燈具的可變網(wǎng)絡(luò),將它們組合后得到用于計(jì)算燈具利用系數(shù)的模型,以代替繁瑣且誤差較大的查表過程,進(jìn)行照度計(jì)算。
BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network)也稱為反向傳播神經(jīng)網(wǎng)絡(luò),是一種具有2層以上結(jié)構(gòu)的無反饋的、層內(nèi)無互連的網(wǎng)絡(luò)。BP神經(jīng)神經(jīng)網(wǎng)絡(luò)除輸入層和輸出層外,還包括一個(gè)或多個(gè)隱含層,各個(gè)層神經(jīng)元之間實(shí)現(xiàn)全連接,而同層內(nèi)各神經(jīng)元之間無連接[4]。BP神經(jīng)網(wǎng)絡(luò)通過有指導(dǎo)的學(xué)習(xí)方式進(jìn)行學(xué)習(xí)和訓(xùn)練,能用于擬合非線性映射,并進(jìn)行預(yù)測(cè)。
Shanbhag等[2]以室形指數(shù)、頂棚反射比和墻面反射比作為輸入,利用系數(shù)作為輸出,用神經(jīng)網(wǎng)絡(luò)擬合了利用系數(shù)查表過程,降低了照明計(jì)算的復(fù)雜度,但忽略了地板反射比對(duì)利用系數(shù)的影響,使得當(dāng)?shù)匕宸瓷浔扰c常規(guī)值偏差較大時(shí),網(wǎng)絡(luò)輸出值與實(shí)際值相差較大。江莉等[3]使用的神經(jīng)網(wǎng)絡(luò)以室空間高度、工作面積、設(shè)計(jì)照度、燈具的光通量、效率、維護(hù)系數(shù)以及頂棚、地板、墻面的反射比為輸入,燈具數(shù)量和實(shí)際照度為輸出,雖然提高了計(jì)算精確度,但網(wǎng)絡(luò)輸入?yún)?shù)過多,使得網(wǎng)絡(luò)對(duì)訓(xùn)練數(shù)據(jù)要求較高,且未考慮燈具種類的影響,不同型號(hào)的燈具,即使光通量相同,利用系數(shù)也會(huì)不同,照度計(jì)算的結(jié)果自然也不同[5]。
圖1 網(wǎng)絡(luò)模型圖Fig.1 Network model
考慮到燈具的利用系數(shù)表是按地板反射比為0.2編制的,若地板反射比的實(shí)際值不為0.2,則應(yīng)查表獲得適當(dāng)?shù)男拚禂?shù)進(jìn)行修正[5],而不同燈具有不同的利用系數(shù)表,但利用系數(shù)修正系數(shù)表相同,因此我們?cè)O(shè)計(jì)了由可變網(wǎng)絡(luò)N1和固定網(wǎng)絡(luò)N2并聯(lián)組成的單隱層BP神經(jīng)網(wǎng)絡(luò)模型,其模型結(jié)構(gòu)如圖1所示。
可變網(wǎng)絡(luò)N1用于計(jì)算地板反射比為0.2時(shí)的利用系數(shù),對(duì)于不同型號(hào)的燈具,訓(xùn)練數(shù)據(jù)不同,因此要分別訓(xùn)練,網(wǎng)絡(luò)的輸入為室形指數(shù)、墻面反射比和頂棚反射比,輸出為地板反射比為0.2時(shí)的利用系數(shù)。
固定網(wǎng)絡(luò)N2用于計(jì)算地板反射比不為0.2時(shí)的利用系數(shù)修正系數(shù),適用于所有燈具,因此不需重復(fù)訓(xùn)練,網(wǎng)絡(luò)的輸入?yún)?shù)為室形指數(shù)、墻面反射比、頂棚反射比和地板反射比,輸出為利用系數(shù)修正系數(shù)。
最后將N1和N2的輸出結(jié)果相乘,可得利用系數(shù)。在實(shí)際應(yīng)用中,針對(duì)不同型號(hào)的燈具,只需訓(xùn)練不同的N1網(wǎng)絡(luò),不需要重復(fù)訓(xùn)練N2網(wǎng)絡(luò)。訓(xùn)練完成后,將不同的N1網(wǎng)絡(luò)和固定的N2網(wǎng)絡(luò)組合,便可以得到可用于計(jì)算不同型號(hào)燈具的利用系數(shù)的網(wǎng)絡(luò)模型。
Adam(adaptive moment estimation,自適應(yīng)矩估計(jì))是一種基于低階自適應(yīng)矩估計(jì)的隨機(jī)目標(biāo)函數(shù)一階梯度優(yōu)化算法[6]。與基礎(chǔ)的隨機(jī)梯度下降算法相比,Adam不容易陷入局部最優(yōu)點(diǎn)且更新速度快。Adam算法更新參數(shù)方法如下:
Whileθtnot converge do
t=t+1
gt=θft(θt-1)
mt=β1mt-1+(1-β1)gt
End while
其中θt-1為待更新參數(shù);α為學(xué)習(xí)率;gt為隨機(jī)目標(biāo)函數(shù)的梯度;mt為偏一階矩估計(jì),m0=0;vt為偏二階矩估計(jì),v0=0;β1和β2為矩估計(jì)的指數(shù)衰減率;ε為小正數(shù)。在機(jī)器學(xué)習(xí)問題中這些參數(shù)的默認(rèn)值為α=0.01,β1=0.9,β2=0.999,ε=10-8[6]。
神經(jīng)網(wǎng)絡(luò)對(duì)樣本噪聲“敏感”,若學(xué)習(xí)樣本本身帶有誤差和干擾,系統(tǒng)輸出會(huì)出現(xiàn)較大誤差,在考慮樣本的多樣性與均勻性的同時(shí),應(yīng)確保樣本的準(zhǔn)確性[3]。本實(shí)驗(yàn)將數(shù)據(jù)集分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,通過訓(xùn)練集訓(xùn)練出來的模型在驗(yàn)證集上的表現(xiàn)來確定模型參數(shù),并用測(cè)試集測(cè)試最終模型的效果。
表1所示為YG1-1型熒光燈的利用系數(shù)表,用于N1網(wǎng)絡(luò)的訓(xùn)練,它提供了地板反射比ρfc=0.2,頂棚反射比ρcc、墻面反射比ρw、室形指數(shù)RCR取一些離散值時(shí)TG1-1型熒光燈的利用系數(shù)U0,共170組數(shù)據(jù),從中隨機(jī)選出10組數(shù)據(jù)作為驗(yàn)證數(shù)據(jù),選出10組作為測(cè)試數(shù)據(jù),剩余150組數(shù)據(jù)為訓(xùn)練數(shù)據(jù)。
表1 YG1-1型熒光燈的利用系數(shù)表Table 1 YG1-1 type fluorescent lamp utilization coefficient
N2網(wǎng)絡(luò)的數(shù)據(jù)集為利用系數(shù)修正表,共390組數(shù)據(jù),從中隨機(jī)選取20組數(shù)據(jù)作為驗(yàn)證數(shù)據(jù),選取20組數(shù)據(jù)作為測(cè)試數(shù)據(jù)。利用系數(shù)表中的修正系數(shù)k的值分布在0.873~1.077之間,變化范圍較小,為了獲得較好的訓(xùn)練效果,對(duì)修正系數(shù)按式(1)進(jìn)行歸一化處理,將其映射到[0,1]的區(qū)間內(nèi),在輸出時(shí)再按式(2)進(jìn)行反歸一化處理。歸一化后訓(xùn)練集中部分?jǐn)?shù)據(jù)如表2所示。
表2 N2網(wǎng)絡(luò)部分訓(xùn)練數(shù)據(jù)Table 2 Part of the network N2 training data
(1)
k=k′×(1.077-0.873)+0.873
(2)
1)目標(biāo)函數(shù)。N1和N2網(wǎng)絡(luò)均使用均方誤差mse作為目標(biāo)函數(shù),同時(shí)計(jì)算出網(wǎng)絡(luò)輸出值與實(shí)際值的相對(duì)誤差率e,計(jì)算公式如下:
(3)
(4)
其中n為樣本個(gè)數(shù);yi′為第i個(gè)樣本的網(wǎng)絡(luò)輸出值;yi為第i個(gè)樣本的實(shí)際值,在N1、N2網(wǎng)絡(luò)中分別為利用系數(shù)U和修正系數(shù)k。
2)參數(shù)初始化。從正態(tài)分布中隨機(jī)生成網(wǎng)絡(luò)權(quán)值和偏置的初始值,使用Adam優(yōu)化算法學(xué)習(xí)網(wǎng)絡(luò)中的權(quán)值和偏置,學(xué)習(xí)率為0.01,迭代次數(shù)為15 000 次。每訓(xùn)練100 次顯示一次當(dāng)前的均方誤差和誤差率。
3)隱層神經(jīng)元個(gè)數(shù)和激活函數(shù)。BP神經(jīng)網(wǎng)絡(luò)的隱層神經(jīng)元個(gè)數(shù)通常用試湊法確定,可以先設(shè)置較少的隱含層節(jié)點(diǎn)來訓(xùn)練網(wǎng)絡(luò),然后逐漸增加隱含層節(jié)點(diǎn)數(shù),使用同一樣本集進(jìn)行訓(xùn)練,最終選取網(wǎng)絡(luò)誤差最小時(shí)對(duì)應(yīng)的隱含層節(jié)點(diǎn)數(shù)[7]。本實(shí)驗(yàn)使用試湊法確定N1和N2網(wǎng)絡(luò)的隱層神經(jīng)元個(gè)數(shù)和激活函數(shù),以Python語言作為編程語言,在TensorFlow框架下進(jìn)行神經(jīng)網(wǎng)絡(luò)的搭建、訓(xùn)練和測(cè)試。首先根據(jù)文獻(xiàn)[8]經(jīng)驗(yàn)公式估算隱層神經(jīng)元個(gè)數(shù)的范圍,再對(duì)隱層神經(jīng)元個(gè)數(shù)和激活函數(shù)的每一種組合選擇,訓(xùn)練20次得到20個(gè)網(wǎng)絡(luò)權(quán)值不同的模型,并計(jì)算出這20個(gè)模型在驗(yàn)證數(shù)據(jù)上相對(duì)誤差率的平均值。
表3和表4分別為N1和N2網(wǎng)絡(luò)在選擇不同隱層神經(jīng)元個(gè)數(shù)和激活函數(shù)時(shí)在驗(yàn)證集上的平均誤差率。分別選取平均誤差率最小的2.14%和0.107%時(shí)的模型參數(shù)作為N1和N2網(wǎng)絡(luò)模型的參數(shù),因此最終確定N1網(wǎng)絡(luò)的隱層神經(jīng)元個(gè)數(shù)為13,N2網(wǎng)絡(luò)的隱層神經(jīng)元個(gè)數(shù)為14,隱層激活函數(shù)均為sigmoid函數(shù)。
表3 N1網(wǎng)絡(luò)平均相對(duì)誤差率Table 3 Average relative error rate of N1 network
表4 N2網(wǎng)絡(luò)平均相對(duì)誤差率Table 4 Average relative error rate of N2 network
圖2所示為選擇Adam算法和隨機(jī)梯度下降算法訓(xùn)練網(wǎng)絡(luò)參數(shù)時(shí),網(wǎng)絡(luò)模型在訓(xùn)練集上的相對(duì)誤差率的變化曲線。從圖2中可以看出,與隨機(jī)梯度下降算法相比,Adam算法更新速度更快,且收斂結(jié)果更好,訓(xùn)練過程耗時(shí)7.33 s。
圖2 更新過程Fig.2 Iteration process
將測(cè)試數(shù)據(jù)輸入訓(xùn)練好的N1和N2網(wǎng)絡(luò),N1網(wǎng)絡(luò)輸出結(jié)果如表5所示,地板反射比為0.2時(shí)利用系數(shù)的最大相對(duì)誤差率為2.06%,N2網(wǎng)絡(luò)輸出的修正系數(shù)最大相對(duì)誤差率為1.15%,最終利用系數(shù)的最大相對(duì)誤差率為2.06%×(1+1.15%)=2.084%,遠(yuǎn)小于照明設(shè)計(jì)標(biāo)準(zhǔn)的要求。
表5 測(cè)試結(jié)果Table 5 Test result
我們使用基于Adam算法的神經(jīng)網(wǎng)絡(luò)擬合了照度計(jì)算中的利用系數(shù)查表過程,網(wǎng)絡(luò)由可變網(wǎng)絡(luò)N1和固定網(wǎng)絡(luò)N2并聯(lián)組成,分別用于計(jì)算地板反射比為0.2時(shí)利用系數(shù)和利用系數(shù)修正系數(shù)。與常規(guī)的查表照度計(jì)算方法相比,使用神經(jīng)網(wǎng)絡(luò)擬合計(jì)算能大幅縮短計(jì)算時(shí)間,降低計(jì)算復(fù)雜度,本文設(shè)計(jì)的由固定網(wǎng)絡(luò)和可變網(wǎng)絡(luò)并聯(lián)組成的神經(jīng)網(wǎng)絡(luò),可根據(jù)燈具種類型號(hào)的不同,靈活地更換可變網(wǎng)絡(luò)N1,降低了由地板反射比和燈具種類型號(hào)帶來的計(jì)算誤差,提高了工程實(shí)用性?;贏dam算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)不僅加快了網(wǎng)絡(luò)訓(xùn)練速度,還不容易陷入局部最小值,提高了網(wǎng)絡(luò)輸出的精確度。測(cè)試結(jié)果表明,網(wǎng)絡(luò)的最大相對(duì)誤差率為2.084%,滿足照明設(shè)計(jì)標(biāo)準(zhǔn)的要求。