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

?

基于改進(jìn)遺傳算法的深度神經(jīng)網(wǎng)絡(luò)優(yōu)化研究*

2021-09-24 11:12:34莫思敏
關(guān)鍵詞:父代遺傳算法種群

李 靜,莫思敏

(太原科技大學(xué)經(jīng)濟(jì)與管理學(xué)院,山西 太原 030024)

1 引言

人工神經(jīng)網(wǎng)絡(luò)ANN(Artificial Neural Network)在人工智能和機(jī)器學(xué)習(xí)領(lǐng)域有著很重要的地位,自1943年提出以來(lái)便成為活躍的研究領(lǐng)域[1]。隨著大數(shù)據(jù)時(shí)代的到來(lái),深度學(xué)習(xí)技術(shù)不斷發(fā)展,各種深度神經(jīng)網(wǎng)絡(luò)被提出以解決各種問(wèn)題。然而,神經(jīng)網(wǎng)絡(luò)的性能受其結(jié)構(gòu)、超參數(shù)影響很大,設(shè)計(jì)出合理的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)較為困難,也正因如此,神經(jīng)網(wǎng)絡(luò)在很多問(wèn)題上的應(yīng)用受到了限制。

近年來(lái),很多專家學(xué)者針對(duì)神經(jīng)結(jié)構(gòu)搜索NAS(Neural Architecture Search)進(jìn)行了一系列研究,旨在設(shè)計(jì)出一種可以自動(dòng)搜索出性能最佳的網(wǎng)絡(luò)結(jié)構(gòu)的技術(shù),這種技術(shù)可以根據(jù)特定的樣本集自動(dòng)搜索出最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)。神經(jīng)結(jié)構(gòu)搜索技術(shù)甚至能夠搜索出之前人類專家從未發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu),在某些任務(wù)上甚至可能比人類專家水平還要高。

Elsken等人[2]概述了該領(lǐng)域現(xiàn)有研究成果,并從3個(gè)維度對(duì)它們進(jìn)行了分類:搜索空間、搜索策略和性能評(píng)估策略。搜索策略是指在搜索空間中找到最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)的方法。演化優(yōu)化作為一種通用的優(yōu)化方法,已經(jīng)成功地應(yīng)用在很多領(lǐng)域中。一些研究表明,針對(duì)給定任務(wù),使用演化算法演化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)和超參數(shù)往往能夠發(fā)現(xiàn)有效的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。近年來(lái),對(duì)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化的研究中出現(xiàn)了很多針對(duì)演化算法的研究。Luo等人[3]提出基于連續(xù)優(yōu)化的簡(jiǎn)單有效的自動(dòng)神經(jīng)結(jié)構(gòu)設(shè)計(jì)方法,解決了在離散空間中搜索神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)效率低下的問(wèn)題。Liu等人[4]設(shè)計(jì)了一種基于分層表示方案識(shí)別高性能神經(jīng)結(jié)構(gòu)的演化方法,并將其應(yīng)用于圖像分類領(lǐng)域,顯示出了強(qiáng)大的性能。Real等人[5]通過(guò)改進(jìn)演化算法的選擇策略自動(dòng)搜索神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),開發(fā)出了一種圖像分類器(AmoebaNet-A),實(shí)驗(yàn)結(jié)果顯示該圖像分類器性能超越了人類專家手工設(shè)計(jì)的圖像分類器。Xie等人[6]使用遺傳算法自動(dòng)搜索深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),取得了不錯(cuò)的實(shí)驗(yàn)結(jié)果。Han等人[7]針對(duì)隨機(jī)單隱藏層前饋神經(jīng)網(wǎng)絡(luò)RSLFN(Random Single-hidden Layer Feedforward neural Network)性能對(duì)隱藏神經(jīng)元的數(shù)量和隨機(jī)初始化的參數(shù)高度敏感的問(wèn)題,使用元啟發(fā)式優(yōu)化算法改進(jìn)RSLFN。Tang等人[8]將動(dòng)態(tài)群優(yōu)化DGO(Dynamic Group Optimization)算法集成到前饋神經(jīng)網(wǎng)絡(luò)中以優(yōu)化前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在收斂速度和避免局部最優(yōu)方面表現(xiàn)出了良好的性能。文常保等人[9]通過(guò)改進(jìn)遺傳算法優(yōu)化徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),并根據(jù)個(gè)體適應(yīng)度值和迭代次數(shù)自適應(yīng)調(diào)整交叉變異概率,增強(qiáng)了算法的局部搜索能力。

