徐任倩XU Ren-qian;汪超WANG Chao;王璐WANG Lu
(①安徽工業大學管理科學與工程學院,馬鞍山 243002;②安徽工程大學土木建筑工程學院,蕪湖 241000)
生物的神經十分復雜,為了探究其中奧秘,很多研究學者投入到神經研究過程中,在研究過程中,得到了靈感發展出人工神經網絡。人的大腦構造非常復雜,它是由大概1011所神經元組成的,這些神經元保持著高度相聯系,基本一個神經元就會連接104個神經元[1]。在研究生物神經時找到了人工神經網絡的發展方向,也就是起源,用數學方式表示神經元,用來模仿生物的神經元的特點——神經網絡高度聯系。不同的神經的拓撲結構也不同,所以我們可以將人工神經網絡分為反饋和前向兩種。主要的反饋網絡有:Hop-field 神經網絡、Hamming 神經網絡、BAM(Bidirectional Associative Memory)網絡。而后者主要有BP(Back Propagation)神經網絡、單層或多層感知器等。其中BP 神經網絡是最精華部分,我們重點講述該神經網絡,它的主要作用是對于一些非線性函數進行特殊變換,使空間由輸入變為輸出。
神經網絡的研究結果到現在有很多,各種各樣,但比較完善的理論還是BP 神經網絡,它具備良好的泛化能力(合理響應的能力)、自適應、魯棒性和學習性。不是所有的BP 神經網絡都能處理任何非線性函數,但單層輸入層、隱含層和輸出層的可以任意處理,不管精度是多大。BP 神經網絡現在已經被廣泛應用在其他方面,比如處理圖像,函數逼近,識別模式。但是,BP 算法也存在著一些缺點,例如收斂速度差,很容易掉入局部最優的陷阱里,只有經驗公式來指導如何確定神經元個數以及網絡層數,并且當問題比較復雜或難以獲得的梯度信息時,BP 神經網絡可能會束手無策。BP 神經網絡的權重訓練采用的是梯度下降法,這樣很容易達到局部最優,而不能得到全局最優,我們可以引入一種自適應的學習方法得到權重和閾值以此避免出現這種情況。本文引入改進的樽海鞘算法優化BP 神經網絡的權重和閾值。
BP 神經網絡從結構上看,分成三層或以上,其中隱含層可以一層也可以多層,夾在輸入層與輸出層之間。如果隱含層只有一層隱含層,那么此時的BP 網絡結構是最簡單的,如圖1 所示。現在我們定義一些變量,假設該網絡輸入n1個和輸出n2個,有m 層隱含層。f1、f2是隱含層、輸出層函數,則隱含層輸出值為bj,隱含和輸出層閾值為θj、θk。隱含層連接輸入層與輸出層權重為wij,vjk。然后我們可以得到BP 神經網絡輸出的值Zk,定義為tk為期望輸出的值,那么bj有等式:

輸出層值Zk的計算公式如下所示:

當輸出與期望的輸出不同,即Zk≠tk,此時存在誤差e,其定義如下:

BP 神經網絡間神經元之間傳遞的函數有許多種,常見的有:閾值型、概率型、分段線性、線性和非線性。多層網絡時,每層網絡選擇函數既可以是同類的,也可以選擇異類。本文所使用的BP 算法采用的傳遞函數是雙曲正切S型傳遞函數和線性傳遞函數。網絡訓練是一個不斷調整權重和閾值的過程,在網絡開始訓練前,設定一個閾值E,如果輸出誤差e 小于等于E,則結束網絡訓練,然后將預測樣本輸入訓練好的網絡當中就可以得到預測結果。
大多數都是最簡單的BP 神經網絡,它包括輸入層、輸出層以及中間單層隱含層,它的性能由網絡結構(隱藏神經元)、權重、閾值和學習率等決定。隱含層神經元數目如果太少的話,BP 神經網絡此時需要通過加大訓練次數得到更好的結果;但是隱含層太多的神經元數目也不是什么好事,那么訓練時間會拉長,而且還容易出現過擬合。所以需要選擇最合適的神經元個數,經過多次驗證,最后得出經驗公式,如式(4)所示:

式中,輸入層、輸出層、隱含層的神經細胞數分別為bm、bn、bl;ba 是自然數,范圍從0 到10。
在2017 年,Mirjalili 等[2]提出了一種新的算法,命名為樽海鞘算法(SSA:Salp swarm algorithm)。它是一種群體算法,具有智能化,其想法來自于樽海鞘們在海洋中導航尋找食物時所產生的群體現象。它在搜索最優解的時候,樽海鞘會盤旋成一個樽海鞘鏈,鏈中最前面的是領導者,剩下的是追隨者。在樽海鞘算法中引入無標度網絡與慣性權重,加強算法跳出局部最優解的能力,提出一種新的改進樽海鞘算法-高效樽海鞘算法(E-SSA:Efficient salp swarm algorithm)。
領導者向前面搜索最優位置,領導者的位置更新公式為:

本文首先生成一個無標度網絡來映射追隨者的關系,然后在追隨者樽海鞘的更新公式中加入基于種群多樣性反饋的慣性權重,具體公式為:

式中:nbd(i)代表第i 個樽海鞘與之有拓撲關系的所有鄰居。慣性權重W 的值越小,算法越有可能偏離局部最優而收斂到最優。慣性權重的計算公式如式(7)所示:

