首頁 生活 > 正文

《深度學(xué)習(xí)調(diào)優(yōu)指南.系統(tǒng)性優(yōu)化模型》中文版 熱消息

向AI轉(zhuǎn)型的程序員都關(guān)注了這個(gè)號(hào)


(資料圖片僅供參考)

PDF獲取地址:

關(guān)注微信公眾號(hào) datayx 然后回復(fù)指南 即可獲取。

提高模型性能的科學(xué)方法

機(jī)器學(xué)習(xí)開發(fā)的最終目標(biāo)是最大化模型的效用。盡管不同應(yīng)用場(chǎng)景的開發(fā)流程有所不同(例如時(shí)間長度、可用計(jì)算資源、模型類型等),基本步驟和原則都是相似的。

接下來的指南中我們做出了這些假設(shè):

已有能運(yùn)行且得到不錯(cuò)結(jié)果的訓(xùn)練工作流。

有足夠的計(jì)算資源來進(jìn)行調(diào)參實(shí)驗(yàn),至少能夠并行發(fā)起數(shù)個(gè)訓(xùn)練流程。

增量調(diào)整策略

總結(jié)從簡(jiǎn)單的配置開始,循序漸進(jìn),同時(shí)進(jìn)一步了解問題。確保任何改進(jìn)都有據(jù)可循,以避免增加不必要的復(fù)雜度。

我們的最終目標(biāo)是找到一種訓(xùn)練配置來最大化我們模型的性能。

在某些情況下,我們的目標(biāo)是在固定截止日期(例如提交給競(jìng)賽)之前最大限度地改進(jìn)模型。

在其他情況下,我們希望無限期地改進(jìn)模型(例如,不斷改進(jìn)生產(chǎn)中使用的模型)。

原則上,我們可以使用算法自動(dòng)搜索整個(gè)配置空間來最大化性能,但實(shí)踐中這往往不實(shí)際。

配置空間可能非常大,目前還沒有任何算法可以在沒有人工指導(dǎo)的情況下有效地搜索這個(gè)空間。

大多數(shù)自動(dòng)搜索算法依賴于人工設(shè)計(jì)的搜索空間,這些搜索空間往往非常重要。

更有效的方法是從簡(jiǎn)單的配置開始,逐步添加功能并進(jìn)行改進(jìn),同時(shí)深化對(duì)問題的理解。

我們?cè)诿恳惠喺{(diào)整中都使用自動(dòng)搜索算法,并隨著我們理解的深度不斷更新我們的搜索空間。

隨著我們的探索,我們自然會(huì)找到越來越好的配置,因此我們的“最佳”模型將不斷改進(jìn)。

當(dāng)我們更新我們的最佳配置時(shí),我們稱之為上線(這不一定對(duì)應(yīng)線上模型的實(shí)際上線)。

對(duì)于每次上線,我們必須確保更改是有據(jù)可循的——而不僅僅是碰運(yùn)氣找到的配置——以避免給訓(xùn)練工作流增加不必要的復(fù)雜性。

綜上所述,我們的增量調(diào)優(yōu)策略需要重復(fù)以下四個(gè)步驟:

為下一輪實(shí)驗(yàn)確定適當(dāng)?shù)哪繕?biāo)。

設(shè)計(jì)并展開實(shí)驗(yàn),朝著這個(gè)目標(biāo)取得進(jìn)展。

從實(shí)驗(yàn)結(jié)果中獲取經(jīng)驗(yàn)。

考慮是否上線新的最佳配置。

本節(jié)的其余部分將更詳細(xì)地講解增量調(diào)優(yōu)策略。

探索與利用

總結(jié)大多數(shù)時(shí)候,我們的目標(biāo)是更深入地理解問題。

盡管有些人認(rèn)為我們會(huì)花大部分時(shí)間來提升驗(yàn)證集的指標(biāo),實(shí)際上我們把重心放在進(jìn)一步理解問題上,而不是降低驗(yàn)證集錯(cuò)誤率。

也就是說,我們大部分時(shí)間都花在了“探索”上,只有一小部分時(shí)間花在了“利用”上。

從長遠(yuǎn)來看,如果我們想最大化我們的最終效果,深入理解問題是至關(guān)重要的。將深化理解置于短期收益之上可以幫助我們:

