?

基于菌群優化Spiking神經網絡的渲染時間估計

2023-05-24 07:18蔡柳萍
南京理工大學學報 2023年2期
關鍵詞:預估菌群卷積

胡 博,章 毅,蔡柳萍

(1.廣東外語外貿大學 南國商學院,廣東 廣州,510440;2.湖南大學 環境科學與工程學院,湖南 長沙,410082;3.菲律賓圣保羅大學 研究生院,菲律賓 卡加延省土格加勞市,3500)

近年來,圖像渲染在電影、動漫、雷達、遙感等多個領域得到了廣泛應用[1]。雖然圖像渲染給多個領域的復雜建模及圖像增強帶來新的機遇,但由于整個渲染編碼過程需要強大的算力,對資源的消耗較大。一般都采用分布式或者集群方式來完成大規模的圖像渲染[2]。分布式或集群式渲染任務的高效調度成為圖像渲染大規模應用需要解決的重要難題。

在渲染任務的調度問題中最重要的設置參數就是渲染時間。若根據圖像樣本能提前預估樣本的渲染時間,那么就能夠根據不同任務的渲染時間來制定渲染調度策略,這將極大提升圖像渲染效率。渲染時間的估計與渲染樣本材質、幾何特征、圖像像素及燈光等多種因素有關,因此通過多種樣本特征來進行渲染時間預估是一個十分復雜問題。

當前,關于圖像渲染方面的研究較多,方杰[3]對WebGL平臺的大規模渲染方式方法展開了研究,充分利用分布式計算優勢來完成大量渲染編碼工作。朱家敏等[4]采用小波變換進行圖像渲染,重點解決了圖像中的半透明渲染問題。兩者研究都解決了特定應用場景的3D渲染技術問題,也提到了與渲染時間關系密切的圖像樣本特征,但在渲染時間方面并未展開深入研究。Dai等[5]提出了一種基于深度循環神經網絡(Recurrent neural network,RNN)的物理渲染時間估計方法。Kallweit等[6]提出利用神經網絡來預測大氣云圖像渲染的時間。從這兩個研究文獻可以看出,神經網絡模型在渲染時間估計上具有較好的可行性。

但是,由于涉及多樣本特征的提取和編碼,基于神經網絡(Neural network,NN)模型的渲染時間預估仍無法得到令人滿足準確性和魯棒性。作為一種新型的“第三代神經網絡”,Spiking神經網絡是神經網絡研究領域的最新成果。相較于前兩代神經網絡,Spiking神經網絡由于具有強大的計算能力常被廣泛用于復雜問題的訓練求解。Spiking神經網絡通過脈沖信號實現數據的傳遞,根據脈沖點火時間來完成編碼。相比于傳統神經網絡結構,Spiking神經網絡訓練具有更強的解決非線性預測或分類問題的能力。

由于深度卷積神經網絡中的卷積編碼層具有可學習性的優勢,且編碼方式更加靈活。因此,本文采用卷積Spiking神經網絡(Convolutional Spike neural network,CSNN)來實現渲染時間估計,并采用菌群優化算法對CSNN參數進行優化求解,以進一步提高CSNN的渲染時間預估的準確性。

1 Spiking神經網絡

1.1 基于Spiking的脈沖響應模型

(1)

設所有前突神經元i均處于集合Γj中,點火脈沖對u(t)影響為

(2)

由以上得,后突神經元j的脈沖響應表示方法為

(3)

考慮到式(2)的計算復雜度,在實際使用時一般采用簡化脈沖響應模型(SRM0)

(4)

突觸電勢εij(t)為[7]

(5)

式中:H(·)是階躍響應,σ是常數。

1.2 卷積Spiking神經網絡

基于Spiking的神經網絡模型較多,本文選擇了運算能力更強CSNN,以便解決復雜的最優求解問題。下面將對CSNN算法進行數學描述。

在CSNN運算中,需要先對樣本特征進行Spiking采樣,采樣層第k層對應的第j個節點采樣方法為[8]

(6)

式中:n為采樣窗口尺寸,B為偏置。

經過采樣的特征后進行卷積運算,Spiking卷積層第k層對應的第j個節點卷積運算方式[10]為

(8)

式(6)和(7)中的函數f一般設置[9]為

(7)

式中:T為編碼函數,Kernel是卷積核,Mj為第j個特征圖,B為偏置。

(9)

