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

        ?

        用于深度學習的一種改進L-BFGS算法*

        2021-10-27 13:12:56趙睿穎
        關(guān)鍵詞:優(yōu)化方法

        趙睿穎

        (天津大學數(shù)學學院,天津 300350)

        0 引言

        深度學習,作為解決大規(guī)模機器學習問題的領(lǐng)先技術(shù),在圖像分類、自然語言處理和大規(guī)?;貧w任務(wù)等領(lǐng)域都有非常突出的表現(xiàn).深度學習算法通常需要解決一個高階非線性的、非凸的、無約束優(yōu)化的問題,求解其優(yōu)化問題常用的方法包括一階和二階優(yōu)化方法.其中,一階優(yōu)化方法包括隨機梯度下降法(stochastic gradient descent,SGD)[1-4],二階優(yōu)化方法包括牛頓法、擬牛頓法[5-8]、Hessian?free 方法[9-10]和K?FAC 方法[11]等.一階優(yōu)化方法,如SGD,在計算中成本較低,但存在收斂速度較慢、需要反復地實驗不斷調(diào)整超參數(shù)等問題;二階優(yōu)化方法,如牛頓法,使用目標函數(shù)的Hessian 矩陣來確定搜索方向,通過加速收斂,可以減少大量的迭代次數(shù),且不需要復雜的超參數(shù)調(diào)整,更容易得到好的訓練結(jié)果.但是,由于深度學習中模型擁有海量的參數(shù),Hessian 矩陣的維度過大,導致無法直接計算其逆矩陣.因此,在深度學習中,牛頓法并不可行,本文利用擬牛頓法進行深度學習算法研究.

        擬牛頓法是求解非線性優(yōu)化問題最有效的算法之一.牛頓法的優(yōu)點是收斂速度快,但需要計算二階導數(shù),而且目標函數(shù)的Hessian 矩陣可能不是正定的.為了克服牛頓法的缺點,提出了擬牛頓法,其基本思想是用不包含二階導數(shù)的矩陣近似牛頓法中的Hessian 矩陣的逆矩陣.因此,擬牛頓法只需要一階導數(shù)信息,這使得擬牛頓法成為一個比較受歡迎的算法.同時,擬牛頓法不需要二階導數(shù)的信息,有時比牛頓法優(yōu)化更為有效.由于構(gòu)造近似矩陣的方法不同,出現(xiàn)了不同的擬牛頓法.常見的擬牛頓法有BFGS算法、L?BFGS算法以及Hessian?free算法等.

        L?BFGS算法是最受歡迎的擬牛頓算法之一.Liu 和Nocedal[12]是第一個提出L?BFGS算法概念的;Wang 等[13]提出了用于非凸隨機優(yōu)化的SdLBFGS算法,該算法利用了經(jīng)典L?BFGS算法的框架;Keskar和Berahas[14]提出了用于訓練循環(huán)神經(jīng)網(wǎng)絡(luò)的adaQN算法,該算法在L?BFGS算法的基礎(chǔ)上每L(更新周期為20~60 次迭代)次更新1 次Hessian 矩陣;Rafati 和Marcia[15]將L?BFGS算法與信賴域算法以及線搜索相結(jié)合,提出了TRMinATR算法;Byrd等[16]提出了一種隨機擬牛頓方法(stochastic quasi?Newton,SQN),該方法通過對樣本進行二次采樣,利用矩陣與向量的乘積來形成向量對(而不是使用隨機梯度之間的差),取得了比以往方法更好的結(jié)果,并證明了在強凸的情況下,其收斂速度是次線性的;Berahas 等[17]將上述方法與隨機方差縮減梯度方法[18]相結(jié)合,證明了算法的線性收斂性;Le 等[19]在深度學習的背景下,對現(xiàn)有的優(yōu)化算法如L?BFGS、共軛梯度法(conjugate gradient,CG)和SGD 的優(yōu)缺點進行了實證研究,表明L?BFGS 和CG 在許多情況下優(yōu)于SGD;Berahas 等[20]介紹了采樣的L?BFGS(SL?BFGS),與經(jīng)典的L?BFGS 隨著迭代的進行而順序近似Hessian 矩陣(逆矩陣)不同,SL?BFGS 是在當前迭代點附近進行隨機采樣來近似Hessian 矩陣(逆矩陣);Rafati 等[21]介紹了一種基于L?BFGS 使用信賴域的算法(TRMinATR),作為解決深度學習中優(yōu)化問題的一種新的方法;Gower 等[22]利用文獻[16]中算法的框架,在優(yōu)化過程中加入塊BFGS 更新,收集曲率信息,并證明了塊BFGS 更新可以加快訓練速度.

        上述文獻大多是在理論上討論算法的可行性,且通常利用相鄰迭代點梯度之差,或矩陣與向量的乘積中的一種來更新向量對,缺乏在常用數(shù)據(jù)集CIFAR10 和MNIST 上的實驗結(jié)果.本文提出了一種改進L?BFGS算法,擬利用梯度之間的差和矩陣與向量之間乘積的線性組合來更新向量對,以實現(xiàn)更新Hessian 矩陣的逆矩陣.

        1 常用擬牛頓法BFGS和L?BFGS算法

        現(xiàn)有擬牛頓法大多為傳統(tǒng)擬牛頓法的變形,主要包括BFGS 和L?BFGS算法,其區(qū)別主要在于如何定義和構(gòu)造擬牛頓矩陣、計算搜索方向以及更新模型中參數(shù).

        1.1 BFGS算法

        BFGS算法是構(gòu)造Hessian 矩陣的近似正定矩陣常用的擬牛頓法.在深度學習中,通常需要解決的是高階非線性的、非凸的無約束優(yōu)化問題,其公式為

        式中fi:Rd→R 表示第i個樣本的損失函數(shù),w∈Rd是模型可訓練的參數(shù)向量,d是訓練參數(shù)的個數(shù),是訓練樣本集.

        用于解決式(1)的擬牛頓算法,更新公式通常為:

        多數(shù)“玩陰”之舉,都戴上了“惺惺相惜”的面具,令人防不勝防。黃鼠狼給雞拜年,是陰;引蛇出洞,甕中捉鱉,是陰;當面擁抱,背后使槍,是陰;來說是非者,便是是非人,是陰;有酒有肉親兄弟,急難何曾見一人,是陰;借噓寒問暖之際煽陰風點鬼火,更是陰……被“陰”者當初以為遇到知己,不勝感激涕零,托付重任、傾吐衷腸、一瀉胸中塊壘;豈知一旦利害攸關(guān),“知音”原形畢露:“跳踉大,斷其喉,盡其肉,乃去?!薄藭r方知被“玩”、被“陰”,木已成舟,悔之晚矣。另一邊廂,“玩陰”者鳴鑼收兵,彈冠相慶。

        式 中,Bk為Hessi an 矩陣?2f(wk)的近似;Hk為Hes?sian 矩陣的逆

        的近似;gk:=?f(wk);αk為步長.一般情況下,N和d都是非常大的數(shù)字.因此,直接計算真正的Hessian 矩陣是不切實際的.擬牛頓法利用目標函數(shù)值和一階導數(shù)的信息,構(gòu)造合適的Hk來逼近真正的Hessian 矩陣的逆矩陣,使得不需要計算真正的Hessian 矩陣,既減少了計算復雜度,又保持了牛頓法收斂速度快的優(yōu)點.

        擬牛頓法中的一個重要問題是構(gòu)造合適的Hk,需要滿足下列條件:

        1)Hk滿足擬牛頓方程:Bk+1sk=yk或Hk+1yk=sk;

        2)Hk是正定對稱矩陣;

        3)由Hk到Hk+1的更新是低秩更新.

        BFGS 方法是擬牛頓方法的一種,在BFGS 方法中,Bk更新公式為

        式中sk=wk+1?wk,yk=gk+1?gk.通過利用Sherman?Morrison?Woodbury 公式,可以得到更新公式

        1.2 L?BFGS算 法

        2 改進L?BFGS算法

        在BFGS算法中仍然有一些缺陷,如當優(yōu)化問題規(guī)模很大時,矩陣的存儲和計算將變得不可行.為了解決這個問題,就有了L?BFGS算法,但其依然有一些不足,如利用全批量數(shù)據(jù)來計算梯度.為了進一步節(jié)省計算訓練時間、花費以及提高算法的精度,本節(jié)提出了一種改進L?BFGS算法.利用L?BFGS算法的框架,改變向量對的更新規(guī)則,利用相鄰迭代點梯度之差,矩陣與向量之間的乘積的線性組合來更新向量對.

        改進L?BFGS算法中,利用小批量數(shù)據(jù)而不是全批量數(shù)據(jù)來計算梯度,即

        式中,S?{1,2,3,…,N}是從訓練樣本中隨機選擇的子集,定義a? ||S.改進方法的具體內(nèi)容與步驟如下:

        (1)用代替yk(yk=gk+1?gk)更新BFGS 公式.式中+(1 ?θk)Mk sk,sk=wk+1?wk;Mk為如下定義的對角矩陣

        其中,(yk?1)i表示向量yk?1的第i個分量.

        θk的取值如下:

        此時,更新公式為

        (2)當直接沿著迭代方向pk進行更新時,算法在幾個epoch 后停止運行,方法不穩(wěn)定,精度波動較大,因此,對迭代方向單位化使改進算法更加穩(wěn)定.

        與L?BFGS算法相比,改進L?BFGS算法有2 個關(guān)鍵的區(qū)別特征:(1)向量對的創(chuàng)建方式;(2)迭代方向的單位化.首先,該方法構(gòu)造的逆Hessian 矩陣的近似矩陣能更好地利用目標函數(shù)的當前曲率信息;其次,更新向量對時,不僅利用了梯度之間的差,還利用了連續(xù)迭代的迭代點之間的差;再次,利用迭代方向單位化,使改進算法具有更好的穩(wěn)定性;最后,改進L?BFGS算法不需要直接存儲和計算Bk,只需要存儲2 個m×d的矩陣,節(jié)省了大量的存儲空間和計算費用.因此,與BFGS算法相比,改進L?BFGS算法大大減少了計算復雜度以及計算費用.

        3 實驗結(jié)果

        為了將改進L?BFGS算法與現(xiàn)有的流行算法(SGD、AdaGrad 和L?BFGS算法)進行比較,本文采用Li 和Liu[24]使用的卷積神經(jīng)網(wǎng)絡(luò)進行訓練,給出了在MNIST[25]和CIFAR10 數(shù)據(jù)集[26]上的實驗結(jié)果.MNIST 數(shù)據(jù)集包含70 000 個手寫數(shù)字樣本,其中60 000 個樣本用作訓練集,10 000 個樣本用作測試集,數(shù)字范圍為0~9,圖像包括描述其預期分類的標簽;CIFAR 10數(shù)據(jù)集共有60 000張圖像,其中50 000張圖像用于訓練,10 000 張圖像用于測試,所有圖像分為10 類,每類包含圖像6 000 張.數(shù)據(jù)集一共分為5 個訓練批次和1 個測試批次,每個批次圖像10 000 張,測試批次包含從每類中隨機選擇的1 000 張圖像,剩下的圖像隨機排列組成了訓練批次,因此,有的訓練批次某一類的圖像可能多于另一類的圖像,但總的來看,訓練集每一類都有5 000張圖像.

        SGDM、AdaGrad、L?BFGS 和改進L?BFGS算法在CIFAR10 和MNIST 數(shù)據(jù)集上的測試精度和訓練損失如圖1所示.在CIFAR10數(shù)據(jù)集上,當訓練100個迭代周期時,SGDM、AdaGrad、L?BFGS 和改進L?BFGS算法的測試精度分別是62%、64%、63%和66%,訓練損失分別是0.001 4、0.001 2、0.001 3 和0.001 1;與其他3 種算法相比,改進L?BFGS算法測試精度最高,最終能達到66%的測試精度,且損失最低.在MNIST 數(shù)據(jù)集上,當訓練100 個迭代周期時,SGDM、AdaGrad、L?BFGS 和改進L?BFGS算法的測試精度分別是92%、86%、None 和95%,其中None 指無數(shù)據(jù),訓練損失分別是0.31、0.58、None 和0.20;與其他3 種算法相比,改進L?BFGS算法的測試效果最優(yōu),能夠以最快的速度達到最高的測試精度,且其損失始終處于一個比較低的水平.在運行10 余個迭代周期之后,SGDM算法能達到比改進算法更低的訓練損失.在前25 個迭代周期,與改進L?BFGS算法相比,L?BFGS算法的測試精度較優(yōu),且訓練損失較低,實驗效果較佳;但在運行25個迭代周期之后,該算法停止,L?BFGS算法在Li 和Liu[24]的研究中也有類似的情況.

        圖1 4 種算法在2 種數(shù)據(jù)集上的測試精度和訓練損失

        超參數(shù)存儲向量對數(shù)m和批量b對改進L?BFGS算法精度的影響如圖2 所示.當m=50 和100時,算法的表現(xiàn)效果相當;當m=150 時,其表現(xiàn)略優(yōu)于前2 種情況,且能達到最高精度66%.當b=64 和256 時,算法的表現(xiàn)相當;當b=128 時,其表現(xiàn)明顯差于其他2 種情況.

        圖2 不同大小超參數(shù)對改進L?BFGS算法的影響

        4 討論

        由圖1 可知,改進L?BFGS算法在CIFAR10 數(shù)據(jù)集上的測試精度始終高于其他3 種算法,說明了算法的高效性.改進L?BFGS算法在CIFAR10 數(shù)據(jù)集上的訓練損失始終處于一個較低的水平,與SGDM、L?BFGS算法相比,波動較小,更加穩(wěn)定.雖然在前25 個迭代周期內(nèi),L?BFGS算法在MNIST 數(shù)據(jù)集上的測試精度高于改進L?BFGS算法,但在運行25 個迭代周期后,算法停止.改進L?BFGS算法在MNIST數(shù)據(jù)集上的訓練損失始終低于SGDM 和L?BFGS算法,也再一次說明了算法的穩(wěn)定性.綜上,改進L?BFGS算法比原L?BFGS算法更加高效及穩(wěn)定.圖2展示了不同的超參數(shù)時,所得結(jié)果相差了4%的精度,為了使算法更加高效,在實驗的過程中要選擇合適的超參數(shù).在本文實驗過程中,當選擇pk而不進行單位化來迭代時,算法在運行幾個迭代后停止運行,遂采取了對迭代方向單位化.

        5 結(jié)束語

        本文提出了一種基于L?BFGS算法的改進優(yōu)化算法,作為訓練深層神經(jīng)網(wǎng)絡(luò)的一個新穎的擬牛頓算法.與已有的擬牛頓算法不同,改進L?BFGS算法利用連續(xù)迭代的梯度之差以及矩陣與向量乘積的線性組合更新向量對,并單位化迭代方向,使得該算法具有更好的實驗表現(xiàn).本研究主要是利用數(shù)值實驗來說明算法的有效性.因此,未來可以利用理論來證明算法的收斂性,討論算法的理論收斂性分析以及迭代方向單位化的理論必要性.

        猜你喜歡
        優(yōu)化方法
        超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
        民用建筑防煙排煙設(shè)計優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運算——以2021年解析幾何高考題為例
        學習方法
        可能是方法不對
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        亚洲不卡无码高清视频| 人妖一区二区三区四区| 亚洲精品蜜夜内射| 无码一区二区三区老色鬼| 无码国产精品一区二区AV| 开心五月激动心情五月| 人妻夜夜爽天天爽三区丁香花| 国产精品毛片一区二区| 97视频在线观看免费| 91精品国产乱码久久久| 亚洲高清中文字幕视频| 午夜福利试看120秒体验区| 久久aⅴ无码一区二区三区| 国产日韩午夜视频在线观看| 羞羞色院99精品全部免| 无码人妻少妇久久中文字幕蜜桃| 乌克兰少妇xxxx做受6| 国产av大片在线观看| 人妻少妇猛烈井进入中文字幕| 奇米影视第四色首页| 午夜一级韩国欧美日本国产| 能看的网站中文字幕不卡av| 国产熟女盗摄一区二区警花91| 久激情内射婷内射蜜桃| 精品国产一区二区三区AV小说| 亚洲精品国产第一区三区| 亚洲精品久久国产精品| 亚洲av无码av日韩av网站| 精品少妇一区一区三区| 99久久精品人妻一区| 亚洲熟妇av一区| 国产午夜无码视频免费网站| 喷潮出白浆视频在线观看| 一本大道道久久综合av| 国产精品无码成人午夜电影| 呦泬泬精品导航| 91九色极品探花内射| 久久天天躁狠狠躁夜夜avapp| 欧美亚洲综合另类| 亚洲精品女同在线观看| 亚洲s色大片在线观看|