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

?

基于VGG16 網(wǎng)絡(luò)的超參數(shù)調(diào)整策略的研究*

2021-12-04 11:14張鎧臻李艷武劉博李杰謝輝張忠義
科技與創(chuàng)新 2021年22期
關(guān)鍵詞:余弦批量梯度

張鎧臻,李艷武,劉博,李杰,謝輝,張忠義

(重慶三峽學(xué)院電子與信息工程學(xué)院,重慶 404100)

神經(jīng)網(wǎng)絡(luò)的優(yōu)化與學(xué)習(xí)率的調(diào)整有著很大的關(guān)系,如果學(xué)習(xí)率的策略調(diào)整合適,模型的泛化性能會(huì)有明顯的提升。通常神經(jīng)網(wǎng)絡(luò)中使用的學(xué)習(xí)率衰減為指數(shù)衰減、余弦衰減。除此之外,SMITH[1]提出了一種循環(huán)學(xué)習(xí)率調(diào)整策略,他提出了三角形循環(huán)學(xué)習(xí)率,闡述了如何尋找循環(huán)學(xué)習(xí)率的上界和下界的方法。針對(duì)需要手動(dòng)調(diào)整學(xué)習(xí)率的策略,DUCHI[2]等人提出了一種Adagrad 自適應(yīng)調(diào)整學(xué)習(xí)率的算法,有效減少了人工經(jīng)驗(yàn)給模型帶來(lái)的影響。但是Adagrad 自適應(yīng)調(diào)整學(xué)習(xí)率算法隨時(shí)間的增加,對(duì)歷史梯度的累加使得學(xué)習(xí)率越來(lái)越小,在訓(xùn)練后期會(huì)使得模型的收斂速度很慢,針對(duì)這一問(wèn)題,TIELEMAN[3]提出了RMSProp 算法,這種算法在對(duì)梯度進(jìn)行指數(shù)加權(quán)平均上引入了平方根,有效緩解了Adagrad 算法在訓(xùn)練后期學(xué)習(xí)率極小導(dǎo)致模型收斂緩慢的缺點(diǎn)。針對(duì)RMSProp 算法和Adagrad 算法的優(yōu)點(diǎn),KINGMA[4]等人提出了Adam 算法,這種算法不僅引入指數(shù)加權(quán)平均計(jì)算,而且引入了誤差修正。對(duì)于隨機(jī)梯度下降算法(Stochastic Gradient Descent,SGD)的損失函數(shù)容易出現(xiàn)振蕩,且梯度下降較慢的問(wèn)題,NESTEROV[5]等人提出了Nesterov 加速方法并進(jìn)行了理論證明,SUTSKEVER[6]等人提出了Momentum 算法以及說(shuō)明了經(jīng)典動(dòng)量與Nesterov 加速梯度的聯(lián)系,明顯加快了梯度下降,文中還說(shuō)明了可以以更大的曲率點(diǎn)緩慢梯度下降,不易振蕩,Nesterov 加速梯度比動(dòng)量算法更加穩(wěn)定。文獻(xiàn)[7]對(duì)梯度下降算法進(jìn)行了詳細(xì)介紹。