避免僅因歷史原因而表現(xiàn)良好的不必要更改。

確定驗(yàn)證集效果對(duì)哪些超參數(shù)最敏感,哪些超參數(shù)交互最多,因此需要一起重新調(diào)整,以及哪些超參數(shù)對(duì)其他變化相對(duì)不敏感,因此可以在未來的實(shí)驗(yàn)中固定住。

發(fā)現(xiàn)潛在的新方向,例如在出現(xiàn)過擬合問題時(shí)使用新的正則化器。

確定無效的方向并將其刪除,從而降低后續(xù)實(shí)驗(yàn)的復(fù)雜度。

判斷超參數(shù)的優(yōu)化空間是否已經(jīng)飽和。

圍繞最佳值縮小我們的搜索空間,以提高調(diào)整效率。

最終,我們可以集中提升驗(yàn)證集效果,即便我們無法從新的實(shí)驗(yàn)中進(jìn)一步了解問題的結(jié)構(gòu)了。

選擇下一輪實(shí)驗(yàn)的目標(biāo)

總結(jié)每輪實(shí)驗(yàn)都應(yīng)該有一個(gè)明確的目標(biāo),并且范圍要足夠小,這樣實(shí)驗(yàn)才能真正朝著目標(biāo)取得進(jìn)展。

每輪實(shí)驗(yàn)都應(yīng)該有一個(gè)明確的目標(biāo),并且范圍要足夠小,這樣實(shí)驗(yàn)才能真正朝著目標(biāo)取得進(jìn)展:如果我們?cè)噲D一次添加多個(gè)特征或回答多個(gè)問題,我們可能無法理清各自的影響。

舉個(gè)例子,目標(biāo)可以包括:

嘗試對(duì)訓(xùn)練流程進(jìn)行改進(jìn)(例如,新的正則化器、預(yù)處理方法等)。

了解特定模型超參數(shù)(例如激活函數(shù))的影響

最大化驗(yàn)證集指標(biāo)。

設(shè)計(jì)下一輪實(shí)驗(yàn)

總結(jié)根據(jù)實(shí)驗(yàn)?zāi)繕?biāo),將超參數(shù)分為三類:目標(biāo)超參數(shù)、冗余超參數(shù)和固定超參數(shù)。創(chuàng)建一系列研究以比較目標(biāo)超參數(shù)的不同值,同時(shí)優(yōu)化冗余超參數(shù)。注意選擇冗余超參數(shù)的搜索空間,以平衡資源成本與科學(xué)價(jià)值。

識(shí)別目標(biāo)超參數(shù)、冗余超參數(shù)和固定超參數(shù)[點(diǎn)擊展開]

對(duì)于給定的目標(biāo),所有超參數(shù)都將是目標(biāo)超參數(shù)、冗余超參數(shù)或固定超參數(shù)。

因?yàn)閷?shí)驗(yàn)固定了某些超參數(shù),從實(shí)驗(yàn)得出的結(jié)論可能對(duì)固定超參數(shù)的其他值無效。換句話說,固定的超參數(shù)對(duì)我們的實(shí)驗(yàn)結(jié)論做了限定。

目標(biāo)超參數(shù)是指,我們希望測(cè)量出其對(duì)于模型由何種影響的參數(shù)。

冗余超參數(shù)是指,必須優(yōu)化才能公平比較不同目標(biāo)超參數(shù)值的參數(shù)。類似于統(tǒng)計(jì)中的冗余參數(shù)。

固定超參數(shù)是指,在當(dāng)前輪次實(shí)驗(yàn)中取固定值的參數(shù)。在比較目標(biāo)超參數(shù)的不同值時(shí),固定超參數(shù)的值不需要(或者我們不希望它們)改變。

舉個(gè)例子,如果我們的目標(biāo)是“確定更深的模型是否會(huì)減少驗(yàn)證集錯(cuò)誤”,那么模型層數(shù)就是目標(biāo)超參數(shù)。

學(xué)習(xí)率是一個(gè)冗余超參數(shù),如果我們要公平對(duì)比不同深度的模型,我們必須分別調(diào)整學(xué)習(xí)率(通常情況下最優(yōu)學(xué)習(xí)率和模型結(jié)構(gòu)有關(guān))。