采用CSNN進行求解時,合理設置CSNN模型參數非常關鍵,這對CSNN模型的求解結果影響顯著。實際應用求解時,由于樣本差異,通過手動調參較為困難且性能不佳。因此本文考慮采用群體智能算法BFO對CSNN模型核心參數進行優化求解,以增強CSNN訓練性能。

2 基于改進的Spiking神經網絡渲染時間估計

2.1 菌群優化(BFO)算法

設菌群規模為S,其運動范圍為[min,max],初始位置P[11]為

P=min+rand*(max-min)

(10)

式中:rand∈random(0,1)。

菌群個體的運動主要包含驅化、繁衍和遷徙3類操作。設細菌i的位置Xi=(x1,x2,…,xv),v表示位置維度,其從位置P經過第j次驅化后的位置[12]為

(11)

式中:C(i)為細菌i的驅化步長。

i經過驅化后的適應度[13]為

(12)

(13)

(14)

每進行一次驅化操作,便計算一次適應度,num次后,i的總適應度H(Xi)[15]為

(15)

根據適應度降序排列,選擇較高的細菌個體進行繁衍操作,從而生成新的菌群位置。由于菌群的環境影響,細菌也可受環境改變而遷徙,從而改變菌群邊界,因此經過繁衍和遷徙操作,都將生成新的菌群位置。

不斷執行3種菌群運動方式,直到達到BFO停止條件。

2.2 渲染時間估計流程

首先提取3D圖像樣本的分辨率、幾何面等關鍵參數,將所有參數進行歸一化。根據渲染時間與3D模型參數之間的聯系,然后建立CSNN渲染時間預測模型,將CSNN節點權重卷積核尺寸及偏置等參數構建菌群,接著通過菌群運動進行位置更新優化,以渲染時間預測準確率為適應度函數求解菌群最優個體,從而獲得適合CSNN預測的最優參數,最后采用經過BFO優化后的CSNN進行預測。

圖1 基于BFO-CSNN的渲染時間估計流程

3 實例仿真結果與分析

為了驗證BFO+CSNN算法對渲染時間估計的性能,進行實例仿真。渲染對象數據集為某3D動畫樣本,其數據集相關的樣本特征如表1所示。首先,差異化選取不同菌群規模,采用BFO+CSNN算法進行渲染時間性能仿真,驗證BFO+CSNN算法的預估性能;其次采用CSNN和BFO+CSNN算法分別對表1中的樣本集進行渲染時間性能仿真,驗證BFO對CSNN渲染時間預估的性能影響;最后采用BFO+常用神經網絡算法和BFO+CSNN算法對表1樣本集進行渲染時間進行性能對比。

表1 仿真樣本

渲染時間估計評價指標[16]主要為

(16)

(17)

(18)

3.1 不同菌群規模的渲染時間預估性能

為了驗證BFO+CSNN算法在不同菌群規模下的渲染時間預估性能,差異化設置菌群規模,驗證不同規模下BFO+CSNN算法對樣本渲染時間的性能。

從圖2得,在不同菌群規模下,采用BFO+CSNN算法獲得的渲染時間差值呈現了較大波動。當菌群規模為500時,對于大部分樣本,其渲染時間差值最優,預測誤差基本維持在10 s范圍之內,菌群規模為1 000次之,菌群規模為100時,預測和實際的渲染時間誤差最大。其中當菌群規模為100時,渲染時間的預測值和實際值相差最大,最大值達到了58 s。對于圖中某些樣本點誤差增大明顯的情況,這可能是因為樣本特征本身復雜,需要消耗大量渲染時間,造成的累積誤差大,另一方面也可能是BFO+CSNN算法本身對某些特征樣本的渲染時間預測適應度差。雖然在菌群規模為1 000時,有些樣本點的渲染時間誤差小于菌群規模為500的情況,但是其占總樣本數量非常少,因此本文在后續的仿真測試中選擇的菌群規模均為500。

圖2 不同菌群規模下的BFO+CSNN渲染時間差

對于100個樣本,采用BFO+CSNN算法進行渲染時間估計,統計100個樣本的平均MAE和MAPE值,具體如表2。

表2 不同菌群規模的MAE和MAPE性能