基于以上出現(xiàn)的優(yōu)秀的學(xué)習(xí)率調(diào)整方法,很多學(xué)者對(duì)其研究與應(yīng)用比較廣泛。為了解決由于網(wǎng)絡(luò)訓(xùn)練次數(shù)較多且收斂性較差的弊端,儲(chǔ)珺[8]等人提出了網(wǎng)絡(luò)可自適應(yīng)調(diào)整學(xué)習(xí)率和樣本訓(xùn)練方式的算法,主要根據(jù)訓(xùn)練誤差來(lái)調(diào)整學(xué)習(xí)率同時(shí)根據(jù)輸出結(jié)果改變訓(xùn)練樣本,傾向于訓(xùn)練分類(lèi)不準(zhǔn)確的圖像。賀昱曜[9]等人提出了一種AdaMix 組合型學(xué)習(xí)策略,這種策略考慮到神經(jīng)網(wǎng)絡(luò)傳播時(shí)的權(quán)重和偏置,分別設(shè)置不同的學(xué)習(xí)率策略,有效提高了模型的收斂速度同時(shí)減少了訓(xùn)練時(shí)間。除了只考慮學(xué)習(xí)率的變化問(wèn)題,仝衛(wèi)國(guó)[10]等人還綜合考慮了網(wǎng)絡(luò)訓(xùn)練優(yōu)化、網(wǎng)絡(luò)結(jié)構(gòu)選擇以及權(quán)重初始化的因素。文獻(xiàn)[11]講述了訓(xùn)練神經(jīng)網(wǎng)絡(luò)分為前期、中期、后期三個(gè)階段,通過(guò)實(shí)驗(yàn)驗(yàn)證了前期模型還是欠擬合狀態(tài),需要適當(dāng)大小的學(xué)習(xí)率去擬合模型,在中期和后期,模型基本有著較好的擬合能力但沒(méi)有達(dá)到最佳擬合能力,因此還要減小學(xué)習(xí)率,使得模型向著最佳擬合方向優(yōu)化。文獻(xiàn)[12]提出了一種k-Decay 方法,它是一種對(duì)任意可導(dǎo)的衰減函數(shù)都適用的學(xué)習(xí)率衰減函數(shù)的調(diào)整方法,通過(guò)引入控制學(xué)習(xí)率的衰減程度。除此之外,IOFFE[13]等人也提出了一種批量歸一化的方法來(lái)優(yōu)化神經(jīng)網(wǎng)絡(luò),主要是通過(guò)將網(wǎng)絡(luò)每層的輸入分布保持一致來(lái)消除內(nèi)部協(xié)變量偏移最終使得模型性能更好。劉建偉[14]等人也對(duì)批量歸一化及相關(guān)算法的研究進(jìn)行了綜述并對(duì)批量歸一化在神經(jīng)網(wǎng)絡(luò)領(lǐng)域的應(yīng)用進(jìn)行了總結(jié)。因此學(xué)習(xí)率衰減和批量歸一化策略對(duì)模型的性能影響顯著。

1 優(yōu)化神經(jīng)網(wǎng)絡(luò)的方法

1.1 梯度下降法與動(dòng)量法

梯度就是函數(shù)在某一點(diǎn)的方向?qū)?shù)上升最快的方向。而梯度的反方向就是在這個(gè)點(diǎn)下降最快的方向,在神經(jīng)網(wǎng)絡(luò)中,通過(guò)梯度下降走到最低點(diǎn)使得損失函數(shù)最小來(lái)讓模型更有泛化能力。

設(shè)一個(gè)樣本點(diǎn)為x,初始迭代為x0,第t次迭代為xt,其目標(biāo)函數(shù)為f(x),則梯度下降法的公式如下:

式(1)中:xt+1為樣本點(diǎn)的第t+1 次迭代;xt為樣本點(diǎn)的第t次迭代;η為學(xué)習(xí)率。

一種常用的梯度下降法是隨機(jī)梯度下降法,它是每次僅隨機(jī)選擇一個(gè)樣本進(jìn)行梯度計(jì)算以更新權(quán)重,直到損失函數(shù)值不再下降或者下降到一個(gè)可接受的閾值以下才停止更新。因此,隨機(jī)梯度下降算法更適用于神經(jīng)網(wǎng)絡(luò)的優(yōu)化器。

動(dòng)量法的核心思想是在一定次數(shù)迭代時(shí),參數(shù)的更新方向通過(guò)計(jì)算其負(fù)梯度的加權(quán)移動(dòng)平均得到。

1.2 學(xué)習(xí)率方法

常用的學(xué)習(xí)率調(diào)整策略分為非自適應(yīng)調(diào)整學(xué)習(xí)率和自適應(yīng)調(diào)整學(xué)習(xí)率。非自適應(yīng)調(diào)整學(xué)習(xí)率有指數(shù)衰減、余弦變化、帶熱重啟的學(xué)習(xí)率調(diào)整;自適應(yīng)調(diào)整學(xué)習(xí)率有Adagrad算法、RMSProp 算法、Adam 算法。自適應(yīng)調(diào)整學(xué)習(xí)率算法可以解決隨機(jī)梯度下降法不能自動(dòng)調(diào)節(jié)學(xué)習(xí)率的缺點(diǎn)。

指數(shù)衰減指一個(gè)初始的學(xué)習(xí)率η0,學(xué)習(xí)率隨著迭代次數(shù)以指數(shù)形式衰減。

水權(quán)制度 水權(quán)指按照水法行使的對(duì)水的管轄權(quán)力,也指經(jīng)過(guò)水行政主管部門(mén)批準(zhǔn)給予用水戶的對(duì)水資源處理和利用的權(quán)力。水權(quán)制度就是通過(guò)明晰水權(quán),建立對(duì)水資源所有、使用、收益和處置的權(quán)利,形成一種與市場(chǎng)經(jīng)濟(jì)體制相適應(yīng)的水資源權(quán)屬管理制度。