劉浩然等人[10]通過(guò)改進(jìn)遺傳算法選擇策略優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值,并將其應(yīng)用于水泥回轉(zhuǎn)窯的故障診斷中,驗(yàn)證了算法的可行性。Karaboga等人[11]為避免傳統(tǒng)訓(xùn)練算法容易陷入局部最小值和計(jì)算復(fù)雜的問(wèn)題,將人工蜂群算法應(yīng)用于搜尋神經(jīng)網(wǎng)絡(luò)的最佳權(quán)重集中。Xu等人[12]提出一種改進(jìn)蜂群優(yōu)化算法優(yōu)化前饋人工神經(jīng)網(wǎng)絡(luò)的參數(shù),引入了新的選擇策略和最佳指導(dǎo)策略。另外,Jaddi等人[13]提出了一種改進(jìn)的蝙蝠算法和編碼方案,結(jié)合了基于種群和局部搜索算法的優(yōu)勢(shì)以搜索最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)以及ANN權(quán)重和偏差,并將其應(yīng)用于降雨預(yù)測(cè)問(wèn)題,得到了令人滿意的結(jié)果。Heidari等人[14]使用最近提出的蚱蜢優(yōu)化算法GOA(Grasshopper Optimization Algorithm)提出了一種新的混合隨機(jī)訓(xùn)練算法,并運(yùn)用該算法演化ANN的權(quán)重及偏差。Xue等人[15]提出了一種基于參數(shù)和策略的自適應(yīng)粒子群優(yōu)化SPS-PSO(Self-adaptive Parameter and Strategy based Particle Swarm Optimization)算法,通過(guò)特征選擇來(lái)優(yōu)化前饋神經(jīng)網(wǎng)絡(luò)FNN (Feedforward Neural Network),解決了針對(duì)大規(guī)模數(shù)據(jù)集優(yōu)化權(quán)重計(jì)算復(fù)雜度大的問(wèn)題。Aljarah等人[16]基于鯨魚優(yōu)化算法WOA(Whale Optimization Algorithm)針對(duì)神經(jīng)網(wǎng)絡(luò)的連接權(quán)重進(jìn)行研究,并且應(yīng)用改進(jìn)鯨魚優(yōu)化算法訓(xùn)練網(wǎng)絡(luò)的連接權(quán)重,取得了不錯(cuò)的實(shí)驗(yàn)結(jié)果。

在以上演化算法優(yōu)化前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的研究中,一些文獻(xiàn)[3 - 9]僅對(duì)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行了優(yōu)化研究,而另一些文獻(xiàn)[10 - 16]則僅對(duì)網(wǎng)絡(luò)連接權(quán)重進(jìn)行優(yōu)化研究。目前鮮有文獻(xiàn)在研究演化算法的同時(shí)優(yōu)化深度前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和權(quán)重。深度前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)變量(層和每層節(jié)點(diǎn)數(shù)量)屬于整型變量,而權(quán)重屬于實(shí)數(shù)變量,因此,對(duì)深度前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和權(quán)重的優(yōu)化屬于多變量類型優(yōu)化問(wèn)題。深度神經(jīng)網(wǎng)絡(luò)的權(quán)重變量規(guī)模之大,亦屬于大規(guī)模優(yōu)化問(wèn)題。為了獲得高性能神經(jīng)網(wǎng)絡(luò),本文提出改進(jìn)遺傳算法MGADNN(Modyfied Genetic Algorithm Deep Neural Network)優(yōu)化深度神經(jīng)網(wǎng)絡(luò),針對(duì)變量多類型和大規(guī)模優(yōu)化問(wèn)題,采用二進(jìn)制編碼與實(shí)數(shù)編碼的混合編碼策略對(duì)深度前饋神經(jīng)網(wǎng)絡(luò)層數(shù)、每層節(jié)點(diǎn)量以及學(xué)習(xí)率和權(quán)重變量進(jìn)行編碼。并改進(jìn)遺傳算法的選擇策略,從父代和子代合并的2n個(gè)個(gè)體中,選擇適應(yīng)值最高的n/2個(gè)個(gè)體進(jìn)入新父代,再根據(jù)適應(yīng)值,以一定的概率選擇部分適應(yīng)值較差的n/2個(gè)體進(jìn)入新父代,以增加種群多樣性,避免算法陷入局部最優(yōu)。同時(shí),引入dropout方法,以減少神經(jīng)網(wǎng)絡(luò)過(guò)擬合訓(xùn)練數(shù)據(jù)。利用改進(jìn)的遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù),獲得性能較高的神經(jīng)網(wǎng)絡(luò)。

2 MGADNN算法

2.1 編碼策略

前饋神經(jīng)網(wǎng)絡(luò)(FNN)是人工神經(jīng)網(wǎng)絡(luò)的一種,采用一種單向多層結(jié)構(gòu),其中每一層包含若干個(gè)神經(jīng)元。在此種神經(jīng)網(wǎng)絡(luò)中,各神經(jīng)元可以接收前一層神經(jīng)元的信號(hào),并將計(jì)算結(jié)果輸出到下一層。圖1是一個(gè)2層前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

Figure 1 Structure of neural network 圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的輸出分2步計(jì)算。 首先,使用式(1)計(jì)算隱藏層中第j個(gè)節(jié)點(diǎn)的輸出:

(1)

