葛泉波 ,張建朝 ,楊秦敏 ,李 宏
(1.南京信息工程大學(xué)自動(dòng)化學(xué)院,江蘇南京,210044;2.杭州電子科技大學(xué)自動(dòng)化學(xué)院,浙江杭州 310018;3.浙江大學(xué)控制科學(xué)與工程學(xué)院,浙江杭州 310063;4.中國(guó)飛行試驗(yàn)研究院,陜西西安 710089)
BP(back propagation)神經(jīng)網(wǎng)絡(luò),其計(jì)算過(guò)程由正向和反向過(guò)程組成,廣泛應(yīng)用于如圖像分類(lèi)[1-2]、目標(biāo)檢測(cè)[3]和人臉識(shí)別[4]等領(lǐng)域,其能否成功的關(guān)鍵因素為網(wǎng)絡(luò)的泛化能力.雖然BP神經(jīng)網(wǎng)絡(luò)在人工智能領(lǐng)域取得了巨大的成功,但是面對(duì)越來(lái)越龐大的數(shù)據(jù)集,進(jìn)行深度網(wǎng)絡(luò)的訓(xùn)練需要消耗巨大的計(jì)算成本,即使使用高配置的GPU服務(wù)器也需花費(fèi)較長(zhǎng)的訓(xùn)練時(shí)間.因此,在不犧牲甚至提高準(zhǔn)確率的基礎(chǔ)上,盡可能地加快深度網(wǎng)絡(luò)模型的訓(xùn)練速度尤為重要.這樣不僅可以節(jié)省訓(xùn)練時(shí)間,也可以節(jié)約硬件設(shè)備的成本[5].BP神經(jīng)網(wǎng)絡(luò)的性能主要取決于其網(wǎng)絡(luò)結(jié)構(gòu)與優(yōu)化算法.對(duì)于一個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其全部信息主要體現(xiàn)在網(wǎng)絡(luò)連接權(quán)重的分布上,網(wǎng)絡(luò)權(quán)重直接影響了BP神經(jīng)網(wǎng)絡(luò)的收斂速度與精度.優(yōu)化學(xué)習(xí)算法作為修正權(quán)重的關(guān)鍵,決定著B(niǎo)P神經(jīng)網(wǎng)絡(luò)性能優(yōu)劣.
目前,大多數(shù)的優(yōu)化算法是基于迭代的方法,該類(lèi)方法通過(guò)迭代優(yōu)化輔助目標(biāo)函數(shù),向著最優(yōu)解決方案尋找一組參數(shù)(即權(quán)重)[6-8],主要使用的算法是基于隨機(jī)梯度下降(stochastic gradient descent,SGD)的改進(jìn)算法.SGD動(dòng)量策略是同時(shí)考慮過(guò)去和現(xiàn)在的梯度來(lái)更新網(wǎng)絡(luò)參數(shù),但該方法存在超調(diào)問(wèn)題,即權(quán)值超過(guò)最優(yōu)解而不改變更新方向的現(xiàn)象[9].這種超調(diào)問(wèn)題阻礙了SGD動(dòng)量的收斂,耗費(fèi)了更多的訓(xùn)練時(shí)間和資源.在自動(dòng)控制文獻(xiàn)[10-11]中,梯度優(yōu)化算法與傳統(tǒng)控制有相似之處.在反饋控制系統(tǒng)中比例積分微分(proportional integral derivative,PID)控制器[12-13]由于其簡(jiǎn)單、功能和廣泛的適用性,是最常用的反饋控制機(jī)制.其控制的基本思想是控制動(dòng)作應(yīng)與當(dāng)前誤差(系統(tǒng)輸出與期望輸出之差)、過(guò)去誤差(積分)、未來(lái)誤差(導(dǎo)數(shù))成正比.文獻(xiàn)[14]指出,自適應(yīng)機(jī)制通過(guò)利用移動(dòng)平均梯度和移動(dòng)平均平方梯度來(lái)計(jì)算自適應(yīng)指數(shù)衰減速率,實(shí)現(xiàn)自適應(yīng)學(xué)習(xí)率,這種自適應(yīng)調(diào)整方式有很大優(yōu)勢(shì),并且有望產(chǎn)生更好的深層模型學(xué)習(xí)結(jié)果.
學(xué)習(xí)率是訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN)最重要的超參數(shù)之一,其選擇的合適與否直接影響網(wǎng)絡(luò)優(yōu)化的好壞.根據(jù)學(xué)習(xí)率的設(shè)置,深度學(xué)習(xí)優(yōu)化器可以分為兩類(lèi):手動(dòng)調(diào)整的學(xué)習(xí)率優(yōu)化器,如SGD[15]、SGD動(dòng)量和Nesterovs動(dòng)量[16],以及自適應(yīng)學(xué)習(xí)率優(yōu)化器,比如AdaGrad[17]、RMSProp[18]和Adam[19]等.目前優(yōu)化算法的主要思想是根據(jù)神經(jīng)網(wǎng)絡(luò)特性修改學(xué)習(xí)率,從而改進(jìn)學(xué)習(xí)率太小而導(dǎo)致緩慢的收斂速度,而學(xué)習(xí)率太大影響收斂速度.因此優(yōu)化學(xué)習(xí)的穩(wěn)定性取決于超參數(shù)的選擇,而且配置學(xué)習(xí)算法的超參數(shù)的方法是層出不窮的,需要手動(dòng)調(diào)整敏感的超參數(shù),通過(guò)調(diào)優(yōu)階段以獲得預(yù)期的理想性能.然而這種調(diào)優(yōu)需要非常昂貴的人力和時(shí)間資源,每個(gè)超參數(shù)的設(shè)置通常需要在多個(gè)階段進(jìn)行多次測(cè)試[20].
為了解決該問(wèn)題,首先結(jié)合傳統(tǒng)PID原理,對(duì)SGD進(jìn)行重整合,通過(guò)分析得出梯度的累積類(lèi)似于PI控制,而積分環(huán)節(jié)使得梯度更新受到歷史梯度影響,因此出現(xiàn)較大超調(diào)量.通過(guò)結(jié)合傳統(tǒng)控制理論的微分環(huán)節(jié)校正思想,在迭代過(guò)程引入微分項(xiàng),從而有效提高算法對(duì)于瞬時(shí)梯度改變的靈敏度,有效改善了權(quán)重更新滯后于實(shí)際梯度改變的缺點(diǎn).在此基礎(chǔ)上,通過(guò)引入指數(shù)衰減的歷史平方梯度及歷史梯度的指數(shù)衰減值來(lái)實(shí)現(xiàn)學(xué)習(xí)率自適應(yīng)改變,有效地解決了固定學(xué)習(xí)率導(dǎo)致算法收斂速率過(guò)慢的問(wèn)題.最后結(jié)合指數(shù)加權(quán)移動(dòng)平均法,進(jìn)一步克服了迭代初始階段較大誤差的問(wèn)題.
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)是基于前饋神經(jīng)網(wǎng)絡(luò)的深層神經(jīng)網(wǎng)[2,9-10,21].CNN的三大特性,即局部感知、權(quán)值共享及降采樣顯著減少了網(wǎng)絡(luò)的參數(shù),大大降低了訓(xùn)練網(wǎng)絡(luò)的計(jì)算復(fù)雜度,這也決定了CNN的在數(shù)據(jù)處理的優(yōu)越性,使得CNN在手寫(xiě)體識(shí)別、圖像分類(lèi)等深度學(xué)習(xí)領(lǐng)域得到廣泛應(yīng)用,成為計(jì)算機(jī)視覺(jué)系統(tǒng)的核心技術(shù).
卷積運(yùn)算實(shí)際上是對(duì)圖像的矩陣運(yùn)算,通過(guò)卷積核與輸入數(shù)據(jù)一部分進(jìn)行卷積運(yùn)算,提取出該部分的特征.卷積公式如下[21]:
從圖1可以看出,在神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型中,反向傳播類(lèi)似于控制系統(tǒng)的反饋環(huán)節(jié),梯度相當(dāng)于誤差,實(shí)際標(biāo)簽值相當(dāng)于理想值,控制系統(tǒng)的目標(biāo)是連續(xù)測(cè)量輸出系統(tǒng)的狀態(tài),并通過(guò)控制單元將其更新到所需的狀態(tài).而神經(jīng)網(wǎng)絡(luò)模型是學(xué)習(xí)一個(gè)能夠描述輸出輸入關(guān)系的近似函數(shù),兩者具有相似性.
圖1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型與控制系統(tǒng)聯(lián)系[9]Fig.1 The connection between neural network training model and control system[9]
在卷積神經(jīng)網(wǎng)絡(luò)中,為了得到最優(yōu)的權(quán)值,需對(duì)模型創(chuàng)建代價(jià)損失函數(shù),然后選擇合適的優(yōu)化算法使損失函數(shù)值最小,其形式化描述如下[22]:
其中:m表示樣本數(shù),fi(w;x)表示單個(gè)樣本i的損失函數(shù),X表示約束集.在卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練問(wèn)題中,損失函數(shù)fi(w;x)可定義為[14]
其中:(xi,yi)是訓(xùn)練樣本序列,x為單個(gè)樣本xi的集合.為了求解問(wèn)題(2),隨機(jī)梯度下降法是最常用的方法,它的更新規(guī)則如下[19]:
其中:α表示學(xué)習(xí)率,?wJ(wt)為函數(shù)J(w)在wt上的梯度值.上面算法與PID控制輸入輸出公式對(duì)比,可以看出都是利用了當(dāng)前信息更新,相當(dāng)于比例環(huán)節(jié).如果更新的權(quán)重如果要改變下降的方向,由于歷史梯度累積的存在,權(quán)重將不會(huì)及時(shí)改變[11],這一現(xiàn)象通常被稱(chēng)作超調(diào).
目前,在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中常用的優(yōu)化算法主要是SGD算法及其改進(jìn),在實(shí)際應(yīng)用中也取得了比較不錯(cuò)的成績(jī).然而,這種基于迭代的優(yōu)化方法在實(shí)際應(yīng)用中也存在許多的問(wèn)題[9-10].
1) 傳統(tǒng)基于SGD的優(yōu)化算法中出現(xiàn)過(guò)大的超調(diào)量將導(dǎo)致收斂過(guò)程頻繁震蕩,影響算法收斂速率.該類(lèi)方法主要考慮利用過(guò)去和現(xiàn)在的梯度來(lái)更新網(wǎng)絡(luò)參數(shù),歷史梯度值的累積過(guò)程容易造成權(quán)重的值超過(guò)其目標(biāo)值的現(xiàn)象,并且可能不會(huì)改變更新方向,因此阻礙算法收斂,耗費(fèi)巨大的訓(xùn)練時(shí)間.
2) 在稀疏特征處理過(guò)程中,固定學(xué)習(xí)率的機(jī)制將嚴(yán)重影響優(yōu)化算法的收斂速率.學(xué)習(xí)率作為BP網(wǎng)絡(luò)重要參數(shù),其適合與否直接決定網(wǎng)絡(luò)優(yōu)劣,而目前主要以手動(dòng)調(diào)節(jié)為主,該方式在大型網(wǎng)絡(luò)操作難度較大且固定學(xué)習(xí)率對(duì)于網(wǎng)絡(luò)適應(yīng)性較差,即當(dāng)權(quán)重參數(shù)遠(yuǎn)離最優(yōu)點(diǎn),希望調(diào)大學(xué)習(xí)率以加快訓(xùn)練,而當(dāng)離最優(yōu)點(diǎn)較近時(shí)則希望調(diào)小學(xué)習(xí)率以提高精度.
因此,在研究如何有效克服迭代過(guò)程出現(xiàn)超調(diào)量問(wèn)題的基礎(chǔ)上,進(jìn)一步有效應(yīng)用自適應(yīng)學(xué)習(xí)率對(duì)于進(jìn)一步提高優(yōu)化算法的收斂速率有很大必要性.對(duì)此,本文提出的解決方案如下:
1) 結(jié)合傳統(tǒng)控制系統(tǒng)原理,引入微分環(huán)節(jié)來(lái)解決隨機(jī)梯度下降算法存在超調(diào)問(wèn)題.微分環(huán)節(jié)通過(guò)有效利用當(dāng)前時(shí)刻梯度的瞬時(shí)變化率校正梯度更新,從而保證梯度隨著迭代進(jìn)行而單調(diào)收斂到最優(yōu)值.
2) 針對(duì)學(xué)習(xí)率的不適應(yīng)性導(dǎo)致的收斂率差和收斂速率慢等問(wèn)題,提出一種基于二階矩的自適應(yīng)學(xué)習(xí)率機(jī)制.該機(jī)制主要通過(guò)將過(guò)去平方梯度(二階矩)的平均值和過(guò)去梯度的指數(shù)衰減平均值添加到學(xué)習(xí)率調(diào)節(jié)過(guò)程中,以此來(lái)增強(qiáng)學(xué)習(xí)率的自適應(yīng)性并提高相應(yīng)的收斂速率,同時(shí)給出了相應(yīng)的悔界證明.
結(jié)合上述問(wèn)題分析,本文所提出的帶微分項(xiàng)的自適應(yīng)梯度下降法流程如下圖所示.
圖2 算法框圖Fig.2 Algorithm block diagram
在完全信息反饋設(shè)置中,在線(xiàn)優(yōu)化問(wèn)題是一個(gè)分析迭代優(yōu)化方法的靈活框架.在線(xiàn)問(wèn)題可描述如下:在每一輪t,優(yōu)化算法選擇一個(gè)動(dòng)作wt ∈X,其中X?Rd,則遭受的損失為J(wt).因此,經(jīng)過(guò)T輪之后,算法的悔函數(shù)可定義為[22]
為了快速訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型,本文結(jié)合自適應(yīng)梯度算法和PID原理的優(yōu)勢(shì),提出一個(gè)帶微分項(xiàng)的自適應(yīng)梯度優(yōu)化算法(adaptive stochastic gradient descent with differential,AdaSGD-D),具體描述如下:在每一輪t ∈{1,···,T}[19],
αt為學(xué)習(xí)率,ηt表示微分步長(zhǎng).與文獻(xiàn)[19,22]中的更新規(guī)則相比,式(9)給出的模型參數(shù)更新規(guī)則增加了跟Dt相關(guān)的一項(xiàng),它能有效地提高模型的訓(xùn)練速度.
本文提出的AdaSGD-D算法流程參見(jiàn)算法1.
算法1帶微分項(xiàng)的自適應(yīng)梯度下降法(AdaSGD-D).
對(duì)AdaSGD-D算法的悔界分析,是一個(gè)非常重要的工作,它能從理論上保證新算法的收斂性和收斂速度,以提高算法的工程可用性.為了完成本文算法的悔界分析,需要如下標(biāo)準(zhǔn)假設(shè)[22]:
超參數(shù)β1t是影響算法收斂性能的一個(gè)重要參數(shù).從式(10)右邊第2項(xiàng)可以看出,β1t需要滿(mǎn)足一定的衰減條件,比如β1t是時(shí)間t的一個(gè)遞減函數(shù)[22].因此,獲得β1t=β1μt?1條件下定理1的一種具體形式更能夠直觀地表達(dá)悔界結(jié)果的內(nèi)涵,從而可在工程應(yīng)用過(guò)程中超參數(shù)取值方面起到良好的指導(dǎo)作用.
與文獻(xiàn)[9]相比,本文分析了收斂速率,從理論上保證所提算法是收斂的.文獻(xiàn)[9]基于PID原理進(jìn)行更新,沒(méi)有采用自適應(yīng)步長(zhǎng).在悔界的理論分析中,動(dòng)量的上界與梯度的上界都是G∞,而常步長(zhǎng)不影響結(jié)論的推導(dǎo),其分析過(guò)程與在線(xiàn)梯度下降算法相似,因此理論上的悔界與在線(xiàn)梯度下降算法的悔界相似,即[25].但是所提算法的悔界可達(dá)到O(Tκ)(0 ≤.尤其當(dāng)梯度是稀疏時(shí)(在實(shí)際應(yīng)用中,梯度通常是稀疏的),所提算法的收斂速度比文獻(xiàn)[9]更快.由此可知,新算法中引入了自適應(yīng)學(xué)習(xí)機(jī)制,可利用訓(xùn)練數(shù)據(jù)的稀疏特征來(lái)顯著提高深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度.與文獻(xiàn)[22]的工作相比,新算法采用了基于PID原理的微分環(huán)節(jié)校正思想,從而可有效改善文獻(xiàn)[20]中權(quán)重更新滯后于實(shí)際梯度改變的缺陷不足.雖然新算法的理論結(jié)果在框架上與文獻(xiàn)[22]類(lèi)似,但由于新方法在文獻(xiàn)[22]的模型更新基礎(chǔ)上增加了一個(gè)有效的微分項(xiàng),從而可起到改善算法收斂性能的作用.同時(shí)該微分項(xiàng)的影響也在悔界結(jié)果表達(dá)式中顯示體現(xiàn).實(shí)驗(yàn)結(jié)果表明AdaSGD-D的訓(xùn)練性能優(yōu)于文獻(xiàn)[22].目前本文得到的上界可能比較寬松,在未來(lái)的工作中將試著推導(dǎo)一個(gè)更緊的上界.
在本文的仿真實(shí)驗(yàn)里,首先在MNIST手寫(xiě)體分類(lèi)數(shù)據(jù)集中分別使用所提出的帶微分項(xiàng)的自適應(yīng)梯度優(yōu)化算法(AdaSGD-D)及傳統(tǒng)的帶動(dòng)量的隨機(jī)梯度下降法(stochastic gradient descent with momentum,SGD-M)[16]、Adam[19]訓(xùn)練了一個(gè)簡(jiǎn)單的多層感知網(wǎng)絡(luò),以證明AdaSGD-D的優(yōu)勢(shì);然后在CIFAR-10圖像數(shù)據(jù)集上訓(xùn)練了一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)的分類(lèi)模型,通過(guò)結(jié)果來(lái)證明所提AdaSGD-D算法精度及收斂速率都得到提升及所做工作的必要性.
MNIST數(shù)據(jù)集[13]:MNIST數(shù)據(jù)集包含60,000手寫(xiě)體的訓(xùn)練樣本和10,000個(gè)測(cè)試樣本從0到9的數(shù)字.圖像為28×28像素,并且以灰度格式顯示.如圖3所示.
圖3 MNIST數(shù)據(jù)集部分圖像Fig.3 Partial images of MNIST dataset
CIFAR-10數(shù)據(jù)集[22]:包含6萬(wàn)張RGB彩色圖像,其形狀為32×32.共有10類(lèi),每類(lèi)包括60,000張圖像.為了進(jìn)行訓(xùn)練和測(cè)試,將數(shù)據(jù)集按照5:1的比例進(jìn)行劃分,即訓(xùn)練集使用50,000張,測(cè)試集10,000張圖像.如圖4所示.
圖4 CIFAR-10數(shù)據(jù)集部分圖像Fig.4 Partial images of CIFAR-10 dataset
在本小節(jié)基于MNIST手寫(xiě)體分類(lèi)數(shù)據(jù)集中,分別使用所提出的帶微分項(xiàng)的自適應(yīng)梯度優(yōu)化算法(Ada-SGD-D)及常規(guī)帶動(dòng)量的隨機(jī)梯度下降法(SGD-M)、Adam訓(xùn)練了一個(gè)簡(jiǎn)單的多層感知網(wǎng)絡(luò).多層感知網(wǎng)絡(luò)使用ReLU非線(xiàn)性激活函數(shù),隱藏層1000個(gè)節(jié)點(diǎn),softmax輸出層.每批次128張圖片,共100輪數(shù).3種優(yōu)化算法訓(xùn)練統(tǒng)計(jì)如下圖5-8所示.
圖5 訓(xùn)練損失曲線(xiàn)Fig.5 Training loss curve
圖6 訓(xùn)練準(zhǔn)確度曲線(xiàn)Fig.6 Training accuracy curve
圖7 驗(yàn)證損失曲線(xiàn)Fig.7 Verification loss curve
圖8 驗(yàn)證準(zhǔn)確度曲線(xiàn)Fig.8 Verification accuracy curve
從圖5-8中可以得出如下結(jié)論:
1) AdaSGD-D算法的訓(xùn)練準(zhǔn)確度(在訓(xùn)練集中預(yù)測(cè)正確的次數(shù)與所有預(yù)測(cè)次數(shù)的比值)高于SGD-M和Adam算法.由于AdaSGD-D算法引入了微分項(xiàng)和自適應(yīng)學(xué)習(xí)機(jī)制,不僅利用了梯度的歷史信息,同時(shí)也利用梯度的未來(lái)信息和當(dāng)前信息,有效改善了模型訓(xùn)練的速度.在訓(xùn)練MNIST數(shù)據(jù)集上訓(xùn)練100輪次后進(jìn)行觀察,從第5輪次到第35輪次,AdaSGD-D算法的訓(xùn)練精度可達(dá)99.85%,其他兩種方法精度大約為97.5%.隨著訓(xùn)練輪次的增加,在第50輪次后,AdaSGD-D和SGD-M算法的訓(xùn)練準(zhǔn)確度均可達(dá)到100%,而Adam算法的訓(xùn)練精度為99.8%.因此,AdaSGD-D算法在模型訓(xùn)練過(guò)程初始階段的訓(xùn)練速度要快于SGD-M和Adam算法;在模型訓(xùn)練過(guò)程末尾階段,訓(xùn)練準(zhǔn)確度能達(dá)到100%,高于Adam算法.
2) AdaSGD-D算法的驗(yàn)證準(zhǔn)確度(在測(cè)試集中預(yù)測(cè)正確的次數(shù)與所有預(yù)測(cè)次數(shù)的比值)高于SGD-M和Adam算法.新算法引入了微分項(xiàng),可利用梯度的未來(lái)信息,使得算法的收斂速度加快.自適應(yīng)學(xué)習(xí)機(jī)制針對(duì)測(cè)試數(shù)據(jù)的稀疏特征,自適應(yīng)調(diào)整學(xué)習(xí)速率以提高測(cè)試準(zhǔn)確度.在測(cè)數(shù)據(jù)集上測(cè)試100輪次后進(jìn)行觀察,AdaSGD-D算法的收斂速度最快,在第15輪次時(shí)就可穩(wěn)定收斂,驗(yàn)證準(zhǔn)確度可達(dá)98.45%.SGD-M算法的收斂速度次之,在第35輪次時(shí)才逐漸收斂,驗(yàn)證準(zhǔn)確度為98.28%.Adam算法收斂速度最慢,在第40輪次左右才逐漸收斂,驗(yàn)證準(zhǔn)確度為97.65%.因此,AdaSGD-D算法在模型驗(yàn)證過(guò)程中的驗(yàn)證準(zhǔn)確度都優(yōu)于SGD-M和Adam算法,而且AdaSGD-D的驗(yàn)證準(zhǔn)確度比Adam算法高出近1%.
在本小節(jié)中,利用CIFAR-10圖像數(shù)據(jù)集中的數(shù)據(jù)訓(xùn)練了一個(gè)基于ResNet18[23]的圖像分類(lèi)器,其中梯度優(yōu)化算法分別使用了所提出的基于帶微分項(xiàng)的自適應(yīng)梯度優(yōu)化算法(AdaSGD-D)及傳統(tǒng)帶動(dòng)量的隨機(jī)梯度下降法(SGD-M)和Adam自適應(yīng)梯度優(yōu)化算法,3種優(yōu)化算法的性能如圖9-12所示.
圖9 訓(xùn)練損失曲線(xiàn)Fig.9 Training loss curve
從圖9-12中可以得出如下結(jié)論:
1) AdaSGD-D算法的訓(xùn)練準(zhǔn)確度高于SGD-M和Adam算法.由于微分項(xiàng)和自適應(yīng)學(xué)習(xí)機(jī)制的引入,AdaSGD-D算法同時(shí)利用了梯度的歷史信息,當(dāng)前信息和未來(lái)信息,有效改善了模型訓(xùn)練的速度.在訓(xùn)練數(shù)據(jù)集上訓(xùn)練100輪次后進(jìn)行觀察,AdaSGD-D算法的收斂速度最快,在第55輪左右訓(xùn)練的精度可達(dá)99.13%,而Adam和SGD-M算法在80輪之后才達(dá)到穩(wěn)定收斂,此時(shí)SGD-M的訓(xùn)練精度為99%,Adam的訓(xùn)練精度大約在98.63%.隨著訓(xùn)練輪次的增加,在第85輪次后,所有方法的訓(xùn)練準(zhǔn)確度均可達(dá)到100%.因此,新算法在模型訓(xùn)練過(guò)程初始階段的速度快于SGD-M和Adam算法;在模型訓(xùn)練過(guò)程末尾階段,訓(xùn)練準(zhǔn)確度也優(yōu)于SGD-M和Adam算法.
2) AdaSGD-D算法的驗(yàn)證準(zhǔn)確度高于SGD-M和Adam算法.AdaSGD-D算法引入了微分項(xiàng),可利用梯度的未來(lái)信息,加快算法的收斂速度.同時(shí)采用了自適應(yīng)學(xué)習(xí)機(jī)制,針對(duì)測(cè)試數(shù)據(jù)的稀疏性,自適應(yīng)調(diào)整學(xué)習(xí)速率來(lái)提高測(cè)試準(zhǔn)確度.在測(cè)試數(shù)據(jù)集上,測(cè)試100輪次后進(jìn)行觀察,AdaSGD-D,SGD-M和Adam算法均在第50輪次后達(dá)到穩(wěn)定收斂,AdaSGD-D的測(cè)試準(zhǔn)確度最高,可達(dá)到91.52%,SGD-M算法次之,其測(cè)試準(zhǔn)確度可達(dá)到88.96%,Adam算法的測(cè)試準(zhǔn)確度最低,為88.47%.因此,AdaSGD-D算法在模型驗(yàn)證過(guò)程中的準(zhǔn)確度都優(yōu)于SGD-M和Adam算法,而且在模型驗(yàn)證的末尾階段,AdaSGD-D算法的驗(yàn)證準(zhǔn)確度比SGD-M算法高出2.56%,比Adam算法高出3.05%.
圖10 訓(xùn)練準(zhǔn)確度曲線(xiàn)Fig.10 Training accuracy curve
圖11 驗(yàn)證損失曲線(xiàn)Fig.11 Verification loss curve
圖12 驗(yàn)證準(zhǔn)確度曲線(xiàn)Fig.12 Verification accuracy curve
針對(duì)大規(guī)模神經(jīng)網(wǎng)絡(luò)優(yōu)化收斂速率慢、權(quán)重更新滯后于實(shí)際梯度改變及固定學(xué)習(xí)率無(wú)法適應(yīng)訓(xùn)練過(guò)程的問(wèn)題,本文提出了一種帶微分項(xiàng)的自適應(yīng)梯度優(yōu)化算法.首先,重新整合了傳統(tǒng)的隨機(jī)梯度下降算法,并結(jié)合傳統(tǒng)控制論思想,引入微分項(xiàng),有效解決權(quán)重更新滯后于實(shí)際梯度問(wèn)題;其次,本論文加入了自適應(yīng)調(diào)節(jié)機(jī)制,通過(guò)引入過(guò)去平方梯度值,對(duì)學(xué)習(xí)率進(jìn)行自適應(yīng)調(diào)整;然后利用過(guò)去梯度的指數(shù)衰減平均值并引入偏差校正,有效地實(shí)現(xiàn)了動(dòng)態(tài)調(diào)節(jié)學(xué)習(xí)率,進(jìn)一步提高了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速率.
附錄
定理1的證明:參照文獻(xiàn)[22]的證明思路.根據(jù)wt+1的更新規(guī)則有