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

?

基于自適應(yīng)學(xué)習(xí)率優(yōu)化的AdaNet改進(jìn)

2020-10-18 12:56顧進(jìn)廣
計(jì)算機(jī)應(yīng)用 2020年10期
關(guān)鍵詞:子網(wǎng)梯度權(quán)重

劉 然,劉 宇*,顧進(jìn)廣

(1.武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430065;2.智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室(武漢科技大學(xué)),武漢 430065;3.武漢科技大學(xué)大數(shù)據(jù)科學(xué)與工程研究院,武漢 430065;4.國(guó)家新聞出版署富媒體數(shù)字出版內(nèi)容組織與知識(shí)服務(wù)重點(diǎn)實(shí)驗(yàn)室(武漢科技大學(xué)),北京 100038)

(*通信作者電子郵箱liuyu@wust.edu.cn)

0 引言

人工神經(jīng)網(wǎng)絡(luò)的自適應(yīng)結(jié)構(gòu)學(xué)習(xí)(Adaptive structural learning of artificial neural Networks,AdaNet)是一種基于集成學(xué)習(xí)的神經(jīng)結(jié)構(gòu)搜索(Neural Architecture Search,NAS)框架,它不僅可以學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)架構(gòu),還可以將最優(yōu)的架構(gòu)組合成一個(gè)高質(zhì)量的集成模型。AdaNet 借鑒了Boosting 集成學(xué)習(xí)中提出的估計(jì)泛化誤差上界的公式“泛化誤差項(xiàng)<經(jīng)驗(yàn)誤差項(xiàng)+學(xué)習(xí)算法容量相關(guān)項(xiàng)”,并且在NAS 領(lǐng)域?qū)Α皩W(xué)習(xí)算法容量相關(guān)項(xiàng)”給出了具體的定義[1],這樣AdaNet在訓(xùn)練的過程中就能夠評(píng)估所得模型的泛化誤差。

AdaNet是以神經(jīng)網(wǎng)絡(luò)作為個(gè)體學(xué)習(xí)器,也就是AdaNet子網(wǎng),多個(gè)子網(wǎng)通過混合權(quán)重進(jìn)行集成,最后得到AdaNet 都會(huì)評(píng)估AdaNet 集成體泛化誤差上界,找到使得泛化誤差最大限度減小的子網(wǎng),并將其添加到AdaNet 集成體中,再根據(jù)所添加的這個(gè)子網(wǎng)來調(diào)整搜索空間。

圖1 AdaNet子網(wǎng)搜索過程Fig.1 AdaNet subnet search process

AdaNet 為了找到每輪迭代性能最好的子網(wǎng),會(huì)使用Momentum 優(yōu)化算法來得到子網(wǎng)的網(wǎng)絡(luò)權(quán)重和子網(wǎng)集成時(shí)的混合權(quán)重。Momentum 優(yōu)化算法是在隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)優(yōu)化算法中引入了動(dòng)量相關(guān)概念,并且在整個(gè)尋優(yōu)過程中學(xué)習(xí)率是固定的。這類優(yōu)化算法在損失函數(shù)為凸函數(shù)時(shí),能夠保證收斂到全局最優(yōu)值,缺點(diǎn)是收斂的時(shí)間較長(zhǎng)。同時(shí),受初始學(xué)習(xí)率的影響很大,每個(gè)維度的學(xué)習(xí)率一樣。因此,AdaNet 通過Momentum 優(yōu)化算法得到的子網(wǎng),雖然能夠保證具有較好的性能,但是子網(wǎng)之間差異性并不大。

由于AdaNet 是基于集成學(xué)習(xí)的,而集成學(xué)習(xí)的關(guān)鍵是產(chǎn)生“好而不同”的子網(wǎng),即子網(wǎng)之間需存在差異性,并在一定誤差率限定下對(duì)子網(wǎng)進(jìn)行集成。AdaNet 集成體的泛化誤差,可通過的誤差分歧分解式子[2]來進(jìn)行表示:

其中:E表示AdaNet 集成體的泛化誤差;表示所有子網(wǎng)泛化誤差的均值;表示子網(wǎng)的加分分歧項(xiàng),即所有子網(wǎng)的差異性度量最后取平均。該式子表明越小,并且越大,集成的效果越好。但是僅僅在集成體構(gòu)造好后才能進(jìn)行估計(jì),所以不能夠直接最小化。

現(xiàn)有的AdaNet 處理過程中,每次均從候選子網(wǎng)中選擇了最好的子網(wǎng),其實(shí)在訓(xùn)練的過程中已經(jīng)對(duì)進(jìn)行了限制,因此為了進(jìn)一步提高AdaNet 集成體的效果,應(yīng)從提升子網(wǎng)的差異性入手,也就是從增大入手。而AdaNet 使用Momentum 優(yōu)化算法得到的集成模型,往往為了追求較小的,而導(dǎo)致較小,難以減小AdaNet集成體的泛化誤差。

