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

?

神經(jīng)網(wǎng)絡(luò)非梯度優(yōu)化方法研究進(jìn)展

2022-09-06 11:08陳希亮
關(guān)鍵詞:權(quán)值梯度權(quán)重

盛 蕾,陳希亮,康 凱

陸軍工程大學(xué) 指揮控制工程學(xué)院,南京 210007

神經(jīng)網(wǎng)絡(luò)通常是指一種含有輸入層、隱藏層、輸出層且每一層都含有許多神經(jīng)元的多層復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)。它通過模仿生物的大腦神經(jīng)元結(jié)構(gòu)和功能,從而使計(jì)算機(jī)對數(shù)據(jù)信息能夠進(jìn)行智能處理。目前,神經(jīng)網(wǎng)絡(luò)已在模式識別[1]、自動控制[2]、生物信息學(xué)[3]等很多領(lǐng)域得到廣泛的應(yīng)用。因此,神經(jīng)網(wǎng)絡(luò)的優(yōu)化就成為了亟待解決的問題。

訓(xùn)練神經(jīng)網(wǎng)絡(luò)本質(zhì)是一個確定隱藏層的結(jié)構(gòu)和連接權(quán)值的過程。為了提高訓(xùn)練速度和獲取能較好地解決特定問題的網(wǎng)絡(luò)模型,大量訓(xùn)練樣本以及算法被用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。目前,訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)方式多種多樣,比如:選擇適合的參數(shù)初始化方法、對數(shù)據(jù)進(jìn)行預(yù)處理、選擇合適的激活函數(shù)、優(yōu)化各種超參數(shù)等。本文僅涉及訓(xùn)練神經(jīng)網(wǎng)絡(luò)的部分非梯度學(xué)習(xí)算法。

1986 年,Rumelhart 等[4]提出用反向傳播算法解決多層前饋神經(jīng)網(wǎng)絡(luò)的非線性連續(xù)函數(shù)權(quán)值的問題,但反向傳播容易陷入局部極值點(diǎn)、容易受學(xué)習(xí)率和激活函數(shù)的影響,另外,其計(jì)算復(fù)雜度會隨著隱藏層的數(shù)目和每層神經(jīng)元數(shù)目的增加容易超出預(yù)期。在反向傳播的基礎(chǔ)上出現(xiàn)了梯度下降法(gradient descent,GD),之后多種一階、二階的訓(xùn)練神經(jīng)網(wǎng)絡(luò)的算法得到發(fā)展[5-6],Shammah 等[7]提出了基于純梯度的訓(xùn)練算法的一些不足,近些年非梯度優(yōu)化算法得到了國內(nèi)外學(xué)者的廣泛研究[8-10],并且已被應(yīng)用在實(shí)際生活中?;诩兲荻鹊挠?xùn)練算法存在收斂速度慢、梯度消失、梯度爆炸和局部優(yōu)化等問題。因此,當(dāng)基于純梯度的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法缺乏效果時,基于非梯度的算法來訓(xùn)練神經(jīng)網(wǎng)絡(luò)具有重要意義。

現(xiàn)有的研究更側(cè)重于在神經(jīng)網(wǎng)絡(luò)中比較和選擇合適的算法,這完全是基于專業(yè)知識和現(xiàn)在可以應(yīng)用到的數(shù)據(jù)。所以本文只針對訓(xùn)練神經(jīng)網(wǎng)絡(luò)算法的特定類型的非梯度算法的背景意義、基本理論、訓(xùn)練步驟、實(shí)際應(yīng)用和未來研究方向進(jìn)行綜述。

1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練的基本理論

1.1 神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)的信息處理能力主要由網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練方法兩個方面決定。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)在神經(jīng)網(wǎng)絡(luò)中尤為重要,它可以左右網(wǎng)絡(luò)的訓(xùn)練算法。至今已出現(xiàn)了多種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),常用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)大體上可分為前饋神經(jīng)網(wǎng)絡(luò)(feedforward neural network,F(xiàn)NN)、反饋神經(jīng)網(wǎng)絡(luò)和圖神經(jīng)網(wǎng)絡(luò)三類。

FNN 中每一層神經(jīng)元接受前一層的神經(jīng)元的輸出并輸出到下一層神經(jīng)元,其信息是單向傳播的。反饋神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元不但可以接收其他神經(jīng)元的信息,也可以接收自己的歷史信息,其信息可以單向或雙向傳播。圖神經(jīng)網(wǎng)絡(luò)中每個節(jié)點(diǎn)由一個或一組神經(jīng)元構(gòu)成,每個節(jié)點(diǎn)都可以收到來自相鄰節(jié)點(diǎn)或自身的信息。這三種網(wǎng)絡(luò)結(jié)構(gòu)示例見圖1。

圖1 三種網(wǎng)絡(luò)結(jié)構(gòu)示例Fig.1 Examples of three network structures

以一個簡化的FNN為例,神經(jīng)元由連接權(quán)重、求和器和激活函數(shù)三個重要元素組成見圖2。神經(jīng)元的關(guān)系見公式(1),非線性的激活函數(shù)f(·) 的引入可以合理地組合多個層,所以神經(jīng)網(wǎng)絡(luò)解決了線性模型不能解決的問題。

圖2 簡化的FNN神經(jīng)元Fig.2 Simplified FNN neuron

1.2 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練

從狹義上講,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練一般是通過最小化權(quán)重和偏置的代價函數(shù)來實(shí)現(xiàn)的,即找到一系列能讓代價函數(shù)盡可能小的權(quán)重和偏置。但這又與純優(yōu)化有所不同。首先,純優(yōu)化是最小化目標(biāo)函數(shù)本身,而訓(xùn)練神經(jīng)網(wǎng)絡(luò)是降低代價函數(shù)來提高人們關(guān)注的某些性能度量,一般是通過最小化來自數(shù)據(jù)生成分布的期望值和最小化經(jīng)驗(yàn)風(fēng)險的方式來實(shí)現(xiàn)。然而,最小化經(jīng)驗(yàn)風(fēng)險時容易出現(xiàn)過擬合現(xiàn)象并且有部分沒有有效導(dǎo)數(shù),所以訓(xùn)練神經(jīng)網(wǎng)絡(luò)時會使用一些與解決純優(yōu)化問題不同的方法:(1)神經(jīng)網(wǎng)絡(luò)訓(xùn)練中可能使用代理損失函數(shù);(2)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法通常會在滿足某一收斂條件時提前終止函數(shù),而純優(yōu)化終止時的函數(shù)值通常是最小或無限接近最小。比如在FNN中以均方誤差作為損失函數(shù)為例見公式(2),當(dāng)?shù)螖?shù)t達(dá)到設(shè)定的最大迭代次數(shù)Tmax,或者當(dāng)L小于設(shè)定的閾值θ就會提前終止該函數(shù),或者為了避免過擬合,公式(2)再加入正則化項(xiàng)。

訓(xùn)練神經(jīng)網(wǎng)絡(luò)可以基于梯度的算法,也可以基于非梯度的算法。訓(xùn)練一個比較好的神經(jīng)網(wǎng)絡(luò)不僅和這兩類算法有關(guān),而且和很多因素都有關(guān),如神經(jīng)元的結(jié)構(gòu)[11]、超參數(shù)的調(diào)優(yōu)的方法[12]、初始化方案[13]和損失函數(shù)的設(shè)定[14]等。超參數(shù)包括學(xué)習(xí)率、正則化參數(shù)、隱藏層的數(shù)量和激活函數(shù)等。損失函數(shù)的設(shè)置有最小二乘法和交叉熵函數(shù)等。隱藏層越多,神經(jīng)網(wǎng)絡(luò)對訓(xùn)練數(shù)據(jù)越有針對性,但隱藏層過多也容易過擬合。因此,如何訓(xùn)練一個具有良好泛化能力和快速的學(xué)習(xí)能力的神經(jīng)網(wǎng)絡(luò)是目前的研究熱點(diǎn)。

1.2.1 神經(jīng)網(wǎng)絡(luò)的純梯度訓(xùn)練算法

神經(jīng)網(wǎng)絡(luò)純梯度訓(xùn)練算法利用偏導(dǎo)數(shù)形成的代價函數(shù)的梯度向量場更新參數(shù)。以FNN 代價函數(shù)公式(2),激活函數(shù)ReLU 為例。當(dāng)L >θ或者t <Tmax時,權(quán)重矩陣W通過取L關(guān)于每個權(quán)重w的導(dǎo)數(shù),并且使用鏈?zhǔn)椒▌t實(shí)現(xiàn)反向傳播。在鏈?zhǔn)椒▌t中第二部分偏導(dǎo)數(shù)就是1,最后一部分的偏導(dǎo)數(shù)是XT,即:

可知z <0 的元素并沒有被更新,這就是使用基于梯度的訓(xùn)練算法中常見的梯度消失問題。本質(zhì)上,梯度爆炸跟梯度消失的原理是一樣的,在深層網(wǎng)絡(luò)中初始的權(quán)值太大,通過鏈?zhǔn)椒▌t后,如果各層網(wǎng)絡(luò)之間的梯度值大于1 那么層數(shù)增多后梯度可能會指數(shù)級增長。一次前向傳播和后向傳播的迭代就是基于梯度的神經(jīng)網(wǎng)絡(luò)訓(xùn)練的過程。目前,利用反向傳播的純梯度算法在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中應(yīng)用廣泛。兩類主要的神經(jīng)網(wǎng)絡(luò)的梯度訓(xùn)練算法,一類是基于一階的,另一類是基于二階的。

最流行的一階梯度訓(xùn)練算法是GD,其權(quán)重的更新方式見公式(4),偏置的更新方式同理。