激活函數(shù)是一個(gè)固定超參數(shù)。我們可能通過過去的實(shí)驗(yàn)發(fā)現(xiàn)最優(yōu)激活函數(shù)和模型深度無關(guān)?;蛘呶覀兘邮軐?shí)驗(yàn)得到的最優(yōu)深度的僅在某個(gè)激活函數(shù)上有效?;蛘呶覀円部梢詫⒓せ詈瘮?shù)作為一個(gè)冗余超參數(shù)和深度一起調(diào)優(yōu)。

一個(gè)超參數(shù)是目標(biāo)超參數(shù)、冗余超參數(shù)還是固定超參數(shù)是根據(jù)實(shí)驗(yàn)?zāi)繕?biāo)來決定的。

比如,激活函數(shù)的選擇可以是一個(gè)目標(biāo)超參數(shù)(對(duì)于當(dāng)前問題,ReLU 或 tanh 是更好的選擇嗎?),一個(gè)冗余超參數(shù)(允許使用不同的激活函數(shù),最好的 5 層模型是否優(yōu)于最好的 6 層模型?),或一個(gè)固定超參數(shù)(對(duì)于一個(gè)由 ReLU 構(gòu)成的網(wǎng)絡(luò),在特定位置添加批標(biāo)準(zhǔn)化是否有幫助?)。

在設(shè)計(jì)新一輪實(shí)驗(yàn)時(shí),我們根據(jù)實(shí)驗(yàn)?zāi)康拇_定目標(biāo)超參數(shù)。

在此階段,我們將所有其他超參數(shù)視為冗余超參數(shù)。

接下來,我們將一些冗余超參數(shù)轉(zhuǎn)作為固定超參數(shù)。

一個(gè)冗余超參數(shù)和目標(biāo)超參數(shù)的相互影響越多,固定這個(gè)參數(shù)所帶來的限制就越多。例如,權(quán)重衰減強(qiáng)度的最佳值通常取決于模型大小,因此固定權(quán)重衰減的強(qiáng)度來比較不同的模型大小,往往得不出有效的結(jié)論。

如下文所述,我們可以通過增加計(jì)算資源來應(yīng)對(duì)這種風(fēng)險(xiǎn),但通常我們的最大資源預(yù)算低于調(diào)整所有非目標(biāo)超參數(shù)所需的計(jì)算資源。

如果有無限的計(jì)算資源,我們會(huì)將所有非目標(biāo)超參數(shù)保留為冗余超參數(shù),這樣我們從實(shí)驗(yàn)中得出的結(jié)論就不會(huì)受到固定超參數(shù)的限定。

然而,冗余超參數(shù)越多,我們沒能充分針對(duì)每個(gè)目標(biāo)超參數(shù)調(diào)優(yōu)冗余超參數(shù)的風(fēng)險(xiǎn)就越高,從而我們從實(shí)驗(yàn)中得出錯(cuò)誤結(jié)論的風(fēng)險(xiǎn)也越高。

當(dāng)我們判斷將一個(gè)冗余超參數(shù)轉(zhuǎn)換為固定超參數(shù)所帶來的限制少于調(diào)優(yōu)它所需的計(jì)算資源時(shí),我們可以進(jìn)行這種轉(zhuǎn)換。

盡管超參數(shù)的類型取決于實(shí)驗(yàn)?zāi)繕?biāo),但對(duì)于某些類別的超參數(shù),我們有以下經(jīng)驗(yàn)法則:

例如,網(wǎng)絡(luò)層數(shù)通常是一個(gè)目標(biāo)或固定的超參數(shù),因?yàn)樗鶗?huì)對(duì)訓(xùn)練速度和內(nèi)存使用產(chǎn)生巨大影響。

例如,dropout 增加了代碼的復(fù)雜性,因此在決定是否包含它時(shí),我們會(huì)將“no dropout”與“dropout”作為一個(gè)目標(biāo)超參數(shù),而將 dropout 率作為一個(gè)冗余超參數(shù)。