余弦變化就是學(xué)習(xí)率隨著迭代次數(shù)以余弦的形式周期性變化。文獻(xiàn)[15]提出了一種帶熱重啟的學(xué)習(xí)率調(diào)整方法,其思想就是如果梯度下降過(guò)程中重啟n次,第n-1 次重啟后迭代Tcur 次再進(jìn)行第n次重啟,在第n次重啟之前利用余弦衰減降低學(xué)習(xí)率。

Adagrad 算法[2]是對(duì)隨機(jī)梯度下降法手動(dòng)調(diào)整學(xué)習(xí)率的一個(gè)改進(jìn),算法的思想是使用歷史梯度平方一直累加后開(kāi)方調(diào)整學(xué)習(xí)率,分子為初始學(xué)習(xí)率,這樣就可以隨著時(shí)間或迭代次數(shù)改變學(xué)習(xí)率了。

RMSProp 算法[3]是對(duì)Adagrad 的一個(gè)改進(jìn),主要思想是摒棄直接使用小批量隨機(jī)梯度按元素平方和,而是將小批量隨機(jī)梯度平方和做指數(shù)加權(quán)平均,這樣就解決了由于隨時(shí)間的變化學(xué)習(xí)率急劇減小的問(wèn)題。

Adam 算法[4]計(jì)算了梯度平方和的指數(shù)移動(dòng)平均值,主要使用兩個(gè)參數(shù)來(lái)控制指數(shù)移動(dòng)平均的衰減,通過(guò)一階矩和二階矩計(jì)算動(dòng)量和速度,然后通過(guò)偏差校正來(lái)更新參數(shù)。

1.3 批量歸一化

批量歸一化的概念首先是IOFFE[13]提出的,由于在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)前一層參數(shù)的變化會(huì)引起后一層輸入數(shù)據(jù)的分布發(fā)生變化,因此會(huì)導(dǎo)致飽和非線性的模型訓(xùn)練困難。批量歸一化就是將每一層的輸入數(shù)據(jù)進(jìn)行預(yù)處理操作,處理后使得網(wǎng)絡(luò)每層的輸入數(shù)據(jù)的分布基本保持一致,它可以很好地處理反向傳播的梯度消失和爆炸的行為。

因此,優(yōu)化神經(jīng)網(wǎng)絡(luò)的方法可以從以上幾個(gè)角度出發(fā),除此之外還可以考慮權(quán)重初始化等優(yōu)化方法讓模型的泛化能力更強(qiáng)。

2 實(shí)驗(yàn)環(huán)境與測(cè)試方案

2.1 實(shí)驗(yàn)環(huán)境

實(shí)驗(yàn)在配有七彩虹RTX2080Ti 顯卡和Inter 的i7-8700cpu 的Windows10 系統(tǒng)環(huán)境中進(jìn)行的,基于Python 語(yǔ)言的Pytorch 深度學(xué)習(xí)框架,使用Cifar10 數(shù)據(jù)集對(duì)VGG16網(wǎng)絡(luò)模型訓(xùn)練并測(cè)試。Cifar10 數(shù)據(jù)集包含60 000 張32×32的RGB 彩色圖片,圖像內(nèi)容有“飛機(jī)”“貓”和“狗”等10 個(gè)類(lèi)別。數(shù)據(jù)集的每個(gè)類(lèi)別包括6 000 張圖片,其中5 000張用于訓(xùn)練,剩下的1 000 張用于測(cè)試。因此,Cifar10 的訓(xùn)練集有50 000 張圖片,測(cè)試集有10 000 張圖片。

2.2 測(cè)試方案

本文通過(guò)研究指數(shù)衰減、余弦變化和1.2 節(jié)描述的自適應(yīng)調(diào)整學(xué)習(xí)率算法對(duì)模型進(jìn)行優(yōu)化。使用了典型的VGG16網(wǎng)絡(luò)在Cifar10 數(shù)據(jù)集上進(jìn)行了訓(xùn)練與測(cè)試,實(shí)驗(yàn)中所有使用了批量歸一化的模型的批量大小均為128 并且模型訓(xùn)練50 輪。

首先針對(duì)是否使用批量歸一化方法對(duì)模型進(jìn)行對(duì)比分析,分別使用兩種VGG16 網(wǎng)絡(luò)進(jìn)行訓(xùn)練:①未使用批量歸一化的VGG16 模型;②使用了批量歸一化的VGG16 模型,批量大小為128。兩種模型的優(yōu)化器均為隨機(jī)梯度下降法,經(jīng)過(guò)大量調(diào)整學(xué)習(xí)率和權(quán)重衰減,設(shè)置初始學(xué)習(xí)率為0.01并在訓(xùn)練中保持不變,權(quán)重衰減為0.001。