在每一次迭代中所有訓(xùn)練數(shù)據(jù)通過架構(gòu),所以GD在大型的數(shù)據(jù)集上訓(xùn)練速度和收斂都緩慢。所以每次迭代中隨機(jī)計(jì)算一個訓(xùn)練數(shù)據(jù)的梯度的隨機(jī)梯度下降算法(stochastic gradient descent,SGD)被提出。在凸的損失函數(shù)上,與GD 相比,SGD 更快地收斂到全局最小值,但它的收斂并不平滑,并且在某些迭代的訓(xùn)練過程中容易出現(xiàn)超調(diào)現(xiàn)象,更新權(quán)重的頻率更高,所以容易受到數(shù)據(jù)集中的異常值的影響,訓(xùn)練有噪聲的數(shù)據(jù)集會變得更困難。為了解決SGD 精確度低的問題,對其中一個點(diǎn)隨機(jī)采樣,并在梯度項(xiàng)中更新其梯度的隨機(jī)平均梯度(stochastic average gradient,SAG)被提出。SAG與GD有相同的速度,但它通常需要更多次迭代才能收斂而且需要許多參數(shù)微調(diào)才能完美執(zhí)行。

為克服GD和SGD的缺點(diǎn),采用大小相等的批量訓(xùn)練數(shù)據(jù)的小批量梯度下降算法提出,該算法穩(wěn)定且收斂速度更好[15]。從公式中可以看出以上基于梯度的訓(xùn)練算法比較依賴學(xué)習(xí)率,為了改善該問題,三種最著名的調(diào)整學(xué)習(xí)率的方法(AdaGrad、RMSProp、Adam)被提出。但是基于一階的梯度算法訓(xùn)練FNN 時,每次迭代過程中,會在輸出層計(jì)算誤差對權(quán)重的一階導(dǎo)數(shù),這增加了學(xué)習(xí)時間和陷入局部極小值的可能性。

為了解決一階梯度訓(xùn)練算法的收斂性問題,應(yīng)用二階Hessian 逆矩陣的牛頓法(Newton method,NM)被提出。它最大限度地減小損失函數(shù),但只適用于正定的Hessian 矩陣,并且計(jì)算成本高,不適用大型的神經(jīng)網(wǎng)絡(luò)。為了解決NM需要計(jì)算二階導(dǎo)數(shù)的缺點(diǎn),通過從一階導(dǎo)數(shù)近似Hessian 逆矩陣的擬牛頓法被提出,它的計(jì)算成本更低,但依舊不適用于訓(xùn)練百萬級參數(shù)的神經(jīng)網(wǎng)絡(luò)[16]。

Wilamowski 等[17]指出一階的梯度算法可能需要很多的隱藏單元和迭代次數(shù)才能收斂,這會降低FNN 的泛化性能,二階的梯度算法在學(xué)習(xí)方面很強(qiáng)大,但復(fù)雜度會隨著網(wǎng)絡(luò)規(guī)模的增加而增加,存儲Hessian 矩陣及其逆矩陣需要大量的計(jì)算內(nèi)存,這不利于訓(xùn)練大型的數(shù)據(jù)集??傊诩兲荻鹊纳窠?jīng)網(wǎng)絡(luò)優(yōu)化算法主要存在以下問題:(1)生活中總會有非凸問題,但在基于純梯度算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過程中,目標(biāo)函數(shù)和約束會被設(shè)計(jì)為一個凸問題;(2)即使設(shè)計(jì)了一個比較符合非凸問題的凸函數(shù),基于純梯度的訓(xùn)練算法也遇到問題,如Hessian矩陣可能會卡在某些即使用很小的步長也會增加代價函數(shù)的病態(tài)情況;(3)由于神經(jīng)網(wǎng)絡(luò)的不可辨認(rèn)性,即使去掉隱藏單元,構(gòu)建出的小規(guī)模神經(jīng)網(wǎng)絡(luò)在低維問題中也會出現(xiàn)有很大代價的局部極小值[18-19];(4)不具有非線性的淺層自編碼器在高維問題中只有局部極小值和鞍點(diǎn)[20],但神經(jīng)網(wǎng)絡(luò)中有很多高代價鞍點(diǎn)的損失函數(shù)[21],所以牛頓法這類基于純梯度的訓(xùn)練算法解決鞍點(diǎn)是困難的;(5)難以處理梯度為零的點(diǎn),梯度消失和梯度爆炸的情況;(6)有噪聲的采樣數(shù)據(jù)是有偏估計(jì),基于純梯度的神經(jīng)網(wǎng)絡(luò)難以有效地處理這類數(shù)據(jù);(7)基于純梯度的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法對初始設(shè)定的參數(shù)值的依賴程度很大。

1.2.2 神經(jīng)網(wǎng)絡(luò)的非梯度訓(xùn)練算法

隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的深入和數(shù)據(jù)集的不斷擴(kuò)大,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度也變得越來越慢。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度也已成為阻礙其發(fā)展的重要問題。分布式訓(xùn)練[22]和批處理歸一化[23]等加速訓(xùn)練的方法被提出。然而,這些架構(gòu)和方法使用了反向傳播訓(xùn)練方法,即使用了基于梯度的訓(xùn)練方法。這需要大量的試錯方法才能獲得最佳參數(shù),并且會遇到以上列舉的問題。相較于神經(jīng)網(wǎng)絡(luò)的純梯度訓(xùn)練算法,非梯度算法在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,具有不需要進(jìn)行復(fù)雜的參數(shù)調(diào)整、不需要多次計(jì)算損失函數(shù)對每個權(quán)值的導(dǎo)數(shù)、不需要可微的激活函數(shù)等優(yōu)勢。

2 神經(jīng)網(wǎng)絡(luò)非梯度訓(xùn)練算法的研究進(jìn)展

現(xiàn)今優(yōu)化神經(jīng)網(wǎng)絡(luò)的方式多種多樣,但主要是從模型的選擇和參數(shù)的學(xué)習(xí)等方面展開的。本文總結(jié)了部分非梯度算法在參數(shù)學(xué)習(xí)中的應(yīng)用。本章介紹了其中的兩類算法:非梯度算法中訓(xùn)練FNN 的特殊算法和非梯度訓(xùn)練算法中的基于搜索的算法。

2.1 部分前饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法

目前,大多數(shù)FNN 的權(quán)值都是基于梯度算法訓(xùn)練得到的。但存在部分FNN 結(jié)構(gòu)上有其特點(diǎn),因此權(quán)值的學(xué)習(xí)過程也比較特殊,比如一般概率神經(jīng)網(wǎng)絡(luò)、貝葉斯神經(jīng)網(wǎng)絡(luò)、極限學(xué)習(xí)機(jī)的權(quán)值大多是通過非梯度算法訓(xùn)練得到的。

2.1.1 一般概率神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法

一般概率神經(jīng)網(wǎng)絡(luò)(probabilistic neural network,PNN)是一種基于貝葉斯決策論確定測試樣本類別的網(wǎng)絡(luò)。其基本結(jié)構(gòu)見圖3,輸入層:計(jì)算每個數(shù)據(jù)與其對應(yīng)的權(quán)值的乘積,節(jié)點(diǎn)數(shù)等于樣本特征空間的維數(shù)d;模式層:又稱隱藏層,計(jì)算測試樣本和訓(xùn)練樣本中每個樣本的高斯函數(shù)值,節(jié)點(diǎn)數(shù)等于訓(xùn)練樣本總數(shù)N;求和層:計(jì)算同一類測試樣本對應(yīng)的模式層節(jié)點(diǎn)的輸出的加權(quán)平均,節(jié)點(diǎn)數(shù)等于類別數(shù)k;輸出層:根據(jù)貝葉斯決策論確定其類別。

圖3 PNN的基本結(jié)構(gòu)Fig.3 Basic structure of PNN

PNN 的訓(xùn)練過程是構(gòu)造每個類別的判決函數(shù)的過程。其權(quán)重由每個樣本歸一化后直接賦值,見公式(5),其中xnj為第n個樣本的第j個分量。學(xué)習(xí)規(guī)則簡單,不需要迭代調(diào)優(yōu),學(xué)習(xí)速度極快,很好地解決了純梯度優(yōu)化算法速度慢的問題[24],并且泛化分類能力大致相同[25]。添加和刪除訓(xùn)練樣本只需要在模式層中添加或刪除“神經(jīng)元”,并且同一個類的模式單元獨(dú)立于模式層中另一個類的模式單元,具有并行分布式處理的特點(diǎn)。因此在在線學(xué)習(xí)方面上很有意義。

PNN的輸出用來描述特定的概率分布的似然,并且隨著訓(xùn)練樣本數(shù)量的增加,可以收斂到貝葉斯最優(yōu)解,決策曲面保證接近貝葉斯最優(yōu)決策邊界,所以可以應(yīng)用于尋找模式間的決策邊界。Fang 等[26]通過主動學(xué)習(xí)概率神經(jīng)網(wǎng)絡(luò)對火箭間段的設(shè)計(jì)方案進(jìn)行可行性狀態(tài)分析,實(shí)驗(yàn)表明,相較于四種最先進(jìn)的算法,該算法分類結(jié)果準(zhǔn)確率更高,而且該方法構(gòu)建的分類器可以快速分析具有計(jì)算代價約束問題的設(shè)計(jì)方案的可行性。Karami等[27]用蒙特卡羅作為概率神經(jīng)網(wǎng)絡(luò)的一部分后估算了量化風(fēng)電功率的不確定性。

