国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于顯卡的微帶天線諧振頻率神經網絡建模

2015-03-27 20:21:25田雨波
電波科學學報 2015年1期
關鍵詞:總和線程矩形

田雨波 陳 風

(江蘇科技大學電子信息學院,江蘇鎮(zhèn)江212003)

基于顯卡的微帶天線諧振頻率神經網絡建模

田雨波 陳 風

(江蘇科技大學電子信息學院,江蘇鎮(zhèn)江212003)

諧振頻率是微帶天線(Microstrip Antennas,MSA)設計過程中最重要的一個參數.針對粒子群神經網絡(Particle Swarm Optimization-Neural Network,PSO-NN)對矩形MSA諧振頻率建模所面臨的計算時間過長以及模型精度不高等問題,提出一種基于圖形處理單元(Graphic Processing Unit,GPU)技術的并行處理解決方案.該方法使用粒子與線程一一對應的并行策略,通過并行處理各個粒子的計算過程來加快整個粒子群的收斂速度,從而減少NN的訓練時間.在統(tǒng)一計算設備架構下對矩形MSA諧振頻率進行了PSO-NN建模,數值計算結果表明:相對于CPU端串行PSO-NN,GPU端并行PSONN在尋優(yōu)穩(wěn)定性一致的前提下取得了超過300倍的計算加速比;在GPU端大幅增加粒子數,能在運行時間增加極為有限的情況下大幅降低建模的網絡誤差.

微帶天線;諧振頻率;粒子群優(yōu)化;神經網絡;圖形處理器

引 言

微帶天線(Microstrip Antennas,MSA)具有諸多優(yōu)點而獲得了廣泛應用[1-2],其中諧振頻率是MSA設計過程中最重要的一個參數.人工神經網絡(Neural Network,NN)模型由于具有良好的學習和泛化能力,已被廣泛應用于電磁領域[3-4],也被用于MSA諧振頻率建模問題[5-6].粒子群優(yōu)化(Particle Swarm Optimization,PSO)作為一種容易實現、收斂速度快的全局優(yōu)化算法,正在被逐漸地應用到NN的訓練中,能夠獲得比常用的誤差反向傳播(Back Propagation,BP)NN更好的收斂精度和更強的預測能力,基于PSO的NN也被用于MSA諧振頻率建模問題[7-9].

面對復雜度較高的問題時,訓練時間長是粒子群神經網絡(PSO-NN)的一大問題,并行化加速是解決該問題的有效思路.除了NN固有的存儲結構和樣本訓練的并行性[10],PSO-NN還存在PSO算法天然具備的群體中個體行為的并行性.相比用計算機集群[11]、多核CPU[12]或FPGA等專業(yè)并行設備[13]加速PSO算法,利用圖形處理器(Graphic Processing Unit,GPU)并行加速PSO算法[14-17]具備硬件成本低的最顯著優(yōu)勢.特別是2007年NVIDIA公司推出統(tǒng)一計算設備架構(Compute U-nified Device Architecture,CUDA)后,CUDA C因其強大的可編程性已成為當前最為流行的GPU編程語言.Veronese等于2009年首次應用CUDA實現了對PSO算法的并行加速[14].張慶科等在文獻[16]中概述了CUDA架構下包括PSO算法在內的5種典型優(yōu)化算法的并行實現過程.蔡勇等近期在文獻[17]中給出了并行PSO算法較詳細的設計思路和優(yōu)化方法,取得了90倍的加速比.

在基于GPU技術加速PSO算法研究的基礎上,設計并實現了一種基于CUDA架構的PSO-NN并行求解方法,并對矩形MSA諧振頻率進行了快速建模.實驗結果表明:若CPU端使用和GPU端相同的粒子數,該方法能大幅減少建模所需時間,相對于CPU端串行PSO-NN,GPU端并行PSO-NN在保證訓練誤差的前提下取得了超過300倍的計算加速比;若GPU端使用比CPU端多的多的粒子數,該方法能在運行時間增加極為有限的情況下大幅降低建模的網絡誤差,得到的結果明顯優(yōu)于該問題已有文獻的結果.