從表2知,隨著菌群規模的增大,BFO+CSNN算法所得到的渲染時間預估準確率先升后降,在菌群規模為100時,MAE和MAPE均最大,這表明渲染時間預估準確率最低,而當菌群規模升至300和500時,MAE和MAPE下降明顯,這表明預估準確率提升明顯,在菌群規模為500時,獲得了最優MAE和MAPE值,分別是8.117和2.673×10-2;當菌群規模從500增至1 000時,預估準確率卻出現了下降,這表明菌群規模并不是越大越好。菌群規模過小,在搜索CSNN參數最優值的過程中,不易找到全局最優值,而當菌群規模過大,增加了驅化求解次數,同時繁衍和遷徙的個體過多,增加了算法復雜度。綜合而言,對于表1數據集,菌群規模為500時,BFO+CSNN算法的渲染時間估計適應度最高。在實際渲染時間預估應用中,應結合樣本特點,采用人工經驗選擇菌群規模,以增強 BFO+CSNN算法的渲染時間估計適用性。

3.2 BFO對CSNN渲染時間預估的性能優化

為了驗證BFO對CSNN渲染時間預估的優化性能,分別采用CSNN算法和BFO+CSNN算法進行渲染時間預估仿真,菌群規模為500。

由圖3和圖4可得,對于表1測試樣本的渲染時間,BFO+CSNN算法的渲染時間預測值和實際值擬合程度明顯高于CSNN算法,CSNN算法的渲染時間預測值普遍低于渲染時間實際值。這表明渲染時間準確率對于CSNN模型的參數依賴程度高,采用BFO算法對CSNN核心參數進行優化之后,CSNN的渲染時間預估結果明顯優于隨機設定參數的渲染時間預估結果。

圖3 基于CSNN算法的渲染時間

圖4 基于BFO+CSNN算法的渲染時間

繼續對CSNN和BFO+CSNN兩種算法的RMSE和MAE性能進行仿真,如表3所示。分別采用兩種算法執行了10次渲染時間估計運算,并對多次運行結果的評估指標取平均值。

表3 CSNN和BFO+CSNN的渲染時間預測性能

從表3得,CSNN和BFO+CSNN算法對于表1中樣本集的渲染時間估計誤差和魯棒性差異較大,經過BFO改進的CSNN獲得了更高的性能。在MAE性能方面,CSNN均值為42.342,而BFO+CSNN均值為8.117,經過BFO優化后,MAE性能提升了80.83%,而MAPE性能提升了79.72%。從2種算法的RMSE均值可知,BFO+SCCN的渲染時間估計模型魯棒性更高。

3.3 不同算法的渲染時間預估性能

為了進一步驗證BFO+CSNN算法和不同神經網絡算法的渲染時間預估性能,分別采用BFO+神經網絡(BFO+NN)、BFO+卷積神經網絡(BFO+CNN)、BFO+循環神經網絡(BFO+RNN)算法和BFO+CSNN算法進行實例仿真,菌群算法規模為500,驗證其渲染時間預估性能。

從圖5可以看出,對于表1中的數據樣本,BFO+CSNN算法的渲染時間預測值和實際值擬合程度最好,BFO+RNN算法次之,BFO+NN算法最差。這表明本文算法在3D圖像樣本渲染時間預估中的領先優勢明顯。從側面反映在解決多維屬性特征和多變量的預測分析的問題上,采用Spiking神經網絡優于傳統神經網絡算法。這得益于Spiking神經網絡特有的脈沖編碼模型結構。

圖5 4種算法的渲染時間對比

4 結束語

采用BFO+CSNN算法用于渲染時間估計,有效解決了大規模3D圖像樣本的渲染時間預測,為3D圖像渲染的調度策略提供了數據支持。而采用BFO算法能夠對CSNN的關鍵參數進行有效優化,從而提高了CSNN算法的預測性能。通過和常用神經網絡算法對比,BFO+CSNN算法具備明顯預測優勢,展現了更高的渲染時間預估準確率度和魯棒性。后續研究將進一步差異化設置BFO算法的主要參數,以提高BFO+CSNN算法的渲染時間預估效率,從而增強大規模3D圖像樣本渲染時間預測的適應度。

猜你喜歡
預估菌群卷積
美國銀行下調今明兩年基本金屬價格預估
“云雀”還是“貓頭鷹”可能取決于腸道菌群
基于3D-Winograd的快速卷積算法設計及FPGA實現
“水土不服”和腸道菌群
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
史密斯預估控制在排焦控制中的應用
肉牛剩余采食量與瘤胃微生物菌群關系
咽部菌群在呼吸道感染治療中的臨床應用
一種基于卷積神經網絡的性別識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合