PNN 結(jié)構(gòu)簡單并且其線性學(xué)習(xí)算法能夠很好地實(shí)現(xiàn)非線性學(xué)習(xí)算法的結(jié)果,同時保持了非線性算法的高精度。PNN不是黑盒優(yōu)化,其每個模式神經(jīng)元對網(wǎng)絡(luò)結(jié)果的貢獻(xiàn)是明確定義的并且有精確的解釋。所以PNN在各種應(yīng)用中表現(xiàn)出優(yōu)異的分類性能。Wu等[28]用PNN實(shí)現(xiàn)了衛(wèi)星通信輻射源的識別。Syahputra等[29]使用PNN對CXR圖像進(jìn)行實(shí)驗(yàn),識別肺癌的準(zhǔn)確率高達(dá)93.33%。Liu 等[30]用貝葉斯優(yōu)化了概率神經(jīng)網(wǎng)絡(luò),該算法對MITBIH 心律失常數(shù)據(jù)的分類正確率高達(dá)99.67%。Gong等[31]利用局部模擬退火優(yōu)化并行概率神經(jīng)網(wǎng)絡(luò)和PNN,通過實(shí)驗(yàn)對比發(fā)現(xiàn)優(yōu)化后的并行概率神經(jīng)網(wǎng)絡(luò)的分類精度比之前的結(jié)果高得多,可達(dá)到83.3%,其平均運(yùn)行時間明顯縮短,更適合大規(guī)模數(shù)據(jù)處理。尤其在診斷故障的分類領(lǐng)域中,它能將故障樣本空間映射到故障模式空間,形成具有較強(qiáng)容錯能力和自適應(yīng)結(jié)構(gòu)能力的診斷系統(tǒng),具有很強(qiáng)的應(yīng)用前景[32-34]。

眾所周知,更大的數(shù)據(jù)集可以提高數(shù)據(jù)概率密度函數(shù)估計(jì)的準(zhǔn)確性。所以相較于大多數(shù)的純梯度算法訓(xùn)練的神經(jīng)網(wǎng)絡(luò),PNN 需要的訓(xùn)練集要更大。但是在PNN 模式層中有一個用來度量輸入向量與其分配的數(shù)據(jù)模式之間的相似性的獨(dú)立單元,所以它需要更多的內(nèi)存空間。隨著數(shù)據(jù)的增大,模式層可能會變得非常大。因此PNN 解決大數(shù)據(jù)問題時,一般需要與特征約簡如主成分分析和k-means 聚類算法等方法一起使用[35-36],這樣才可以減少問題的規(guī)模但不過多減少PNN 性能損失。

PNN的權(quán)值被直接指定,那么其訓(xùn)練過程的難點(diǎn)是確定平滑參數(shù)σ值。σ是高斯分布的標(biāo)準(zhǔn)偏差,決定了訓(xùn)練集高斯分布概率密度函數(shù)的高斯窗口接受寬度的大小。σ在分類問題中起著至關(guān)重要的作用。通過選擇適當(dāng)?shù)摩抑担梢允箾Q策曲面的形狀變得盡可能復(fù)雜,或者盡可能簡單,這對PNN 的性能有很大的影響。所以大量的計(jì)算σ值的方法被提出,見表1。一類是基于數(shù)據(jù)知識進(jìn)行有根據(jù)的猜測:Specht等[37]分別對每個維度設(shè)置σ值。Ramakrishnan 等[38]提出了在模式層和求和層之間引入權(quán)重因子的加權(quán)概率神經(jīng)網(wǎng)絡(luò)。它們都以增加訓(xùn)練時間為代價來提供更高的分類精度。另一類是近年使用較多的啟發(fā)式算法估計(jì):Yi等[39]提出訓(xùn)練過程中不需要調(diào)整參數(shù)的自適應(yīng)PNN。與PNN和基于反向傳播的神經(jīng)網(wǎng)絡(luò)等進(jìn)行比較,自適應(yīng)PNN 在解決變壓器故障診斷問題時具有更準(zhǔn)確的預(yù)測和更好的泛化性能。李君科等[32]用遺傳算法、孔慧芳等[33]用基于改進(jìn)粒子群算法、Zhou 等[34]用灰狼算法優(yōu)化了PNN 的σ。實(shí)驗(yàn)表明這些優(yōu)化算法都提高了PNN 在某個應(yīng)用上的分類精度。

表1 優(yōu)化PNN的σ 值的方法Table 1 Method of optimizing σ value of PNN

2.1.2 貝葉斯神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法

貝葉斯神經(jīng)網(wǎng)絡(luò)(Bayesian neural network,BNN)將概率建模和神經(jīng)網(wǎng)絡(luò)相結(jié)合,是一種不需要知道任何數(shù)學(xué)或物理模型就可以學(xué)習(xí)復(fù)雜行為,并給出預(yù)測結(jié)果置信度的神經(jīng)網(wǎng)絡(luò)。相較于一般FNN,BNN 的每個權(quán)重都有均值和方差的概率分布。訓(xùn)練BNN本質(zhì)是計(jì)算這些權(quán)重的后驗(yàn)分布。

假設(shè)BNN的權(quán)重或偏差符合某個先驗(yàn)分布p(ω),那么貝葉斯推理可以獲得權(quán)重ω的后驗(yàn)分布p(ω|D),見公式(6),其中訓(xùn)練數(shù)據(jù)集D={(X,Y)}。然后得到可以量化模型在預(yù)測中的不確定性的邊際似然,見公式(7)。

貝葉斯推理使用貝葉斯規(guī)則和概率推理量化了不確定性,而且可以區(qū)分認(rèn)知不確定性p(ω|D)和任意不確定性p(y|x,ω) 。但似然函數(shù)通常是非高斯而且難以處理的,并且它依賴于先驗(yàn)知識。所以各種近似后驗(yàn)分布的方法如變分推理[40]、蒙特卡羅dropout[41]和卡爾曼濾波(Kalman filtering,KF)變體等被提出。但是變分推理無法保證近似分布足夠接近預(yù)期目標(biāo),蒙特卡羅dropout 比變分推理的訓(xùn)練速度更快,但可能無法完全捕捉到與模型預(yù)測相關(guān)的不確定性[42]。

因此,既可以實(shí)時訓(xùn)練缺乏梯度信息的神經(jīng)網(wǎng)絡(luò)還可以擴(kuò)展到貝葉斯模型比較和使用信息論方法的主動學(xué)習(xí)[43]的貝葉斯形式主義被廣泛使用。其中KF可以解決難以獲取貝葉斯推理的解析解的問題。KF分為預(yù)測方程和更新方程,預(yù)測方程負(fù)責(zé)及時向前推算當(dāng)前狀態(tài)變量和誤差協(xié)方差估計(jì)的值,以便為下一個時間狀態(tài)構(gòu)造先驗(yàn)估計(jì);更新方程負(fù)責(zé)反饋,它將先驗(yàn)估計(jì)和新的測量變量結(jié)合用來構(gòu)造改進(jìn)的后驗(yàn)估計(jì)。KF可以高效地估計(jì)過程的狀態(tài),并且使估計(jì)的均方誤差最小。在測量方差已知的情況下,KF 能夠在有測量噪聲的數(shù)據(jù)中估計(jì)動態(tài)系統(tǒng)的狀態(tài),并且能夠?qū)ΜF(xiàn)場采集的數(shù)據(jù)進(jìn)行實(shí)時的更新和處理,此外容易在計(jì)算機(jī)上編程實(shí)現(xiàn)。因此,KF可以作為一種非梯度算法來優(yōu)化神經(jīng)網(wǎng)絡(luò),尤其是BNN等具有高斯分布的神經(jīng)網(wǎng)絡(luò)。

但是KF 只適用狀態(tài)函數(shù)和測量函數(shù)均為線性,且噪聲項(xiàng)均為零均值高斯變量的問題,其他非高斯和非線性的問題需要使用尋求近似解的KF 改進(jìn)算法,比如用無跡變換選擇采樣點(diǎn)擬合狀態(tài)的后驗(yàn)概率的無跡卡爾曼濾波(unscented Kalman filter,UKF)、用非線性函數(shù)的泰勒展開的一階項(xiàng)的擴(kuò)展卡爾曼濾波(extended Kalman filter,EKF)和對狀態(tài)分布進(jìn)行采樣以獲得下一時間的近似預(yù)測分布的集成卡爾曼濾波(ensemble Kalman filter,EnKF)等。

Watanabe 等[44]假定BNN 的權(quán)值為高斯分布,采用EKF 更新個體權(quán)值的均值和方差。EKF 結(jié)構(gòu)更加簡單但需要局部線性化來更新隱藏的神經(jīng)元,所以系統(tǒng)非線性很強(qiáng)時,估計(jì)值可能會有較大的誤差。Puskorius等[45]在上面的基礎(chǔ)上允許貝葉斯網(wǎng)絡(luò)分層相關(guān)甚至其神經(jīng)元全相關(guān)。Huber[46]又提出貝葉斯感知器,該方法雖然局限于單個神經(jīng)元,但表明封閉式貝葉斯推斷可以計(jì)算權(quán)后驗(yàn)分布的均值和協(xié)方差參數(shù),并且可以避免線性化。Wagner 等[47]進(jìn)一步提出了一種基于封閉貝葉斯推理的方法,其核心思想是通過連續(xù)貝葉斯濾波訓(xùn)練BNN。其后向傳遞過程利用了馬爾可夫鏈的特性,可以順序處理數(shù)據(jù),依次更新權(quán)值矩陣。用該算法對月球數(shù)據(jù)集進(jìn)行分類,發(fā)現(xiàn)高斯假設(shè)似乎不會影響該網(wǎng)絡(luò)在分類任務(wù)中的性能,它總是能夠有效地適應(yīng)新的數(shù)據(jù)分布,在某些數(shù)據(jù)集上實(shí)現(xiàn)了與其他方法相近的性能,同時訓(xùn)練時間也顯著減少。

