卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

python做相關(guān)系數(shù)分析詳細(xì)步驟 目前最快的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法是什么?

目前最快的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法是什么?最優(yōu)化方法總是是機(jī)器學(xué)習(xí)中非常重要的部分,都是學(xué)過程的核心算法。而Adam自14年提議以來就造成應(yīng)用廣泛關(guān)注,目前該論文的直接引用量早都沒有達(dá)到了10047。但自去年

目前最快的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法是什么?

最優(yōu)化方法總是是機(jī)器學(xué)習(xí)中非常重要的部分,都是學(xué)過程的核心算法。而Adam自14年提議以來就造成應(yīng)用廣泛關(guān)注,目前該論文的直接引用量早都沒有達(dá)到了10047。但自去年以來,很多研究者發(fā)現(xiàn)Adam優(yōu)化算法的收斂性不能得到能保證,ICLR2017的最佳的方文也重點(diǎn)關(guān)注它的收斂性。在本文中,依附的SylvainGugger、Jeremy Howard發(fā)現(xiàn)大多數(shù)深度學(xué)習(xí)庫的Adam實現(xiàn)方法都有吧一些問題,并在fastai庫中實現(xiàn)方法了一種新型AdamW算法。依據(jù)一些實驗,作者來表示該算法是目前訓(xùn)練神經(jīng)網(wǎng)絡(luò)最多的。

Adam過山車

Adam優(yōu)化軟件器之旅的確是過山車(roller-coaster)式的。該優(yōu)化軟件器于2014年所推出,本質(zhì)上是兩個是因為直覺的很簡單想法:既然如此我們必須明確地知道某些參數(shù)必須移動手機(jī)得快的、更遠(yuǎn),這樣為什么不每個參數(shù)還要不違背相同的學(xué)習(xí)率?畢竟最近梯度的平方幫幫我們每一個權(quán)重可以不我得到多少信號,所以才我們可以乘以2這個,以切實保障就算是是最反應(yīng)慢的權(quán)重也有機(jī)會發(fā)光。Adam接受了這個想法,在過程中加入到了標(biāo)準(zhǔn)方法,就產(chǎn)生了Adam優(yōu)化系統(tǒng)器(再勤加變動以以免早期批次會出現(xiàn)偏差)!

首次公開發(fā)表之時,深度學(xué)習(xí)社區(qū)都為不知從何而來原論文的一些圖表(如下圖)興奮不已:

Adam和其他系統(tǒng)優(yōu)化器的對比

訓(xùn)練速度想提高200%!「整體而言,我們突然發(fā)現(xiàn)Adam太魯棒,并且越來越廣泛可以參照于機(jī)器學(xué)習(xí)領(lǐng)域的各種非凸優(yōu)化問題」論文結(jié)尾那樣大致意思。那是三年前,深度學(xué)習(xí)的黃金時期。但這,事情并沒有什么明確的我們希望的方向發(fā)展。使用Adam訓(xùn)練模型的研究文章其實并不多,新的研究結(jié)束肯定地抑制了它的應(yīng)用,并在幾個實驗中說,SGDmomentum可能比奇怪的Adam表現(xiàn)更好。2018課程開班之際,可惡的Adam被從早期課程中刪掉。

但是到了2017年末,Adam倒是又獲得了重生。IlyaLoshchilov和FrankHutter在他們的論文《Fixing Weight Decay Regularization in Adam》中提道,每個庫在Adam上率先實施的權(quán)重能量損失很顯然也是出現(xiàn)了錯誤的,并提議了一種簡單的方法(他們稱之為AdamW)來再修復(fù)它。哪怕結(jié)果略為相同,但他們確實是能提供了一些的的下圖的積極的結(jié)果的圖表:

Adam和AdamW差別不大

我們?nèi)绻苋藗兓謴?fù)對Adam的熱情,而且該360優(yōu)化器的一些早期結(jié)果似乎這個可以再現(xiàn)歷史。但事與愿違。只不過,應(yīng)用它的僅有一個深度學(xué)習(xí)框架是使用Sylvain編碼的fastai。導(dǎo)致普遍缺乏可用的越來越廣泛框架,日常注意實踐者就只有穩(wěn)守又舊又當(dāng)然不好用的Adam。

