• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      神經網絡非梯度優(yōu)化方法研究進展

      2022-09-06 11:08:02陳希亮
      計算機工程與應用 2022年17期
      關鍵詞:權值梯度權重

      盛 蕾,陳希亮,康 凱

      陸軍工程大學 指揮控制工程學院,南京 210007

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

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

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

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

      1 神經網絡訓練的基本理論

      1.1 神經網絡

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

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

      圖1 三種網絡結構示例Fig.1 Examples of three network structures

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

      圖2 簡化的FNN神經元Fig.2 Simplified FNN neuron

      1.2 神經網絡的訓練

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

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

      1.2.1 神經網絡的純梯度訓練算法

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

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

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

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

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

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

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

      1.2.2 神經網絡的非梯度訓練算法

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

      2 神經網絡非梯度訓練算法的研究進展

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

      2.1 部分前饋神經網絡訓練算法

      目前,大多數(shù)FNN 的權值都是基于梯度算法訓練得到的。但存在部分FNN 結構上有其特點,因此權值的學習過程也比較特殊,比如一般概率神經網絡、貝葉斯神經網絡、極限學習機的權值大多是通過非梯度算法訓練得到的。

      2.1.1 一般概率神經網絡訓練算法

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

      圖3 PNN的基本結構Fig.3 Basic structure of PNN

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

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

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

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

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

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

      2.1.2 貝葉斯神經網絡訓練算法

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

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

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

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

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

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

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

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

      表2 訓練BNN權重的方法Table 2 Methods for training BNN weights

      2.1.3 極限學習機及其各種改進算法

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

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

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

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

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

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

      2.2 基于搜索的神經網絡優(yōu)化算法

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

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

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

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

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

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

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

      算法1粒子群算法

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

      輸出:最佳位置信息Gbest作為權值。

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

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

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

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

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

      步驟6若t <Tmax設置t=t+1,回到步驟2,否則結束循環(huán)并輸出最佳位置信息Gbest作為神經網絡的權值。

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

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

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

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

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

      2.2.3 蟻群算法及其各種變體

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

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

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

      算法2改進的蟻群算法

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

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

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

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

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

      步驟4當i≤N時設置i=i+1 回到步驟2;

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

      步驟6當j≤N+R時,設置j=j+1 回到步驟5;

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

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

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

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

      2.2.4 遺傳算法及其各種變體

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

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

      算法3遺傳算法

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

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

      步驟1初始化:對每個個體進行編碼,計算各自的適應度值fitness;

      步驟2選擇:對每個個體基于適應度的過程進行選擇;

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

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

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

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

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

      3 算法分析與總結

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

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

      訓練神經網絡是在考慮了精確度和損失率的基礎上,去找目標函數(shù)的最優(yōu)值?;诜翘荻鹊挠柧毸惴ㄅc基于純梯度的訓練算法相比,不需要調整復雜的超參數(shù),不需要反向傳播誤差,可以直接使用可微和不可微的激活函數(shù)。無梯度算法的優(yōu)點在于顯著減少了訓練時間。但它的缺點是增加了網絡的復雜性,當隱藏單元的生成數(shù)量增加許多倍,可能會導致過擬合。

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

      3.1 非梯度神經網絡算法理論分析與對比

      非梯度神經網絡算法理論分析與對比如表3。

      表3 非梯度神經網絡算法理論分析Table 3 Oretical analysis of non-gradient neural network algorithms

      3.2 神經網絡非梯度優(yōu)化算法的展望

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

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

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

      猜你喜歡
      權值梯度權重
      一種融合時間權值和用戶行為序列的電影推薦模型
      一個改進的WYL型三項共軛梯度法
      CONTENTS
      權重常思“浮名輕”
      當代陜西(2020年17期)2020-10-28 08:18:18
      一種自適應Dai-Liao共軛梯度法
      一類扭積形式的梯度近Ricci孤立子
      為黨督政勤履職 代民行權重擔當
      人大建設(2018年5期)2018-08-16 07:09:00
      基于公約式權重的截短線性分組碼盲識別方法
      電信科學(2017年6期)2017-07-01 15:44:57
      基于權值動量的RBM加速學習算法研究
      自動化學報(2017年7期)2017-04-18 13:41:02
      層次分析法權重的計算:基于Lingo的數(shù)學模型
      河南科技(2014年15期)2014-02-27 14:12:51
      彭山县| 沽源县| 修文县| 渭源县| 滦平县| 晋州市| 祁东县| 额济纳旗| 济源市| 改则县| 大城县| 贵定县| 武清区| 临清市| 巴中市| 青海省| 大邑县| 蒲江县| 游戏| 昌图县| 时尚| 娱乐| 方正县| 清原| 宁武县| 洱源县| 和田市| 绥德县| 峨眉山市| 丰顺县| 上蔡县| 綦江县| 庆安县| 富民县| 邛崃市| 长沙县| 四川省| 新河县| 大宁县| 石泉县| 丹江口市|