在另一方面,神經(jīng)網(wǎng)絡(luò)中存在著大量非線性變換,它的損失函數(shù)幾乎都是非凸和高維度的,不可避免存在大量的局部最小值。在實(shí)際情況中,往往存在大量梯度為0 的點(diǎn),導(dǎo)致無(wú)論用什么優(yōu)化算法都很難找到唯一全局最小值。Li等[3]通過實(shí)驗(yàn)說明了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練依賴于尋找高維度非凸損失函數(shù)的“較好”極小值能力,這些“較好的”局部極小值表現(xiàn)可能和全局最小值相差無(wú)幾。同時(shí),根據(jù)Kearns 等[4]提出的集成學(xué)習(xí)中“弱學(xué)習(xí)器等價(jià)于強(qiáng)學(xué)習(xí)器”理論,以及Schapire[5]對(duì)這一理論給出的構(gòu)造性證明,Boosting類算法的個(gè)體學(xué)習(xí)器并不要求強(qiáng)學(xué)習(xí)器。

本文在多組實(shí)驗(yàn)中比較了不同的優(yōu)化算法,實(shí)驗(yàn)結(jié)果表明,在AdaNet 中使用RMSProp、Adam、RAdam 這類自適應(yīng)學(xué)習(xí)率算法來訓(xùn)練子網(wǎng)以及優(yōu)化混合權(quán)重時(shí),不僅因?yàn)樽赃m應(yīng)學(xué)習(xí)率,不容易跳出極值點(diǎn),使得收斂變快,同時(shí)由于增大了子網(wǎng)差異性,最后得到AdaNet集成體的性能更佳。

1 相關(guān)工作

NAS 是自動(dòng)機(jī)器學(xué)習(xí)(Automated Machine Learning,AutoML)領(lǐng)域熱點(diǎn)之一,它可以針對(duì)特定的數(shù)據(jù)集從頭開始設(shè)計(jì)性能良好的模型,在某些任務(wù)上甚至可以達(dá)到人類專家的設(shè)計(jì)水準(zhǔn),甚至有可能發(fā)現(xiàn)某些人類之前未曾提出的網(wǎng)絡(luò)結(jié)構(gòu),所以國(guó)內(nèi)外都對(duì)NAS進(jìn)行了深入研究。

Zoph 等[7]將NAS 問題轉(zhuǎn)化成了序列生成問題,并且將循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)作為控制器來對(duì)序列進(jìn)行求解,之后使用強(qiáng)化學(xué)習(xí)算法近端策略優(yōu)化(Proximal Policy Optimization,PPO)學(xué)習(xí)控制器的參數(shù)。這種方法每一層的參數(shù)都是獨(dú)立的,需要學(xué)習(xí)整個(gè)網(wǎng)絡(luò),參數(shù)搜索空間非常大,最終論文的實(shí)驗(yàn)動(dòng)用了800 個(gè)GPU。之后,Zoph等[8]又根據(jù)經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)每層的網(wǎng)絡(luò)結(jié)構(gòu)都具有一定相似性,提出自動(dòng)搜索的網(wǎng)絡(luò)結(jié)構(gòu)也可以是基于層的,可以針對(duì)某一層來設(shè)計(jì)一種特定的結(jié)構(gòu),然后將這種結(jié)構(gòu)重復(fù)多次,來得到一個(gè)完整的網(wǎng)絡(luò)結(jié)構(gòu),實(shí)驗(yàn)使用了500 個(gè)GPU 并行處理。后續(xù)研究中,Liu 等[9]根據(jù)啟發(fā)式搜索,只訓(xùn)練有可能得到最優(yōu)結(jié)果的網(wǎng)絡(luò)結(jié)構(gòu),這樣降低了需要完整訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu)數(shù)量,但是搜索空間還是很大。

但是上述幾種方法都有著巨大的搜索空間,導(dǎo)致整個(gè)搜索過程計(jì)算量非常大,必須要有大量的GPU 支撐。AdaNet 是一種基于強(qiáng)化學(xué)習(xí)和集成學(xué)習(xí)的方法,優(yōu)勢(shì)在于子網(wǎng)基本架構(gòu)是可以自定義的,后面產(chǎn)生的子網(wǎng)都是在這個(gè)基本架構(gòu)上演化來的,因此需要完整訓(xùn)練的子網(wǎng)個(gè)數(shù)并不多。AdaNet 通過簡(jiǎn)單的人工干預(yù),就大幅度減小了NAS 搜索空間。同時(shí)AdaNet 在搜索過程中估計(jì)泛化誤差上界的機(jī)制,也導(dǎo)致了AdaNet中驗(yàn)證子網(wǎng)泛化誤差的環(huán)節(jié)并不復(fù)雜。