1 矩形MSA的諧振頻率

對于一寬為W、長為L的矩形MSA,介質基片的厚度為h,相對介電常數為εr,則該MSA的諧振頻率fmn為[1-2]

式中:εe是有效相對介電常數;c是電磁波在真空中的傳播速度;m和n是整數;Le和We是MSA的有效尺寸.當計算矩形MSA在主模式TM10下的諧振頻率時,式(1)可寫成

有效長度Le可定義為

式中,ΔL是邊界延伸量,與介質基片的厚度h有關.

容易看出,矩形MSA的諧振頻率取決于h,εr,m,n以及其幾何尺寸W和L.

2 基于CUDA的并行PSO-NN實現

2.1 標準PSO-NN

PSO算法是Kennedy和Eberhart于1995年提出的一種基于群體智能的進化計算技術,其概念簡單、易于實現、具備較強的收斂和全局搜索能力,因此發(fā)展十分迅速[18],在諸多領域得到成功應用.PSO算法用來優(yōu)化NN,包括NN結構的優(yōu)化和NN權閾值的優(yōu)化,本文僅討論在NN結構一定的條件下來優(yōu)化NN的權閾值.

PSO-NN算法本質上就是適應度函數為NN輸出誤差的PSO算法.PSO-NN的核心思想在于粒子與NN之間的3個對應:粒子位置對應NN的權閾值,粒子速度對應NN權閾值的變化,粒子適應度值對應NN的輸出誤差.使用的PSO算法版本為引入慣性權重的PSO算法[19].粒子群由N個粒子組成,每個粒子的位置代表優(yōu)化問題在D維搜索空間(D為NN權閾值的數目)中的一個潛在的解,所有粒子都有一個由NN輸出誤差決定的適應度值,粒子通過不斷更新速度和位置搜索找到最優(yōu)解.PSO-NN中,采用粒子各維與NN各權閾值一一對應的原則,將每個粒子編碼成一個向量.算法的速度更新公式和位置更新公式如下:

式中:i=1,2,…,N;d=1,2,…,D;c1和c2是學習因子,非負的常數;r1和r2是介于[0,1]的均勻分布的隨機數;Vid(t)∈[-Vmax,Vmax],Vmax限制了粒子飛行的最大速度,Xid(t)∈[-Xmax,Xmax],Xmax限定了粒子搜索空間的范圍,可設定Vmax=kXmax,0≤k≤1;w是慣性權重,介于[0,1],用來平衡粒子的全局探索能力和局部開發(fā)能力.

標準PSO-NN算法的流程如下:

1)讀入訓練樣本和測試樣本,數據預處理,設定最大迭代次數Tmax.

2)隨機初始化每個粒子的位置Xid(t)和速度Vid(t).

3)初始化個體最優(yōu)位置Pid,best(t)和全局最優(yōu)位置Gd,best(t).

4)更新每個粒子的速度Vid(t)和位置Xid(t).

5)計算每個粒子對應的適應度值(即訓練樣本的輸出誤差)F(Xi).

6)更新個體最優(yōu)位置Pid,best(t)和全局最優(yōu)位置Gd,best(t).

7)若達到最大迭代次數Tmax,則執(zhí)行步驟8),否則返回步驟4).

8)計算訓練樣本輸出和測試樣本輸出.

2.2 CUDA編程模型

CUDA采用CPU和GPU異構協作的編程模式,CPU負責串行計算任務和控制GPU計算,GPU以單指令多線程(Single Instruction Multiple Threads,SIMT)執(zhí)行方式負責并行計算任務.內核函數(kernel)執(zhí)行GPU上的并行計算任務,是整個程序中的一個可以被并行執(zhí)行的步驟.CUDA將線程組織成塊網格(Grid)、線程塊(Block)、線程(Thread)三個不同的層次,并采用多層次的存儲器結構:只對單個線程可見的本地存儲器,對塊內線程可見的共享存儲器,對所有線程可見的全局存儲器等.kernel函數中,Grid內的Block之間不可通信,能以任意順序串行或并行地獨立執(zhí)行;Block內的Thread之間可以通信,能通過存儲共享和柵欄同步有效協作執(zhí)行.CUDA程序流程通常包括以下6個步驟:1)分配CPU內存并初始化;2)分配GPU內存;3)CPU到GPU數據傳遞;4)GPU并行計算;5)計算結果從GPU傳回CPU;6)處理傳回到CPU的數據.