其次針對(duì)不同學(xué)習(xí)率策略對(duì)模型的影響進(jìn)行了對(duì)比分析,對(duì)于非自適應(yīng)調(diào)整學(xué)習(xí)率方法,均使用隨機(jī)梯度下降優(yōu)化器,權(quán)重衰減為0.001。對(duì)每一種學(xué)習(xí)率策略設(shè)置多個(gè)學(xué)習(xí)率初始值進(jìn)行測(cè)試,各種策略的調(diào)整方案為:①以0.01為初始學(xué)習(xí)率,動(dòng)量為0.9,采用指數(shù)衰減方法,每輪學(xué)習(xí)率降為原來(lái)的95%;②初始學(xué)習(xí)率為0.01,動(dòng)量為0.9,利用余弦變化策略,最小學(xué)習(xí)率為0,余弦變化周期為20 輪;③初始學(xué)習(xí)率為0.01,使用Adagrad 算法;④初始學(xué)習(xí)率為0.001,衰減因子為0.9,利用RMSProp 算法;⑤初始學(xué)習(xí)率為0.001,矩估計(jì)的衰減速率分別設(shè)置為0.9 和0.999,利用了Adam 算法。

為讓實(shí)驗(yàn)數(shù)據(jù)更具有準(zhǔn)確性,測(cè)試損失、測(cè)試精度、訓(xùn)練時(shí)間、訓(xùn)練時(shí)間都是經(jīng)過(guò)5 次訓(xùn)練取平均值所得出的。

3 結(jié)果分析

首先對(duì)于學(xué)習(xí)率固定而訓(xùn)練的VGG16 網(wǎng)絡(luò),采用了兩種不同的VGG16 模型,分別為不使用歸一化策略與使用歸一化策略的模型,兩種模型均使用了隨機(jī)梯度下降優(yōu)化器,對(duì)應(yīng)的收斂曲線和測(cè)試精度曲線分別如圖1 和圖2 所示。

圖1 兩種模型的收斂曲線

圖2 兩種模型的測(cè)試精度曲線

由圖1 和圖2 分析可知:從收斂的角度考慮,未使用歸一化的模型比使用了歸一化的模型的收斂速度慢,最終的訓(xùn)練損失更高,使用了歸一化的模型好于未使用歸一化的模型;從測(cè)試精度的角度考慮,未使用歸一化的模型比使用了歸一化的模型測(cè)試精度要低約6.5%,從兩種模型的穩(wěn)定性角度考慮,二者的穩(wěn)定性相差不大,這可能是由于模型和數(shù)據(jù)集不足夠大而出現(xiàn)的情況。

針對(duì)批量歸一化策略,文獻(xiàn)[13]對(duì)于這種情況有了很好的解釋?zhuān)麄冋J(rèn)為,批量歸一化策略就是將每一層的輸入分布基本保持一致,這不僅可以使得輸入的數(shù)據(jù)內(nèi)部協(xié)變量偏移更小,還可以很好地處理反向傳播的梯度消失和爆炸的行為,利用它可以使用相對(duì)較大的學(xué)習(xí)率在更深的網(wǎng)絡(luò)中實(shí)現(xiàn)較大的性能;他們還認(rèn)為模型和數(shù)據(jù)集越大,批量歸一化的效果會(huì)更明顯。

未使用批量歸一化的模型的訓(xùn)練損失、測(cè)試精度、訓(xùn)練時(shí)間分別為0.000 5、78.192%、1 843.402 s,使用了批量歸一化的模型的訓(xùn)練損失、測(cè)試精度、訓(xùn)練時(shí)間分別為0.000 4、84.712%、1 376.647 s。因此,使用了歸一化的模型相對(duì)于沒(méi)使用歸一化的模型訓(xùn)練時(shí)間大幅度縮減并且測(cè)試精度顯著提高,訓(xùn)練時(shí)間減少了約8 min,測(cè)試精度提高了約6.5%。由于批量歸一化模型收斂時(shí)間、訓(xùn)練時(shí)間更短并且測(cè)試精度更高,因此,本文后面的實(shí)驗(yàn)是基于使用了批量歸一化的VGG16 網(wǎng)絡(luò)進(jìn)行的學(xué)習(xí)率調(diào)整,批量大小設(shè)置為128。

圖3 和圖4 分別是2.2 節(jié)所描述的5 種學(xué)習(xí)率策略和不使用任何學(xué)習(xí)率策略應(yīng)用到帶有批量歸一化的VGG16 網(wǎng)路中的收斂曲線和測(cè)試精度曲線。

圖3 不同學(xué)習(xí)率策略下模型的收斂曲線