如果我們決定根據(jù)這個(gè)實(shí)驗(yàn)將 dropout 添加到我們的訓(xùn)練流程中,那么在未來的實(shí)驗(yàn)中,dropout 率將是一個(gè)冗余超參數(shù)。

如果我們的實(shí)驗(yàn)?zāi)繕?biāo)涉及在兩個(gè)或多個(gè)不同的優(yōu)化器之間進(jìn)行公平比較(例如“確定哪個(gè)優(yōu)化器在給定的步數(shù)中產(chǎn)生最低的驗(yàn)證錯(cuò)誤”),那么它就是一個(gè)目標(biāo)超參數(shù)。

或者,我們可能出于各種原因?qū)⑵湓O(shè)為固定超參數(shù),包括(1)先前的實(shí)驗(yàn)表明最好的優(yōu)化器和當(dāng)前的目標(biāo)超參數(shù)無關(guān);(2)當(dāng)前優(yōu)化器的訓(xùn)練曲線更容易理解 (3) 當(dāng)前優(yōu)化器比其他優(yōu)化器使用更少的內(nèi)存。

它們很少是目標(biāo)超參數(shù),因?yàn)橄瘛坝?xùn)練流程的最佳學(xué)習(xí)率是多少?”這樣的目標(biāo)沒有什么意義——最優(yōu)學(xué)習(xí)率很容易隨著下一次訓(xùn)練流程的改變而改變。

盡管當(dāng)資源有限或有強(qiáng)力的證據(jù)表明它們不影響目標(biāo)超參數(shù)時(shí),我們可能固定其中一些參數(shù),但通常應(yīng)該假設(shè)優(yōu)化器超參數(shù)必須單獨(dú)調(diào)整,以在不同設(shè)置之間進(jìn)行公平比較目標(biāo)超參數(shù)。

此外,我們沒有優(yōu)化器超參數(shù)值的先驗(yàn)傾向(例如,它們通常不會(huì)以任何方式影響前向傳遞或梯度的計(jì)算成本)。

在各種優(yōu)化器超參數(shù)(例如學(xué)習(xí)率、動(dòng)量、學(xué)習(xí)率調(diào)度參數(shù)、Adam優(yōu)化器的beta等)中,至少有一些是冗余超參數(shù),因?yàn)樗鼈兺c其他變化相互影響。

相比之下,優(yōu)化器的選擇通常是一個(gè)目標(biāo)超參數(shù)或固定超參數(shù)。

正則化技術(shù)引入的超參數(shù)通常是冗余超參數(shù),但是否使用正則化技術(shù)往往是目標(biāo)或固定超參數(shù)。

模型結(jié)構(gòu)超參數(shù)通常是目標(biāo)或固定超參數(shù),因?yàn)槟P徒Y(jié)構(gòu)變化會(huì)影響服務(wù)和訓(xùn)練成本、延遲和內(nèi)存需求。

在某些情況下,一個(gè)超參數(shù)是冗余還是固定超參數(shù)將取決于目標(biāo)超參數(shù)的值。

例如,假設(shè)我們想知道 Nesterov momentum 和 Adam 中哪個(gè)優(yōu)化器的驗(yàn)證錯(cuò)誤率更低。目標(biāo)超參數(shù)是optimizer,它的值是{"Nesterov_momentum", "Adam"}。值optimizer="Nesterov_momentum"引入了冗余/固定超參數(shù){learning_rate, momentum},但值optimizer="Adam"引入了冗余/固定超參數(shù){learning_rate, beta1, beta2, epsilon}。

僅針對(duì)目標(biāo)超參數(shù)的某些值存在的超參數(shù)稱為條件超參數(shù)。

我們不應(yīng)該僅僅因?yàn)閮蓚€(gè)條件超參數(shù)具有相同的名稱就認(rèn)為它們是相同的!在上面的示例中,learning_rate對(duì)于optimizer="Nesterov_momentum"與optimizer="Adam"是不同的條件超參數(shù). 它在兩種算法中的作用相似(盡管不完全相同),但在每個(gè)優(yōu)化器中運(yùn)行良好的值范圍通常相差幾個(gè)數(shù)量級(jí)。

機(jī)器學(xué)習(xí)算法AI大數(shù)據(jù)技術(shù)