與UKF 和EKF 等其他KF 變體相比,EnKF 在大型非線性系統(tǒng)的參數(shù)估計(jì)中具有更好的性能[48]。它能有效地解決具有大量參數(shù)的深度神經(jīng)網(wǎng)絡(luò),并且它不需要梯度信息就可以捕獲到非線性引起的權(quán)重的后驗(yàn)分布的非高斯行為[49]。Chen 等[50]提出了EnKF 推斷BNN 的權(quán)值的同時,可以處理非線性測量模型并自動調(diào)整測量噪聲。Haber 等[51]借鑒方差縮減方法的思想,提出了一種以次線性速率收斂于強(qiáng)凸函數(shù)的全局極小值的EnKF變體。該算法可以并行化訓(xùn)練神經(jīng)網(wǎng)絡(luò),只需幾次前向傳播即可獲得更低的損耗值。在此基礎(chǔ)上,Kovachki等[52]用集合卡爾曼反演算法訓(xùn)練四個神經(jīng)網(wǎng)絡(luò),與SGD相比,在參數(shù)數(shù)量相對較少的網(wǎng)絡(luò)上正確率相當(dāng),但是對于大量參數(shù)的神經(jīng)網(wǎng)絡(luò),集合卡爾曼反演算法速度更快,表現(xiàn)得更好。之后Guth等[53]提出用一次性的方式訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,集合卡爾曼反演是一種考慮到了未知參數(shù)的估計(jì)質(zhì)量的很有前途的算法,其能與貝葉斯方法建立連接并且收斂,而擬牛頓法不會收斂到可行估計(jì)。

傳統(tǒng)FNN一般通過最小化網(wǎng)絡(luò)輸出和目標(biāo)變量之間的平方誤差之和的方法來估計(jì)網(wǎng)絡(luò)權(quán)重和偏差,并且基于只要輸入?yún)?shù)就可以生成預(yù)測的非線性映射函數(shù),這會受到數(shù)據(jù)集中異常值的高度影響[54]。但BNN在網(wǎng)絡(luò)的權(quán)重中加入先驗(yàn)值,即加入了不確定性,并用概率量化了不確定性,輸出一個表示預(yù)測的可能性的概率分布,所以BNN對噪聲的魯棒性更強(qiáng),解決了點(diǎn)估計(jì)未考慮數(shù)據(jù)和不確定性的問題,比傳統(tǒng)FNN 有更好的校準(zhǔn)能力[55-57]。因此,BNN 在有噪聲,需要高精度和高安全性的場景中應(yīng)用廣泛[41,54]。BNN本質(zhì)是正則化的,可以解決一般神經(jīng)網(wǎng)絡(luò)在小數(shù)據(jù)集上過度擬合的問題[58]。BNN可以把具有高度認(rèn)知不確定性的訓(xùn)練數(shù)據(jù)點(diǎn)標(biāo)記為更高優(yōu)先級,這在主動學(xué)習(xí)中很有用[59-60]。BNN可以把可用的新數(shù)據(jù)之前的后驗(yàn)值作為先驗(yàn)值回收,避免在線學(xué)習(xí)中常見的災(zāi)難性遺忘問題[61]。BNN 已被證明在中等規(guī)模的數(shù)據(jù)集上是有能力的,但尚未充分利用巨大的數(shù)據(jù)集。深度BNN 的結(jié)構(gòu)較冗余,所以解釋大量連續(xù)層的不確定性的成本很高。貝葉斯推理和大部分近似后驗(yàn)分布的方法訓(xùn)練BNN 的成本比較高,兩者的對比見表2。BNN 在對網(wǎng)絡(luò)輸出進(jìn)行最合理的推理時并不一定是最有用的,所以其他統(tǒng)計(jì)工具如基于模擬的推理訓(xùn)練BNN可能會更高效[62]。

表2 訓(xùn)練BNN權(quán)重的方法Table 2 Methods for training BNN weights

2.1.3 極限學(xué)習(xí)機(jī)及其各種改進(jìn)算法

針對基于純梯度的訓(xùn)練算法會迭代調(diào)整網(wǎng)絡(luò)中所有的參數(shù)這個問題,Huang 等[63]提出一種以可調(diào)參數(shù)為代價的用于訓(xùn)練單隱層FNN的快速算法——極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)。該算法隨機(jī)選擇單隱藏層FNN 的輸入權(quán)值,并解析地確定單隱層FNN的輸出權(quán)值,即ELM 僅學(xué)習(xí)使得代價函數(shù)最小的輸出層的權(quán)重,見公式(8),其中T為訓(xùn)練目標(biāo),H為隱藏層的輸出矩陣。

Huang等[64]在計(jì)算輸出權(quán)重時增加正則化系數(shù)提高了泛化能力,使預(yù)測結(jié)果更加穩(wěn)定。隨機(jī)隱藏節(jié)點(diǎn)使ELM 能夠更快地收斂,但也可能導(dǎo)致分類性能的波動。增量ELM、雙向ELM和自適應(yīng)ELM在訓(xùn)練過程中不斷改變隱藏層節(jié)點(diǎn)的數(shù)目。Xu等[65]提出了逐個添加隱藏節(jié)點(diǎn)的增量ELM 的改進(jìn)版本,其輸出權(quán)重可以高效地遞歸更新。增加隱藏節(jié)點(diǎn)的數(shù)目平衡了經(jīng)驗(yàn)風(fēng)險和結(jié)構(gòu)風(fēng)險,有效地避免了ELM 在大數(shù)據(jù)上過擬合的發(fā)生。但它們隨機(jī)初始化映射函數(shù),所以在求解輸出權(quán)重的過程中會出現(xiàn)無法求逆矩陣的現(xiàn)象,理論上設(shè)定較大的正則化參數(shù)可以保證矩陣是正定矩陣,但正則化系數(shù)過大會降低其泛化能力。所以一些群體智能如鯨魚優(yōu)化[66]、海豚群優(yōu)化[67]、灰狼優(yōu)化[68]等被用來優(yōu)化ELM的隨機(jī)初始參數(shù)。

Liang等[69]提出了仍是隨機(jī)生成的但在訓(xùn)練過程中數(shù)量固定并且永不更新隱藏單元的參數(shù)的在線順序ELM(online sequential ELM,OS-ELM),它不依賴過去的數(shù)據(jù),使用實(shí)時數(shù)據(jù)學(xué)習(xí)固定數(shù)據(jù)的塊數(shù)據(jù),接收新的數(shù)據(jù)塊就重新運(yùn)行一次ELM,得到新的輸出權(quán)重,組合新舊輸出權(quán)重后更新FNN。該算法在學(xué)習(xí)速度非??斓那闆r下具有更好的泛化性能。Zhang等[70]將遺忘機(jī)制引入OS-ELM,提出了一種選擇遺忘ELM算法,并將其應(yīng)用于混沌時間序列預(yù)測。該算法能夠?qū)εf的訓(xùn)練樣本進(jìn)行迭代加權(quán),削弱了舊訓(xùn)練樣本的影響。在在線訓(xùn)練過程中,遞歸地確定其輸出權(quán)重,在計(jì)算量和預(yù)測精度方面比OS-ELM有更好的性能。

Zong等[71]提出對內(nèi)核參數(shù)不進(jìn)行任何調(diào)整,正則化參數(shù)與輸入數(shù)據(jù)大小相同的矩陣的加權(quán)極限學(xué)習(xí)機(jī)(weighted extreme learning machine,WELM),用基于相似性的激活函數(shù)代替了傳統(tǒng)的激活函數(shù),見公式(9),其權(quán)值是從數(shù)據(jù)集中隨意選取,s(· )代表相似的激活函數(shù),在相似任務(wù)上和不平衡數(shù)據(jù)的分類問題中表現(xiàn)很好,并且有良好的泛化能力。Horata等[72]在此基礎(chǔ)上提出了重加權(quán)極限學(xué)習(xí)機(jī),這在一定程度上緩解了模型的性能容易受到異常的訓(xùn)練數(shù)據(jù)的影響。Kudisthalert等[73]在WELM 基礎(chǔ)上提出了一個依賴性別和種族的三重態(tài)特征的暹羅極限學(xué)習(xí)機(jī),通過三重態(tài)的距離度量方式,發(fā)現(xiàn)相較于其他三種神經(jīng)網(wǎng)絡(luò),該算法對特定人口群體分類的正確率更高。

Zhu等[74]建立了結(jié)合誤差修正的ELM,精準(zhǔn)動態(tài)地預(yù)測出燃煤機(jī)組NOx 的排放量。Qing等[75]用基于時間預(yù)處理的ELM的網(wǎng)絡(luò),降低了系統(tǒng)的非線性失真,改善了短信號,同時提高了網(wǎng)絡(luò)的魯棒性和泛化性能??傊陨螮LM訓(xùn)練速度極快,并且在現(xiàn)有的分類和回歸任務(wù)上具有很強(qiáng)的競爭力。但這些ELM沒有設(shè)計(jì)讓兩個輸入數(shù)據(jù)流并行的結(jié)構(gòu),讓多個數(shù)據(jù)流以串聯(lián)方式輸入,非常消耗計(jì)算資源。為了進(jìn)一步提高ELM 的魯棒性,離群魯棒極限ELM被提出,Zhang等[76]用其解決了回歸問題。Legora 等[77]在離群魯棒ELM 和廣義正則化ELM 基礎(chǔ)上結(jié)合矩陣范數(shù)與交替方向乘子法,提出適用于多目標(biāo)回歸問題的廣義離群值魯棒ELM。

