亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        梯度下降算法研究綜述

        2020-03-23 05:56:32李興怡岳洋
        軟件工程 2020年2期
        關(guān)鍵詞:優(yōu)化算法機器學(xué)習(xí)

        李興怡 岳洋

        摘 ?要:在機器學(xué)習(xí)領(lǐng)域中,梯度下降算法是一種廣泛用于求解線性和非線性模型最優(yōu)解的迭代算法,它的中心思想在于通過迭代次數(shù)的遞增,調(diào)整使得損失函數(shù)最小化的權(quán)重。本文首先概述了基于多元線性模型的梯度下降算法;其次介紹了梯度下降算法三種框架,使用Python實現(xiàn)了自主停止訓(xùn)練的BGD算法;針對梯度下降算法存在的不足,綜述了近三年算法優(yōu)化的研究成果。最后,總結(jié)了本文的主要研究工作,對梯度下降優(yōu)化算法的研究趨勢進行了展望。

        關(guān)鍵詞:機器學(xué)習(xí);多元線性模型;梯度下降算法;算法實現(xiàn);優(yōu)化算法

        中圖分類號:TP181 ? ? 文獻標(biāo)識碼:A

        1 ? 引言(Introduction)

        在求解機器學(xué)習(xí)中無約束優(yōu)化問題的方法中,優(yōu)化方法是必不可少的一環(huán)。傳統(tǒng)的方法是使用最小二乘法計算解析解,但有時面臨著模型更復(fù)雜且樣本量龐大的問題,當(dāng)樣本個數(shù)大于特征個數(shù)時,問題便轉(zhuǎn)換為求解超定方程組的問題,相比使用最小二乘法求解大維數(shù)逆矩陣的方法,采用梯度迭代的梯度下降算法[1]更具備優(yōu)勢。本文闡述了梯度下降算法在步進迭代過程中,梯度下降方向與學(xué)習(xí)率對算法的收斂起著至關(guān)重要的作用,前者確定了尋找最優(yōu)解的方向,后者它決定了算法達到最優(yōu)解所采取的每一步的大小。

        考慮到存在非線性數(shù)據(jù)的可能,因此采用多項式模型更具備泛化能力。在實際應(yīng)用中,可以將多項式中每個特征的冪次方定義為新特征,轉(zhuǎn)換為多元線性模型。為了簡化模型,本文將基于多元線性模型對梯度下降算法進行展開。

        2 ?梯度下降算法原理與實現(xiàn)(Basic theory and implementation of gradient descent algorithm)

        2.1 ? 梯度下降算法概念

        假設(shè)多元線性回歸模型:

        其中,是因變量(預(yù)測值),是特征的數(shù)量,是第個自變量(特征值),是第個模型參數(shù)(包括偏置與特征參數(shù)),是組合的轉(zhuǎn)置向量,是由()組成的特征列向量。

        針對實例,訓(xùn)練模型(1)的過程就是求解直至模型(1)對訓(xùn)練數(shù)據(jù)的擬合程度最佳的過程,每一次訓(xùn)練都會得到擬合值和真實值的差值,即損失值,這個值用于評估模型擬合程度,值越小表示擬合程度越好。

        在多元線性回歸中,將均方誤差(Mean Square Error,MSE)作為損失函數(shù):

        其中,為學(xué)習(xí)率,也稱為尋優(yōu)步長。通過公式(4)求得下一次迭代的模型參數(shù),將結(jié)果帶入公式(1)求得下一次的預(yù)測值,這就是梯度下降算法的迭代過程。

        2.2 ? 梯度下降算法框架

        根據(jù)每次更新模型參數(shù)使用的樣本數(shù)量大小,梯度下降算法有三種實現(xiàn)框架:批量梯度下降算法、隨機梯度下降算法和小批量梯度下降算法。

        批量梯度下降算法(Batch Gradient Descent, BGD)基于整批訓(xùn)練數(shù)據(jù)計算每一步損失函數(shù),相當(dāng)于對公式(3)做一次性計算,記作:

        相比于BGD的損失函數(shù)總是緩慢降低至最小值,SGD的梯度方向是反復(fù)振蕩的,從全局上看,隨著迭代次數(shù)的增加,它還是會接近最小值。

        小批量梯度下降(Mini-Batch Gradient Descent, MBGD)既不是基于完整的訓(xùn)練集也不是基于單個實例,它則是折中于BGD和SGD,對于每一次迭代基于小部分隨機的實例來計算梯度:

        公式(7)表示每一次迭代隨機從第個樣本開始,選取個小批量樣本計算梯度。

        BGD盡管會耗費大量的時間來計算每一步,但是在模型參數(shù)空間里,它最終會停在最小值上。與之相反的是SGD,訓(xùn)練速度極快,并且能迅速到達最小值附近,但卻不是最優(yōu)解。如果不設(shè)置迭代次數(shù),SGD會不停游走于最小值附近。正因為SGD隨機的性質(zhì),因此它可用于海量的訓(xùn)練數(shù)據(jù)且有利于跳出局部最優(yōu),搜索全局最優(yōu)。MBGD則綜合了BGD和SGD的優(yōu)點,當(dāng)訓(xùn)練數(shù)據(jù)較大時,它不像SGD那么不穩(wěn)定,會比SGD更接近最小值。

        2.3 ? 梯度下降算法實現(xiàn)

        要實現(xiàn)梯度下降算法,迭代次數(shù)往往很難把握,對此解決的方法是:暫且不設(shè)置迭代次數(shù),當(dāng)損失函數(shù)的改變量(即梯度的模)小于容差時中斷算法,這時梯度下降幾乎到達了最小值。相應(yīng)算法流程如下:

        (1)初始化模型參數(shù),步長,容差;

        (2)計算當(dāng)前位置的損失函數(shù)的梯度,

        (3)若,算法終止,當(dāng)前為最終結(jié)果。否則轉(zhuǎn)4);

        (4)根據(jù)更新模型參數(shù),轉(zhuǎn)(2)。

        根據(jù)算法流程,使用Python編寫B(tài)GD算法如圖1所示。

        為了證明所設(shè)計的算法能夠在正確的維度關(guān)系基礎(chǔ)上任意初始化模型特征個數(shù)、參數(shù)個數(shù)和訓(xùn)練數(shù)據(jù)的維度,算法開始前導(dǎo)入了numpy,用于初始化模型參數(shù)theta和訓(xùn)練集(x,y_real),步長alpha和容差e可根據(jù)情況自行設(shè)置。算法最后五次迭代結(jié)果如圖2所示。

        3 ?梯度下降算法研究進展(Research advances of gradient descent algorithm)

        確定學(xué)習(xí)率和選擇尋優(yōu)方向是梯度下降算法研究的核心。經(jīng)過近三年的相關(guān)研究,國內(nèi)外已經(jīng)取得大量研究成果,研究主要涵蓋以下兩個方面:(1)梯度下降算法的學(xué)習(xí)率相關(guān)研究提高了算法的收斂速度,解決了非凸目標(biāo)函數(shù)陷入局部次優(yōu)的問題;(2)基于動量和方差縮減的SGD相關(guān)研究解決了SGD的不穩(wěn)定性。

        3.1 ? 模型的目標(biāo)函數(shù)問題

        由于多元線性模型的損失函數(shù)是一個凸函數(shù),不存在波峰與波谷,意味著只存在一個全局最小值,不存在局部最小值,雖然這可以解決算法容易陷入局部最小值的問題,但是機器學(xué)習(xí)中的模型種類繁多,目標(biāo)函數(shù)復(fù)雜,使用梯度下降法的效果并不是很好。

        在目標(biāo)函數(shù)非凸的情況下,Huo,Z.等[2]首次基于非凸優(yōu)化方差約簡的異步小批量梯度下降算法的收斂速度進行了理論分析。異步隨機梯度下降法(AsySGD)已廣泛應(yīng)用于深度學(xué)習(xí)優(yōu)化問題,并證明了其在非凸優(yōu)化問題中的收斂速度為。結(jié)果表明,當(dāng)問題為強凸時,采用變約簡技術(shù)的異步SGD方法具有線性收斂速度。但是,對于非凸問題,近年來對該方法的收斂速度還沒有進行分析。Huo,Z.等考慮了兩種具有變異減少的小批量梯度下降法的異步并行實現(xiàn):一種是分布式內(nèi)存架構(gòu),另一種是共享內(nèi)存架構(gòu),并且證明了對于非凸優(yōu)化問題,兩種方法均能以的速度收斂。

        在模型非線性的情況下,Simon S.Du等[3]證明了訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型能夠得到全局最小值。研究表明了對于具有殘差關(guān)聯(lián)的超參數(shù)深度神經(jīng)網(wǎng)絡(luò),梯度下降在多項式時間內(nèi)達到零訓(xùn)練損失,這依賴于由神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)所誘導(dǎo)出的Gram矩陣的特殊結(jié)構(gòu)。這種結(jié)構(gòu)證明Gram矩陣在整個訓(xùn)練過程中是穩(wěn)定的,這種穩(wěn)定性意味著梯度下降算法的全局最優(yōu)性。研究進一步將分析擴展到殘差深度卷積神經(jīng)網(wǎng)絡(luò),并且得到了相似的收斂結(jié)果。

        此外,J.Flieg等[4]提出了一些一階光滑多目標(biāo)優(yōu)化方法,并證明了這些方法在某種形式上具有一階臨界全局收斂性。分析了光滑無約束多目標(biāo)優(yōu)化問題的梯度下降收斂速度,并用于非凸、凸、強凸向量函數(shù)。這些全局速率與單目標(biāo)優(yōu)化中的梯度下降率相同,并且適用于最壞復(fù)雜度界限的情況。

        3.2 ? 學(xué)習(xí)率問題

        從前面算法的介紹可以得知:如果學(xué)習(xí)率太低,算法需要經(jīng)過大量的迭代后才能收斂,這將會耗費大量的時間;反之,算法可能會陷入局部而無法搜索到全局最小值,甚至搜索結(jié)果會大于初始值,必然導(dǎo)致算法發(fā)散。另外,模型參數(shù)的每個更新都設(shè)置同一個學(xué)習(xí)率也不利于搜索全局最優(yōu)。當(dāng)前的解決思路之一通過制定學(xué)習(xí)率規(guī)劃(Learning Rate Schedules):算法開始的學(xué)習(xí)率較大,這有助于跳出局部最優(yōu),后來在每次迭代中逐漸減小,慢慢搜索全局最小值。但是更多的研究聚焦在學(xué)習(xí)率自適應(yīng)性的問題上。

        王功鵬等[5]在解決CNN中學(xué)習(xí)率設(shè)置不恰當(dāng)對SGD算法的影響,提出了一種學(xué)習(xí)率自適應(yīng)SGD的優(yōu)化算法,該算法隨著迭代使得學(xué)習(xí)率呈現(xiàn)周期性的改變。研究結(jié)果表明,通過將這種自適應(yīng)學(xué)習(xí)率優(yōu)化算法與所選擇的激活函數(shù)相結(jié)合,可以加快神經(jīng)網(wǎng)絡(luò)模型收斂速度,提升CNN的學(xué)習(xí)準(zhǔn)確率。

        嚴(yán)曉明[6]在使用梯度下降解決logistic回歸模型分類問題時,提出一種自適應(yīng)學(xué)習(xí)率的調(diào)整方法:在不引入新模型參數(shù)的同時,根據(jù)樣本數(shù)據(jù)集分類準(zhǔn)確率的變化對學(xué)習(xí)率進行更新。在梯度下降稍快時,增大學(xué)習(xí)率以加快收斂速率,反之則減小學(xué)習(xí)率以減少算法最優(yōu)解附近的振蕩。

        相比于使用固定學(xué)習(xí)率的神經(jīng)網(wǎng)絡(luò),朱振國等[7]提出基于權(quán)重變化的自適應(yīng)學(xué)習(xí)率更新方法,改進了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)受人為因素限制的缺陷,證明了改進的神經(jīng)網(wǎng)絡(luò)具有更快的收斂速度和更高的誤差精度。

        3.3 ? 基于動量和方差縮減的SGD優(yōu)化

        由于SGD的振蕩性,因此目標(biāo)參數(shù)會在目標(biāo)函數(shù)的最小值附近游走,這樣的情況下,動量(Momentum)在隨機梯度下降距離中加入上一次迭代動量更新項,將它作為更新模型參數(shù)的下降距離,即:

        其中,為動量超參數(shù)。這意味著在更新模型參數(shù)累積了前面所有的動量,對于當(dāng)前梯度方向與上一次梯度方向一致的參數(shù),下降速度越來越快,反之則速度減慢,因此動量可以加快收斂速度并減少振蕩。對于目標(biāo)函數(shù)非光滑優(yōu)化問題,程禹嘉等[8]通過靈活設(shè)置步長,證明了由Polyak提出的Heavy-ball型動量方法具有最優(yōu)的單個收斂速率,從而證明了Heavy-ball型動量方法可以將投影子梯度方法的個體收斂速率提高至最優(yōu)。

        由于每一次迭代的梯度下降非??欤趽p失函數(shù)由凸轉(zhuǎn)為凹時會迅速選擇凹的路段,因此涅斯捷羅夫梯度加速(Nesterov Accelerated Gradient,NAG)在此基礎(chǔ)上進行了優(yōu)化,它在計算模型參數(shù)梯度時,在損失函數(shù)中減去了動量項,估計了下一次參數(shù)的所在位置:

        針對BP神經(jīng)網(wǎng)絡(luò)存在的問題,景立森等[9]在NAG動量更新的基礎(chǔ)上,建立了一種基于黃金比例動量確定隱層神經(jīng)元的加速梯度策略,并應(yīng)用于MNIST手寫字體識別,取得了較好的收斂速度和預(yù)測評估結(jié)果。

        改進的隨機方差消減梯度法(Stochastic Variance Reduction Gradient,SVRG)可以解決SGD因受到噪聲干擾只能達到次線性收斂率問題,王建飛等[10]設(shè)計了一種基于SVRG算法思想的分布式實現(xiàn)算法topkSVRG:在每次迭代時,收斂速率隨著參數(shù)k的遞增而增加,k的減小可以保證算法收斂。研究理論分析了算法的線性收斂性,并通過實驗對相關(guān)算法的進行比較,證明topkSVRG算法有良好的高精度收斂性。張晉晶[11]提出了移動隨機方差消減算法,將梯度移動的平均值作為平均梯度,該算法在學(xué)習(xí)率很大的情況下,依然能夠保證分類的準(zhǔn)確率。

        4 ? 結(jié)論(Conclusion)

        本文采用多元線性模型對梯度下降算法的原理進行了簡要的概括,對三種不同的框架設(shè)計了算法實現(xiàn)流程,使用Python實現(xiàn)了可以自主停止訓(xùn)練的BGD算法。本文的重點在于分別從梯度下降算法的非凸目標(biāo)函數(shù)問題、學(xué)習(xí)率問題、SGD的游走問題三個方面對梯度下降算法近三年的研究進行了綜述。最后總結(jié)了SGD優(yōu)化算法的特點,可以根據(jù)模型特點參考對應(yīng)的算法。由于SGD的訓(xùn)練速度非???,因此SGD改進算法是當(dāng)前十分熱門的梯度下降算法優(yōu)化方向,具有廣闊的研究前景。

        參考文獻(References)

        [1] Sebastian Ruder.An overview of gradient descent optimization algorithms[EB/OL].http://128.84.21.199/pdf/1609.04747.pdf,2017-6-15.

        [2] Huo,Z.,Huang,H.Asynchronous mini-batch gradient descent with variance reduction for non-convex optimization[J].USA:THIRTY-FIRST AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE,2017:2043-2049.

        [3] Simon S.Du,Jason D.Lee,Haochuan Li,et al.Gradient Descent Finds Global Minima of Deep Neural Networks[EB/OL].http://arxiv.org/pdf/1811.03804.pdf,2019-3-28.

        [4] J.Fliege,A.I.F.Vaz,L.N.Vicente(2019)Complexity of gradient descent for multiobjective optimization[J].Optimization Method and Software,2019,34(5):949-959.

        [5] 王功鵬,段萌,牛常勇.基于卷積神經(jīng)網(wǎng)絡(luò)的隨機梯度下降算法[J].計算機工程于設(shè)計,2018,39(2):441-445.

        [6] 嚴(yán)曉明.一種邏輯回歸學(xué)習(xí)率自適應(yīng)調(diào)整方法[J].福建師范大學(xué)學(xué)報(自然科學(xué)版),2019,35(3):24-28.

        [7] 朱振國,田松祿.基于權(quán)值變化的BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)率改進研究[J].計算機系統(tǒng)應(yīng)用,2018,27(7):205-210.

        [8] 程禹嘉,陶蔚,劉宇翔,等.Heavy-Ball型動量方法的最優(yōu)個體收斂速率[J].計算機研究與發(fā)展,2019,56(8):1686-1694.

        [9] 景立森,丁志剛,鄭樹泉,等.基于NAG的BP神經(jīng)網(wǎng)絡(luò)的研究與改進[J].計算機應(yīng)用與軟件,2018,35(11):272-277.

        [10] 王建飛,亢良伊,劉杰,等.分布式隨機方差消減梯度下降算法topkSVRG[J].計算機科學(xué)與探索,2018,12(07):1047-1054.

        [11] 張晉晶.基于隨機梯度下降的神經(jīng)網(wǎng)絡(luò)權(quán)重優(yōu)化算法[D].西南大學(xué),2018:1-59.

        作者簡介:

        李興怡(1993-),男,碩士生.研究領(lǐng)域:機器學(xué)習(xí).

        岳 ? ?洋(1992-),女,碩士生.研究領(lǐng)域:優(yōu)化方法.

        猜你喜歡
        優(yōu)化算法機器學(xué)習(xí)
        原子干涉磁力儀信號鑒頻優(yōu)化算法設(shè)計
        故障樹計算機輔助分析優(yōu)化算法研究與應(yīng)用
        基于詞典與機器學(xué)習(xí)的中文微博情感分析
        混沌優(yōu)化算法在TSP問題的應(yīng)用
        基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測分析
        時代金融(2016年27期)2016-11-25 17:51:36
        前綴字母為特征在維吾爾語文本情感分類中的研究
        基于支持向量機的金融數(shù)據(jù)分析研究
        再制造閉環(huán)供應(yīng)鏈研究現(xiàn)狀分析
        機器學(xué)習(xí)理論在高中自主學(xué)習(xí)中的應(yīng)用
        故障樹計算機輔助分析優(yōu)化算法的實踐應(yīng)用
        科技傳播(2016年3期)2016-03-25 00:23:31
        狠狠躁夜夜躁人人爽天天不卡软件| 久久国产在线精品观看| 老师开裆丝袜喷水视频| 日韩亚洲av无码一区二区三区| 国产午夜手机精彩视频| 无码人妻丰满熟妇片毛片| 久久久精品电影| 少妇人妻在线伊人春色| 久久免费看黄a级毛片| 男女爱爱好爽视频免费看| 久久久久欧洲AV成人无码国产| 久久精品国产精品亚洲婷婷| 亚洲一区二区三区四区精品在线| 亚洲 自拍 另类小说综合图区 | 亚洲一区二区三区精品久久| 亚洲第一女人av| 无码av免费精品一区二区三区 | 亚洲乱码av中文一区二区| 女邻居的大乳中文字幕| 免费av在线国模| 亚洲精品在线观看自拍| 日日噜噜夜夜狠狠久久丁香五月| 永久免费av无码网站yy| 九九在线精品视频xxx| 亚洲综合在不卡在线国产另类| 国产精品久久久久免费观看| 精品久久久久久国产| 日本一区不卡高清在线观看| 青青草亚洲视频社区在线播放观看| 亚洲成人色区| 久久国产影视免费精品| 日本一区二区三区女优在线| 午夜男女很黄的视频| 国产精品多人P群无码| 少妇勾引视频网站在线观看| 日本在线视频www色| 人妻妺妺窝人体色www聚色窝| 无码人妻丰满熟妇区免费| 国产毛片av一区二区| 久久丫精品国产亚洲av不卡| 国产av专区一区二区三区|