其中,第1項(xiàng)為輸入的加權(quán)總和,n表示輸入數(shù)量,Ii表示第i個(gè)輸入變量,wkij表示第k層Ii與隱藏層神經(jīng)元Hj之間的連接權(quán)重。例如,w111表示輸入層第1個(gè)節(jié)點(diǎn)到隱藏層第1個(gè)節(jié)點(diǎn)的連接權(quán)重。第2項(xiàng)βj為偏置項(xiàng)。其次,使用激活函數(shù)來(lái)觸發(fā)神經(jīng)元的輸出。FNN中可以使用不同類型的激活功能。本文使用文獻(xiàn)中應(yīng)用最廣泛的S形函數(shù)[12],如式(2)所示:

(2)

因此,可以通過(guò)式(3)獲得神經(jīng)元的輸出:

(3)

神經(jīng)網(wǎng)絡(luò)中常用的損失函數(shù)有回歸損失函數(shù)、平方誤差損失函數(shù)和絕對(duì)誤差損失函數(shù)等,本文使用平方誤差損失函數(shù)作為訓(xùn)練過(guò)程中的損失函數(shù)。

通過(guò)設(shè)計(jì)的人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來(lái)訓(xùn)練數(shù)據(jù)以更新網(wǎng)絡(luò)的權(quán)重。通過(guò)不斷訓(xùn)練網(wǎng)絡(luò)模型更新權(quán)重以達(dá)到使誤差最小化的目標(biāo)。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程是一項(xiàng)具有挑戰(zhàn)性的任務(wù),可以提高人工神經(jīng)網(wǎng)絡(luò)解決各種問(wèn)題的能力。

本文需要優(yōu)化的參數(shù)有網(wǎng)絡(luò)結(jié)構(gòu)(即網(wǎng)絡(luò)層數(shù)和每層的節(jié)點(diǎn)量)、權(quán)重、學(xué)習(xí)率和采用二進(jìn)制編碼和實(shí)數(shù)編碼方式。其中,針對(duì)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化采用二進(jìn)制編碼,對(duì)權(quán)重和學(xué)習(xí)率采用實(shí)數(shù)編碼。

例如圖1所示的2層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),該神經(jīng)網(wǎng)絡(luò)模型用來(lái)訓(xùn)練具有2個(gè)特征的二分類數(shù)據(jù),其中輸入層到隱藏層之間的連接權(quán)重為第1層的連接權(quán)重。圖1所示的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(層數(shù)、節(jié)點(diǎn)量)的二進(jìn)制編碼方式如圖2所示:前3位表示層數(shù),010表示這是一個(gè)2層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),后5位表示層節(jié)點(diǎn)量,第1層節(jié)點(diǎn)量二進(jìn)制編碼00011表示第1層有3個(gè)節(jié)點(diǎn),第2層節(jié)點(diǎn)量00010表示第2層有2個(gè)節(jié)點(diǎn)。層與層之間連接權(quán)重的編碼如圖3所示,按照順序存放在矩陣中。針對(duì)學(xué)習(xí)率的編碼如圖4所示,其中Lr1表示第1個(gè)模型的學(xué)習(xí)率。

Figure 2 Encoding of number of network layers and number of nodes in each layer 圖2 網(wǎng)絡(luò)層數(shù)及每層節(jié)點(diǎn)量編碼

Figure 3 Weight encoding圖3 權(quán)重編碼

Figure 4 Learning rate encoding圖4 學(xué)習(xí)率編碼

2.2 MGADNN算法的選擇策略

遺傳算法是受達(dá)爾文進(jìn)化論的啟發(fā),借鑒生物進(jìn)化過(guò)程而提出的一種啟發(fā)式搜索算法。算法通過(guò)選擇、交叉和變異等機(jī)制搜索解空間的優(yōu)秀個(gè)體。選擇操作對(duì)遺傳算法性能影響很大,常見的選擇策略有輪盤賭選擇法、精英選擇法等,其中輪盤賭選擇法是首先根據(jù)個(gè)體適應(yīng)值計(jì)算概率,然后根據(jù)這個(gè)概率隨機(jī)選擇個(gè)體,它的本質(zhì)是適應(yīng)值好的個(gè)體被選中的幾率更大,沒(méi)有考慮所選擇個(gè)體構(gòu)成種群的多樣性。精英選擇法是將子代和父代中的個(gè)體按照適應(yīng)值排名,然后選擇適應(yīng)值最好的個(gè)體構(gòu)成種群。這種選擇策略僅選擇適應(yīng)值好的個(gè)體,顯然會(huì)造成種群多樣性差,易陷入局部最優(yōu)的問(wèn)題。劉浩然等人[10]改進(jìn)了遺傳算法的選擇策略,將種群中的個(gè)體按照適應(yīng)值從差到優(yōu)排序后平均分為3部分,并設(shè)置這3部分被選擇個(gè)體的概率為0.6,0.8,1,以達(dá)到多選適應(yīng)值好的個(gè)體,少選適應(yīng)值差的個(gè)體的目的,這種方法在一定程度上引進(jìn)了適應(yīng)值差的個(gè)體,有利于避免算法陷入局部最優(yōu)。選擇概率是針對(duì)水泥回轉(zhuǎn)窯數(shù)據(jù)人工設(shè)定的經(jīng)驗(yàn)值。對(duì)于基于其他訓(xùn)練數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)優(yōu)化,這種選擇策略可能未必有效。對(duì)于優(yōu)化神經(jīng)網(wǎng)絡(luò)這樣復(fù)雜問(wèn)題,需要遺傳算法具有較好的多樣性,而固定概率值的選擇策略可能會(huì)使算法的多樣性受到影響,不利于尋找到性能較高的神經(jīng)網(wǎng)絡(luò)。