相較于基于純梯度的FNN,ELM 學(xué)習(xí)算法可訓(xùn)練具有不可微的激活函數(shù)的單隱藏層FNN;可以達(dá)到最小的加權(quán)范數(shù);其一次簡單的正向?qū)W習(xí),速度極快,并且解決了局部極小值和過擬合的問題。ELM理論得到了嚴(yán)格的證明并且具有良好的泛化能力和魯棒性。ELM可以用足夠多的隱藏節(jié)點(diǎn)逼近任意復(fù)雜的分類邊界。在處理小樣本、非線性自適應(yīng)信息性能問題時,ELM獨(dú)特的非線性自適應(yīng)信息處理能力克服了傳統(tǒng)人工智能方法對模式識別、語音識別等非結(jié)構(gòu)化信息處理的直觀性不足。但是ELM算法的隱藏層神經(jīng)元數(shù)量眾多,需要消耗更多的內(nèi)存空間。雖然ELM在理論上具有明顯的優(yōu)勢,但其本身的淺層結(jié)構(gòu),在解決任何回歸和多重分類問題上仍存在很多問題。ELM雖可以實(shí)現(xiàn)與訓(xùn)練參數(shù)相同的分類性能,但如何將深度學(xué)習(xí)和ELM 結(jié)合起來,使其以較少的訓(xùn)練時間在大型數(shù)據(jù)集中可以產(chǎn)生與深度學(xué)習(xí)相同的結(jié)果還有待研究。

2.2 基于搜索的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法

Li等[78]和Du等[79]指出神經(jīng)網(wǎng)絡(luò)高度參數(shù)化,所以隨機(jī)濾波器的初始值非常接近最終解,基于梯度的優(yōu)化算法只需輕推參數(shù)即可獲得最終解。Frankle 等[80]只訓(xùn)練大于800 層的殘差網(wǎng)絡(luò)中與BatchNorm 相關(guān)的仿射參數(shù),并在初始化時凍結(jié)其他參數(shù),在ImageNet數(shù)據(jù)集上達(dá)到令人驚訝的高精度。Ramanujan等[81]證明隨機(jī)加權(quán)神經(jīng)網(wǎng)絡(luò)包含無需訓(xùn)練權(quán)值就能獲得良好性能的子網(wǎng)絡(luò),一個權(quán)重固定的隨機(jī)加權(quán)神經(jīng)網(wǎng)絡(luò)越寬或越深,那么“未經(jīng)訓(xùn)練的子網(wǎng)絡(luò)”在精確度上接近權(quán)重已被訓(xùn)練過的網(wǎng)絡(luò)。在此基礎(chǔ)上,Tripathi等[82]提出當(dāng)訓(xùn)練參數(shù)的數(shù)量大幅度減少時,基于純梯度的深度網(wǎng)絡(luò)訓(xùn)練算法可能是不必要的,基于搜索的算法也可能是一個可行的選擇。因此,本節(jié)從Tripathi提出的隨機(jī)搜索優(yōu)化開始,介紹了一系列基于搜索的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法,如粒子群算法、蟻群算法和遺傳算法及其變體。

2.2.1 隨機(jī)搜索優(yōu)化

Tripathi等[82]提出了訓(xùn)練多于10層的深度神經(jīng)網(wǎng)絡(luò)的隨機(jī)搜索優(yōu)化方法(random search optimization,RSO)。RSO 是一種基于無梯度馬爾可夫鏈和蒙特卡羅搜索的深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法。該算法在一個高斯分布中會改變采樣權(quán)值,初始的權(quán)值服從高斯分布輸入值進(jìn)行歸一化,并使用有界步長N(0,σd)來探索初始點(diǎn)周圍的區(qū)域,首先更新最接近標(biāo)簽的層的權(quán)重,然后依次向輸入層移動從而最小化目標(biāo)函數(shù)。權(quán)值更新的規(guī)則見公式(10),Δωi為權(quán)重變化,ωid為第d層的第i個權(quán)值,σd為第d層的所有權(quán)重的標(biāo)準(zhǔn)差。

相較于SGD 反向傳播,RSO 更新權(quán)值的數(shù)量要少一個數(shù)量級。但RSO 更新權(quán)重時需要計(jì)算損失函數(shù),所以訓(xùn)練時間與網(wǎng)絡(luò)中的參數(shù)數(shù)量成線性關(guān)系。RSO訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)后在MNIST上精確率達(dá)99.1%,CIFAR-10分類精確度達(dá)81.8%,其獲得了具有競爭力的準(zhǔn)確率。這表明通過有效的先驗(yàn)值分配權(quán)重可以減少計(jì)算成本,如果能構(gòu)建需要較少的學(xué)習(xí)參數(shù)的神經(jīng)網(wǎng)絡(luò),比如由一組固定的基函數(shù)組成的北極星神經(jīng)網(wǎng)絡(luò),那么即使沒有顯式的梯度計(jì)算,隨機(jī)初始化的網(wǎng)絡(luò)周圍的區(qū)域被探索到就足夠了。

2.2.2 粒子群算法及其各種變體

Eberhart 等[83]首次提出粒子群算法(particle swarm optimization,PSO)。在一個D維空間內(nèi),由初始速度和初始位置的M個粒子構(gòu)成了一個種群,它們根據(jù)自身慣性,自身最優(yōu)位置以及群最優(yōu)位置來更新飛行軌跡。假設(shè)第i個粒子當(dāng)前位置向量xid,速度向量vid,其不斷迭代搜索個體極值pbestid和全局最優(yōu)極值Gbest,從而更新自身的速度見公式(11)和位置見公式(12)。迭代搜索過程中會記錄下自身和群體經(jīng)歷的最佳位置以及對應(yīng)的適應(yīng)度函數(shù)值,從而得到最優(yōu)解,其過程見算法1。

其中,t為當(dāng)前迭代次數(shù),學(xué)習(xí)因子c1和c2,r1、r2為[0,1]的隨機(jī)數(shù),vid為[vmin,vmax] 之間的數(shù),搜索空間內(nèi)限制的最小速度和最大速度分別為vmin、vmax,當(dāng)vid >vmax時取vid=vmax;當(dāng)vid <vmin時取vid=vmin。

算法1粒子群算法

輸入:學(xué)習(xí)因子c1、c2,最大迭代次數(shù)Tmax,速度范圍[vmin,vmax] ,位置范圍[xmin,xmax] ,粒子群維度D,粒子數(shù)M。

輸出:最佳位置信息Gbest作為權(quán)值。

步驟1初始化:設(shè)置第i粒子速度vid和位置xid,i=1,2,…,M;

步驟2計(jì)算每個粒子的適應(yīng)度:根據(jù)適應(yīng)度函數(shù)計(jì)算第i個粒子當(dāng)前位置適應(yīng)度f(xid),i=1,2,…,M;

步驟3更新每個粒子最優(yōu)適應(yīng)度:比較第i個粒子當(dāng)前位置的適應(yīng)度f(xid)與自身所經(jīng)歷的最好位置的適應(yīng)度f(pbestid),若更優(yōu)則把當(dāng)前位置定為pbestid,否則不變,i=1,2,…,M;

步驟4更新全局最優(yōu)位置:第i個粒子當(dāng)前位置的適應(yīng)度值f(pbestid)與全局最優(yōu)位置的適應(yīng)度值f(Gbest)進(jìn)行比較,若更優(yōu)則把當(dāng)前位置定為全局最優(yōu)位置Gbest,否則不變,i=1,2,…,M;

步驟5更新速度和位置向量:根據(jù)公式(11)、(12)更新兩個向量,并檢查是否越界,若越界需進(jìn)行處理;

步驟6若t <Tmax設(shè)置t=t+1,回到步驟2,否則結(jié)束循環(huán)并輸出最佳位置信息Gbest作為神經(jīng)網(wǎng)絡(luò)的權(quán)值。

基本PSO中c1和r1,c2和r2一起制約著粒子群受自身因素影響的程度,所以在全局和局部搜索能力方面有很大限制。后來Shi等[84]提出把慣性權(quán)重ω引入速度項(xiàng)的標(biāo)準(zhǔn)PSO,提高了尋找最優(yōu)的速度和精度。但在后期全局最優(yōu)解的附近容易出現(xiàn)振蕩現(xiàn)象,搜索能力反而減弱,又出現(xiàn)了一系列常見的權(quán)重遞減方法。為進(jìn)一步平衡PSO 的全局與局部搜索能力,使ω能隨著粒子的目標(biāo)函數(shù)值自動調(diào)節(jié)。所以出現(xiàn)了非線性的動態(tài)慣性權(quán)重系數(shù)。為了使粒子向自身和種群中其他粒子經(jīng)歷的最優(yōu)位置更接近,Clerc等[85]提出了一個在理論上可以保證算法收斂的收縮因子χ,它的本質(zhì)是慣性權(quán)值法中的ω取得合適值。

神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中的參數(shù)可以被建模為一個粒子的位置,其所有可能的權(quán)值的組合可以被定義為解空間。神經(jīng)網(wǎng)絡(luò)的損失函數(shù)可以與PSO 的適應(yīng)度函數(shù)對應(yīng),神經(jīng)網(wǎng)絡(luò)的損失越小,適應(yīng)度越低,粒子越接近全局最優(yōu),即訓(xùn)練神經(jīng)網(wǎng)絡(luò)的目標(biāo)與PSO 優(yōu)化目標(biāo)是一致的。PSO 中的粒子群在每次迭代中更新其局部和全局位置,直到找到用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的最佳權(quán)重。PSO在狀態(tài)空間中搜索能力強(qiáng),早期收斂速度快,能夠提供全局最優(yōu)解[86],因此,PSO 中粒子群的迭代可以替代SGD中的反向傳播,已被用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏差值[87],從而避免了大量的梯度運(yùn)算,提高了算法執(zhí)行效率,縮短了神經(jīng)網(wǎng)絡(luò)。Nadai 等[88]提供了一個基于PSO優(yōu)化的神經(jīng)網(wǎng)絡(luò),實(shí)驗(yàn)表明該網(wǎng)絡(luò)有高水平的適應(yīng)性、穩(wěn)定性和泛化性。