2.3 基于CUDA的并行PSO-NN算法設計

為簡單起見,本文使用前述標準PSO-NN算法,采用粒子與線程一一對應的并行策略,利用PSO算法固有的三大并行性:速度更新和位置更新的并行性,計算粒子適應度的并行性,更新Pi,best及其適應度值的并行性,以及CUDA架構特有的并行性:更新Gbest時求最小適應度值的并行規(guī)約算法.GPU端并行PSO-NN的算法流程設計如圖1所示.

GPU端并行PSO-NN算法具體步驟設計如下:

1)CPU上讀入訓練樣本和測試樣本,數據預處理.2)CPU上調用malloc()和cudaMalloc()函數,分別在CPU和GPU上分配變量空間.

3)CPU上初始化粒子的位置、速度等數據.

4)CPU上調用cudaMemcpy()函數,將CPU上的粒子數據傳至GPU全局內存;CPU上調用cudaMemcpyToSymbol()函數,將CPU上的訓練樣本傳至GPU常量內存.

5)CPU上調用kernel函數,執(zhí)行GPU上的并行計算任務,完成NN的訓練.

6)CPU上調用cudaMemcpy()函數,將GPU上的

有用數據傳回至CPU上.

7)CPU上將訓練樣本和測試樣本帶入訓練好的NN,查看結果.

8)CPU上調用free()和cudaFree()函數,釋放CPU和GPU上已分配的變量空間.

以上步驟中,完成PSO-NN加速訓練的步驟5)是整個算法的核心,其偽代碼如下:

for(i=0;i<generationsNumber;i++)

<Renew velocities and positions of each particle>//kernel 1

<Evaluate fitness of each particle>//kernel 2

<Renew Pi,bestof each particle> //kernel 3

<Renew Gbestof all particles> //kernel 4}

3 GPU端并行PSO-NN用于矩形MSA諧振頻率建模

應用CPU端串行PSO-NN(即2.1節(jié)所述“標準PSO-NN”)和設計的GPU端并行PSO-NN分別對矩形MSA諧振頻率進行建模,測試其加速性能.輸入樣本集合為(W,L,h,εr),相應實際測得的諧振頻率fME作為輸出,訓練好的NN在MSA相關參數和實測諧振頻率之間建立起映射關系.實驗所采用的計算平臺如表1所示.NN訓練和測試數據源于文獻[20-21]的實驗結果,表2的第2到第5列給出矩形MSA的相關數據,第6列給出測量得到的TM10模式下的諧振頻率,共列出了33個數據集合,其中26個用于訓練NN,剩下的標注星號的7個用于測試NN.表3給出文獻[5-9]中各種CPU端NN模型得到的頻率的誤差總和,以方便與本文計算結果進行對比.

仿真計算過程中,NN結構設計為4-10-1,權閾值數目(粒子維數)為61.隱層激活函數選為雙極性S型函數,其表達式如式(6)所示;輸出層激活函數選為單極性S型函數,其表達式如式(7)所示.PSO算法的慣性權重w取值0.9至0.4線性遞減,學習因子c1和c2分別取2.8和1.3,訓練次數Tmax取值1 000.根據CUDA架構的特點,將粒子數目設計成32的倍數值.

“加速比”Siteration是最常用的加速性能指標,定義為PSO-NN算法在相同粒子數和相同迭代次數(文中取1 000次)下CPU程序運行時間Tcpu-iteration和GPU程序運行時間Tgpu-iteration的比值為