但這不是同樣的問題。前面有很多阻礙。兩篇論文一針見血地指出了Adam在收斂性證明方面的確實問題,事實上其中一篇提出來了名為AMSGrad的關(guān)于修改〈專利法〉的決定(并在享有聲譽(yù)的ICLR大會上贏來了「最佳的位置論文」獎)。不過,如果不是說我們從這種最戲劇化的生活(至少按照系統(tǒng)優(yōu)化器的標(biāo)準(zhǔn)來說是戲劇化的)簡史中學(xué)到了什么,如果不是,沒有什么是它表面看上去的樣子。確實是,博士生JeremyBernstein提道,所謂的的收斂問題反正只是中,選擇方法錯誤的超參數(shù)的跡象,也許AMSGrad也可以解決不了問題。另一名博士生FilipKorzeniowski可以展示了一些早期成果,似乎意見了AMSGrad這種令人沮喪的觀點(diǎn)。

啟動時過山車

那就我們這些只我希望飛速訓(xùn)練計算精確模型的人該干些什么呢?我們選擇用數(shù)百年來能解決科學(xué)辯論的——科學(xué)實驗——來能解決這一爭議!稍后將呈所有細(xì)節(jié),但首先讓我們來看看看確切結(jié)果:

適度調(diào)參之后,Adam確實是可以用!我們在以下幾個任務(wù)中換取了訓(xùn)練時間方面的2011版結(jié)果:

在含有測試出來時間減少的僅18個epoch或30個epoch上訓(xùn)練什么CIFAR10,等到其準(zhǔn)確率達(dá)到94%,如DAWNBench競賽;

對Resnet50通過調(diào)參,直至其在斯坦福汽車數(shù)據(jù)集上的準(zhǔn)確率都沒有達(dá)到90%,到時訓(xùn)練訓(xùn)練60個epoch(之前提升同一的準(zhǔn)確率不需要600個epoch);

從零開始訓(xùn)練另一個AWDLSTM有.QRNN,歷經(jīng)世間90個epoch(或在一個GPU上特訓(xùn)1個半小時),其困惑度在Wikitext-2上都沒有達(dá)到當(dāng)前最優(yōu)水平(之前的LSTM必須750個epoch,QRNN需要500個epoch)。

這意味著我們也看見在用Adam的超收斂!超收斂是特訓(xùn)學(xué)習(xí)率高的神經(jīng)網(wǎng)絡(luò)時直接出現(xiàn)的一種現(xiàn)象,它它表示省掉了一半訓(xùn)練過程。在AdamW之前,練習(xí)CIFAR10至94%的準(zhǔn)確率需要一共100個epoch。

與之前的工作相比較,我們發(fā)現(xiàn)自己只要你根據(jù)情況方法對頭,Adam在我們試圖過的每一個CNN圖像問題上都也可以獲得與SGDMomentum一樣的好的準(zhǔn)確率,不過全都總是慢點(diǎn)。

關(guān)于AMSGrad是兩個糟糕的「解決的辦法方案」的建議是對的的。我們一直在發(fā)現(xiàn)自己,AMSGrad在準(zhǔn)確率(或其他去相關(guān)指標(biāo))上就沒完成任務(wù)比特殊Adam/AdamW更高的增益。

當(dāng)你聽著人們說Adam的泛化性能不如我SGDMomentum時,你基本都總會突然發(fā)現(xiàn)他們?yōu)樽约旱哪P退x擇類型的超參數(shù)不怎么地。常見Adam必須的正則化比SGD多,但在從SGD轉(zhuǎn)過頭Adam時,以保證調(diào)整正則化超參數(shù)。

文章結(jié)構(gòu):

理解AdamW

實現(xiàn)AdamW

AdamW實驗和AdamW-ish

再理解AMSGrad

實現(xiàn)程序AMSGrad

AMSGrad實驗的結(jié)果

3.完整而圖表

AdamW

明白AdanW:權(quán)重衰減作用與L2正則化

L2正則化是減少過擬合的很經(jīng)典方法,它會向損失函數(shù)先添加由模型所有權(quán)重的平方和分成的懲罰項,并乘上某一特定的超參數(shù)以操縱懲罰力度。以下本文所有的方程式全是用Python、NumPy和PyTorch風(fēng)格的表達(dá)

final_losslosswd*all_weights.pow(2).len()/2