Yang 等[89]提出用標(biāo)準(zhǔn)PSO 優(yōu)化具有簡單結(jié)構(gòu)的徑向基神經(jīng)網(wǎng)絡(luò),在雙向八車道道路上進(jìn)行了實(shí)驗(yàn),結(jié)果表明該方法能有效提高機(jī)動車電子注冊識別速度檢測的準(zhǔn)確性。針對標(biāo)準(zhǔn)PSO 只能在連續(xù)空間中使用的問題,Tian等[90]把粒子速度轉(zhuǎn)化成Sigmoid函數(shù),粒子的位置設(shè)為0 或1 并且由該粒子速度的狀態(tài)轉(zhuǎn)移概率決定。用此離散的PSO 優(yōu)化用離散化方法改進(jìn)的神經(jīng)網(wǎng)絡(luò)的參數(shù),實(shí)驗(yàn)結(jié)果表明,相較于利用反向傳播算法的神經(jīng)網(wǎng)絡(luò),該算法優(yōu)化過的神經(jīng)網(wǎng)絡(luò)在預(yù)測體育教學(xué)上精度高,擬合殘差小。針對以上PSO中的粒子進(jìn)行搜索時只依賴自身歷史最優(yōu)位置和種群的全局位置在高度多峰值問題中出現(xiàn)過早收斂的問題。Roy等[91]提出用只能在粒子自身鄰域內(nèi)學(xué)習(xí)的鄰域自適應(yīng)PSO 訓(xùn)練由一個隱藏層、單神經(jīng)元構(gòu)成的輸入層和單神經(jīng)元構(gòu)成的輸出層的FNN,對三種類型故障的軟件的可靠性進(jìn)行評估。相較于PSO 訓(xùn)練FNN,該算法的擬合和預(yù)測性能更好。Roy等[92]繼續(xù)提出可以提高搜索精度和效率的具有模糊性質(zhì)的鄰域模糊PSO 訓(xùn)練以上FNN。實(shí)驗(yàn)結(jié)果表明PSO 優(yōu)化的神經(jīng)網(wǎng)絡(luò)比其他模型具有更大的擬合和預(yù)測能力,鄰域的模糊PSO 比PSO 的擬合和預(yù)測誤差都要低得多,該框架對于軟件可靠性預(yù)測具有重要的應(yīng)用前景。Sehrish 等[93]提出了根據(jù)簇間距離生成團(tuán)簇的PSO 即基于再生的PSO 和根據(jù)速度提升閾值更新位置的PSO 即基于速度提升的PSO。在預(yù)測居民用電量的實(shí)驗(yàn)中表明,PSO優(yōu)化的神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)的反向傳播神經(jīng)網(wǎng)絡(luò)有更高的準(zhǔn)確率和更少的迭代次數(shù);這兩種PSO變體優(yōu)化的神經(jīng)網(wǎng)絡(luò)進(jìn)一步提高了標(biāo)準(zhǔn)PSO 優(yōu)化的神經(jīng)網(wǎng)絡(luò)的預(yù)測精度,其中基于速度提升的PSO優(yōu)化的神經(jīng)網(wǎng)絡(luò)在準(zhǔn)確性方面表現(xiàn)出最高的性能。他們指出將繼續(xù)使用PSO 變體訓(xùn)練神經(jīng)網(wǎng)絡(luò)為智能建筑建立預(yù)測模型。Nandi等[94]實(shí)證分析了三個時間序列,在MAE和MSE 方面,三種PSO 變體訓(xùn)練的神經(jīng)網(wǎng)絡(luò)比反向傳播算法的預(yù)測精度更高。Ye 等[95]將分布式神經(jīng)網(wǎng)絡(luò)的訓(xùn)練參數(shù)編碼到PSO 每個粒子中,用改進(jìn)的PSO 計(jì)算DNN分布式訓(xùn)練過程中的參數(shù)。結(jié)果表明該P(yáng)SO算法在小尺度的DNN 上收斂速度比同步隨機(jī)梯度下降法快,并且它能很好地處理不同尺度的神經(jīng)網(wǎng)絡(luò),但其加速效應(yīng)不穩(wěn)定。

Zhang 等[96]用進(jìn)化附加節(jié)點(diǎn)策略和部分訓(xùn)練算法來維持PSO 中粒子的行為聯(lián)系。該算法較好地解決了噪聲適應(yīng)度評估可能誤導(dǎo)進(jìn)化的問題,還可以避免同時演化結(jié)構(gòu)和權(quán)重導(dǎo)致的移動目標(biāo)問題。在此基礎(chǔ)上,Carvalho等[97]在內(nèi)部PSO中使用權(quán)重衰減啟發(fā)式,結(jié)果表明采用權(quán)重衰減啟發(fā)式的PSO-PSO實(shí)現(xiàn)具有更好的平均泛化性能,在其他工作中也表現(xiàn)出了良好的泛化性能[98]。而且提出未來可以嘗試在PSO-PSO 算法中增加連通模式優(yōu)化過程。

PSO訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,既可以優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值,又可以優(yōu)化隱藏層的傳遞函數(shù)和目標(biāo)函數(shù)[96]。它克服了反向傳播算法收斂速度慢,容易陷入局部極小值等缺點(diǎn)。PSO中沒有選擇算子,所以原始種群中的每個個體在新種群中都有一個對應(yīng)的伙伴,從種群多樣性的角度來看,該性質(zhì)優(yōu)于遺傳算法。PSO中記憶和個體之間的建設(shè)性合作,可以更快地發(fā)現(xiàn)合理質(zhì)量的解,因此在一定程度上避免了遺傳算法的早熟收斂和停滯現(xiàn)象[99]。與基于純梯度的優(yōu)化算法比較,PSO算法訓(xùn)練同等小型規(guī)模的神經(jīng)網(wǎng)絡(luò)的預(yù)測精度更高[89-94],但PSO 一般需要更大的計(jì)算資源,速度較慢??傮w來說,粒子群算法不僅調(diào)整參數(shù)較少,而且操作簡單,容易實(shí)現(xiàn)[100-101]。PSO從多個點(diǎn)開始,可能能夠在一次運(yùn)行中識別多目標(biāo)優(yōu)化中各種解決方案[102],是一種很有前途的訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)的算法??梢赃M(jìn)一步探索PSO 與重組、精英粒子、變異等結(jié)合后有可能提高PSO的效率和可靠性的方法,探索可能產(chǎn)生更穩(wěn)健的結(jié)果并且快速有效地訓(xùn)練淺層網(wǎng)絡(luò)的可以根據(jù)問題自動調(diào)整PSO參數(shù)的方法[103]。

2.2.3 蟻群算法及其各種變體

Dorigo 等[104]首次用具有隨機(jī)搜索性質(zhì)的蟻群算法(ant colony algorithm,ACO)解決一些組合優(yōu)化問題。在ACO 中,每次迭代時,螞蟻k在當(dāng)前節(jié)點(diǎn)i根據(jù)一定概率訪問從未訪問的某一節(jié)點(diǎn)j從而建立路徑。然后關(guān)聯(lián)全局即根據(jù)所有螞蟻搜索到的路徑進(jìn)行信息素的更新。

ACO 在問題狀態(tài)空間中具有有效的搜索能力,Joseph等[105]用ACO優(yōu)化的神經(jīng)網(wǎng)絡(luò)選擇文本分類的特征。相較于基于純梯度的神經(jīng)網(wǎng)絡(luò),ACO 優(yōu)化的神經(jīng)網(wǎng)絡(luò)精度更高,能有效地找到Reuter的數(shù)據(jù)集中最小的特征子集。Zhang 等[106]用ACO 優(yōu)化具有一個隱藏層的神經(jīng)網(wǎng)絡(luò)和最多有六個隱藏層的深度神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏差。這比反向傳播訓(xùn)練的同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)預(yù)測露天采礦項(xiàng)目的成本的精度更高,即ACO 在提高預(yù)測模型的準(zhǔn)確性方面發(fā)揮了至關(guān)重要的作用。通過實(shí)驗(yàn)發(fā)現(xiàn)螞蟻的迭代次數(shù)與神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)呈高度負(fù)相關(guān),即螞蟻的全局搜索是隨機(jī)的,它們必須進(jìn)行更多的迭代才能找到具有較少隱藏層的神經(jīng)網(wǎng)絡(luò)的最佳參數(shù)。

ACO 已成功地應(yīng)用于求解離散問題,但它的離散性質(zhì)限制了應(yīng)用于連續(xù)領(lǐng)域。所以Ping等[107]提出了兩種求解連續(xù)域的ACO變體。Socha等[108]把ACO中的離散概率分布轉(zhuǎn)變?yōu)檫B續(xù)概率分布即高斯概率分布,從而提出了一種可以擴(kuò)展到實(shí)數(shù)變量優(yōu)化的蟻群算法ACOR,其訓(xùn)練過程見算法2,并將其應(yīng)用在固定拓?fù)浣Y(jié)構(gòu)的具有六個隱藏層的FNN的訓(xùn)練上[109]。

算法2改進(jìn)的蟻群算法