優(yōu)化算法在深度學(xué)習(xí)領(lǐng)域的應(yīng)用很廣泛,最早出現(xiàn)的優(yōu)化算法是隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)。也就是隨機(jī)抽取一批樣本,并且以此為根據(jù)來更新參數(shù)。SGD 優(yōu)化算法的優(yōu)點(diǎn)是容易得到全局最優(yōu)解,但是缺點(diǎn)也很明顯:一是受初始學(xué)習(xí)率的影響很大,存在不收斂的可能;二是每個(gè)維度的學(xué)習(xí)率一樣,很難學(xué)習(xí)到稀疏數(shù)據(jù)上的有用信息;三是學(xué)習(xí)曲線有時(shí)會(huì)產(chǎn)生劇烈震蕩。

對(duì)于SGD 優(yōu)化算法中的學(xué)習(xí)曲線震蕩和鞍點(diǎn)停滯問題,Momentum 優(yōu)化算法[10]可以比較好地緩解這個(gè)問題。與SGD優(yōu)化算法相比,Momentum 優(yōu)化算法收斂更快,收斂曲線也更加穩(wěn)定,但是Momentum 優(yōu)化算法還是存在每個(gè)維度學(xué)習(xí)率一樣的問題。

在實(shí)際應(yīng)用中,更新頻率低的參數(shù)應(yīng)該擁有較大的學(xué)習(xí)率,而更新頻率高的參數(shù)應(yīng)該擁有較小的學(xué)習(xí)率。Adagrad優(yōu)化算法[11]采用“歷史梯度累計(jì)平方和的平方根”(常用r表示)來衡量不同參數(shù)梯度的稀疏性,并且將r作為學(xué)習(xí)率的分母,某參數(shù)的r越小,則表明該參數(shù)越稀疏,該參數(shù)的學(xué)習(xí)率也就越大。

RMSProp優(yōu)化算法[12]將Adagrad優(yōu)化算法中的“歷史梯度累計(jì)平方和的平方根”改為了“歷史梯度平均平方和的平方根”,避免了分母隨著時(shí)間單調(diào)遞增,解決了訓(xùn)練提前結(jié)束的問題。RMSProp 優(yōu)化算法雖然解決了訓(xùn)練過早結(jié)束的問題,但是同樣容易陷入到局部最優(yōu)解。

Adam 優(yōu)化算法[13]集成了Momentum 優(yōu)化算法訓(xùn)練比較穩(wěn)定的優(yōu)點(diǎn),以及RMSProp 優(yōu)化算法學(xué)習(xí)率隨著迭代次數(shù)發(fā)生變化的優(yōu)點(diǎn),可以認(rèn)為是帶有動(dòng)量項(xiàng)的RMSProp。Adam 算法通過記錄梯度一階矩,保證了梯度之間不會(huì)相差太大,即梯度平滑、穩(wěn)定地過渡,這樣可以適應(yīng)不穩(wěn)定的目標(biāo)函數(shù)。同時(shí)通過記錄梯度二階矩,保證了環(huán)境感知能力,為不同參數(shù)產(chǎn)生自適應(yīng)的學(xué)習(xí)率。Adam 優(yōu)化算法可以實(shí)現(xiàn)快速收斂,但是它對(duì)初始學(xué)習(xí)率不夠魯棒,也會(huì)存在收斂到局部最優(yōu)解的問題。并且Adam 優(yōu)化算法在最初幾次迭代,常常需要用很小的學(xué)習(xí)率,也就是“預(yù)熱”,否則可能會(huì)陷入糟糕的開始,使得訓(xùn)練曲線出現(xiàn)過度跳躍,變得更長(zhǎng)、更困難。

近期,最優(yōu)化算法領(lǐng)域也有許多新的研究成果,來自UIUC(University of Illinois at Urbana-Champaign)的Liu 等[14]提出了一個(gè)新的優(yōu)化算法RAdam,它在保證收斂較快的前提下,建立了一個(gè)“整流器(rectifier)項(xiàng)”來進(jìn)行自動(dòng)預(yù)熱,在大部分預(yù)熱長(zhǎng)度和學(xué)習(xí)率的情況下都優(yōu)于手動(dòng)預(yù)熱。RAdam提供了更好的訓(xùn)練穩(wěn)定性,省去了手動(dòng)預(yù)熱的過程,在大部分人工智能(Artificial Intelligence,AI)領(lǐng)域都有較好的通用性。

2 AdaNet算法

2.1 AdaNet集成體