搜索公眾號(hào)添加:datanlp

長按圖片,識(shí)別二維碼

閱讀過本文的人還看了以下文章:

TensorFlow 2.0深度學(xué)習(xí)案例實(shí)戰(zhàn)

基于40萬表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測(cè)

《基于深度學(xué)習(xí)的自然語言處理》中/英PDF

Deep Learning 中文版初版-周志華團(tuán)隊(duì)

【全套視頻課】最全的目標(biāo)檢測(cè)算法系列講解,通俗易懂!

《美團(tuán)機(jī)器學(xué)習(xí)實(shí)踐》_美團(tuán)算法團(tuán)隊(duì).pdf

《深度學(xué)習(xí)入門:基于Python的理論與實(shí)現(xiàn)》高清中文PDF+源碼

《深度學(xué)習(xí):基于Keras的Python實(shí)踐》PDF和代碼

特征提取與圖像處理(第二版).pdf

python就業(yè)班學(xué)習(xí)視頻,從入門到實(shí)戰(zhàn)項(xiàng)目

2019最新《PyTorch自然語言處理》英、中文版PDF+源碼

《21個(gè)項(xiàng)目玩轉(zhuǎn)深度學(xué)習(xí):基于TensorFlow的實(shí)踐詳解》完整版PDF+附書代碼

《深度學(xué)習(xí)之pytorch》pdf+附書源碼

PyTorch深度學(xué)習(xí)快速實(shí)戰(zhàn)入門《pytorch-handbook》

【下載】豆瓣評(píng)分8.1,《機(jī)器學(xué)習(xí)實(shí)戰(zhàn):基于Scikit-Learn和TensorFlow》

《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼

汽車行業(yè)完整知識(shí)圖譜項(xiàng)目實(shí)戰(zhàn)視頻(全23課)

李沐大神開源《動(dòng)手學(xué)深度學(xué)習(xí)》,加州伯克利深度學(xué)習(xí)(2019春)教材

筆記、代碼清晰易懂!李航《統(tǒng)計(jì)學(xué)習(xí)方法》最新資源全套!

《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》最新2018版中英PDF+源碼

將機(jī)器學(xué)習(xí)模型部署為REST API

FashionAI服裝屬性標(biāo)簽圖像識(shí)別Top1-5方案分享

重要開源!CNN-RNN-CTC 實(shí)現(xiàn)手寫漢字識(shí)別

yolo3 檢測(cè)出圖像中的不規(guī)則漢字

同樣是機(jī)器學(xué)習(xí)算法工程師,你的面試為什么過不了?

前海征信大數(shù)據(jù)算法:風(fēng)險(xiǎn)概率預(yù)測(cè)

【Keras】完整實(shí)現(xiàn)‘交通標(biāo)志’分類、‘票據(jù)’分類兩個(gè)項(xiàng)目,讓你掌握深度學(xué)習(xí)圖像分類

VGG16遷移學(xué)習(xí),實(shí)現(xiàn)醫(yī)學(xué)圖像識(shí)別分類工程項(xiàng)目

特征工程(一)

特征工程(二) :文本數(shù)據(jù)的展開、過濾和分塊

特征工程(三):特征縮放,從詞袋到 TF-IDF

特征工程(四): 類別特征

特征工程(五): PCA 降維

特征工程(六): 非線性特征提取和模型堆疊

特征工程(七):圖像特征提取和深度學(xué)習(xí)

如何利用全新的決策樹集成級(jí)聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?

Machine Learning Yearning 中文翻譯稿

螞蟻金服2018秋招-算法工程師(共四面)通過

全球AI挑戰(zhàn)-場(chǎng)景分類的比賽源碼(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在線識(shí)別手寫中文網(wǎng)站

中科院Kaggle全球文本匹配競(jìng)賽華人第1名團(tuán)隊(duì)-深度學(xué)習(xí)與特征工程

不斷更新資源

深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、python

搜索公眾號(hào)添加:datayx

關(guān)鍵詞:

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2023 創(chuàng)投網(wǎng) - mallikadua.com All rights reserved
聯(lián)系我們:39 60 29 14 2@qq.com
皖I(lǐng)CP備2022009963號(hào)-3