因此,本文改進(jìn)了遺傳算法的選擇策略,該算法的思路是根據(jù)個(gè)體的適應(yīng)值,構(gòu)建一個(gè)以個(gè)體適應(yīng)值為變量的概率函數(shù),以一定的概率選擇適應(yīng)值較差的個(gè)體并與適應(yīng)值較好的個(gè)體混合構(gòu)成新父代。算法步驟如下所示:

(1)將子代個(gè)體與父代個(gè)體合并,假設(shè)種群規(guī)模為n,合并子代與父代后個(gè)體數(shù)量為2n;

(2)將合并后群體中的2n個(gè)個(gè)體依據(jù)其目標(biāo)函數(shù)值(本文以神經(jīng)網(wǎng)絡(luò)在訓(xùn)練數(shù)據(jù)上的平方誤差值MSE為目標(biāo)函數(shù)值,MSE值越小,網(wǎng)絡(luò)性能越好,個(gè)體目標(biāo)函數(shù)值越小,個(gè)體適應(yīng)值越好)從小到大排列,目標(biāo)函數(shù)值小的個(gè)體其排名值也小;

(3)將排序后的個(gè)體分為2段,前n/2個(gè)個(gè)體為第1段,后3n/2個(gè)體為第2段;

(4)前n/2個(gè)個(gè)體被直接保留為新父代的一部分個(gè)體,根據(jù)式(4)從第2段3n/2個(gè)個(gè)體中,概率選擇n/2個(gè)個(gè)體,形成新父代的剩余部分。

(4)

其中,p(j)表示第j個(gè)個(gè)體被選中的概率,r(j)表示第j個(gè)個(gè)體按照目標(biāo)函數(shù)值從小到大排序在整體中的排名值。目標(biāo)函數(shù)值小的個(gè)體其排名值也小,目標(biāo)函數(shù)值大的個(gè)體其排名值也大。

下面用種群數(shù)為6并標(biāo)有個(gè)體標(biāo)號(hào)以及目標(biāo)函數(shù)值的種群為例,使用圖形描述上述思想。

(1)設(shè)種群規(guī)模為6,即n=6,則父代和子代種群個(gè)體混合組成一個(gè)個(gè)體數(shù)為12的種群:

其中,fi表示第i個(gè)個(gè)體的適應(yīng)值,例如f1=5表示第1個(gè)個(gè)體的適應(yīng)值為5,f2=8表示第2個(gè)個(gè)體的適應(yīng)值為8。

(2)將12個(gè)個(gè)體按照目標(biāo)函數(shù)值從小到大排序:

(3)將排序后的個(gè)體分為2段,前n/2個(gè)個(gè)體為第1段,后3n/2個(gè)體為第2段:

2.3 MGADNN算法的收斂性和多樣性分析

按照改進(jìn)的選擇策略,算法在每一演化代t,混合父代與子代個(gè)體,形成包含2n個(gè)個(gè)體的群體,按照適應(yīng)值對(duì)此群個(gè)體排序,并從中選擇適應(yīng)值最好的n/2個(gè)個(gè)體作為新父代的一部分(記為A1(t)),再?gòu)钠溆?n/2個(gè)個(gè)體中依據(jù)個(gè)體適應(yīng)值,概率地選擇適應(yīng)值較差的n/2個(gè)體(記為A2(t))。新父代P(t+1)=A1(t)∪A2(t)。假設(shè)到第t代時(shí),I*(t) 為P(t) 種群中的最優(yōu)個(gè)體。根據(jù)本文的選擇策略,構(gòu)成新父代群體P(t+1)的A1(t)中包含適應(yīng)值等于或優(yōu)于I*(t)的個(gè)體。因此,在整個(gè)演化過(guò)程中,歷史發(fā)現(xiàn)的精英個(gè)體始終被保留在種群中。理論已經(jīng)證明精英保留的標(biāo)準(zhǔn)遺傳算法是全局收斂的[17]。在本文的改進(jìn)算法中,精英個(gè)體被保留在種群中,對(duì)算法的全局收斂能力產(chǎn)生了較大作用。