AdaNet 的首要對(duì)象是集成體,每次搜索得到的子網(wǎng),都會(huì)作為集成體的一部分。集成體由一個(gè)或多個(gè)子網(wǎng)組成,這些子網(wǎng)的輸出通過集成器進(jìn)行組合。

AdaNet中的集成模型e可以表示為:

其中:集成模型e是所有子模型的加權(quán)和;l是集成體中的子網(wǎng)個(gè)數(shù);wk代表第k個(gè)子網(wǎng)的混合權(quán)重;hk代表第k個(gè)子網(wǎng)。

2.2 AdaNet目標(biāo)函數(shù)和子網(wǎng)搜索過程

AdaNet 在搜索與訓(xùn)練的過程中,需要有一個(gè)指標(biāo)來評(píng)價(jià)整個(gè)集成模型的好壞,通過最小化這個(gè)指標(biāo),來尋找子網(wǎng)進(jìn)行集成時(shí)的最優(yōu)混合權(quán)重。AdaNet 使用如下目標(biāo)函數(shù)作為指標(biāo):

其中:λ≥0,β≥0,均為常數(shù);m是訓(xùn)練集的樣本個(gè)數(shù);N是集成體中子網(wǎng)的個(gè)數(shù);hj是序號(hào)為j的子網(wǎng);wj是序號(hào)為j的子網(wǎng)的混合權(quán)重;φ是子網(wǎng)訓(xùn)練時(shí)所用的損失函數(shù)(在AdaNet中常常使用指數(shù)損失函數(shù),即φ(x)=ex);r(hj)是序號(hào)為j的子網(wǎng)的Rademacher復(fù)雜度。

F(w)借鑒了Boosting 算法中估計(jì)泛化誤差的方式,它是E(w)和R(w)兩者的和,E(w)為AdaNet 集成體的訓(xùn)練誤差項(xiàng),R(w)為AdaNet集成體的復(fù)雜度懲罰項(xiàng),F(xiàn)(w)則是AdaNet集成體泛化誤差上界的估計(jì)。上述標(biāo)準(zhǔn)可用于判定候選子網(wǎng)能否添加至AdaNet 集成體中:當(dāng)嘗試添加某個(gè)候選子網(wǎng)后,訓(xùn)練誤差項(xiàng)的減小幅度大于復(fù)雜度懲罰項(xiàng)的增大幅度,即F(w)減小時(shí),該候選子網(wǎng)會(huì)被正式添加到AdaNet集成體。

假設(shè)在t-1 輪迭代之后得到的AdaNet 模型為et-1,當(dāng)前混合權(quán)重向量為wt-1,集成模型的深度為lt-1。對(duì)于第t輪迭代,子網(wǎng)生成器會(huì)得到兩個(gè)子網(wǎng)h、h′,其中h是深度為lt-1的子網(wǎng),h′是深度為lt-1+1 的子網(wǎng),子網(wǎng)的具體形式由自定義的子網(wǎng)搜索空間指定。

此時(shí),將第t輪迭代的子網(wǎng)添加到集成體的問題,可以轉(zhuǎn)化為在候選子網(wǎng)u∈{h,h′},并且候選子網(wǎng)u的混合權(quán)重w∈R 的條件下,最小化第t-1 輪迭代的目標(biāo)函數(shù)Ft(w,u)的問題,F(xiàn)t(w,u)的具體公式如下:

而在使用Ft(w,u)之前,需要先對(duì)子網(wǎng)進(jìn)行局部的訓(xùn)練,即得到子網(wǎng)u內(nèi)部的網(wǎng)絡(luò)權(quán)重wu,這樣的子網(wǎng)u才可以添加到集成體中,此時(shí)需要最小化子網(wǎng)u的目標(biāo)函數(shù)Ft(w,u),具體公式如下:

F(w)用來比較前后兩次迭代的集成體性能,判斷集成體是否需要添加當(dāng)前子網(wǎng)。Ft(w,u)用來代入優(yōu)化算法中,最小化Ft(w,u)的過程就是確定當(dāng)前子網(wǎng)混合權(quán)重w的過程。Fu(wu,u)用來對(duì)子網(wǎng)進(jìn)行局部的訓(xùn)練,最小化Fu(wu,u)的過程就是確定當(dāng)前子網(wǎng)內(nèi)部網(wǎng)絡(luò)權(quán)重wu的過程(最小化Ft(w,u)和Fu(wu,u)之前需要先確定u為某個(gè)固定的候選子網(wǎng)h或h′)。根據(jù)式(5)、(6)、(9),AdaNet 子網(wǎng)搜索流程可以具體表述為:

第1)行:初始化AdaNet 集成體子網(wǎng)搜索空間、子網(wǎng)生成器,子網(wǎng)搜索空間定義了生成子網(wǎng)的基本類型,子網(wǎng)生成器用來生成具體的子網(wǎng),并且對(duì)子網(wǎng)進(jìn)行訓(xùn)練(本文主要討論子網(wǎng)為基本CNN架構(gòu)的情況)。