根據上述設定進行數值測試,實驗結果如表4和表2的第7到第17列所示.值得注意的是,表3中的“誤差總和”指訓練樣本輸出和測試樣本輸出實驗值的平均值與理論值之間的絕對誤差總和;表4中的“平均誤差總和”指訓練樣本輸出和測試樣本輸出的實驗值與理論值之間的絕對誤差總和的平均值.筆者認為,相對于“誤差總和”,“平均誤差總和”既易于計算得到,又客觀反映每一次實驗的誤差總和,并且在相同條件下大于“誤差總和”;換句話說,若表4中的“平均誤差總和”優(yōu)于表3中的“誤差總和”,則一定優(yōu)于表3對應的“平均誤差總和”.表2的第7到第17列給出了GPU端單次實驗誤差總和最接近表4中“平均誤差總和”的那一組實驗數據.

分析表2~4可得如下結論:

1)粒子數越多,獲得的加速比越高,PSO-NN最高獲得了327倍的加速比.隨著粒子數的翻倍,當粒子數小于等于16 384(實驗所用GPU最大駐留線程數為26 624),加速比大致翻倍;當粒子數大于等于32 768,加速比仍能增加但增速放緩.

2)GPU端并行PSO-NN具有與CPU端串行PSONN同樣的尋優(yōu)穩(wěn)定性.隨著粒子數的不斷增多,CPU程序和GPU程序的誤差不斷減??;粒子數相同時,CPU程序和GPU程序的誤差大致相同或相近.

3)大幅增加粒子數是適應GPU計算架構的特殊方法.通常情況下粒子數目應大于問題維數(實驗中問題維數為61),當粒子數大于等于128時,CPU端PSO-NN能獲得較好的網絡精度.大幅增大粒子數目能使粒子在算法初始階段更均勻地覆蓋搜索空間,獲得更強的全局搜索能力,從而減少網絡誤差;但對于CPU端PSO-NN,大幅增大粒子數目也會大幅增加計算量,因此對于較復雜的優(yōu)化問題,粒子數目一般也僅僅取值100~200,網絡誤差的減少主要依靠對算法本身的改進來實現.而隨著粒子數的增加,與CPU端相比,GPU端的運行時間增加極為有限.GPU端并行PSO-NN的誤差,當粒子數大于等于128時,優(yōu)于文獻[5-6]的結果;當粒子數大于等于256時,優(yōu)于文獻[8]中PSO-BP-NN混合算法的結果;當粒子數大于等于4 096時,優(yōu)于文獻[7]中PSO-NN的結果;當粒子數大于等于32 768時,優(yōu)于包括文獻[9]中BiPSO-NNE在內的所有已有文獻的結果.

筆者給出的使用建議:

1)對于標準PSO-NN算法,在GPU端大幅增加粒子數,可在運行時間增加極為有限的情況下大幅降低誤差.

2)對于各類改進PSO-NN算法,并不一定適合在GPU端并行化;對于適合在GPU端運行的改進PSO-NN算法,能進一步提高算法性能.

4 結 論

本文采用CUDA架構設計了標準PSO-NN的并行加速方案,實現了PSO-NN對矩形MSA諧振頻率的快速建模.該方法使用粒子與線程一一對應的并行策略,通過在GPU端并行處理各個粒子的計算過程來加快整個粒子群的收斂速度,從而減少NN的訓練時間.實驗結果表明:相同粒子數時,相對于CPU端串行PSO-NN,GPU端并行PSO-NN可在尋優(yōu)穩(wěn)定性一致的前提下大幅減少建模所需時間;在GPU端大幅增加粒子數,可在運行時間增加極為有限的情況下大幅降低建模的網絡誤差,得到的結果明顯優(yōu)于該問題已有文獻的結果.本文提出的并行PSO-NN可以推廣應用到其他類似的微波工程的分析和設計中.

[1] WONG K L.Compact and Broadband Microstrip Antennas[M].New York:John Wiley &Sons Inc,2002.

[2] 方大綱.天線理論與微帶天線(英文版)[M].北京:科學出版社,2007.

[3] 張清河.基于BP神經網絡的介質圓柱體逆散射方法研究[J].電波科學學報,2010,25(2):398-402.ZHANG Qinghe.Inverse scattering by dielectric circular cylinder based on BP neural networks[J].Chinese Journal of Radio Science,2010,25(2):398-402.(in Chinese)