在構(gòu)成父代群體P(t+1)的A2(t)中包含部分適應(yīng)值較差的個(gè)體,增加了群體多樣性,有利于算法跳出局部最優(yōu),進(jìn)而能夠發(fā)現(xiàn)性能更好的神經(jīng)網(wǎng)絡(luò)。因?yàn)?,在A1(t)和A2(t)中個(gè)體數(shù)量相等,所以能夠兼顧算法的收斂性和多樣性。

2.4 MGADNN算法對(duì)神經(jīng)網(wǎng)絡(luò)性能的影響

在本文中,神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中采用后向傳播BP(Back Propagation)算法優(yōu)化權(quán)重。BP算法是從解空間一點(diǎn)上按照梯度下降的方法開始搜索的確定性算法。因此,初始值和學(xué)習(xí)率對(duì)BP算法性能影響較大,不合適的初始值將導(dǎo)致搜索陷入局部最優(yōu)。初始值的設(shè)置對(duì)搜索到較高性能的神經(jīng)網(wǎng)絡(luò)有重要影響。遺傳算法的全局搜索能力較強(qiáng),本文設(shè)計(jì)的選擇策略相較于精英選擇策略,增加了種群的多樣性,提高了算法在全局范圍內(nèi)搜索最優(yōu)解的能力。因此,本文在每一個(gè)演化代,首先使用改進(jìn)遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)重,以尋找合適的初始值。之后,在神經(jīng)網(wǎng)絡(luò)訓(xùn)練階段,BP算法基于此初始值開始網(wǎng)絡(luò)訓(xùn)練。

2.5 MGADNN算法流程

MGADNN算法的基本思想是:將FNN結(jié)構(gòu)(網(wǎng)絡(luò)層數(shù)、每層的節(jié)點(diǎn)量)進(jìn)行二進(jìn)制編碼,學(xué)習(xí)率及網(wǎng)絡(luò)權(quán)重使用實(shí)數(shù)編碼,隨機(jī)初始化后輸入改進(jìn)遺傳算法中演化,將前饋神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)誤差作為該個(gè)體的目標(biāo)函數(shù)值,通過(guò)選擇、交叉和變異等遺傳操作尋找最優(yōu)個(gè)體,即最優(yōu)的前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、學(xué)習(xí)率和權(quán)重,直到滿足實(shí)驗(yàn)設(shè)置的最大迭代次數(shù)結(jié)束。

(1)種群初始化,根據(jù)各個(gè)體構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,t=0;

(2)在第t代,父代P(t) 執(zhí)行隨機(jī)單點(diǎn)交叉變異操作,產(chǎn)生新的子代個(gè)體Q′(t);

(3)BP算法訓(xùn)練每個(gè)子代個(gè)體Q′(t)(神經(jīng)網(wǎng)絡(luò))獲得學(xué)習(xí)后的子代Q(t),將子代的權(quán)重值作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練階段BP算法優(yōu)化的權(quán)重初始值;

(4)依據(jù)式(5)計(jì)算子代Q(t)個(gè)體的目標(biāo)函數(shù)值;

(5)將父代P(t)與子代Q(t)個(gè)體合并,依據(jù)2.2節(jié)改進(jìn)的選擇策略選擇個(gè)體組成新父代P(t+1);

(6)當(dāng)達(dá)到種群最大迭代次數(shù),則停止優(yōu)化,進(jìn)入步驟(7),否則t=t+1,返回步驟(2);

(7)種群個(gè)體(神經(jīng)網(wǎng)絡(luò))對(duì)測(cè)試數(shù)據(jù)進(jìn)行預(yù)測(cè),獲得測(cè)試誤差值最小的神經(jīng)網(wǎng)絡(luò)。

3 dropout方法

深度神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的學(xué)習(xí)能力,但是過(guò)擬合問(wèn)題是此類網(wǎng)絡(luò)的一個(gè)嚴(yán)重問(wèn)題,并且過(guò)于復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)消耗大量存儲(chǔ)空間和計(jì)算資源。dropout方法[18]是針對(duì)這個(gè)問(wèn)題被提出的。dropout是一種正則化方法,它主要通過(guò)隨機(jī)刪除網(wǎng)絡(luò)中的神經(jīng)元和神經(jīng)元連接的邊以得到一個(gè)更加精簡(jiǎn)的網(wǎng)絡(luò)。dropout方法工作原理如圖5所示,圖5a表示沒(méi)有使用dropout方法的全連接網(wǎng)絡(luò),使用dropout方法后,首先遍歷網(wǎng)絡(luò)中的每一層,并根據(jù)設(shè)置的節(jié)點(diǎn)保留概率和刪除概率,隨機(jī)刪除一些節(jié)點(diǎn),然后刪除掉與該節(jié)點(diǎn)相關(guān)的邊,最終得到一個(gè)節(jié)點(diǎn)更少、結(jié)構(gòu)更簡(jiǎn)單的網(wǎng)絡(luò),如圖5b所示。

Figure 5 Diagrams of the full connection network and using of dropout network 圖5 全連接網(wǎng)絡(luò)與使用dropout網(wǎng)絡(luò)結(jié)構(gòu)圖