第3)行:子網(wǎng)生成器生成兩個(gè)候選子網(wǎng)h、h′的網(wǎng)絡(luò)架構(gòu),將u=h、u=h′分別代入到Fu(wu,u)中,之后用優(yōu)化算法來得到h、h′內(nèi)部的網(wǎng)絡(luò)權(quán)重,用MINIMIZE()來指代某種優(yōu)化算法,每種優(yōu)化算法的具體步驟將在后文介紹。

第4)~5)行:將u=h、u=h′分別代入到Ft(w,u)中,并且用優(yōu)化算法MINIMIZE()得到h、h′的最佳混合權(quán)重w1、w2。

第6)~9)行:比較Ft(w1,h)、Ft(w2,h′),h、h′中使得Ft(w,u)更小的子網(wǎng)表示為ht,對(duì)應(yīng)的混合權(quán)重稱為w*。

第10)~14)行:比較F(wt-1+w*)、F(wt-1),如果F(wt-1+w*)<F(wt-1),則認(rèn)為引入子網(wǎng)ht后集成模型訓(xùn)練誤差的減小程度要優(yōu)于復(fù)雜度的增大程度,也就是說引入子網(wǎng)ht能夠減小集成體的泛化誤差上界。此時(shí)上一次迭代的集成體et-1應(yīng)該包含這個(gè)子網(wǎng)ht,剝離子網(wǎng)ht的softmax 層以暴露最后一個(gè)隱藏層,然后通過混合權(quán)重w*將ht最后一個(gè)隱藏層連接到集成體的輸出,得到新的集成體et,并且根據(jù)當(dāng)前迭代獲得的反饋信息調(diào)整子網(wǎng)搜索空間。如果F(wt-1+w*)≥F(wt-1),則認(rèn)為繼續(xù)引入子網(wǎng)對(duì)于減小集成體的泛化誤差上界沒有幫助,此時(shí)直接返回上一次迭代的集成體et-1。

第15)行:完整進(jìn)行T輪迭代后得到集成體eT,最后返回它。

2.3 AdaNet的權(quán)重優(yōu)化算法

AdaNet 子網(wǎng)搜索流程中第3)行的使用優(yōu)化算法最小化Fu(wu,u)得到子網(wǎng)內(nèi)部的網(wǎng)絡(luò)權(quán)重wu,以及第4)~5)行的使用優(yōu)化算法最小化Ft(w,u)得到子網(wǎng)集成時(shí)的混合權(quán)重w,在AdaNet 中都是使用同一種優(yōu)化算法來求解的。在AdaNet 中為了得到全局最優(yōu)的子網(wǎng),常常都會(huì)使用Momentum 優(yōu)化算法來對(duì)上述兩步進(jìn)行求解,也就是在u設(shè)置為定值的情況下,分別將Fu(wu,u)、Ft(w,u)作為Momentum 優(yōu)化算法目標(biāo)函數(shù)ft(w),分別對(duì)wu、w進(jìn)行尋優(yōu),Momentum 優(yōu)化算法的具體流程如下。

但是Momentum 優(yōu)化算法收斂較慢,導(dǎo)致AdaNet 的整個(gè)子網(wǎng)搜索過程較慢;同時(shí)使用Momentum 優(yōu)化算法時(shí),由于在整個(gè)訓(xùn)練過程中學(xué)習(xí)率都是固定的,所以每個(gè)維度的學(xué)習(xí)率都是一樣的,難以學(xué)習(xí)到稀疏數(shù)據(jù)上的有用信息;并且Momentum 優(yōu)化算法得到的AdaNet 集成體中子網(wǎng)的差異性較小,這樣不利于AdaNet集成體泛化誤差的減小。

3 自適應(yīng)學(xué)習(xí)率的優(yōu)化算法

本文為了增大不同子網(wǎng)內(nèi)部的網(wǎng)絡(luò)權(quán)重之間的差異性,改用自適應(yīng)學(xué)習(xí)率的優(yōu)化算法來對(duì)上述兩步進(jìn)行求解,具體使用了Adagrad、RMSProp、Adam、RAdam 這4 種優(yōu)化算法,下面給出了它們的完整流程。

3.1 Adagrad優(yōu)化算法

3.2 RMSProp優(yōu)化算法

3.3 Adam優(yōu)化算法

3.4 RAdam優(yōu)化算法

4 實(shí)驗(yàn)與評(píng)估