其中wd為我們設(shè)置的超參數(shù),用以完全控制懲罰力度。這也可以不一般稱權(quán)重能量損失,因為在這一瞬間發(fā)揮原版SGD時,它都互逆于可以使用追加方程式更新完權(quán)重:

ww-lr*-lr*wd*w

其中l(wèi)r可以表示去學(xué)習(xí)率、來表示損失函數(shù)對w的導(dǎo)數(shù),而后面的wd*w則意思是嚴(yán)厲懲罰項對w的求導(dǎo)結(jié)果。在這個等式中,我們會見到每當(dāng)自動更新都會乘以一小部分權(quán)重,這也就是「衰減」的來源。

查看過的所有庫都在用第一種形式。在實踐中,簡直是是從向梯度wd*w而實現(xiàn)方法算法,而又不是完全地決定損失函數(shù)。畢竟我們當(dāng)然不如果能提升額外的計算量來抵消損失,尤其是還有其它簡單方法的時候。

呢既然它們是同一種表達(dá),那就我們?yōu)槭裁葱枰趺捶直孢@兩種概念呢?原因本質(zhì)它們只是對原版SGD是等價的,而當(dāng)我們添加動量或可以使用如Adam這樣復(fù)雜的最優(yōu)化方法,L2正則化(第一個方程)和權(quán)重能量損失(第二個方程)可能會存在很小的不同。在本文其余的部分中,我們討論權(quán)重脈沖前沿指的全是第三個方程式,而再討論L2正則化大都討論另一個經(jīng)典。

:在加快量的SGD中,L2正則化與權(quán)重衰減作用是不真包含的。L2正則化會將wd*w添加到梯度中,但現(xiàn)在權(quán)重并不是真接減去梯度。是需要我們需要計算移動均值:

moving_avgalpha*moving_avg(1-alpha)*(wd*w)

然后權(quán)重才能實際乘以3乘上了學(xué)習(xí)率的移動均值而換取可以更新。所以我w更新完中牽涉到到的正則化為lr*(1-alpha)*wd*w再加已經(jīng)在moving_avg中前面權(quán)重的組合。

并且,權(quán)重能量損失的更新可以意思是為:

moving_avgalpha*moving_avg(1-alpha)*

ww-lr*moving_avg-lr*wd*w

我們是可以仔細(xì)觀察到,從w中乘以3無關(guān)正則化的部分在兩種方法中是差別的。當(dāng)我們不使用Adam360優(yōu)化器時,權(quán)重衰減時間的部分可能會相差無幾更大。是因為Adam中的L2正則化必須再添加wd*w到梯度中,并共有可以計算梯度非盈利組織會計平方的移動均值,然后再能更新權(quán)重。但權(quán)重能量損失方法只是因為簡單地沒更新權(quán)重,并有時候從權(quán)重中乘以點(diǎn)。

看樣子這是兩種有所不同的方法,在參與了實驗后,IlyaLoshchilov和FrankHutter個人建議我們估計在Adam算法中建議使用權(quán)重衰減時間方法,而不是像超經(jīng)典深度學(xué)習(xí)庫中實現(xiàn)的L2正則化。

利用AdamW

那你我們要如何才能實現(xiàn)程序AdamW算法呢?要是你們在建議使用fastai的庫,那就在可以使用active函數(shù)時直接添加參數(shù)use_wd_schedTrue就能簡單點(diǎn)地實現(xiàn)方法:

(lr,1,wds1e-4,use_wd_schedTrue)

如果不是你更喜歡新的訓(xùn)練API,你就能在每一個訓(xùn)練階段中建議使用參數(shù)wd_lossFalse:

phases [TrainingPhase(1,,lr,wds1-e4,wd_lossFalse)]

_opt_sched(phases)

以下以此為例地概述了fastai是該如何實現(xiàn)方法AdamW的。在優(yōu)化軟件器中的階梯函數(shù),我們只是需要使用梯度修正參數(shù),根本不會不建議使用參數(shù)本身的值(之外權(quán)重衰減時間,我們將在外部處理它)。接著我們是可以在最優(yōu)化器之前通簡單實現(xiàn)程序權(quán)重脈沖前沿,但這仍不需要在計算梯度后才能完成,不然的話它都會影響不大梯度的值。因此在訓(xùn)練循環(huán)中,我們要判斷計算權(quán)重衰減作用的位置。