假設(shè)設(shè)置dropout方法隨機(jī)刪除節(jié)點(diǎn)的概率為0.5,即每個(gè)節(jié)點(diǎn)被保留和刪除的概率均為0.5,dropout方法隨機(jī)遍歷網(wǎng)絡(luò)后按照0.5的概率隨機(jī)刪除部分節(jié)點(diǎn)以及與該節(jié)點(diǎn)相關(guān)的邊,圖5b為精簡(jiǎn)后的網(wǎng)絡(luò)結(jié)構(gòu)。從圖5可以很直觀地看出,使用dropout方法后網(wǎng)絡(luò)隨機(jī)去掉了一些節(jié)點(diǎn)和邊,使得網(wǎng)絡(luò)更加簡(jiǎn)單。

4 目標(biāo)函數(shù)

為了與其他相關(guān)文獻(xiàn)的實(shí)驗(yàn)結(jié)果進(jìn)行比較,本文以均方誤差MSE(Mean-Square Error)作為目標(biāo)函數(shù),如式(5)表示:

(5)

5 實(shí)驗(yàn)與結(jié)果分析

5.1 實(shí)驗(yàn)數(shù)據(jù)

表1為實(shí)驗(yàn)所用數(shù)據(jù)集的基本信息。如表1所示,本文所選數(shù)據(jù)集具有不同數(shù)量的特征和樣本,以在不同條件下測(cè)試算法,使得實(shí)驗(yàn)結(jié)果更具說(shuō)服力。實(shí)驗(yàn)設(shè)置如表2所示。

Table 1 Experimental datasets表1 實(shí)驗(yàn)數(shù)據(jù)集

Figure 6 Influence of dropout method on experiment results圖6 dropout方法對(duì)實(shí)驗(yàn)結(jié)果的影響

Table 2 MGADNN algorithm parameter setting

通過(guò)研究文獻(xiàn)發(fā)現(xiàn),深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練數(shù)據(jù)在一定的范圍內(nèi)網(wǎng)絡(luò)結(jié)構(gòu)越復(fù)雜其結(jié)果越好,但超過(guò)這個(gè)范圍,太深層的網(wǎng)絡(luò)結(jié)構(gòu)反而會(huì)出現(xiàn)過(guò)擬合現(xiàn)象,導(dǎo)致網(wǎng)絡(luò)性能下降。所以,本文將待優(yōu)化的網(wǎng)絡(luò)層數(shù)最大值設(shè)置為7層,每層的節(jié)點(diǎn)數(shù)量最大值設(shè)置為31。利用二進(jìn)制編碼,則前3位表示網(wǎng)絡(luò)層數(shù),后5位表示每層節(jié)點(diǎn)數(shù)量。

5.2 dropout方法對(duì)實(shí)驗(yàn)結(jié)果影響

本節(jié)研究dropout方法在不同的隨機(jī)刪點(diǎn)的概率下對(duì)實(shí)驗(yàn)結(jié)果的影響。分別設(shè)置dropout率為0.2,0.3,0.4,0.5作為實(shí)驗(yàn)條件,并使用具有不同特征數(shù)量、不同數(shù)據(jù)量的Heart、Breast cancer、Twonorm、Ring、Blood、Ionosphere、Monk數(shù)據(jù)集進(jìn)行數(shù)值實(shí)驗(yàn),使用本文改進(jìn)算法獨(dú)立運(yùn)行并且采用分類準(zhǔn)確度Accuracy作為評(píng)價(jià)指標(biāo)。

圖6是每代種群中最優(yōu)值(每一代最小MSE值)的演化曲線圖,表3則是演化結(jié)束后種群個(gè)體在測(cè)試數(shù)據(jù)集上的最好值(Accuracy最大值)。由表3可以看出,Heart數(shù)據(jù)集和Breast cancer數(shù)據(jù)集在實(shí)驗(yàn)設(shè)置dropout率為0.4和0.5實(shí)驗(yàn)條件下的分類準(zhǔn)確度最好,Twonorm數(shù)據(jù)集和Ring數(shù)據(jù)集在實(shí)驗(yàn)設(shè)置dropout率為0.4條件下實(shí)驗(yàn)結(jié)果最好。由圖6a在訓(xùn)練數(shù)據(jù)上的收斂曲線并結(jié)合表3測(cè)試數(shù)據(jù)分類準(zhǔn)確度可以看出,在Heart數(shù)據(jù)集上訓(xùn)練不使用dropout方法時(shí),收斂效果更好,但是從表3分類結(jié)果可以看出,雖然訓(xùn)練過(guò)程中MSE最終降到了最低,但是其測(cè)試數(shù)據(jù)的分類準(zhǔn)確度卻是最差的,由此可以看出存在過(guò)擬合現(xiàn)象。如圖6e所示,在Blood數(shù)據(jù)集上dropout率為0.4時(shí),訓(xùn)練過(guò)程中的MSE降到了最低,并且在測(cè)試數(shù)據(jù)上的分類準(zhǔn)確度最高。圖6f所示,Ionosphere數(shù)據(jù)集在訓(xùn)練過(guò)程中,當(dāng)dropout率為0.3和0.5時(shí),MSE降到了最低,如表3所示,當(dāng)設(shè)置dropout率為0.3時(shí),其演化結(jié)束后種群個(gè)體在測(cè)試數(shù)據(jù)上的分類準(zhǔn)確度最高。如圖6g所示,針對(duì)Monk數(shù)據(jù)集,當(dāng)設(shè)置dropout率為0.3時(shí),在訓(xùn)練過(guò)程中其MSE降到了最低,但是最好的測(cè)試數(shù)據(jù)實(shí)驗(yàn)結(jié)果出現(xiàn)在dropout率為0.4和dropout率為0.5的條件下。針對(duì)每一個(gè)數(shù)據(jù)集,在測(cè)試數(shù)據(jù)上最好的實(shí)驗(yàn)結(jié)果總是在使用dropout方法時(shí)出現(xiàn),由此可以看出dropout方法在避免數(shù)據(jù)過(guò)擬合方面起了很大作用。