本文使用了上述幾種方法,在AdaNet 的子網(wǎng)搜索空間設(shè)置為基本CNN 的前提下,優(yōu)化子網(wǎng)內(nèi)部的網(wǎng)絡(luò)權(quán)重和子網(wǎng)集成時(shí)的混合權(quán)重,并且在標(biāo)準(zhǔn)測(cè)評(píng)數(shù)據(jù)集上測(cè)試了上述方法建立AdaNet 集成模型的性能,以說明使用RMSProp、Adam、RAdam 這類優(yōu)化算法時(shí),相較于AdaNet 常用的Momentum 優(yōu)化算法,AdaNet 的整個(gè)訓(xùn)練過程不僅能夠快速收斂,并且得到的AdaNet集成模型效果也更好。

4.1 數(shù)據(jù)集

MNIST是美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院收集整理的大型手寫數(shù)字?jǐn)?shù)據(jù)庫(kù),包含60 000 個(gè)訓(xùn)練集樣本以及10 000 個(gè)測(cè)試集樣本,樣本是28×28的圖片,共有10個(gè)類別。這個(gè)數(shù)據(jù)集較為簡(jiǎn)單,AdaNet 原始CNN 模型就能獲得較好效果,對(duì)于這個(gè)數(shù)據(jù)集的分類,目的是為了檢驗(yàn)本文觀點(diǎn),即能否讓AdaNet集成體學(xué)習(xí)到一些比較難學(xué)到的內(nèi)容。

Fashion-MNIST 是一個(gè)替代MNIST 手寫數(shù)字集的圖像數(shù)據(jù)集。Fashion-MNIST 的格式、大小和訓(xùn)練集/測(cè)試集劃分與MNIST 完全一致,主要是增加了分類的難度。對(duì)這個(gè)數(shù)據(jù)集的分類更加具有挑戰(zhàn),目的是為了檢驗(yàn)本文觀點(diǎn)在更復(fù)雜的分類問題上是否同樣有效。

為了檢驗(yàn)通過本文方法所得到的AdaNet 集成體,能否保持集成學(xué)習(xí)類算法能避免噪聲的特性。本文又在添加了高斯噪聲后的Fashion-MNIST 上進(jìn)行了對(duì)比實(shí)驗(yàn),具體添加方法為:源數(shù)據(jù)在分批訓(xùn)練時(shí),隨機(jī)選取20 批次的數(shù)據(jù),為這些數(shù)據(jù)中的所有圖像都引入高斯噪聲。

4.2 輸入?yún)?shù)設(shè)置

對(duì)于不同的優(yōu)化算法,需要給定對(duì)應(yīng)的輸入?yún)?shù)。首先是全部?jī)?yōu)化算法共有的兩個(gè)輸入?yún)?shù),即初始參數(shù)w0和學(xué)習(xí)率α。初始參數(shù)w0決定了在梯度下降過程中出現(xiàn)梯度消失或者梯度爆炸的可能性大小,本文使用He initialization[15]這種初始化方法來給定,這種方法不僅盡可能保持輸入和輸出服從相同分布,避免出現(xiàn)激活函數(shù)輸出值趨向于0 的情況,而且它還能很好適應(yīng)ReLU(Rectified Linear Unit)這種非線性激活函數(shù)。學(xué)習(xí)率α決定了權(quán)重更新比率,它需要根據(jù)訓(xùn)練集的大小來選擇,一般訓(xùn)練集數(shù)據(jù)量越大,α就應(yīng)該設(shè)在更小的值上[16]。如果α設(shè)得太小,訓(xùn)練速度會(huì)很慢,但可能將目標(biāo)函數(shù)值降到最低,如果α設(shè)得太大,訓(xùn)練速度會(huì)很快,但可能會(huì)導(dǎo)致學(xué)習(xí)震蕩,甚至可能無(wú)法收斂[17]。本文嘗試了α為1、0.5、0.1、0.05、0.01、0.005、0.001、0.000 5 這些情況,經(jīng)過前期測(cè)試,當(dāng)α為0.005時(shí),既能夠保證訓(xùn)練速度,又能夠得到一個(gè)很低的目標(biāo)函數(shù)值。同時(shí),由于Momentum 優(yōu)化算法在整個(gè)尋優(yōu)過程中都使用唯一的α,如果α選擇不當(dāng)可能出現(xiàn)非常差的情況。而Adagrad 等自適應(yīng)學(xué)習(xí)率優(yōu)化算法每次迭代都對(duì)α進(jìn)行不同程度的縮放,前期距離尋優(yōu)目標(biāo)遠(yuǎn),對(duì)α進(jìn)行放大,能夠更有效率地進(jìn)行探索,后期距離尋優(yōu)目標(biāo)近,對(duì)α進(jìn)行縮小,保證能夠收斂到一個(gè)較好的結(jié)果,所以Adagrad 等自適應(yīng)學(xué)習(xí)率優(yōu)化算法對(duì)α的要求比Momentum 優(yōu)化算法更低。由于本文3 組對(duì)比實(shí)驗(yàn)的訓(xùn)練集數(shù)據(jù)量大致相同,所以本文所有實(shí)驗(yàn)都基于相同的w0和α來進(jìn)行。