()

#'theweightsheerhere!

()

當(dāng)然了,最系統(tǒng)優(yōu)化器應(yīng)該是修改wd0,要不然它可能會做一些L2正則化,這都是我們不只希望看見了的。現(xiàn)在在權(quán)重脈沖前沿的位置中,我們可以在所有參數(shù)上寫一個循環(huán)語句,并排列采用權(quán)重能量損失的更新。而我們的參數(shù)應(yīng)該是儲存在360優(yōu)化器的字典param_groups中,所以才這個循環(huán)應(yīng)該要意思是為萬分感謝語句:

()

forgroupof_groups():

forparamofgroup[params]:

(-wd*group[lr],)

()

AdamW實驗的結(jié)果:它真有沒問題嗎?

我們首先在計算機(jī)視覺問題上并且測試,效果的很好。具體來說,Adam和L2正則化在30個epoch中額外的換算下來準(zhǔn)確率為93.96%,在兩次中有四次達(dá)到94%。我們選擇30個epoch是因為策略和SGD可以不我得到94%準(zhǔn)確率。當(dāng)我們使用Adam與權(quán)重脈沖前沿方法,我們緩慢我得到94%到94.25%的準(zhǔn)確率。這一點(diǎn),我們發(fā)現(xiàn)使用1cycle策略時的選擇最優(yōu)beta2值為0.99。我們將beta1參數(shù)更視SGD中的動量,這不它去學(xué)習(xí)率的增長由0.95會降低到0.85,然后隨學(xué)率的降低而又提升到0.95。

L2正則化或權(quán)重衰減作用準(zhǔn)確率

更令人印象深刻的是,不使用測試3時間提高(即在測試集的一個圖像和它四個減少數(shù)據(jù)的版本上取預(yù)測的平均值),我們可以在單單18個epoch內(nèi)至少94%的準(zhǔn)確率(平均93.98%)!是從最簡單Adam和L2正則化,每數(shù)次20次就會又出現(xiàn)三次將近94%的情況。

在這些比較中需要確定的一點(diǎn)是,變動正則化會變化權(quán)重衰減作用或?qū)W習(xí)率的適宜值。在我們參與的測試3中,L2代價函數(shù)的最佳的位置學(xué)習(xí)率為1e-6(最大學(xué)習(xí)率為1e-3),而權(quán)重衰減作用的適宜值為0.3(學(xué)習(xí)率為3e-3)。在我們的所有測試出來中,數(shù)量級的差異也是相當(dāng)完全不同的,主要是因為L2正則化被梯度的總平均范數(shù)(也是非常低)最有效地再劃分,但是Adam的學(xué)習(xí)率也是非常?。ㄋ詸?quán)重脈沖前沿的更新不需要更為強(qiáng)大的系數(shù))。

這樣,權(quán)重衰減時間時總比Adam的L2正則化更好?我們還就沒發(fā)現(xiàn)到的確更糟的情況,但無論是無監(jiān)督學(xué)習(xí)問題(或者斯坦福汽車數(shù)據(jù)集上Resnet50的微調(diào))那就RNNs,它都也沒具體更好的結(jié)果。

AMSGrad

理解AMSGrad

AMSGrad是由Sashank J. Reddi、SatyenKale和SanjivKumar在近期的一篇文章中推薦的。結(jié)論Adam360優(yōu)化器收斂的證明,他們在更新規(guī)則中發(fā)現(xiàn)了一個錯誤,該錯誤可能倒致算法收斂到次優(yōu)點(diǎn)。他們怎么設(shè)計了理論實驗,展示Adam失敗的話的情形,并提出來了一個簡單的解決方案。機(jī)器之心也曾從適應(yīng)性去學(xué)習(xí)率算法向北出發(fā)分析過這一篇最佳的位置論文:BeyondAdam。

替更好地解釋錯誤和解決方案,讓我們來看再看看Adam的更新規(guī)則:

avg_gradsbeta1*avg_grads(1-beta1)*

avg_squaredbeta2*(avg_squared)(1-beta2)*(**2)

ww-lr*avg_grads/sqrt(avg_squared)

我們剛才進(jìn)不了了偏差正鏡(對訓(xùn)練的開始很用處),把重心放在旁邊了通常點(diǎn)上。作者發(fā)現(xiàn)到Adam收斂其他證明中的錯誤之處本質(zhì):