輸入:蟻群規(guī)模N,信息因子α,最大迭代次數(shù)Tmax,啟發(fā)函數(shù)因子β,信息素表Table。

輸出:最優(yōu)路徑向量作為權(quán)值。

步驟1隨機(jī)初始化所有螞蟻的位置;

步驟2第i個螞蟻根據(jù)信息素表Table依概率選擇下一個節(jié)點(diǎn)直到訪問完所有節(jié)點(diǎn);

步驟3把第i個螞蟻的路徑添加到信息素表Table;

步驟4當(dāng)i≤N時設(shè)置i=i+1 回到步驟2;

步驟5排序信息素表Table后,丟棄后N,取前R即更新Table;

步驟6當(dāng)j≤N+R時,設(shè)置j=j+1 回到步驟5;

步驟7若t <Tmax或者大于設(shè)定的精確度θ時,設(shè)置t=t+1,回到步驟2,否則結(jié)束循環(huán)并輸出路徑最優(yōu)解。

ACO由一個信息素矩陣和一個啟發(fā)式權(quán)重矩陣組成的概率模型,這兩個矩陣基本上衡量了將決策變量設(shè)置為特定值的“回報(bào)”。其目標(biāo)是進(jìn)化信息素矩陣,以便通過抽樣中的概率模型生成最優(yōu)(或接近最優(yōu))解。ACOR與ACO 類似,每一次迭代被分兩個階段:構(gòu)建解和更新信息素。但ACO中的螞蟻更新信息素后會丟棄之前迭代尋找到的解,更利于尋找到最優(yōu)解,但遇到信息表中解的數(shù)量巨大時,ACOR需要對解進(jìn)行比較和排序,耗時就比較長。

針對ACOR中T只有信息素信息,沒有啟發(fā)式信息的問題,Zhao等[110]在ACOR的基礎(chǔ)上提出帶有啟發(fā)式信息的h-ACOR。結(jié)果顯示,相較于ACOR優(yōu)化的FNN,h-ACOR可以有效地減少訓(xùn)練次數(shù),提高訓(xùn)練精度,但也需要更大的存儲空間。Wan 等[111]提出一種加入了擾動策略的基于蟻群優(yōu)化的人工神經(jīng)網(wǎng)絡(luò)方法。將ACO變體的正反饋與該神經(jīng)網(wǎng)絡(luò)的記憶和聯(lián)想能力結(jié)合起來,克服了ACO 初期缺乏信息素和易局部優(yōu)化的缺點(diǎn),實(shí)例表明,該混合算法在解決水庫徑流預(yù)測問題時具有合理性、可靠性和較高的精度。

ACO 及其變體的基本機(jī)制是建立參數(shù)化概率模型,有堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ),逐步構(gòu)造可行解。該概率模型的參數(shù)是根據(jù)算法每次迭代中生成的樣本解,隨時間而變化的。這樣做可以加強(qiáng)更好的解,最終得到一個最優(yōu),即ACO及變體通過螞蟻的正向反饋和并行式協(xié)作,實(shí)現(xiàn)了全局最優(yōu)。它們可以同時優(yōu)化網(wǎng)絡(luò)的權(quán)值和閾值。相較于遺傳算法,ACO 及其變體在較大的搜索空間中搜索速度更快,極大地提高了計(jì)算效率,而且受參數(shù)影響較小,還能充分利用每個螞蟻積累的經(jīng)驗(yàn)來逼近最優(yōu)解。雖然ACO及其變體中啟發(fā)式性質(zhì)無法提供任何最優(yōu)保證,但它通常能夠在有限的計(jì)算預(yù)算內(nèi)找到給定問題的高質(zhì)量解決方案[112],所以ACO 與其他啟發(fā)式或數(shù)學(xué)規(guī)劃相結(jié)合具有一定前景。目前,在依靠專家經(jīng)驗(yàn)設(shè)定的螞蟻的初始數(shù)量、ACO及變體在高維多目標(biāo)優(yōu)化問題上[113]、平衡已搜索到的和未訪問到的方法等方面還值得被開發(fā)。

2.2.4 遺傳算法及其各種變體

Holland 受生物進(jìn)化論啟發(fā)提出了一種由選擇,交叉和變異三個過程搜索最優(yōu)解的遺傳算法(genetic algorithm,GA)。選擇算法是選擇較優(yōu)個體遺傳到下一代,雖有很多,如依概率的輪盤賭選擇、排序選擇、最優(yōu)個體選擇和隨機(jī)聯(lián)賽選擇等,但這都與適應(yīng)度有關(guān)。Shen 等[114]發(fā)現(xiàn)GA 選擇策略影響種群的初始多樣性,認(rèn)為適當(dāng)控制優(yōu)勢的基因有利于GA 的穩(wěn)定性。交叉法是相互配對的染色體交換部分基因,是區(qū)別其他進(jìn)化算法最重要特征,是產(chǎn)生新個體的關(guān)鍵,有單點(diǎn)交叉、兩點(diǎn)交叉、均勻交叉和算術(shù)交叉等。變異法是用小概率隨機(jī)改變某等位基因值,所以可以探索到搜索空間中的新區(qū)域,確保了遺傳多樣性[115],有基本位變異、均勻變異和邊界變異等。交叉和變異策略的選擇對GA 的搜索能力、收斂效率和精度起著至關(guān)重要的作用。

由于GA 不能直接處理問題空間的參數(shù),所以用GA 解決問題時必須進(jìn)行編碼。Togelius等[116]指出不恰當(dāng)?shù)木幋a會導(dǎo)致找不到解決方案。所以GA 訓(xùn)練神經(jīng)網(wǎng)絡(luò)最主要的問題是:如何使用有效的遺傳表示對網(wǎng)絡(luò)進(jìn)行編碼。直接編碼方案在基因組中指定了表型中出現(xiàn)的每個連接和節(jié)點(diǎn),即網(wǎng)絡(luò)的參數(shù)值(如權(quán)重和神經(jīng)元)與其遺傳表示進(jìn)行一對一映射,因此大量的突觸連接可以被相應(yīng)基因型中少量的參數(shù)編碼。間接編碼通常只指定構(gòu)建表型的規(guī)則,特定的基因或生長規(guī)則由細(xì)胞分裂確定,即計(jì)算它與種群中其他每個生物的距離,進(jìn)而調(diào)整適合度。所以間接編碼比直接編碼具有更緊湊的表示形式。編碼方式一般有實(shí)值編碼和二進(jìn)制編碼。在使用算法3解決問題時,目標(biāo)函數(shù)與適應(yīng)度函數(shù)可能需要進(jìn)行轉(zhuǎn)變。

算法3遺傳算法

輸入:種群規(guī)模N,迭代次數(shù)Tmax,交叉概率pc,變異概率pm,個體長度Len,個體范圍bound。

輸出:適應(yīng)度值最優(yōu)的個體i。

步驟1初始化:對每個個體進(jìn)行編碼,計(jì)算各自的適應(yīng)度值fitness;

步驟2選擇:對每個個體基于適應(yīng)度的過程進(jìn)行選擇;

步驟3交叉與變異:每個個體以交叉概率交叉,以變異概率變異;

步驟4評估:重新計(jì)算每個個體的適應(yīng)度值,并找到適應(yīng)度值最優(yōu)的個體;

步驟5若t≤Tmax或者大于設(shè)定的精確度時,設(shè)置t=t+1,回到步驟2,否則結(jié)束循環(huán)并輸出適應(yīng)度值最優(yōu)的個體。

為了訓(xùn)練神經(jīng)網(wǎng)絡(luò)且提高算法的性能,出現(xiàn)了許多GA的變體。Deb等[117]改進(jìn)交叉方式后對大規(guī)?,F(xiàn)實(shí)問題進(jìn)行實(shí)驗(yàn),解決了GA 在此大數(shù)據(jù)上較費(fèi)時的問題。Mouret等[118]在GA基礎(chǔ)上,提出了一個可以提供一種全面視角的多維檔案算法。Pugh等[119]在質(zhì)量多樣性算法和GA的基礎(chǔ)上,提出了一種可以同時混合多個行為表征的新算法,它成功地克服了尋找量子點(diǎn)相關(guān)的一些挑戰(zhàn)。以上兩個實(shí)驗(yàn)解決了遺傳算法局部搜索能力較差,網(wǎng)絡(luò)的訓(xùn)練精度可能不那么令人滿意的問題。Stanley[120]在沒有局部相互作用的情況下映射到表型,Gauci[121]同樣采用間接編碼方式,將超立方體中產(chǎn)生的空間模式解釋為低維空間中的連接模式,這都提高了遺傳算法的性能。Miller[122]首次嘗試用GA設(shè)計(jì)和進(jìn)化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。然后Jaddi 等[123]發(fā)現(xiàn)GA 可以同時優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)重。Esfahanian等[124]提出一種半折疊染色體結(jié)構(gòu)編碼方式,在此基礎(chǔ)上用穩(wěn)態(tài)、世代和精英三種單獨(dú)的GA 訓(xùn)練神經(jīng)網(wǎng)絡(luò),發(fā)現(xiàn)該編碼方式不僅可以減小染色體大小,而且能隨著網(wǎng)絡(luò)的發(fā)展而擴(kuò)展,所以可以更好地處理大型網(wǎng)絡(luò)。Sun 等[125]提出了一種可變長度基因編碼策略和一種新的適應(yīng)度評估方法,發(fā)現(xiàn)可以把GA擴(kuò)展到訓(xùn)練深層卷積神經(jīng)網(wǎng)絡(luò)上。此改進(jìn)算法不僅加快了搜索速度,而且在圖像分類錯誤率和參數(shù)數(shù)量(權(quán)重)方面具有顯著優(yōu)勢。Fang等[126]在Sun使用的二元錦標(biāo)賽選擇算子中加入精英機(jī)制,選擇有前途的個體。這不僅保證了種群的多樣性和收斂性,而且可以在進(jìn)化過程中有效地找到最優(yōu)的DNN結(jié)構(gòu)。Ghorbanzadeh等[127]將順序搜索方法與深度遺傳適應(yīng)度形成的GA相結(jié)合,實(shí)驗(yàn)發(fā)現(xiàn),該方法不僅加快了GA 的收斂速度,而且促進(jìn)了基于深度學(xué)習(xí)的分類器的訓(xùn)練。Yang等[128]通過在親本染色體長度范圍內(nèi)逐個交叉基因,并在一個小的突變率內(nèi),選擇性地突變進(jìn)入染色體的每個基因來改進(jìn)算法,這減少了迭代次數(shù),加快適應(yīng)度的收斂速度,還提高神經(jīng)網(wǎng)絡(luò)模型的魯棒性和安全性。

