余今 張德賢
摘 要:仿生優化算法是模擬自然中生物體的行為或狀態的算法總稱。由于該類算法的隨機性和相對復雜性,故其應用范圍較傳統算法更廣。介紹了人工神經網絡、蒼狼算法及鴿群智能算法的背景、基本原理及實現步驟,深入剖析了它們之間的異同,對該類算法的發展遠景進行了展望。
關鍵詞:仿生優化算法;人工神經網絡;蒼狼算法;鴿群智能算法
DOI:10. 11907/rjdk. 181975
中圖分類號:TP312文獻標識碼:A文章編號:1672-7800(2019)002-0049-03
Abstract:Bionic optimization algorithm is a generic term for a class of algorithms that simulates the behavior or state of organisms in nature. Due to the randomness and relative complexity of this type of algorithm,it is wider than traditional algorithms about the application range.This paper proposes the backgrounds, basic principles and implementation steps of three hot or new biology-based algorithms(artificial neural network, gray wolf algorithm, and pigeon-inspired optimization);then their similarities and differences thoroughly are analyzed;finally, some remarks on the development prospects of the algorithms are presented.
Key Words:bionic optimization algorithm;artificial neural network;grey wolf algorithm;pigeon-inspired optimization
0 引言
大數據時代復雜事件的優化問題引人關注,對時間空間復雜度的要求也日益求精。20世紀后期,為解決傳統算法能力缺陷,研究出了一系列仿生優化算法。
仿生優化算法思路從生物系統的進化和自適應現象中得到,它不依賴于嚴格的數學關系,而是模擬自然界中生物的社會或生存行為,所以應用范圍比傳統算法更廣。目前比較熱門或新穎的仿生優化算法有人工神經網絡、蒼狼算法、鴿群優化算法等。
人工神經網絡(Artificial Neural Network,ANN )是由心理學家McCulloch和數理邏輯學家Pitts通過對人腦的神經元進行抽象而引出,而后被法國地質學家Morlet[1]運用在小波分析即尋找地質數據上,近年在模式識別、信息處理、醫學等領域應用廣泛。
蒼狼算法(Grey Wolf Algorithm,GWA)是一種群體智能優化算法,2007年Yang等 [2]根據狼群在自然界中的生存行為提出了狼群搜索(Wolf Pack Search,WPS)。2014年,Seyedali Mirjalili等 [3]依照蒼狼群居時的領導等級和捕食機制正式提出了蒼狼算法,該算法廣泛使用在感應電機參數辨識[4]、并行搜索策略優化[5]等方面。
鴿群優化算法(Pigeon-Inspired Optimization,PIO)是一種新興的群體智能優化算法,受到自然界中鴿子群體總是自行歸巢的啟示,2014年由段海濱等[6]提出并成功運用于無人機編控等領域。該算法在飛行器路線規劃和控制[7-8]、計算機圖像處理、自適應控制[9]等方面潛力巨大。
1 基本原理
1.1 人工神經網絡
人腦具有極強的信息辨別能力,在認知外界到一定的閾值時可以將接觸的部分信息由神經傳輸給大腦,也就是人的學習能力。為使機器等其它物質也具有該能力,對人腦神經系統進行精簡和模擬——由相當多數目的神經元(或稱節點)交錯連接,兩個相鄰的神經元有一個權重控制信息的傳輸,最后由每個節點帶有的一個激活函數(Activation Function)[10]作為導火索,便構成了人工神經網絡。
以第三代人工神經網絡即脈沖神經網絡(Spiking Neuron Networks,SNN)[11]為例,它不是基于神經脈沖的頻率進行編碼,而是加入時間對事物影響因素,所以更具靈活性和適應性,也更接近人腦神經元。脈沖神經網絡基本步驟如下:
(1)收集神經網絡參數形成一個數據域,在數據域里選取若干組數據,一部分數據用于完善脈沖神經元模型(數據訓練),另一部分數據用于糾正脈沖神經網絡模型(數據測試)。
(2)初始化脈沖神經網絡參數,設置所有模塊的初始連接權和閾值以及各個模塊的準確率。
(3)對脈沖神經網絡進行訓練和測試,將項目的數據作為神經網絡的輸入輸出,選取適當的算法如梯度下降學習算法、突觸可塑性學習算法和脈沖序列卷積學習算法[12-13]進行訓練,關鍵是選取適當的突觸權值學習規則適當修訂連接的突觸權。
(4)脈沖神經網絡測試。基于測試樣本尋找合適的測試樣例,輸入對應項目參數,得到每個模塊的輸出(脈沖發放的頻率),而后次第計算神經網絡的平均輸出準確率,如果該準確率不在期望值的允許誤差之內則繼續進行。
(5)當所有訓練項目結束后進行后續神經網絡應用。
1.2 蒼狼算法
狼是群居動物,一般由5-12只組成團隊集體活動。它們的等級很像金字塔,由上而下分成4個部分,分別是α、β、δ和ω。α是一對頭狼,它們一定時期在部落里具有絕對的權力;β狼負責協助和反饋給α狼,在其它時期有可能成為α狼;δ狼處于權利的第三順位,通常在捕獵中負責偵查、放哨和實施等工作,它只能命令ω狼;ω狼在金字塔的最下端,數量通常多于α、β、δ狼的總和,它總是聽命并跟隨前三種狼進行活動,所以該算法的關鍵是如何利用占群狼數目大半的ω狼搜索能力。
GWA算法有一個明顯缺陷:容易陷入尋找局部最優解僵局,因此以改進過的基于領導者策略的狼群優化算法(Wolf Colony Search Algorithm Based on the Strategy of the Leader,LWCA)[14]為例,最優搜索步驟如下:
(1)初始化蒼狼位置,要求分布盡可能均勻,以便為第(2)步尋找頭狼作準備,并確定狼群的規模等基本參數。
(2)計算蒼狼個體的最優值并按順序排列,選取記錄中前三的數據作為實驗中蒼狼的位置,分別記作α、β、δ,此為領導者分組,余下的蒼狼個體組成被領導者分組。
(3)每只狼都要在周圍的N個方向搜索獵物,被領導狼會向領導狼的位置移動。
(4)由于獵物不一定總離領導狼最近,如果被領導者遠離了領導者狼,證明獵物離領導者不是最近,則更新領導者。
(5)領導者找到食物后通過一個預先設定好的閾值觸發告知其它狼對食物進行包圍,更新狼的位置。
(6)尋找接近理論的最優值,按照等級高低先后分配食物并淘汰劣等狼。
(7)迭代,如果滿足條件則輸出最優值。
1.3 鴿群優化算法
科學家發現鴿子有自主歸巢的行為,鴿群飛行時會在不同階段使用不同的工具辨別方向以快速到達目的地,受此啟發提出鴿群算法。鴿群優化算法和蒼狼算法一樣,群體內部都有著嚴格的等級順序,數目類型亦呈現金字塔形狀,級別越高個數越少。此外,PIO算法依賴于外界的開放信息,主要受太陽方向、地磁場和對地標記憶力的影響。根據上述機制,模擬出兩種新的算子。
1.3.1 地圖和指南針算子
鴿子本身可以感受到磁場,在飛行過程中會依據磁場強弱糾正飛行方向。當接近目的地時,磁場越來越弱,故用指南針算子[15]衡量這一特性。
1.3.2 地標算子
地標泛指鴿群在記憶里見到的所有相似地形。由于鴿群離目的地逐漸接近,隨著太陽高度和磁場影響的淡化,地標的導向越發加重。倘若鴿子檢索到熟悉的地標就直接向目的地飛去,否則將按照適應值排序后跟隨其它熟悉地標的鴿子飛行并淘汰迷失方向者,具體步驟如下:
(1)初始化鴿群個體位置、速度等在使用PIO算法時所涉及的參數。
(2)進入地圖和指南針算子的使用階段(地磁操作),更新個體位置,對種群中鴿子個體的適應值(最優值)進行比較并找出全局最優和局部最優。
(3)比較該階段迭代次數和最大迭代次數的關系,如果前者大于后者則進行下一步,否則從步驟(2)開始。
(4)將鴿群中距離目的地較遠的鴿子個體淘汰。
(5)進入地標算子使用階段(地標操作),計算鴿群中剩余鴿子個體的適應值,重新更新鴿子個體的全局最優和局部最優。
(6)倘若當前迭代次數大于最大迭代次數則鴿群成功到達目的地,否則從步驟(2)開始。
為了解決鴿群算法同其它智能仿生算法一樣容易陷入局部優化的僵局,尤其是在地磁操作階段容易陷入局部最優的問題,實際操作時可先引入帶權有向圖的Dijstra算法[16]進行初步優化,再進行地磁操作和地標操作。
2 幾種仿生優化算法比較
上述算法都屬于目前較流行的智能仿生算法,主要通過借助自然界中生物體的群體行為或機能解決工程中的最優化問題,相同點有:
(1) 都具有不確定性。與傳統算法相比,由于仿生優化算法是利用生物的天然個性,所以在隨機搜索過程中有很多不確定因素。
(2)都需要大量的重復試驗。一個仿生算法的使用必然伴隨著若干參數,參數的優劣決定了實驗結果是否精確,而就目前技術來說只能通過大量的重復實驗確定參數取值。
(3)都不具備嚴密的數學性[17]。在一些比較權威的基礎學科知識如數學的連續性、單調性、凸凹性等面前,仿生優化算法并不能嚴格遵守。
(4)適用范圍都有局限。一方面,一個新的仿生算法提出會提供一種解決問題的新思路,但從另一方面來說其問題也暴露得非常明顯,即不同仿生算法所能解決問題的能力遠不如現代計算機,如鴿群優化算法目前只在無人機航路規劃[18]方面應用,其它區域尚未有顯著成果。
(5)都具有魯棒性(Robustness)[19]。因為上述仿生算法不嚴格依賴于數學分析和建模,故在一定的參數支持下,處于不同環境和條件下的算法強健性有所保障,換句話說便是算法的核心部分無需改正。
3 其它比較
相對于基于梯度的人工神經網絡來說,蒼狼算法和鴿群智能優化算法都容易陷入局部優化的僵局。由于是新提出的仿生算法,應用領域相對較少。而神經網絡是大型非線性系統[20],相較于蒼狼算法和鴿群算法,會隨著時間推進而不斷淘汰劣種而逼近“目標”,故人工神經網絡的精度分析性能稍顯不足。
4 結語
本文就模擬生物界中的現象或者活動的3種熱門算法進行了論述和對比,盡管它們已經在各自領域得到應用,在某些地方有了創新,但還存在很多不足,將來應從以下方面完善:
(1)由于仿生優化算法不具備嚴密的數學性,尤其是在數學分析的基礎理論和建模工具上略顯不足,所以在今后的研究中應注重理論研究和實際操作的結合推進。
(2)將仿生優化算法和傳統算法結合,彌補仿生優化算法局部優化僵局以及傳統算法處理大數據的短板,做到取長補短,使多種仿生優化算法糅合在一起,令本來作用領域有限的各個算法互補產生更大的優勢,向功能更強、結構更復雜的系統過渡。
(3)盡管距離第一個仿生算法思想的提出已有半個多世紀,然而該類算法的開發仍舊有很大的空間,很多領域甚至只是淺嘗輒止。應擴大此類算法的使用范圍,深入挖掘其最大的可能性和可行性,避免其短板,使后續研究人員能有的放矢。
參考文獻:
[1] 黎林,朱軍. 基于小波分析與神經網絡的語音端點檢測研究[J]. 電子測量與儀器學報,2013,27(6):528-534.
[2] YANG C G,TU X Y,CHEN J.Algorithm of marriage inhoney bees optimization based on the wolf pack search[C]. Proc of International Conference on Intelligent Pervasive Computing,2007:462-467.
[3] MIRJALILI S,MIRJALILI S M,LEWIS A.Grey wolf optimizer[J]. Advances in Engineering Software,2014,69(3):46-61.
[4] 呂小意.? 感應電機參數辨識及控制策略研究[D]. 無錫:江南大學,2017.
[5] 符強,汪鵬君,童楠. 一種基于并行搜索策略的蒼狼算法[J]. 計算機應用研究,2016,33(6):1662-1665.
[6] DUAN H B,QIAO P X.Pigeon-inspired optimization: a new swarm intelligence optimizer for air robot path planning[J]. International Journal of Intelligent Computing and Cybernetics,2014 ,7(1) :24-37.
[7] 張亞平,孫佩華,李昱輝,等. 基于改進鴿群算法的高超聲速飛行器軌跡優化[J]. 飛行力學,2017,35(4):60-64.
[8] 張亞平. 鴿群智能算法的改進及其在高超聲速飛行控制中的應用[D]. 南京:南京航空航天大學,2017.
[9] 李恩源. 可控串補(TCSC)阻尼電力系統低頻振蕩控制方法研究[D]. 沈陽:遼寧工程技術大學,2017.
[10] 石琪. 基于卷積神經網絡圖像分類優化算法的研究與驗證[D]. 北京:北京交通大學,2017.
[11] 徐學良. 人工神經網絡的發展及現狀[J]. 微電子學,2017,47(2):239-242.
[12] MOHEMMED A,SCHLIEBS S,MATSUDA S,et al. Training spiking neural networks to associate spatio-temporal input-output spike patterns[J]. Neurocomputing,2013(107):3-10.
[13] YU Q,TANG H J,TAN K C,et al. Precise-spike-driven synaptic plasticity: learning hetero-association of spatiotemporal spike patterns[J]. Neurocomputing,2015(5):33-40.
[14] ZHOU Y Q,LIU J K,ZHAO G W. Leader glowworm swarm optimization algorithm for solving nonlinear equations systems[J]. Electrical Review,2012,88(1b):101-106.
[15] 段海濱,葉飛. 鴿群優化算法研究進展[J]. 北京工業大學學報,2017,43(1):1-7.
[16] 黃思銘.? 基于改進鴿群算法的無人機航路規劃研究[D]. 沈陽:沈陽航空航天大學,2018.
[17] 王茂海.? 仿生優化算法的研究與應用[D]. 無錫:江南大學,2011.
[18] 段海濱,邱華鑫,范彥銘. 基于捕食逃逸鴿群優化的無人機緊密編隊協同控制[J]. 中國科學技術,2015,45(6):559-572.
[19] 陳建輝.? ART網絡的魯棒性增強方法研究[D]. 成都:電子科技大學,2016.
[20] 趙啟林,卓家壽. 非線性方程組的耦合神經網絡算法[J]. 河海大學學報:自然科學版,2000(5):38-40.
(責任編輯:杜能鋼)