Table 3 Influence of dropout on Accuracy表3 dropout對(duì)分類準(zhǔn)確度Accuracy的影響

Figure 7 Experimental results of MGADNN algorithm and GADNN algorithm圖7 MGADNN算法與GADNN算法實(shí)驗(yàn)結(jié)果

5.3 MGADNN實(shí)驗(yàn)結(jié)果

為了盡可能保留樣本分布,將所有數(shù)據(jù)集中數(shù)據(jù)的66%用于訓(xùn)練,34%用于測(cè)試。 此外,為消除具有不同數(shù)值范圍特征的影響,所有數(shù)據(jù)均使用最小-最大歸一化進(jìn)行歸一化,如式(6)所示:

(6)

其中,v′∈(minA,maxA)表示數(shù)據(jù)v的歸一化結(jié)果。為了將實(shí)驗(yàn)結(jié)果與其他算法進(jìn)行比較,本文采用與文獻(xiàn)[16]相同的實(shí)驗(yàn)設(shè)置,使用Heart、Breast cancer、Twonorm、Ring、Blood、Ionosphere、Monk數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),以分類準(zhǔn)確度Accuracy作為評(píng)價(jià)指標(biāo)。

表4所示為演化結(jié)束后種群個(gè)體在測(cè)試數(shù)據(jù)上的最好值(Accuracy最大值),結(jié)果表明針對(duì)Heart、Breast cancer、Twonorm、Ring、Blood、Ionosphere和Monk數(shù)據(jù)集,MGADNN算法較遺傳算法優(yōu)化深度神經(jīng)網(wǎng)絡(luò)算法(GADNN)測(cè)試分類準(zhǔn)確度更高。結(jié)合圖7a每代種群中最優(yōu)值(每一代最小MSE值)的演化曲線圖可以看出,使用2種算法訓(xùn)練Heart數(shù)據(jù)集,訓(xùn)練過(guò)程中2種算法的MSE最終都降到了相同水平,但是測(cè)試數(shù)據(jù)的分類準(zhǔn)確度表明MGADNN算法性能更好,說(shuō)明MGADNN搜索到的網(wǎng)絡(luò)在訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)上都能獲得好的性能。針對(duì)Breast cancer、Twonorm、Ring、Blood、Ionosphere、Monk數(shù)據(jù)集,從實(shí)驗(yàn)結(jié)果即測(cè)試數(shù)據(jù)的分類準(zhǔn)確度Accuracy可以看出,MGADNN算法在測(cè)試數(shù)據(jù)上的分類準(zhǔn)確度總是最高;從訓(xùn)練過(guò)程中的收斂曲線可以看出,MGADNN算法訓(xùn)練數(shù)據(jù)收斂速度較快。綜上所述,與GADNN算法相比較,MGADNN算法能夠搜索到性能更佳的網(wǎng)絡(luò)。

結(jié)合圖7每代種群中最優(yōu)值(每一代最小MSE值)的演化曲線圖可以看出,MGADNN算法的演化曲線收斂速度最快,并且MSE值總是降到最低,結(jié)合表4中MGADNN算法在測(cè)試數(shù)據(jù)集上的分類準(zhǔn)確度總是最高,表明該算法訓(xùn)練出的網(wǎng)絡(luò)性能各方面都優(yōu)于GADNN算法的。

Table 4 Experimental results of MGADNN and GADNN (Accuracy as an evaluation index)表4 MGADNN與GADNN實(shí)驗(yàn)結(jié)果(Accuracy作為評(píng)價(jià)指標(biāo))

5.4 與相關(guān)文獻(xiàn)結(jié)果比較

本文使用的實(shí)驗(yàn)設(shè)置同文獻(xiàn)[16],使用Breast cancer、Ring和Twonorm、Blood、Ionosphere和Monk數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),將實(shí)驗(yàn)最好結(jié)果與參考文獻(xiàn)[16]中的其他算法進(jìn)行對(duì)比,對(duì)比結(jié)果如表5所示。