GA 受啟發(fā)于進(jìn)化論缺乏了數(shù)學(xué)理論,可能存在所有個體都陷于同一個極值,不合理的選擇和交叉算子會有早熟收斂的風(fēng)險。GA 的參數(shù)的選擇也缺乏指導(dǎo)信息。但是一個簡單的遺傳算法就能夠訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),讓它們像DQN一樣玩很多的雅達(dá)利游戲[129]。GA具有并行性,能同時優(yōu)化結(jié)構(gòu)和連接權(quán)系數(shù),所以收斂速度很快,并且有效地提高了神經(jīng)網(wǎng)絡(luò)的泛化性能。該算法僅利用適應(yīng)度值作為度量,所以把握搜索過程總體能力較強(qiáng),可以找出空間所有解。它的增強(qiáng)式學(xué)習(xí)能力優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值的過程可以保證神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)固定不變。

3 算法分析與總結(jié)

Mcculloch 等[130]建立的第一個MP 模型標(biāo)志著神經(jīng)網(wǎng)絡(luò)時代的到來。近年來,神經(jīng)網(wǎng)絡(luò)的熱度只增不減,當(dāng)人們面對一個新問題時需要清楚訓(xùn)練數(shù)據(jù)、網(wǎng)絡(luò)架構(gòu)和訓(xùn)練方法是什么樣的。目前還沒有一個明確的答案。但錯誤的選擇往往會讓人們付出高昂的代價。所以一個重要的問題就是,如何訓(xùn)練一個能夠解決問題并且性能較好的神經(jīng)網(wǎng)絡(luò),采取什么辦法提高神經(jīng)網(wǎng)絡(luò)泛化能力和學(xué)習(xí)時間這兩個關(guān)鍵性能指標(biāo)?已出現(xiàn)大量方法,如對數(shù)據(jù)進(jìn)行預(yù)處理、各種網(wǎng)絡(luò)初始化的技巧、訓(xùn)練網(wǎng)絡(luò)方法、激活函數(shù)的選擇、不同正則化方法和集成多個神經(jīng)網(wǎng)絡(luò)等。神經(jīng)網(wǎng)絡(luò)的性能高度依賴于訓(xùn)練過程,因此這是最近許多研究工作的重點(diǎn)[131-132]。但目前對于選擇什么算法沒有達(dá)成共識,好像是取決于使用者對算法的熟悉程度[133]。

從Rumelhart等[4]提出用反向傳播算法開始,出現(xiàn)了一系列基于此的訓(xùn)練算法,有隨機(jī)梯度算法和小批量隨機(jī)梯度算法等一階的各種梯度下降算法、有擬牛頓和共軛梯度法等二階近似法、有Adam和RMSProp等自適應(yīng)學(xué)習(xí)率算法。面對復(fù)雜的網(wǎng)絡(luò)和高維空間,基于純梯度的訓(xùn)練算法暴露出了一系列弊端,尤其對初始設(shè)定值的過度依賴和在激活的平整度上等。由于采樣數(shù)據(jù)往往存在噪聲,所以代價函數(shù)并不準(zhǔn)確,此時基于純梯度的算法不能過濾噪聲,優(yōu)化不準(zhǔn)確的代價函數(shù)是不可取的。因此,本文總結(jié)出一些常見的訓(xùn)練神經(jīng)網(wǎng)絡(luò)權(quán)重的非梯度算法。

訓(xùn)練神經(jīng)網(wǎng)絡(luò)是在考慮了精確度和損失率的基礎(chǔ)上,去找目標(biāo)函數(shù)的最優(yōu)值。基于非梯度的訓(xùn)練算法與基于純梯度的訓(xùn)練算法相比,不需要調(diào)整復(fù)雜的超參數(shù),不需要反向傳播誤差,可以直接使用可微和不可微的激活函數(shù)。無梯度算法的優(yōu)點(diǎn)在于顯著減少了訓(xùn)練時間。但它的缺點(diǎn)是增加了網(wǎng)絡(luò)的復(fù)雜性,當(dāng)隱藏單元的生成數(shù)量增加許多倍,可能會導(dǎo)致過擬合。

此文先介紹相關(guān)的神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),讓讀者首先對神經(jīng)網(wǎng)絡(luò)及其結(jié)構(gòu)有一定了解;然后介紹涉及到訓(xùn)練良好性能的神經(jīng)網(wǎng)絡(luò)的方方面面;再對部分較流行的非梯度訓(xùn)練神經(jīng)網(wǎng)絡(luò)權(quán)重的算法展開介紹,介紹這些算法如何訓(xùn)練神經(jīng)網(wǎng)絡(luò)的權(quán)重以及各自的優(yōu)缺點(diǎn)和各種變體。在當(dāng)今這個發(fā)展的社會,這些神經(jīng)網(wǎng)絡(luò)非梯度訓(xùn)練算法已慢慢被重視,而且已在多個領(lǐng)域得到應(yīng)用。

3.1 非梯度神經(jīng)網(wǎng)絡(luò)算法理論分析與對比

非梯度神經(jīng)網(wǎng)絡(luò)算法理論分析與對比如表3。

表3 非梯度神經(jīng)網(wǎng)絡(luò)算法理論分析Table 3 Oretical analysis of non-gradient neural network algorithms

3.2 神經(jīng)網(wǎng)絡(luò)非梯度優(yōu)化算法的展望

沒有免費(fèi)的午餐定理明確說出沒有最優(yōu)的學(xué)習(xí)算法。一個神經(jīng)網(wǎng)絡(luò)優(yōu)化算法并不能解決現(xiàn)實(shí)中所有問題,只可以很好地解決相應(yīng)的問題,即沒有萬能的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法,只有比較適合某一個特定的問題的訓(xùn)練算法。而且Blum等[134]和Judd[135]在理論上證明神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法都有性能限制。

目前單純的基于無梯度的訓(xùn)練算法并不是基于純梯度的訓(xùn)練算法的競爭對手,但是當(dāng)梯度算法不能使用時,它是一個很好的選擇[136]。

近年涌現(xiàn)出組合多個算法的思想去訓(xùn)練神經(jīng)網(wǎng)絡(luò),如基于純梯度的算法和非梯度算法一起訓(xùn)練神經(jīng)網(wǎng)絡(luò)[137-140],基于某種非梯度思想的非梯度算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)[141-145]等。這種混合優(yōu)化器顯示出極高的潛力,在某些問題上這些經(jīng)過組合的非梯度算法比其中的單個算法更有效。這種思想可以把算法的某種優(yōu)點(diǎn)組合在一起,這可能會成為一個研究方向[146]。本文列舉的這些算法有一定缺點(diǎn),這些算法可以繼續(xù)被改進(jìn)。訓(xùn)練一個性能良好的神經(jīng)網(wǎng)絡(luò)本來就與許多方面相關(guān),使用非梯度訓(xùn)練算法的同時考慮到神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)、數(shù)據(jù)的處理、目標(biāo)函數(shù)的選擇和防止過擬合的正則化等因素。這些相關(guān)因素全被考慮到,可以使神經(jīng)網(wǎng)絡(luò)在解決問題時做出更好的決定。

猜你喜歡
權(quán)值梯度權(quán)重
帶非線性梯度項(xiàng)的p-Laplacian拋物方程的臨界指標(biāo)
二進(jìn)制張量分解法簡化神經(jīng)網(wǎng)絡(luò)推理計(jì)算①
一種融合時間權(quán)值和用戶行為序列的電影推薦模型
權(quán)重望寡:如何化解低地位領(lǐng)導(dǎo)的補(bǔ)償性辱虐管理行為?*
權(quán)重常思“浮名輕”
一個具梯度項(xiàng)的p-Laplace 方程弱解的存在性
為黨督政勤履職 代民行權(quán)重?fù)?dān)當(dāng)
強(qiáng)規(guī)劃的最小期望權(quán)值求解算法?
權(quán)重漲個股跌 持有白馬藍(lán)籌
基于AMR的梯度磁傳感器在磁異常檢測中的研究
承德市| 沛县| 江西省| 中方县| 七台河市| 家居| 犍为县| 尚义县| 泰宁县| 中方县| 内江市| 永胜县| 昌吉市| 新昌县| 新余市| 河源市| 大关县| 酒泉市| 瑞丽市| 南木林县| 贞丰县| 淮阳县| 锦州市| 汉中市| 赣州市| 屏山县| 汽车| 辽源市| 若尔盖县| 霍林郭勒市| 五大连池市| 哈尔滨市| 登封市| 曲松县| 全椒县| 麻江县| 宁城县| 新巴尔虎左旗| 乾安县| 高邑县| 聂拉木县|