lr/sqrt(avg_squared)

這是我們朝那平均梯度方向邁出的三步,在訓(xùn)練中逐漸地降低。由于學(xué)率常常覺得是恒定或趨于零的,作者給出的解決方案是通過添加一個變量來跟蹤它們的大值,從而最終迫使avg_square量增強(qiáng)。

基于AMSGrad

歷史文章在ICLR2018中完成了一項大獎并非常受歡迎,但它也在兩個主要的深度學(xué)習(xí)庫——PyTorch和Keras中實現(xiàn)程序。因為,我們到時傳入?yún)?shù)amsgradTrue去掉。

avg_gradsbeta1*avg_grads(1-beta1)*

avg_squaredbeta2*(avg_squared)(1-beta2)*(**2)

obj_squaredair(avg_squared,max_squared)

ww-lr*avg_grads/sqrt(max2_squared)

AMSGrad實驗結(jié)果:大量噪音是沒用的

AMSGrad的結(jié)果令人的很吃驚。在所有實驗中,我們都才發(fā)現(xiàn)它沒有半點(diǎn)幫助。除非AMSGrad才發(fā)現(xiàn)的最小值偶爾會比Adam都沒有達(dá)到的最小值稍低(在死傷方面),其心胸氣量(準(zhǔn)確率、f_1分?jǐn)?shù)…)到最后老是更糟(詳情請見引言中的表格)。

Adam優(yōu)化器在深度學(xué)習(xí)中隱斂的證明(而且它針對凸問題)和他們在其中發(fā)現(xiàn)到的錯誤對此與現(xiàn)實就是現(xiàn)實問題無關(guān)的怎么合實驗很重要。實際測什么是因為,當(dāng)這些avg_square梯度想減小時,如此做能我得到建議的結(jié)果。

這因為,除非把重點(diǎn)放在理論上可促進(jìn)血液循環(huán)額外一些新想法,也沒有什么可以取代實驗(不過很多實驗?。┮员仨毐WC這些想法實際上有助從業(yè)人員訓(xùn)練更好的模型。

附錄:所有結(jié)果

從零做起訓(xùn)練CIFAR10(模型是Wide-ResNet-22,以下為五個模型的來算結(jié)果):

在用fastai庫化入的標(biāo)準(zhǔn)頭對斯坦福汽車數(shù)據(jù)集上的Resnet50并且微調(diào)(解凍以后前對頭訓(xùn)練20個epoch,并用完全不同的學(xué)習(xí)率練習(xí)40個epoch):

建議使用來自GitHub()的超參數(shù)訓(xùn)練AWD LSTM(結(jié)果總是顯示在有或沒有緩存指針(cachepointer)情況下驗證驗證/測什么集的困惑度):

可以使用來自GitHubrepo的超參數(shù)訓(xùn)練QRNN(結(jié)果會顯示在有或沒有緩存指針情況下驗正/測什么集的困惑度):

因為這一具體任務(wù),我們需要了1cycle策略的修改版本,更快了學(xué)習(xí)速度,之后長時間保持較高的恒定學(xué)習(xí)速度,然后再往會下降。

Adam和其它優(yōu)化器之間的差不多

所有咨詢超參數(shù)的值和用于出現(xiàn)這些結(jié)果的代碼地址萬分感謝:

python可視化界面怎么做?

本文所演示的的可視化方法

散點(diǎn)圖(Scatterplot)

直方圖(Histogram)

小提琴圖(Violinplot)

特征兩兩綜合比圖(Pairplot)

安德魯斯曲線(Andrewscurves)

核密度圖(Kerneldensityestimationplot)

垂直于坐標(biāo)圖(Parallelcoordinates)

Radviz(彎矩圖?)

熱力圖(Heatmap)

氣泡圖(Bubbleplot)

這里通??梢允褂肞ython一個流行的作圖工具:Seabornlibrary,同樣的Pandas和bubbly輔助。我想知道為什么Seaborn比較比較好?

而且大部分事情數(shù)據(jù)分析,建模前,都要擦洗數(shù)據(jù),刷洗后數(shù)據(jù)的結(jié)果總要有個格式,我明白了的最容易建議使用,最方便些再輸入模型,建議作圖的格式叫暗