[4] 劉 昆,楊 了,夏 晴,等.基于神經網絡的導體柱單站微波成像[J].電波科學學報,2012,27(5):1056-1060.LIU Kun,YANG Liao,XIA Qing,et al.Monostatic microwave imaging method for conductor cylinder based on neural network[J].Chinese Journal of Radio Science,2012,27(5):1056-1060.(in Chinese)

[5] GUNEY K,SAGIROGLU S,ERLER M.Generalized neural method to determine resonant frequencies of various microstrip antennas[J].International Journal of RF and Microwave Computer-Aided Engineering,2002,12(1):131-139.

[6] SAGIROGLU S,KALINLI A.Determining resonant frequencies of various microstrip antennas within a single neural model trained using parallel tabu search algorithm[J].Electromagnetics,2005,25(6):551-565.

[7] 田雨波,李正強,王建華.矩形微帶天線諧振頻率的粒子群神經網絡建模[J].微波學報,2009,25(5):45-50.TIAN Yubo,LI Zhengqiang,WANG Jianhua.Model resonant frequency of rectangular microstrip antenna based on particle swarm neural network[J].Journal of Microwaves,2009,25(5):45-50.(in Chinese)

[8] 董 躍,田雨波.基于PSO-BP算法的微帶天線諧振頻率神經網絡建模[J].中國傳媒大學學報自然科學版,2009,16(2):58-63.DONG Yue,TIAN Yubo.Modeling resonant frequency of microstrip antenna based on neural network trained by PSO-BP algorithm[J].Journal of Communication University of China:Science and Technology,2009,16(2):58-63.(in Chinese)

[9] 田雨波,董 躍.基于神經網絡集成的微帶天線諧振頻率建模[J].電波科學學報,2009,24(4):610-616.TIAN Yubo,DONG Yue.Modeling resonant frequency of microstrip antenna based on neural network ensemble[J].Chinese Journal of Radio Science,2009,24(4):610-616.(in Chinese)

[10] PETHICK M,LIDDLE M,WERSTEIN P,et al.Parallelization of a backpropagation neural network on a cluster computer[C]//The Fifteenth IASTED International Conference on Parallel and Distributed Computing and Systems.CA,2003:574-582.

[11] DEEP K,SHARMA S,PANT M.Modified parallel particle swarm optimization for global optimization using message passing interface[C]//2010IEEE Fifth International Conference on Bio-inspired Computing:Theories and Applications.Changsha,September 23-26,2010:1451-1458.

[12] WANG D Z,WU C H,et al.Parallel multi-population particle swarm optimization algorithm for the uncapacitated facility location problem using OpenMP[C]//IEEE Congress on Evolutionary Computation.Hong Kong,June 1-6,2008:1214-1218.

[13] MAEDA Y,MATSUSHITA N.Simultaneous perturbation particle swarm optimization using FPGA[C]//IEEE International Joint Conference on Neural Networks.Orlando,August 12-17,2007:2695-2700.

[14] VERONESE L,KROHLING R.Swarm’s flight:Accelerating the particles using C-CUDA[C]//Proceedings of the IEEE Congress on Evolutionary Computation.Trondheim,May 18-21,2009:3264-3270.

[15] KROMER P,PLATOS J,SNASEL V.A brief sur-vey of advances in particle swarm optimization on graphic processing units[C]//2013IEEE World Congress on Nature and Biologically Inspired Computing.Fargo,August 12-14,2013:182-188.

[16] 張慶科,楊 波,王 琳,等.基于GPU的現代并行優(yōu)化算法[J].計算機科學,2012,39(4):304-311.ZHANG Qingke,YANG Bo,WANG Lin,et al.Research on parallel modern optimization algorithms using GPU[J].Computer Science,2012,39(4):304-311.(in Chinese)

[17] 蔡 勇,李光耀,王 琥.基于CUDA的并行粒子群優(yōu)化算法的設計與實現[J].計算機應用研究,2013,30(8):2415-2418.CAI Yong,LI Guangyao,WANG Hu.Research and implementation of parallel particle swarm optimization based on CUDA[J].Application Research of Computers,2013,30(8):2415-2418.(in Chinese)