圖4 不同學(xué)習(xí)率策略下模型的測(cè)試精度曲線

由圖3 和圖4 得出:從收斂速度方面,余弦變化先達(dá)到收斂,但由于余弦衰減中有學(xué)習(xí)率變大的情況,因此會(huì)導(dǎo)致收斂后又出現(xiàn)了訓(xùn)練損失上升,隨后下降到收斂值;指數(shù)衰減方法略慢于余弦變化;接下來(lái)是學(xué)習(xí)率不變策略;利用Adam 優(yōu)化器的收斂速度略慢于學(xué)習(xí)率不變策略。利用Adagrad 算法和RMSProp 算法要比Adam 算法的收斂速度略遜。從測(cè)試精度方面,余弦變化的測(cè)試精度最高;指數(shù)衰減的測(cè)試精度相對(duì)于余弦變化略低,而且指數(shù)衰減比余弦變化在收斂前更穩(wěn)定;Adam 算法的測(cè)試精度略差于指數(shù)衰減;隨后是RMSProp算法、學(xué)習(xí)率不變方法的測(cè)試精度;Adagrad算法的測(cè)試精度最低。RMSProp 算法最不穩(wěn)定。

表1 展現(xiàn)出使用了上述各種學(xué)習(xí)率方法的模型的訓(xùn)練損失、測(cè)試精度和訓(xùn)練時(shí)間。從表1 中可知:指數(shù)衰減、余弦變化的訓(xùn)練損失最??;余弦變化的測(cè)試精度最高,達(dá)到了88.33%;Adagrad 算法的訓(xùn)練時(shí)間最短。前5 種學(xué)習(xí)率策略的模型的訓(xùn)練時(shí)間相差不大,比Adam 算法顯著快。因此綜合考慮,使用余弦變化策略的模型性能更好。

表1 使用6 種學(xué)習(xí)率策略的模型性能對(duì)比

表1(續(xù))

4 總結(jié)

通過(guò)對(duì)模型使用批量歸一化與不使用批量歸一化進(jìn)行了對(duì)比,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,使用了批量歸一化的模型在收斂速度、測(cè)試精度、訓(xùn)練時(shí)間以及模型穩(wěn)定性方面都有了明顯的提升。通過(guò)對(duì)學(xué)習(xí)率的衰減策略調(diào)整發(fā)現(xiàn),雖然自適應(yīng)學(xué)習(xí)率算法相對(duì)于非自適應(yīng)學(xué)習(xí)率算法可以減少手動(dòng)調(diào)節(jié)學(xué)習(xí)率,但性能不一定比非自適應(yīng)學(xué)習(xí)率算法好。即隨機(jī)梯度下降算法性能不一定要遜于Adam 算法,與相關(guān)的參數(shù)大小設(shè)置及網(wǎng)絡(luò)模型的選擇也有關(guān)。通過(guò)實(shí)驗(yàn)對(duì)比非自適應(yīng)學(xué)習(xí)率算法和自適應(yīng)算法的性能,證明了在VGG 網(wǎng)絡(luò)中使用余弦變化方法使得模型的性能更好。優(yōu)化神經(jīng)網(wǎng)絡(luò)除了使用不同的算法,調(diào)整學(xué)習(xí)率初始值與衰減方式、權(quán)重衰減值以及訓(xùn)練輪數(shù)都是重要的因素。本文主要研究了學(xué)習(xí)率策略,基于本文的研究基礎(chǔ)上,將來(lái)的研究方向是:將權(quán)重初始化和學(xué)習(xí)率策略結(jié)合優(yōu)化模型,探索可以加快網(wǎng)絡(luò)訓(xùn)練并提高網(wǎng)絡(luò)模型泛化性的優(yōu)化方法。

猜你喜歡
余弦批量梯度
基于應(yīng)變梯度的微尺度金屬塑性行為研究
云南:鐵路“520”運(yùn)輸鮮花4萬(wàn)余件 高鐵批量運(yùn)輸創(chuàng)新高
批量提交在配置分發(fā)中的應(yīng)用
批量下載自己QQ空間上的相冊(cè)
一個(gè)具梯度項(xiàng)的p-Laplace 方程弱解的存在性
內(nèi)容、形式與表達(dá)——有梯度的語(yǔ)言教學(xué)策略研究
航磁梯度數(shù)據(jù)實(shí)測(cè)與計(jì)算對(duì)比研究
橢圓余弦波的位移法分析
兩個(gè)含余弦函數(shù)的三角母不等式及其推論
實(shí)施正、余弦函數(shù)代換破解一類(lèi)代數(shù)問(wèn)題