然后是每個(gè)優(yōu)化算法特有的輸入?yún)?shù),本文根據(jù)Ruder[18]以及仝衛(wèi)國(guó)等[19]的研究進(jìn)行相關(guān)設(shè)置。對(duì)于Momentum 優(yōu)化算法,動(dòng)量衰減參數(shù)γ取0.9,它類似物理中的摩擦系數(shù),用來抑制動(dòng)量,在接近尋優(yōu)目標(biāo)后能快速收斂。對(duì)于Adagrad優(yōu)化算法,數(shù)值穩(wěn)定量ε取10-8,ε用一個(gè)極小的正數(shù),防止計(jì)算過程出現(xiàn)除以0,其他3 種自適應(yīng)學(xué)習(xí)率優(yōu)化算法RMSProp、Adam、RAdam中的ε也取相同值。對(duì)于RMSProp優(yōu)化算法,衰減速率ρ取0.9,它用來實(shí)現(xiàn)只累積近期梯度信息,用平均平方梯度替換累計(jì)平方梯度,避免梯度累計(jì)量過大。對(duì)于Adam 優(yōu)化算法和RAdam 優(yōu)化算法,梯度一階矩衰減系數(shù)β1取0.9,梯度二階矩衰減系數(shù)β2取0.999,梯度一階矩是歷史梯度與當(dāng)前梯度的平均,它借鑒于Momentum 用來保持慣性,實(shí)現(xiàn)梯度平滑、穩(wěn)定的過渡,梯度二階矩是歷史梯度平方與當(dāng)前梯度平方的平均,它借鑒于RMSProp 用來環(huán)境感知,保留能為不同維度參數(shù)自適應(yīng)地縮放學(xué)習(xí)率的優(yōu)點(diǎn)。

4.3 評(píng)價(jià)標(biāo)準(zhǔn)

在對(duì)比實(shí)驗(yàn)中,本文采用在測(cè)試集上的正確率(precision)、召回率(recall)、F1 值(F1_score)作為集成模型性能的評(píng)價(jià)指標(biāo),定義如下:

而對(duì)于子網(wǎng)之間的差異性,由于AdaNet 中各個(gè)子網(wǎng)架構(gòu)都是相同的,主要差別在于子網(wǎng)內(nèi)部的網(wǎng)絡(luò)權(quán)重。本文先計(jì)算了每個(gè)子網(wǎng)網(wǎng)絡(luò)權(quán)重均值,并將兩子網(wǎng)網(wǎng)絡(luò)權(quán)重均值之差取平方作為它們之間的“差異性距離”,之后讓AdaNet 集成體中所有子網(wǎng)兩兩組合,對(duì)所有組合結(jié)果的“差異性距離”求和,最后對(duì)這個(gè)和取均值作為子網(wǎng)分歧項(xiàng)。具體定義如下:

同時(shí)為了比較AdaNet 在使用不同優(yōu)化算法時(shí)的網(wǎng)絡(luò)架構(gòu)搜索速度,本文對(duì)所有實(shí)驗(yàn)的訓(xùn)練過程所用時(shí)間進(jìn)行了統(tǒng)計(jì)(本文在8 塊NVIDIA Tesla V100-SXM2-16GB 的GPU 分布式計(jì)算環(huán)境中進(jìn)行實(shí)驗(yàn),并且用TensorBoard 對(duì)整個(gè)訓(xùn)練過程進(jìn)行了監(jiān)控)。

4.4 實(shí)驗(yàn)分析

表1 展示了5 種優(yōu)化算法在MNIST 數(shù)據(jù)集上的結(jié)果,可以看到F1 值最高的是RAdam,同時(shí)它有著最大的子網(wǎng)分歧項(xiàng)。在這個(gè)較簡(jiǎn)單數(shù)據(jù)集上RMSProp、Adam、RAdam 這3 種優(yōu)化算法效果普遍更好,即它們能讓AdaNet 集成體學(xué)習(xí)到一部分難以學(xué)到的內(nèi)容。

表1 在MNIST數(shù)據(jù)集上不同優(yōu)化算法的結(jié)果Tab.1 Results of different optimization algorithms on MNIST dataset

表2 則展示了在Fashion-MNIST 數(shù)據(jù)集上的結(jié)果,可以看到F1值最高的是RAdam,它同樣有著最大的子網(wǎng)分歧項(xiàng)。在Fashion-MNIST 數(shù)據(jù)集上RMSProp、Adam、RAdam 這3 種優(yōu)化算法也得到了更好的效果,即它們?cè)谑褂肁daNet 處理更復(fù)雜的分類任務(wù)時(shí)也是有幫助的。