[18] POLI R,KENNEDY J,BLACKWELL T.Particle swarm optimization:an overview[J].Swarm Intelligence,2007,1(1):33-57.

[19] SHI Y,EBERHART R.A modified particle swarm optimizer[C]//Proceedings of the IEEE International Conference on Evolutionary Computation.Anchorage,May 4-9,1998:69-73.

[20] KARA M.Closed-form expressions for the resonant frequency of rectangular microstrip antenna elements with thick substrates[J].Microwave and Optical Technology Letters,1996,12(3):131-136.

[21] KARA M.The resonant frequency of rectangular microstrip antenna elements with various substrate thicknesses[J].Microwave and Optical Technology Letters,1996,11(2):55-59.

Modeling resonant frequency of microstrip antenna using GPU-based neural network

TIAN Yubo CHEN Feng
(School of Electronics and Information,Jiangsu University of Science and Technology,Zhenjiang Jiangsu 212003,China)

Resonant frequency is an important parameter in the design process of microstrip antenna(MSA).In order to deal with the issue of the long computing time and low accuracy of training neural network(NN)based on particle swarm optimization(PSO)algorithm when modeling the resonant frequency of rectangular MSA,parallel optimization based on graphic processing unit(GPU)is presented in this paper.The proposed method corresponds one particle to one thread,and deals with a large number of GPU threads in parallel to accelerate the convergence rate of the whole swarm and reduce the computing time of training NN.The resonant frequency of rectangular MSA is modeled based on the parallel PSO algorithm,and the experiments based on compute unified device architecture(CUDA)show that compared with CPU-based sequential PSONN,more than 300times of speedup has achieved in GPU-based parallel PSO-NN with the same calculation precision.Substantially increasing the number of particles on GPU side can significantly reduce the network error with the verylimited runtime increase-ment.

microstrip antennas(MSA);resonant frequency;particle swarm optimization(PSO);neural network(NN);graphic processing unit(GPU)

TN820

A

1005-0388(2015)01-0071-07

田雨波 (1971-),男(滿),遼寧人,江蘇科技大學教授,博士,主要研究方向為計算智能和群集智能技術及其電磁應用.

陳 風 (1989-),男,江蘇人,江蘇科技大學碩士研究生,主要研究方向為高性能計算、計算智能及其電磁學應用.

田雨波,陳 風.基于顯卡的微帶天線諧振頻率神經網絡建模[J].電波科學學報,2015,30(1):71-77.

10.13443/j.cjors.2014022401

TIAN Yubo,CHEN Feng.Modeling resonant frequency of microstrip antenna using GPU-based neural network[J].Chinese Journal of Radio Science,2015,30(1):71-77.(in Chinese).doi:10.13443/j.cjors.2014022401

2014-02-24

船舶工業(yè)國防科技預研基金(10J3.5.2)聯系人:陳風E-mail:1019758367@qq.com

猜你喜歡
總和線程矩形
巧解最大與最小
兩矩形上的全偏差
化歸矩形證直角
從矩形內一點說起
我總和朋友說起你
草原歌聲(2017年3期)2017-04-23 05:13:49
淺談linux多線程協作
降低雙氯芬酸鉀片中有關物質的工藝研究
Linux線程實現技術研究
么移動中間件線程池并發(fā)機制優(yōu)化改進
質量守恒定律導學
饶阳县| 客服| 溧水县| 许昌市| 池州市| 洱源县| 怀远县| 德江县| 英吉沙县| 诏安县| 东安县| 革吉县| 肃宁县| 突泉县| 土默特右旗| 鲁甸县| 囊谦县| 榆社县| 额敏县| 民乐县| 苏尼特左旗| 黑河市| 青河县| 梅州市| 新乡县| 彰化市| 中西区| 漳浦县| 姜堰市| 施甸县| 九台市| 防城港市| 历史| 临沂市| 澄城县| 塘沽区| 德阳市| 清水河县| 桐城市| 本溪市| 丁青县|