Table 5 Experimental results comparison of various algorithms (Accuracy as an evaluation index)表5 各算法實(shí)驗(yàn)結(jié)果比較(Accuracy作為評(píng)價(jià)指標(biāo))

文獻(xiàn)[16]中提到鯨魚優(yōu)化算法WOA(Whale Optimization Algorithm)及其對(duì)比的BP、GA、PSO、ACO算法都僅僅是優(yōu)化了前饋神經(jīng)網(wǎng)絡(luò)的連接權(quán)重,并沒(méi)有對(duì)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)(比如網(wǎng)絡(luò)層數(shù)、每層神經(jīng)元個(gè)數(shù))進(jìn)行優(yōu)化。實(shí)驗(yàn)結(jié)果顯示,本文提出的MGADNN算法在Breast cancer、Ring和Ionosphere數(shù)據(jù)集上性能優(yōu)于BP、GA、WOA、PSO和ACO算法的;在Twonorm數(shù)據(jù)集上的性能優(yōu)于BP、PSO和ACO算法的;在Blood數(shù)據(jù)集上,本文提出的MGADNN算法的分類準(zhǔn)確度優(yōu)于BP算法和ACO算法的,但是比GA、WOA和PSO算法的差;在Monk數(shù)據(jù)集上,分類準(zhǔn)確度最高的算法為GA算法,本文提出的算法優(yōu)于BP、PSO和ACO算法。

6 結(jié)束語(yǔ)

本文通過(guò)改進(jìn)的遺傳算法優(yōu)化深度前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和超參數(shù),自動(dòng)設(shè)計(jì)出適合不同數(shù)據(jù)的最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。本文使用Ring、Breast cancer、 Twonorm、Heart、Blood、Ionosphere和Monk數(shù)據(jù)集進(jìn)行數(shù)值實(shí)驗(yàn),驗(yàn)證了dropout方法可以有效避免過(guò)擬合,故將dropout方法應(yīng)用到本文所提算法中。同時(shí),在相同dropout率條件下對(duì)比MGADNN算法與GADNN算法,實(shí)驗(yàn)結(jié)果表明,MGADNN算法由于改進(jìn)了遺傳算法選擇策略,以一定概率引入一些適應(yīng)值較差的個(gè)體,增加了群體多樣性。在相同的實(shí)驗(yàn)條件下,與其他文獻(xiàn)作比較,仿真結(jié)果表明,本文設(shè)計(jì)的算法夠搜索到性能更佳的神經(jīng)網(wǎng)絡(luò)。

本文通過(guò)dropout方法隨機(jī)從神經(jīng)網(wǎng)絡(luò)中刪除一些節(jié)點(diǎn)來(lái)避免神經(jīng)網(wǎng)絡(luò)過(guò)擬合訓(xùn)練數(shù)據(jù),效果明顯,但針對(duì)不同的數(shù)據(jù)需要尋找合適的dropout率,因此設(shè)計(jì)適應(yīng)不同數(shù)據(jù)的新剪枝方法并將其與演化算法結(jié)合去尋找性能更佳的神經(jīng)網(wǎng)絡(luò)需要進(jìn)一步研究。

猜你喜歡
父代遺傳算法種群
中國(guó)高等教育的代際傳遞及其內(nèi)在機(jī)制:“學(xué)二代”現(xiàn)象存在嗎?
延遲退休決策對(duì)居民家庭代際收入流動(dòng)性的影響分析
——基于人力資本傳遞機(jī)制
山西省發(fā)現(xiàn)刺五加種群分布
中華蜂種群急劇萎縮的生態(tài)人類學(xué)探討
紅土地(2018年7期)2018-09-26 03:07:38
父代收入對(duì)子代收入不平等的影響
基于自適應(yīng)遺傳算法的CSAMT一維反演
一種基于遺傳算法的聚類分析方法在DNA序列比較中的應(yīng)用
基于遺傳算法和LS-SVM的財(cái)務(wù)危機(jī)預(yù)測(cè)
男孩偏好激勵(lì)父代掙取更多收入了嗎?
——基于子女?dāng)?shù)量基本確定的情形
基于改進(jìn)的遺傳算法的模糊聚類算法
合山市| 额尔古纳市| 甘洛县| 乡宁县| 千阳县| 宁化县| 盐城市| 丰顺县| 天气| 揭西县| 那曲县| 张家口市| 崇阳县| 济源市| 登封市| 平舆县| 德安县| 胶州市| 开封县| 星子县| 盖州市| 中宁县| 宁远县| 三亚市| 滨州市| 汾西县| 商洛市| 新余市| 弥勒县| 明光市| 民乐县| 惠安县| 金昌市| 德州市| 彝良县| 徐汇区| 凤凰县| 洞口县| 郓城县| 泗水县| 黎城县|