表3 則展示了在添加高斯噪聲的Fashion-MNIST 數(shù)據(jù)集上的結(jié)果,F(xiàn)1值最高的都是Adam,它同樣有著最大的子網(wǎng)分歧項(xiàng)??梢钥吹絉MSProp、Adam、RAdam 在數(shù)據(jù)集中添加了噪聲后,損失函數(shù)均值和F1 值的影響比較小,即它們能夠幫助AdaNet集成體在一定程度上避免噪聲。

3 組對(duì)比實(shí)驗(yàn)所用數(shù)據(jù)集的復(fù)雜程度是依次遞增的,它們對(duì)應(yīng)的損失函數(shù)曲面復(fù)雜程度也是依次遞增的??梢钥吹綋p失函數(shù)曲面越復(fù)雜,“較好的”局部極小值點(diǎn)越多,不同優(yōu)化算法得到的子網(wǎng)分歧項(xiàng)差別越大,即對(duì)于復(fù)雜問題,本文的改進(jìn)方法可以獲得更好的效果。

在收斂方面,本文的3 組實(shí)驗(yàn)都是Adagrad 優(yōu)化算法收斂最快,但是Adagrad優(yōu)化算法所得到結(jié)果的F1值普遍不高,這是因?yàn)锳dagrad 流程中式子的分母隨著時(shí)間單調(diào)遞增。當(dāng)分母積累值過大后,收斂變得很小,導(dǎo)致訓(xùn)練后期變化幅度很小。對(duì)于SGD 和Momentum,隨機(jī)的特性導(dǎo)致了其收斂本身就不快,它們所得F1 值也不高。對(duì)于RMSProp、Adam、RAdam 則可以在保證較快收斂的前提下,同時(shí)得到較高的F1值。

表3 在添加了高斯噪聲的Fashion-MNIST數(shù)據(jù)集上不同優(yōu)化算法的結(jié)果Tab.3 Results of different optimization algorithms on Fashion-MNIST dataset with Gaussian noise

5 結(jié)語(yǔ)

本文基于AdaNet 這種NAS 方法,引入RMSProp、Adam、RAdam 等自適應(yīng)學(xué)習(xí)率優(yōu)化算法來得到子網(wǎng)內(nèi)部的網(wǎng)絡(luò)權(quán)重和子網(wǎng)集成時(shí)的混合權(quán)重。實(shí)驗(yàn)結(jié)果表明,相對(duì)于現(xiàn)有的Momentum 優(yōu)化算法,本文方法在保證收斂較快,也就是網(wǎng)絡(luò)搜索效率較高的前提下,還能夠通過提高子網(wǎng)之間的差異性,使得AdaNet 集成模型擁有更高的準(zhǔn)確率,在越復(fù)雜的分類任務(wù)中優(yōu)化效果越明顯。

本文的方法在AdaNet子網(wǎng)為簡(jiǎn)單CNN 架構(gòu)時(shí)效果較好,在未來的工作中,將探討AdaNet子網(wǎng)為各種復(fù)雜CNN 架構(gòu)以及RNN架構(gòu)時(shí),如何將它們組合為更好的AdaNet集成模型。

猜你喜歡
子網(wǎng)梯度權(quán)重
磁共振梯度偽影及常見故障排除探討
基于應(yīng)變梯度的微尺度金屬塑性行為研究
權(quán)重望寡:如何化解低地位領(lǐng)導(dǎo)的補(bǔ)償性辱虐管理行為?*
權(quán)重常思“浮名輕”
一個(gè)具梯度項(xiàng)的p-Laplace 方程弱解的存在性
計(jì)算機(jī)網(wǎng)絡(luò)課程中網(wǎng)絡(luò)測(cè)試命令的應(yīng)用
子網(wǎng)劃分問題研究及應(yīng)用
為黨督政勤履職 代民行權(quán)重?fù)?dān)當(dāng)
權(quán)重漲個(gè)股跌 持有白馬藍(lán)籌
航天器多子網(wǎng)時(shí)間同步系統(tǒng)設(shè)計(jì)與驗(yàn)證
永胜县| 庐江县| 金阳县| 吉隆县| 津市市| 司法| 湘阴县| 建水县| 吴江市| 安陆市| 祁阳县| 同仁县| 西丰县| 东乡县| 延川县| 仪陇县| 常宁市| 光山县| 明溪县| 鲜城| 江城| 巧家县| 枞阳县| 板桥市| 达孜县| 云安县| 临汾市| 宣汉县| 阳高县| 珠海市| 琼结县| 二连浩特市| 赞皇县| 无棣县| 贵定县| 永川市| 观塘区| 体育| 林芝县| 谷城县| 灵寿县|