阮 樂 笑
(安徽理工大學 數(shù)學與大數(shù)據(jù)學院,安徽 淮南 232001)
深度學習是一個復雜的機器學習算法,在語言和人臉識別方面[1-2]遠遠超過先前技術(shù).深度學習在圖像分類,醫(yī)療診斷,智能交通,音頻識別領(lǐng)域得到廣泛應(yīng)用[3-6],在相關(guān)領(lǐng)域都取得了很多成果.深度學習讓機器模仿視聽和思考等人類活動,解決了很多復雜的模式識別難題,使得人工智能相關(guān)技術(shù)取得了很大進步.
最近,基于SGD優(yōu)化算法已經(jīng)被提出[7].AdaGrad[8]通過使用過去梯度平方和的根來控制學習率.但是在經(jīng)過多次迭代之后會使得學習率非常小,從而終止了參數(shù)更新.于是AdaDelta[9]通過幾個過去的梯度來解決AdaGrad的學習率遞減問題.但是該算法仍然無法利用全局信息.于是有人提出了RMSProp[10],目的是將學習率除以梯度平方指數(shù)衰減平均值的根.緊接著提出了Adam,該算法主要結(jié)合了SGD和RMSprop的思想并使用了一階矩和二階矩.雖然Adam算法收斂速度較快,但由于不穩(wěn)定和極端的學習率導致不能收斂,導致不能找到全局最優(yōu)解,因此在泛化能力上不如SGD.為此提出了Adabound[11]優(yōu)化算法,采用動態(tài)學習率,實現(xiàn)了自適應(yīng)算法到SGD的平穩(wěn)過渡,在保證其較高收斂速率的同時,也提高了泛化能力.diffGrad[12]通過在參數(shù)更新中使用梯度變化率引入摩擦項.RAdam[13]通過校正參數(shù)更新期間梯度的方差.Adabelief[14]通過梯度的信念計算二階矩.同時還有一些加速算法,例如,NAdam[15]結(jié)合牛頓動量加速自適應(yīng)算辦法.
深度學習一般具有深層的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),因此,深度模型的訓練也是一項具有挑戰(zhàn)的任務(wù).一般情況下,衡量算法訓練模型性能有兩個指標:收斂速度和泛化能力.目前,應(yīng)用較廣泛的訓練算法是隨機梯度下降算法(SGD)和學習率自適應(yīng)的隨機梯度下降算法(Adam).其中SGD具有良好的泛化能力,但收斂速度較慢.Adam具有良好的收斂速度,但可能會因為極端學習率導致不能收斂或無法收斂到全局最優(yōu),所以泛化能力不如SGD.這就意味著Adam在學習率設(shè)計上還需要進一步提高.為此,Adam很多變體都被提出,但是最經(jīng)典的還是Adabound,該算法采用了動態(tài)學習速率邊界,在保證較高學習率的同時也保證了強泛化能力.
本文介紹Adam[16]優(yōu)化方法的一個變體.目的是結(jié)合自適應(yīng)方法的特點,它類似于早期訓練中的自適應(yīng)方法和訓練結(jié)束時的SGD.針對這一問題,一些人提出通過Amsgrad來解決.然而,Amsgrad的學習率低于Adam,被認為可能是學習率過高所導致.因此,推測Adam的學習率太高或太低,都會導致算法性能不佳,極端的學習率會產(chǎn)生不利影響.受梯度裁剪的啟發(fā),本文在Adam中使用了學習率裁剪.具體操作如下.
(1)
剪裁后控制學習率
[ηl(t),ηu(t)]
隨著深度學習網(wǎng)絡(luò)越來越復雜,模型的訓練也會越來越困難,本文提出了新的優(yōu)化算法Adaboundinject,在Adabound中短期的參數(shù)更新作為權(quán)重加入二階矩中再注入一階矩.可以更好地控制參數(shù)的更新,避免了在最小值附近振蕩和無法到達全局最優(yōu)值的現(xiàn)象,提高了Adabound的性能.
本文提出了新的自適應(yīng)優(yōu)化算法,在優(yōu)化過程中,將二階矩注入一階矩中,其計算方法如下:
(2)
其中:Δθ=θt-2-θt-1,為短期的參數(shù)更新,k為注入的超參數(shù),在接近最小值時,執(zhí)行較小的參數(shù)更新,更好地接近最小值,避免了局部最優(yōu).具體的算法設(shè)計如下.
我們可以將在線凸優(yōu)化視為一種迭代游戲.在第K輪中,決策者會做出決策,但在做出決策之前不知道結(jié)果.在做出決定后,決策者會知道自己遭受了多少損失.這種損失可以被視為在線凸優(yōu)化過程中正確答案和決策結(jié)果之間的差距.決策集是n維歐氏空間K?Rn中的一個凸集.損失可以看作是定義在凸集K上的有界凸函數(shù).然后,可以將此問題視為一個優(yōu)化問題.即學習者xt在做出決策時產(chǎn)生的最小成本ft(xt),即
通常將T輪迭代博弈中決策者的總成本[17]和最優(yōu)成本之間的差定義為算法的遺憾界.經(jīng)過T次迭代后,可以通過以下公式表示遺憾
證明:由文獻[16]中引理10.2有
接下來,用提出的Adabound注入更新公式
則
將上面的更新公式進行重新排列
由文獻[16]中引理 10.4,對ft(xt)-ft(x*)在i∈1,…,d的上界在t=1,…,T的累加求和,得出遺憾界滿足
對上式進行放縮:
對定理1中參數(shù)設(shè)置和條件,有
證明:利用L2范數(shù)的定義
對定理1中參數(shù)設(shè)置和條件,有
證明:定義ηt,有
因此
對定理1的參數(shù)設(shè)置和條件,有
證明:
所以
所以,遺憾界可以進一步表示為:
卷積神經(jīng)網(wǎng)絡(luò)的目標函數(shù)是非凸的,尤其是多層卷積.在非凸形環(huán)境下.本文選擇ResNet、VGG和SENet深度神經(jīng)網(wǎng)絡(luò)進行實驗,并采用CIFAR數(shù)據(jù)集作為訓練模型.
在圖像分類任務(wù)中,本文選擇使用CIFAR-10數(shù)據(jù)集來測試深度神經(jīng)網(wǎng)絡(luò)ResNet-18[18],VGG-16[19]和SENet-18[20].CIFAR-10[21]是一個用于識別常見對象的小型數(shù)據(jù)集.共包括十類彩色圖片,圖片大小為32×32.該數(shù)據(jù)集包含50 000張訓練圖片和10 000張測試圖片.在實驗中比較了在不同的網(wǎng)絡(luò)下Adaboundinject算法和其他自適應(yīng)算法的性能.從圖1中可以清楚地看出,Adaboundinject算法的精確度都高于其他算法,也比其他算法更穩(wěn)定.同時,在表1中可以看出該算法的損失也是最少的.
表1 ResNet-18,VGG-16和SENet-18在CIFAR-10測試集上的損失Table 1 Test loss for ResNet-18, VGG-16 and SENet-18 on CIFAR-10
圖1 ResNet-18,VGG-16和SENet-18在CIFAR-10測試集上的精確度Figure 1 Test accuracy for ResNet-18, VGG-16 and SENet-18 on CIFAR-10
在圖像分類任務(wù)中,選擇使用CIFAR-100數(shù)據(jù)集來測試深度神經(jīng)網(wǎng)絡(luò)ResNet-18,VGG-16和SENet-18.CIFAR-100數(shù)據(jù)集是一種用于機器視覺領(lǐng)域的圖像分類數(shù)據(jù)集.共有100個類別.每個類別有600張尺寸為的彩色圖像,其中500張用作訓練集,100張用作測試集.從圖2中可以清楚地看出,在不同網(wǎng)絡(luò)下,該算法在測試集上,精確度都比其他算法更高,同時在表2中也可以看出,該算法的損失最低.進一步說明本文算法具有更好的性能.
表2 ResNet-18,VGG-16和SENet-18在CIFAR-100測試集上的損失Table2 Test loss for ResNet-18, VGG-16 and SENet-18 on CIFAR-100
圖2 ResNet-18,VGG-16和SENet-18在CIFAR-100測試集上的精確度Figure 2 Test accuracy for ResNet-18, VGG-16 and SENet-18 on CIFAR-100
在圖像分類任務(wù)中,本文選擇使用FashionMNIST數(shù)據(jù)集來測試深度神經(jīng)網(wǎng)絡(luò)ResNet-18,VGG-16和SENet-18.FashionMNIST數(shù)據(jù)集包含70 000張灰度圖像,其中包含60,000個示例的訓練集和10,000個[22]示例的測試集,每個類別都是一個 灰度圖像.表3展示了經(jīng)過100次迭代之后,使用不同優(yōu)化器訓練不同的深度神經(jīng)網(wǎng)絡(luò)在FashionMNIST測試集上的精確度,通過數(shù)據(jù)可以看出,本文算法優(yōu)于其他算法.
表3 ResNet-18,VGG-16和SENet-18在FashionMNIST測試集上的精確度Table 3 Test accuracy for ResNet-18, VGG-16 and SENet-18 on FashionMNIST
本文提出了Adaboundinject算法,該算法通過將Adabound算法二階矩注入一階矩得到.Adaboundinject具有良好的泛化能力和較快的收斂速度.同時在凸設(shè)置下證明了該算法的收斂性,在非凸設(shè)置下,通過實驗對比可以直觀地觀察到Adaboundinject具有更好的性能.在圖像分割的三個數(shù)據(jù)集下都證實了將二階矩注入一階矩可以提高Adabound的性能,與其他典型的優(yōu)化算法相比,Adaboundinject性能更好.
目前的工作中將二階矩注入一階矩中可以更好的接近最優(yōu)值.本文證明是在常見的假設(shè)下完成,所提出的算法在應(yīng)用方面可能會受到限制.因此,下一步將探索把算法拓展到更廣義的條件下進行改進.