• 
    

    
    

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

      ?

      梯度下降及優(yōu)化算法研究綜述

      2022-06-03 12:48:35王昕
      電腦知識與技術(shù) 2022年8期
      關(guān)鍵詞:優(yōu)化算法機器學習發(fā)展方向

      王昕

      摘要:梯度下降法是機器學習算法中廣泛使用的方法,特別是在神經(jīng)網(wǎng)絡(luò)中。本文首先概述了梯度下降法和其三種實現(xiàn)框架,描述其優(yōu)缺點。針對算法訓練時間緩慢的缺陷,首先從最經(jīng)典且主流的梯度下降優(yōu)化算法開始介紹,闡述研究動機、基本思想、其解決的問題,最后對比流行的梯度下降優(yōu)化算法進行實驗分析。

      關(guān)鍵詞:梯度下降法;機器學習;優(yōu)化算法;發(fā)展方向

      中圖分類號:TP311? ? ? ? 文獻標識碼:A

      文章編號:1009-3044(2022)08-0071-03

      引言

      在機器學習領(lǐng)域中,因為有些目標模型的損失函數(shù)非常復雜,不能有效得到參數(shù)估計值的表達式。對此針對模型的損失函數(shù)優(yōu)化問題,實際應(yīng)用中,通常采用梯度下降法來對目標進行訓練,使其訓練的結(jié)果趨勢會降至最小值,但是梯度下降法訓練的過程極其緩慢,也對學習率和權(quán)重衰減等超參數(shù)極其敏感。至此,學者對這兩方面因素做了調(diào)整,通過動量加速平衡權(quán)重衰減和在自適應(yīng)學習率的大小帶來的影響,極大改進了收斂速度和訓練消耗時長。

      最新的研究進展方向表明,為了更好應(yīng)對該算法下模型訓練產(chǎn)生的大量計算成本,第一種方法是在梯度下降法的基礎(chǔ)上展現(xiàn)了一種混合策略,如SWATS、Lookahead、AdaSVRG等算法,將動量加速思想[1]和自適應(yīng)學習率方法相結(jié)合,旨在在大多非凸優(yōu)化問題上,可通過很少的計算和訓練的內(nèi)存成本,來提高訓練穩(wěn)定性,表現(xiàn)出很好的泛化能力。第二種方法采用分布式訓練的策略,將模型或數(shù)據(jù)部署在不同設(shè)備上,如dbs-sgd[2]等算法,在數(shù)據(jù)較多或者模型較大時使用,可以有效地提高機器學習模型訓練的效率。

      根據(jù)已有的知識,本文簡單介紹梯度下降原理思想,實驗對比經(jīng)典的梯度下降優(yōu)化算法,和介紹其最新領(lǐng)域的研究進展。

      1梯度下降法

      相比于最新的深度學習優(yōu)化算法,梯度下降算法可以說是最初的起點。要實現(xiàn)梯度下降法的思想是需要不停地進行迭代,當損失函數(shù)的值小于一超參數(shù)閾值后,結(jié)束算法,這個時候梯度下降達到了最優(yōu)值,由以下算法給出:

      其中,[θt+1]表示第t+1時間步的參數(shù)值,[θt]表示第t時間步的參數(shù)值,[gt]表示第t時間步的梯度,[η]表示學習率。

      1.1梯度下降法框架

      梯度下降法由更新訓練樣本數(shù)據(jù)的規(guī)模展現(xiàn)了三種不同的形式:批量梯度下降法(batch gradient decent,BGD)、隨機梯度下降法(Stochastic gradient descent,SGD)、小批量隨機梯度下降法(Mini-batch gradient descent,MBGD):

      針對批量梯度下降法,思想是將該整批訓練數(shù)據(jù)用于迭代計算,雖然最終會緩慢訓練至最小值,但是每次訓練都會產(chǎn)生大量冗余計算。對比這個不足,隨機梯度下降法通過一次執(zhí)行一次更新的策略進行了改進。但是由于隨機梯度下降法抽取數(shù)據(jù)中的樣本的隨機性,導致每次更新方向的不確定,執(zhí)行頻繁更新會產(chǎn)生振蕩。但從全局來看,隨著迭代次數(shù)的增加,還是會接近最小值。小批量梯度下降采取了BGD和SGD的優(yōu)點,沒有用整批訓練數(shù)據(jù)或隨機抽取的單個樣本,而是通過每次小部分的隨機樣本來執(zhí)行迭代的策略。

      1.2梯度下降法帶來的問題

      雖然隨機梯度下降法是一種能力很強的算法,但面對各種應(yīng)用場景,仍需要進一步地擴展和增強。主要表現(xiàn)在以下4個方面:

      (1)選擇一個合適的學習率對訓練過程有非常大的影響。學習率太小訓練會減慢收斂速度,增加消耗時長;學習率太高在訓練趨于平緩時難以收斂至最優(yōu)值,會導致過大的振蕩性;

      (2)每次模型參數(shù)更新使用相同的學習率。若數(shù)據(jù)樣本表現(xiàn)出不同頻率的特征,不希望將所有特征更新到相同的程度;

      (3)學習率調(diào)整策略受限于預先指定的調(diào)整規(guī)則;

      (4)高度非凸的損失函數(shù)的優(yōu)化過程,訓練會陷入眾多次優(yōu)的局部最小值或鞍點。

      針對這4個方面的問題,國內(nèi)外許多學者做了大量的改進和擴展,取得了比較好的成果。

      2梯度下降優(yōu)化算法研究進展

      對不同的梯度下降優(yōu)化算法而言,研究的核心差異在于確立尋優(yōu)的下降方向和學習率調(diào)整策略。D. Im等由嚴密的實驗論證表明,不同的優(yōu)化算法會選擇不同的尋優(yōu)下降方向,最終達到了完全不同的局部次優(yōu)。至此圍繞第一節(jié)中分析的SGD算法存在的一些問題,研究者提供了許多方案,嘗試從不同的方面對SGD進行改造,歸結(jié)起來改進方向主要分為以下兩個方面。

      2.1基于動量和方差縮減

      為了解決SGD在局部最優(yōu)解的振蕩性,代表性的算法有帶動量的隨機梯度下降法(SGD with momentum,SGDM)等。特點是在取最小值過程中,動量加速思想能快速收斂。不僅在目標參數(shù)在局部最小值來回振蕩的時候,使得更新幅度變大,跳出鞍點,也能在梯度改變方向的時候,能夠減少更新,抑制振蕩從而加快收斂。由以下算法給出:

      其中,β表示動量因子,[νt]表示第t時間步的動量,[νt-1]表示第t-1時間步的動量。涅斯捷羅夫梯度加速(Nesterov Accelerated Gradient,NAG)是對動量機制的改進,用目標函數(shù)二階導數(shù)的梯度近似值更新參數(shù),有著更快的收斂速度,劉宇翔[3]等設(shè)計了一種基于NAG算法的投影次梯度方法,可以在保持收斂性的同時較快地達到穩(wěn)定學習的精度。實驗驗證了理論分析的正確性及非精確方法的性能。

      由于SGD每次隨機更新參數(shù)來估計梯度,雖然大大減少了計算代價,但也正是如此,在訓練后期對梯度估計的噪聲讓它無法進一步收斂。為此解決的代表性算法有隨機方差縮減梯度法(Stochastic Variance Reduction Gradient,SVRG)等,謝濤[4]等在方差消減思想的基礎(chǔ)上,設(shè)計了分布式實現(xiàn)算法DisSAGD:采用自適應(yīng)采樣策略和動量加速思想,加快了收斂速度,在分布式集群中可以獲得近線性的加速。宋杰[5]等在訓練過程中使用小批量樣本代替全部樣本,進行平均梯度計算的同時批量減數(shù)更新,得到了基于方差縮減的BSUG算法, 通過對各算法的實驗對比,算法表現(xiàn)出了良好的穩(wěn)定性。下表1對基于動量和方差縮減的隨機梯度下降優(yōu)化算法進行歸納整理。

      2.2基于自適應(yīng)學習率

      為了解決非凸目標函數(shù)陷入局部次優(yōu)的問題和進一步提高了算法的收斂速度。代表性的算法有AdaGrad、Adadetla、RMSprop、Adam等。自適應(yīng)學習率的優(yōu)化方法在訓練較深復雜的神經(jīng)網(wǎng)絡(luò)上,會得到更好的收斂性。

      與自適應(yīng)學習方法相比,SGD的一個缺點是,我們在所有參數(shù)中使用單一的學習率,并且該學習率在整個培訓過程中是固定的。理想情況下,更新頻率越高的參數(shù)學習率越低,更新頻率越低的參數(shù)學習率越高。至此,Dean et al.提出了AdaGrad算法,算法由下:

      其中,[θt+1,i]表示第i個參數(shù)在第t+1時間步的參數(shù)值,[θt,i]表示第i個參數(shù)在第t時間步的參數(shù)值,[ε]表示避免被零除的平滑項。

      不同于AdaGrad不斷的累加梯度的平方,產(chǎn)生訓練中后期使得學習率在達到最小值前就變得太小而梯度消失的問題。Adadelta和RMSProp另辟蹊徑。其中,Adadelta算法只累加固定大小的項,對其進行衰減平均遞歸計算,大大避免AdaGrad后期更新系數(shù)過小的問題。而RMSprop可以算作Adadelta的一個特例,引入了泄露機制,使得保留的歷史梯度信息每次都損失一部分,從而使得更新步長不再是單調(diào)遞減。

      Adam算法有著所需要訓練占用的內(nèi)存少,收斂快速等特點,集齊了上述自適應(yīng)學習方法的優(yōu)點,是主流的自適應(yīng)優(yōu)化方法。這類經(jīng)典的自適應(yīng)學習率算法在實驗中訓練效果優(yōu)異,但與帶動量的隨機梯度下降相比,Adam、Adadelta、RMSprop 等自適應(yīng)性優(yōu)化算法的推廣效果不佳。這是因為自適應(yīng)學習方法有兩個缺點:泛化性能差于SGDM和非收斂性的問題。最新研究進展以Adam算法為例,以這兩個方面學者提出了很多變體優(yōu)化算法:

      (1)為了解決Adam的收斂性在簡單凸優(yōu)化上的不穩(wěn)定的問題,Sashank J. Reddi提出了AMSGrad算法,此算法對過去梯度的“長期記憶”,經(jīng)過實驗論證可以修復收斂問題。Liyuan Liu等提出了Radam算法,通過在訓練的前幾個階段使用較小的學習率,可以減少算法的不穩(wěn)定,在經(jīng)過圖像分類等大量實驗結(jié)果驗證了該Radam算法的有效性和魯棒性。

      (2)為了增強Adam的泛化能力,Liangchen Luo等提出了AdaBound,該算法將利用學習率的動態(tài)邊界來實現(xiàn)從自適應(yīng)方法到SGD的逐漸平滑過渡。大量實驗結(jié)果表明,AdaBound可以消除自適應(yīng)方法和SGD之間的泛化差距,同時在訓練初期保持較高的學習速度。特別是在復雜的深層網(wǎng)絡(luò)上改進顯著。Ilya Loshchilov提出了AdamW算法,通過從梯度更新中將權(quán)重衰減分離出來,修改Adam中權(quán)重衰減的特有實現(xiàn)方法。實驗證明,該算法大幅提高了Adam的泛化性能,可以與SGDM在圖像分類數(shù)據(jù)集上競爭。

      下表2是對基于自適應(yīng)學習率的隨機梯度下降優(yōu)化算法歸納整理:

      3優(yōu)化算法實驗對比

      實驗評估了Adagrad、Adadelta、RMSprop、Adam、Adamax、NAdam自適應(yīng)學習算法。學習率調(diào)整0.01,以32的批量進行訓練,以訓練10輪為標準,使用了MNIST-MLP、cifar10-VGG16的設(shè)置,在訓練前期內(nèi),在兩個模型架構(gòu)的性能上對訓練集和測試集的損失值、精度值和運行時間進行對比。

      3.1實驗設(shè)置

      MNIST-MLP:MNIST包含訓練集為 60000 張 28×28 像素灰度圖像,測試集為 10000 同規(guī)格圖像,有10 類數(shù)字標簽。MLP神經(jīng)網(wǎng)絡(luò)包括三層:輸入層、隱含層和輸出層,MLP神經(jīng)網(wǎng)絡(luò)不同層之間是全連接的。

      Cifar10-VGG16:CIFAR10包含60000個32×32×3圖像,帶有50000個訓練集和10000個測試集圖像,有10類數(shù)字標簽。VGG16是一個16層深的卷積神經(jīng)網(wǎng)絡(luò),廣泛使用3×3卷積濾波器。

      3.2實驗結(jié)果對比

      下面的兩種實驗設(shè)置表3和表4顯示中,Adamax算法的檢測性能最優(yōu)。雖然Adam是最流行的自適應(yīng)學習率算法,但很明顯,在這種經(jīng)典的圖像分類識別實驗的訓練前期對比中,不管在簡單的MLP網(wǎng)絡(luò)還是在較深層網(wǎng)絡(luò)VGG16中,Adam的性能并不是最好的,雖然消耗的訓練時長占優(yōu),但是訓練集和驗證集的精度值落后于Adagrad、Adamax、NAdam算法。Adagrad訓練前期檢測精度增長迅速,隨著訓練次數(shù)的增加會趨于平緩甚至梯度消失;NAdam在Adam算法基礎(chǔ)上使用了動量加速思想,其收斂速度略優(yōu)于Adam算法,但是兩種主干網(wǎng)絡(luò)下的運行時間卻是最長的。而Adamax顯然是在對比實驗里性能最好的,尤其在深層的神經(jīng)網(wǎng)絡(luò)里,表現(xiàn)出有良好的運行時長消耗和較快的收斂速度。

      4 結(jié)論

      本文對梯度下降算法做了簡單的描述,介紹了其3種變體框架,并分析和總結(jié)了經(jīng)典的梯度下降優(yōu)化算法的優(yōu)缺點。其中為代表的是SGDM和Adam算法,它們算法的缺陷成了后續(xù)研究者的研究動機,因此,在這兩個算法的基礎(chǔ)上,又出現(xiàn)了優(yōu)秀的改進算法,并對現(xiàn)有的改進優(yōu)化算法進行了概述。闡述了各種SGD改進算法解決的問題以及他們各自的優(yōu)缺點。最后把六種典型的SGD改進算法實驗對比進行驗證。未來優(yōu)化算法的研究方向我覺得仍然是在學習率這個超參數(shù)上做文章,用來提高算法的收斂速度,跳過局部次優(yōu)和鞍點,因此如何自適應(yīng)選擇合適的學習率仍是一大熱點研究方向;其次是在提升算法的泛化能力,在真實的數(shù)據(jù)集上仍表現(xiàn)出良好的性能。

      參考文獻:

      [1] Qian N.On the momentum term in gradient descent learning algorithms[J].Neural Networks,1999,12(1):145-151.

      [2] 紀澤宇,張興軍,付哲,等.分布式深度學習框架下基于性能感知的DBS-SGD算法[J].計算機研究與發(fā)展,2019,56(11):2396-2409.

      [3] 劉宇翔,程禹嘉,陶卿.梯度有偏情形非光滑問題NAG的個體收斂性[J].軟件學報,2020,31(4):1051-1062.

      [4] 謝濤,張春炯,徐永健.基于歷史梯度平均方差縮減的協(xié)同參數(shù)更新方法[J].電子與信息學報,2021,43(4):956-964.

      [5] 宋杰,朱勇,許冰.批量減數(shù)更新方差縮減梯度下降算法BSUG[J].計算機工程與應(yīng)用,2020,56(22):117-123.

      【通聯(lián)編輯:聞翔軍】

      猜你喜歡
      優(yōu)化算法機器學習發(fā)展方向
      故障樹計算機輔助分析優(yōu)化算法研究與應(yīng)用
      混沌優(yōu)化算法在TSP問題的應(yīng)用
      基于機器學習的圖像特征提取技術(shù)在圖像版權(quán)保護中的應(yīng)用
      基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預測分析
      時代金融(2016年27期)2016-11-25 17:51:36
      前綴字母為特征在維吾爾語文本情感分類中的研究
      科教導刊(2016年26期)2016-11-15 20:19:33
      電子通信系統(tǒng)的探索
      探討企業(yè)工商管理現(xiàn)狀及發(fā)展方向
      分析醫(yī)藥市場營銷的策略與發(fā)展方向
      基于支持向量機的金融數(shù)據(jù)分析研究
      融媒體業(yè)態(tài)將決定報業(yè)未來
      中國記者(2016年6期)2016-08-26 12:17:17
      河源市| 宜春市| 织金县| 宣武区| 都昌县| 城市| 津南区| 百色市| 诸城市| 胶南市| 闽侯县| 通渭县| 专栏| 陈巴尔虎旗| 多伦县| 广饶县| 巴塘县| 保亭| 连南| 宁乡县| 宣城市| 简阳市| 东台市| 灵寿县| 腾冲县| 镇江市| 衢州市| 志丹县| 霍林郭勒市| 姚安县| 青铜峡市| 南平市| 盈江县| 宜阳县| 如皋市| 兴国县| 绵阳市| 额尔古纳市| 田东县| 政和县| 盐津县|