其中C 代表多樣性度量,lmax代表最大迭代次數。多樣性度量可由以下公式計算:

在公式(8)中,N 指的是種群中個體數,Dim 代表的是變量的維度。代表第i 個個體的第j 維的變量,代表種群所有個體在第j 維的平均值,搜索空間的對角線距離
使用E-SSA 優化BP 神經網絡的權重和閾值的流程圖如圖2 所示。

圖2 E-SSA-BP 的訓練和分類流程
本文優化權重和閾值的方法利用BCI2003 公開的運動想象腦電信號數據集對E-SSA 驗證,引入先進的算法,有粒子群優化算法(PSO:Particle swarm optimization)、樽海鞘算法、差分進化算法(DE:Differential evolution)、權重自適應樽海鞘算法(WASSA:Weight factor and adaptive mutation salp swarm algorithm)和瘋狂自適應樽海鞘算法(CASSA:Crazy and adaptive salp swarm algorithm)對BP 神經網絡進行參數優化從而去看各個算法的優化效果。其中DE 是一種啟發式算法,具有隨機性,它通過對種群采用變異、交叉和選擇三種進化操作使算法的解逼近于全局最優解[3]。PSO 是從鳥類的覓食過程研究出來的,其是一種群體算法,具有智能化。它是通過整個種群中的每個粒子相互幫助合作以及共享彼此信息來逼近全局最優解[4]。WASSA是Wu 等[5]在樽海鞘算法中的種群位置加入了權重因子以此來平衡全范圍勘探與局部開發,而且為了避免收斂過早和進化停滯,在進化過程中引入自適應突變策略。CASSA是張達敏等[6]在2019 年提出的一種改進樽海鞘算法。他們為了保護種群多樣性,在樽海鞘算法生成初始種群時引入Tent 混沌序列和在食物位置引入瘋狂算子,為了保持局部搜索能力與全局搜索能力的良好平衡,在追隨者位置更新公式中添加了自適應慣性權重。這些算法在解決不同條件下的離散優化問題或連續優化問題方面有各自的優勢。
運動想象腦電信號數據集可以從http://bbci.de/competition/ii/下載,它是一個25 歲的健康女性坐在椅子上通過看著屏幕上隨機出現左或者右的提示想象左右手的運動控制反饋器的腦電信號數據集,總共實驗時長為9s,最先的2s 屏幕沒有任何提示,2s 末有一個提示音告訴被試準備動作,第3s 屏幕出現提示被試開始相應的運動想象。該實驗記錄了C3、C4 和Cz 三個通道,采樣頻率為128Hz,總共進行了7 次實驗,每次實驗有40 個樣本,每個樣本時長為9s,最終得到一個140 個樣本的訓練集和140個樣本的測試集。
對上述的腦電數據集的腦電信號進行濾波,保留8-30Hz 范圍內的腦電數據。每個通道提取三個時域特征值(峰值、均方根值、一階差分絕對值的均值)、一個頻域特征值(Welch 法)和五個非線性動力學特征值(樣本熵、排序熵、遞歸圖中的ENTR、赫斯特指數、希爾伯特-黃譜熵)進行特征組合,得到了140×27 的訓練集和測試集。訓練集用于優化算法進行參數尋優,測試集測試得到最優參數的BP 神經網絡性能。
為了避免偶然性,每個算法在進行參數尋優時運行10 次。為了體現算法的公正性,我們將不同算法都在一個環境中運行:使用Windows7 系統計算機,編程軟件為Matlab,CPU 為Inter Core TM 3.2Hz。本文設置bm=27;bn=1;bl=7。種群規模為100,迭代次數最大值是40。
表1是經過參數尋優后得到的BP 分類模型在訓練集和測試集的平均準確率,圖3 是六種優化算法的迭代曲線圖。從圖3 可以看出除了DE 的結果比較低,其他四種算法與本文提出的方法結果比較接近。在剛開始的時候,E-SSA 收斂速度最快,中間有一段時間陷入了局部最優解,停滯不前,但是后來還是跳出了局部最優解,并且得到了最好的結果。本文針對BCI2003 的運動想象的數據集在訓練集和測試集比例為1∶1 時最終得到的分類準確率為79.50%。田強強在BCI2003 數據集中,基于事件相關同步去同步(ERS/ERD)進行特征提取后的分類準確率為76.43%;基于自回歸模型(AR)進行特征提取后的分類準確率為66.43%;基于聯合回歸模型(JR)進行特征提取后的分類準確率為73.57%;基于公共空間模式(CSP)進行特征提取后的分類準確率為72.86%[7]。黃等人[8]利用頻域特征對該數據集分析得到了78.85%的分類準確率。由此可以看出E-SSA-BP 模型性能更好。

表1 六種算法運行10 次分類結果統計表

圖3 六種優化算法的迭代曲線圖
在本文中,對于BP 神經網絡容易掉入局部最優陷阱和不能快速收斂這兩個問題,所以為了平衡該神經網絡的局部和全局搜索能力,我們對此提出使用E-SSA 尋找BP神經網絡中最好的連接權重值和閾值。本文使用BCI2003數據集對E-SSA-BP 模型進行實驗驗證,實驗結果表明,E-SSA-BP 模型提高了分類準確率。