徐任倩XU Ren-qian;汪超WANG Chao;王璐WANG Lu
(①安徽工業(yè)大學(xué)管理科學(xué)與工程學(xué)院,馬鞍山 243002;②安徽工程大學(xué)土木建筑工程學(xué)院,蕪湖 241000)
生物的神經(jīng)十分復(fù)雜,為了探究其中奧秘,很多研究學(xué)者投入到神經(jīng)研究過程中,在研究過程中,得到了靈感發(fā)展出人工神經(jīng)網(wǎng)絡(luò)。人的大腦構(gòu)造非常復(fù)雜,它是由大概1011所神經(jīng)元組成的,這些神經(jīng)元保持著高度相聯(lián)系,基本一個(gè)神經(jīng)元就會(huì)連接104個(gè)神經(jīng)元[1]。在研究生物神經(jīng)時(shí)找到了人工神經(jīng)網(wǎng)絡(luò)的發(fā)展方向,也就是起源,用數(shù)學(xué)方式表示神經(jīng)元,用來模仿生物的神經(jīng)元的特點(diǎn)——神經(jīng)網(wǎng)絡(luò)高度聯(lián)系。不同的神經(jīng)的拓?fù)浣Y(jié)構(gòu)也不同,所以我們可以將人工神經(jīng)網(wǎng)絡(luò)分為反饋和前向兩種。主要的反饋網(wǎng)絡(luò)有:Hop-field 神經(jīng)網(wǎng)絡(luò)、Hamming 神經(jīng)網(wǎng)絡(luò)、BAM(Bidirectional Associative Memory)網(wǎng)絡(luò)。而后者主要有BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)、單層或多層感知器等。其中BP 神經(jīng)網(wǎng)絡(luò)是最精華部分,我們重點(diǎn)講述該神經(jīng)網(wǎng)絡(luò),它的主要作用是對(duì)于一些非線性函數(shù)進(jìn)行特殊變換,使空間由輸入變?yōu)檩敵觥?/p>
神經(jīng)網(wǎng)絡(luò)的研究結(jié)果到現(xiàn)在有很多,各種各樣,但比較完善的理論還是BP 神經(jīng)網(wǎng)絡(luò),它具備良好的泛化能力(合理響應(yīng)的能力)、自適應(yīng)、魯棒性和學(xué)習(xí)性。不是所有的BP 神經(jīng)網(wǎng)絡(luò)都能處理任何非線性函數(shù),但單層輸入層、隱含層和輸出層的可以任意處理,不管精度是多大。BP 神經(jīng)網(wǎng)絡(luò)現(xiàn)在已經(jīng)被廣泛應(yīng)用在其他方面,比如處理圖像,函數(shù)逼近,識(shí)別模式。但是,BP 算法也存在著一些缺點(diǎn),例如收斂速度差,很容易掉入局部最優(yōu)的陷阱里,只有經(jīng)驗(yàn)公式來指導(dǎo)如何確定神經(jīng)元個(gè)數(shù)以及網(wǎng)絡(luò)層數(shù),并且當(dāng)問題比較復(fù)雜或難以獲得的梯度信息時(shí),BP 神經(jīng)網(wǎng)絡(luò)可能會(huì)束手無策。BP 神經(jīng)網(wǎng)絡(luò)的權(quán)重訓(xùn)練采用的是梯度下降法,這樣很容易達(dá)到局部最優(yōu),而不能得到全局最優(yōu),我們可以引入一種自適應(yīng)的學(xué)習(xí)方法得到權(quán)重和閾值以此避免出現(xiàn)這種情況。本文引入改進(jìn)的樽海鞘算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值。
BP 神經(jīng)網(wǎng)絡(luò)從結(jié)構(gòu)上看,分成三層或以上,其中隱含層可以一層也可以多層,夾在輸入層與輸出層之間。如果隱含層只有一層隱含層,那么此時(shí)的BP 網(wǎng)絡(luò)結(jié)構(gòu)是最簡單的,如圖1 所示?,F(xiàn)在我們定義一些變量,假設(shè)該網(wǎng)絡(luò)輸入n1個(gè)和輸出n2個(gè),有m 層隱含層。f1、f2是隱含層、輸出層函數(shù),則隱含層輸出值為bj,隱含和輸出層閾值為θj、θk。隱含層連接輸入層與輸出層權(quán)重為wij,vjk。然后我們可以得到BP 神經(jīng)網(wǎng)絡(luò)輸出的值Zk,定義為tk為期望輸出的值,那么bj有等式:
輸出層值Zk的計(jì)算公式如下所示:
當(dāng)輸出與期望的輸出不同,即Zk≠tk,此時(shí)存在誤差e,其定義如下:
BP 神經(jīng)網(wǎng)絡(luò)間神經(jīng)元之間傳遞的函數(shù)有許多種,常見的有:閾值型、概率型、分段線性、線性和非線性。多層網(wǎng)絡(luò)時(shí),每層網(wǎng)絡(luò)選擇函數(shù)既可以是同類的,也可以選擇異類。本文所使用的BP 算法采用的傳遞函數(shù)是雙曲正切S型傳遞函數(shù)和線性傳遞函數(shù)。網(wǎng)絡(luò)訓(xùn)練是一個(gè)不斷調(diào)整權(quán)重和閾值的過程,在網(wǎng)絡(luò)開始訓(xùn)練前,設(shè)定一個(gè)閾值E,如果輸出誤差e 小于等于E,則結(jié)束網(wǎng)絡(luò)訓(xùn)練,然后將預(yù)測樣本輸入訓(xùn)練好的網(wǎng)絡(luò)當(dāng)中就可以得到預(yù)測結(jié)果。
大多數(shù)都是最簡單的BP 神經(jīng)網(wǎng)絡(luò),它包括輸入層、輸出層以及中間單層隱含層,它的性能由網(wǎng)絡(luò)結(jié)構(gòu)(隱藏神經(jīng)元)、權(quán)重、閾值和學(xué)習(xí)率等決定。隱含層神經(jīng)元數(shù)目如果太少的話,BP 神經(jīng)網(wǎng)絡(luò)此時(shí)需要通過加大訓(xùn)練次數(shù)得到更好的結(jié)果;但是隱含層太多的神經(jīng)元數(shù)目也不是什么好事,那么訓(xùn)練時(shí)間會(huì)拉長,而且還容易出現(xiàn)過擬合。所以需要選擇最合適的神經(jīng)元個(gè)數(shù),經(jīng)過多次驗(yàn)證,最后得出經(jīng)驗(yàn)公式,如式(4)所示:
式中,輸入層、輸出層、隱含層的神經(jīng)細(xì)胞數(shù)分別為bm、bn、bl;ba 是自然數(shù),范圍從0 到10。
在2017 年,Mirjalili 等[2]提出了一種新的算法,命名為樽海鞘算法(SSA:Salp swarm algorithm)。它是一種群體算法,具有智能化,其想法來自于樽海鞘們?cè)诤Q笾袑?dǎo)航尋找食物時(shí)所產(chǎn)生的群體現(xiàn)象。它在搜索最優(yōu)解的時(shí)候,樽海鞘會(huì)盤旋成一個(gè)樽海鞘鏈,鏈中最前面的是領(lǐng)導(dǎo)者,剩下的是追隨者。在樽海鞘算法中引入無標(biāo)度網(wǎng)絡(luò)與慣性權(quán)重,加強(qiáng)算法跳出局部最優(yōu)解的能力,提出一種新的改進(jìn)樽海鞘算法-高效樽海鞘算法(E-SSA:Efficient salp swarm algorithm)。
領(lǐng)導(dǎo)者向前面搜索最優(yōu)位置,領(lǐng)導(dǎo)者的位置更新公式為:
本文首先生成一個(gè)無標(biāo)度網(wǎng)絡(luò)來映射追隨者的關(guān)系,然后在追隨者樽海鞘的更新公式中加入基于種群多樣性反饋的慣性權(quán)重,具體公式為:
式中:nbd(i)代表第i 個(gè)樽海鞘與之有拓?fù)潢P(guān)系的所有鄰居。慣性權(quán)重W 的值越小,算法越有可能偏離局部最優(yōu)而收斂到最優(yōu)。慣性權(quán)重的計(jì)算公式如式(7)所示:
其中C 代表多樣性度量,lmax代表最大迭代次數(shù)。多樣性度量可由以下公式計(jì)算:
在公式(8)中,N 指的是種群中個(gè)體數(shù),Dim 代表的是變量的維度。代表第i 個(gè)個(gè)體的第j 維的變量,代表種群所有個(gè)體在第j 維的平均值,搜索空間的對(duì)角線距離
使用E-SSA 優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值的流程圖如圖2 所示。
圖2 E-SSA-BP 的訓(xùn)練和分類流程
本文優(yōu)化權(quán)重和閾值的方法利用BCI2003 公開的運(yùn)動(dòng)想象腦電信號(hào)數(shù)據(jù)集對(duì)E-SSA 驗(yàn)證,引入先進(jìn)的算法,有粒子群優(yōu)化算法(PSO:Particle swarm optimization)、樽海鞘算法、差分進(jìn)化算法(DE:Differential evolution)、權(quán)重自適應(yīng)樽海鞘算法(WASSA:Weight factor and adaptive mutation salp swarm algorithm)和瘋狂自適應(yīng)樽海鞘算法(CASSA:Crazy and adaptive salp swarm algorithm)對(duì)BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)優(yōu)化從而去看各個(gè)算法的優(yōu)化效果。其中DE 是一種啟發(fā)式算法,具有隨機(jī)性,它通過對(duì)種群采用變異、交叉和選擇三種進(jìn)化操作使算法的解逼近于全局最優(yōu)解[3]。PSO 是從鳥類的覓食過程研究出來的,其是一種群體算法,具有智能化。它是通過整個(gè)種群中的每個(gè)粒子相互幫助合作以及共享彼此信息來逼近全局最優(yōu)解[4]。WASSA是Wu 等[5]在樽海鞘算法中的種群位置加入了權(quán)重因子以此來平衡全范圍勘探與局部開發(fā),而且為了避免收斂過早和進(jìn)化停滯,在進(jìn)化過程中引入自適應(yīng)突變策略。CASSA是張達(dá)敏等[6]在2019 年提出的一種改進(jìn)樽海鞘算法。他們?yōu)榱吮Wo(hù)種群多樣性,在樽海鞘算法生成初始種群時(shí)引入Tent 混沌序列和在食物位置引入瘋狂算子,為了保持局部搜索能力與全局搜索能力的良好平衡,在追隨者位置更新公式中添加了自適應(yīng)慣性權(quán)重。這些算法在解決不同條件下的離散優(yōu)化問題或連續(xù)優(yōu)化問題方面有各自的優(yōu)勢。
運(yùn)動(dòng)想象腦電信號(hào)數(shù)據(jù)集可以從http://bbci.de/competition/ii/下載,它是一個(gè)25 歲的健康女性坐在椅子上通過看著屏幕上隨機(jī)出現(xiàn)左或者右的提示想象左右手的運(yùn)動(dòng)控制反饋器的腦電信號(hào)數(shù)據(jù)集,總共實(shí)驗(yàn)時(shí)長為9s,最先的2s 屏幕沒有任何提示,2s 末有一個(gè)提示音告訴被試準(zhǔn)備動(dòng)作,第3s 屏幕出現(xiàn)提示被試開始相應(yīng)的運(yùn)動(dòng)想象。該實(shí)驗(yàn)記錄了C3、C4 和Cz 三個(gè)通道,采樣頻率為128Hz,總共進(jìn)行了7 次實(shí)驗(yàn),每次實(shí)驗(yàn)有40 個(gè)樣本,每個(gè)樣本時(shí)長為9s,最終得到一個(gè)140 個(gè)樣本的訓(xùn)練集和140個(gè)樣本的測試集。
對(duì)上述的腦電數(shù)據(jù)集的腦電信號(hào)進(jìn)行濾波,保留8-30Hz 范圍內(nèi)的腦電數(shù)據(jù)。每個(gè)通道提取三個(gè)時(shí)域特征值(峰值、均方根值、一階差分絕對(duì)值的均值)、一個(gè)頻域特征值(Welch 法)和五個(gè)非線性動(dòng)力學(xué)特征值(樣本熵、排序熵、遞歸圖中的ENTR、赫斯特指數(shù)、希爾伯特-黃譜熵)進(jìn)行特征組合,得到了140×27 的訓(xùn)練集和測試集。訓(xùn)練集用于優(yōu)化算法進(jìn)行參數(shù)尋優(yōu),測試集測試得到最優(yōu)參數(shù)的BP 神經(jīng)網(wǎng)絡(luò)性能。
為了避免偶然性,每個(gè)算法在進(jìn)行參數(shù)尋優(yōu)時(shí)運(yùn)行10 次。為了體現(xiàn)算法的公正性,我們將不同算法都在一個(gè)環(huán)境中運(yùn)行:使用Windows7 系統(tǒng)計(jì)算機(jī),編程軟件為Matlab,CPU 為Inter Core TM 3.2Hz。本文設(shè)置bm=27;bn=1;bl=7。種群規(guī)模為100,迭代次數(shù)最大值是40。
表1是經(jīng)過參數(shù)尋優(yōu)后得到的BP 分類模型在訓(xùn)練集和測試集的平均準(zhǔn)確率,圖3 是六種優(yōu)化算法的迭代曲線圖。從圖3 可以看出除了DE 的結(jié)果比較低,其他四種算法與本文提出的方法結(jié)果比較接近。在剛開始的時(shí)候,E-SSA 收斂速度最快,中間有一段時(shí)間陷入了局部最優(yōu)解,停滯不前,但是后來還是跳出了局部最優(yōu)解,并且得到了最好的結(jié)果。本文針對(duì)BCI2003 的運(yùn)動(dòng)想象的數(shù)據(jù)集在訓(xùn)練集和測試集比例為1∶1 時(shí)最終得到的分類準(zhǔn)確率為79.50%。田強(qiáng)強(qiáng)在BCI2003 數(shù)據(jù)集中,基于事件相關(guān)同步去同步(ERS/ERD)進(jìn)行特征提取后的分類準(zhǔn)確率為76.43%;基于自回歸模型(AR)進(jìn)行特征提取后的分類準(zhǔn)確率為66.43%;基于聯(lián)合回歸模型(JR)進(jìn)行特征提取后的分類準(zhǔn)確率為73.57%;基于公共空間模式(CSP)進(jìn)行特征提取后的分類準(zhǔn)確率為72.86%[7]。黃等人[8]利用頻域特征對(duì)該數(shù)據(jù)集分析得到了78.85%的分類準(zhǔn)確率。由此可以看出E-SSA-BP 模型性能更好。
表1 六種算法運(yùn)行10 次分類結(jié)果統(tǒng)計(jì)表
圖3 六種優(yōu)化算法的迭代曲線圖
在本文中,對(duì)于BP 神經(jīng)網(wǎng)絡(luò)容易掉入局部最優(yōu)陷阱和不能快速收斂這兩個(gè)問題,所以為了平衡該神經(jīng)網(wǎng)絡(luò)的局部和全局搜索能力,我們對(duì)此提出使用E-SSA 尋找BP神經(jīng)網(wǎng)絡(luò)中最好的連接權(quán)重值和閾值。本文使用BCI2003數(shù)據(jù)集對(duì)E-SSA-BP 模型進(jìn)行實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,E-SSA-BP 模型提高了分類準(zhǔn)確率。