提高模型效能的科學方法

本文件的用途如下:

機器學習的最終目標是盡可能提高部署模型的實用性。

針對任何機器學習問題,通常可以使用本節所述的基本步驟和原則。

本節進行下列假設:

  • 您已經有正在執行的訓練管道,以及取得合理結果的設定。
  • 您有足夠的運算資源,可以執行有意義的調整實驗,並至少執行多項訓練工作。

增量調整策略

建議:先從簡單的設定開始。然後逐步進行改善,同時深入瞭解問題。確認所有改善項目都是依據強大的證據顯示。

我們假設您會尋找能充分運用模型效能的設定。有時候,我們的目標是在固定的期限內讓模型改善效能。在其他情況下,您可以無限期改善模型,例如持續改善在實際工作環境中使用的模型。

實際上,您可以使用演算法自動搜尋所有可能的設定,但這不是實際選項。可能的配置空間相當龐大,目前還沒有任何演算法不夠複雜,無法在沒有人工指引的情況下搜尋這個空間。大部分的自動搜尋演算法都仰賴人工設計的搜尋空間,以定義要搜尋的設定組合,而這些搜尋空間可能略為重要。

提高成效的最簡單方法,就是先從簡單的設定開始,接著逐步新增功能並做出改善,同時深入探究問題。

我們建議在每一步調整自動搜尋演算法,並且隨著知識成長持續更新搜尋空間。在探索的過程中,您可以自然而然地找到更好的設定,因此您的「最佳」模型也會持續改良。

「推出」一詞是指更新作業的最佳設定 (不一定能正式發布正式模型)。在每個「啟動」時,您必須確認變更項目具有高度的有效性,而非以幸運設定為基礎,因此您無須為訓練管道增加不必要的複雜性。

整體來說,我們的漸進式調整策略包含以下四個步驟:

  1. 設定下一輪實驗的目標。請確認該目標設有適當範圍。
  2. 設計下一輪實驗。設計並執行一系列的實驗,以達成目標。
  3. 從實驗結果中學習。根據檢查清單評估實驗。
  4. 判斷是否要採用候選項目。

本節的其餘部分會詳細說明這項策略。

為下一輪實驗挑選目標

如果您嘗試一次新增多項功能或一次回答多個問題,可能無法瞭解個別結果對結果的影響。目標範例包括:

  • 請嘗試對管道改進,例如使用新的一般化器、預先處理選項等。
  • 瞭解特定模型超參數的影響 (例如啟用函式)
  • 盡量減少驗證錯誤。

優先處理長期驗證錯誤,做為短期驗證錯誤的優先順序

摘要:在多數情況下,您的主要目標是深入瞭解調整問題。

建議您把大部分的時間都花在深入瞭解問題上,而時間有限地專注在提升驗證集的效能。換句話說,大部分的時間都只適合在「探索」上,只須稍微投入「剝削」行為。要瞭解最終成效,關鍵在於瞭解問題。優先改善短期成效,有以下好處:

  • 請避免在發生意外事故時,執行不必要的高效執行變更。
  • 找出驗證錯誤最嚴重的超參數、哪些超參數最常互動,因此需要重新調整,以及哪些超參數與其他變更相對無關,因此可在日後的實驗中修正。
  • 提供可行的新功能建議,例如在過度配戴時使用新的一般化器。
  • 找出沒有幫助且可以移除的功能,降低日後實驗的複雜度。
  • 瞭解超參數微調改善程度是否可能出現飽和。
  • 請縮小搜尋範圍以找出最佳值,進而提升調整效率。

最終,您將會瞭解問題。如此一來,即使實驗無法充分反映調整問題結構,您還是可以專注在驗證錯誤上。

設計下一輪實驗

摘要:找出要為實驗目標的超參數和科學超參數,並修正超參數。建立一連串的研究,比較科學超參數的不同值,同時對細項超參數進行最佳化。選擇細微超參數的搜尋空間,以科學價值評估資源費用。

找出科學、細微和固定的超參數

對於特定目標,所有超參數可分為以下幾個類別:

  • 科學超參數是指對模型效能有影響的評估參數,
  • 「超載參數」是必須經過最佳化處理而能公平比較不同科學超參數值的情況。微調超參數與統計資料中的空值參數類似。
  • 固定超參數在目前的實驗階段具有常數值。比較科學工具超參數時,固定超參數的值不應變動。修正一組實驗的特定超參數時,您必須接受從實驗衍生的結果可能不適用於某些固定超參數的其他設定。換句話說,固定的超參數會為實驗建立結論。

例如,假設您的目標如下所示:

判斷隱藏層以上的模型是否發生驗證錯誤。

在這種情況下:

  • 學習率是細微超參數,因為如果每個隱藏層的學習率個別經過調整,您只能公平地比較不同隱藏圖層的模型。(最佳學習率通常因模型架構而異)。
  • 如果您在之前的實驗中指出,最佳啟動函式對模型深度沒有敏感,那麼啟用函式可能是固定的超參數。或者,您是否願意限制內含隱藏層的數量,以因應該啟動函式。如果您正在為各個隱藏層數量個別調整參數,也可以說是多個超必要參數。

特定超參數可能是科學參數、超必要參數或固定超參數;超參數的指定特徵會因實驗目標而有所變化。舉例來說,啟用函式可能是下列其中一種:

  • 科學的超參數:是 LLU 還是坦布式的問題?
  • 微調超參數:如果允許多種不同的啟用函式,那麼最五個五層模型是否比最佳的六個層模型來得好?
  • 已修正超參數:如果是 ReLU 網路,新增特定位置的批次正規化功能是否有幫助?

設計新實驗時:

  1. 找出實驗目標的科學超參數。(在這個階段,您可以將所有其他超參數視為細項超參數)。
  2. 將部分須注意的超參數轉換為固定超參數。

有了無限制資源,您就能將所有非科學的超參數當做乾擾超參數,從實驗中得出的結論不會從固定的超參數值中移除。不過,嘗試微調的超參數參數越多,就越不容易調整每個科學參數的每項設定,導致實驗結果產生錯誤的結論。如後續章節所述,只要提高運算預算,即可降低這項風險。不過,如果您的資源上限超過所有非科學的超參數,所需的資源預算通常就會更低。

修正含有重大超參數的威脅時,建議將細微參數轉換為固定超參數,這樣就不必耗費太多資源。「超必要」超參數與科學超參數互動時,就會降低重組該值的問題。例如,權重衰減強度的最佳值通常取決於模型大小,因此假設假設權重衰減的某個特定值不會提供深入分析資訊,

部分最佳化工具參數

原則上,部分最佳化工具超參數 (例如學習率、記憶力、學習率時間表參數、Adam Beta 版等) 是細微參數,因為這類參數通常會與其他變更互動最多。這些「最佳化工具」超參數通常很少使用超參數,因為「為什麼目前管道的最佳學習率?」之類的目標無法提供足夠的深入分析資訊。畢竟,最佳設定會隨著下一個管道變更而改變。

由於資源限製或更強的證據並未與科學參數互動,您可能會偶爾修正某些最佳化工具超參數。不過,一般來說,您必須個別調整最佳化工具超參數,才能比較科學超參數的不同設定,因此請勿修正。此外,沒有任何優先原因偏好最佳化工具最佳化工具超參數值,例如,最佳化工具超參數值通常不會以任何方式影響轉寄或漸層的運算費用。

最佳化工具選擇

最佳化工具的選項通常有以下兩種:

  • 科學超參數
  • 固定超參數

如果您的實驗目標涉及比較兩個或以上不同的最佳化器,兩者之間具有公平比較功能,最佳化工具即是科學超參數。例如:

判定哪些最佳化工具會在指定步驟中產生最低驗證錯誤。

或者,您也可以將最佳化工具視為固定超參數的原因有很多,包括:

  • 先前的實驗指出,與調整科學問題相關的最佳化調整程式,並不容易受到目前的科學超參數影響。
  • 您比較希望透過這項最佳化工具比較科學超參數的值,因為其訓練曲線比較容易。
  • 您偏好使用這個最佳化工具,因為其記憶體比替代記憶體更少。

正規化超參數

正規化技術帶來的超參數通常是細查超參數。不過,要選擇是否要納入正規化技術,就是科學或固定的超參數。

例如,捨棄正規化會增加程式碼的複雜度。因此,在判斷是否要納入下移正規化時,您可以將「沒有放棄」和「放置」的科學超參數,但捨棄率是 超參數的超參數。如果您決定根據這項實驗在管道中新增放置正則化,則在日後的實驗中,等待率是細微超參數。

架構超參數

架構超參數通常是科學或固定的超參數,因為架構變更可能會影響服務的費用、訓練成本、延遲和記憶體需求。舉例來說,圖層數量通常是科學或固定的超參數,因為這通常會導致訓練速度和記憶體用量產生嚴重後果。

科學資料超參數的依附元件

在某些情況下,細微差異和固定超參數組合取決於科學超參數的值。舉例來說,假設您想判斷 Nesterov 氣球和 Adam 的最佳化器會產生最低驗證錯誤。在這種情況下:

  • 科學的超參數是最佳化工具,會採用 {"Nesterov_momentum", "Adam"}
  • optimizer="Nesterov_momentum" 值會導入超參數 {learning_rate, momentum},這可能是空值或固定超參數。
  • optimizer="Adam" 值會導入超參數 {learning_rate, beta1, beta2, epsilon},而這可能是必要參數或修正的超參數。

僅出現在特定科學超值值的超參數稱為「條件式超參數」,請勿假設兩個條件式超參數相同,因為名稱相同!在上述範例中,名為 learning_rate 的條件式超參數是 optimizer="Nesterov_momentum"optimizer="Adam" 的不同超參數。其演算法在兩個演算法中相似 (但並非完全相同),但可在每個最佳化器內有效利用的值範圍,通常會各有不同。

建立一組研究

確定科學和細查超參數後,請設計研究或研究系列,藉此逐步達成實驗目標。「研究」會指定要執行的後續超參數設定組合。每項設定都稱為「試用」。建立研究時,通常需要選擇下列選項:

  • 不同測試項目的超參數。
  • 這些超參數可填入的值 (「搜尋空間」)。
  • 試用期次數。
  • 從搜尋空間著手測試的自動搜尋演算法。

或者,您也可以手動指定超參數設定,藉此建立研究。

這項研究的目的在於:

  • 以科學超參數的不同值執行管道,
  • 「進行最佳化」(或「最佳化最佳化」) 細項超參數,如此一來,不同可能的科學超參數值在比較時就會盡可能公平。

在最簡單的情況下,您會針對科學參數的每項設定分別進行研究,每項研究都會針對細項超參數調整。例如,如果您的目標是從 Nesterov 溫度和 Adam 選擇最適合的最佳化器,則可以建立兩個研究:

  • 一項研究指出,optimizer="Nesterov_momentum" 和 nhy 超參數為 {learning_rate, momentum}
  • 另一項研究是,optimizer="Adam" 和 thhy 超參數為 {learning_rate, beta1, beta2, epsilon}

只要在每項研究中選取成效最佳的測試,即可比較兩個最佳化器。

您可以使用任何無漸層最佳化演算法 (包括貝氏最佳化或演算演算法等方法),最佳化超必要超參數。然而,我們偏好在探索階段使用隨機搜尋,因為這項設定具有許多優點。探索結束後,建議您使用最先進的貝葉斯最佳化軟體 (如果有的話)。

您要想比較較為複雜的情況,比較要比較大量的科學超參數值,但就不容易進行許多獨立研究。在這種情況下,您可以執行下列操作:

  • 將科學參數納入與搜尋參數相關的超參數相同。
  • 使用搜尋演算法,在單一研究中取樣科學與細查超參數的值。

採取這種做法時,條件式超參數可能會導致問題。 畢竟,除非所有科學超參數的值都相同,否則很難指定搜尋空間。在這個案例中,我們更偏好使用優越的黑箱最佳化工具進行隨機搜尋,因為這樣可以保證系統會完整解讀科學超參數的不同值。無論搜尋演算法為何,請確保搜尋參數能統一搜尋科學參數。

在資訊豐富且價格實惠的實驗之間取得平衡

設計研究或研究序列時,應將有限的預算分配給充足的三個目標:

  • 比較不同的科學超參數值。
  • 針對大型搜尋空間調整精細超參數。
  • 對細查超參數的小心調整搜尋空間。

越能達成這三項目標,您從實驗中獲得的分析數據就越豐富。 盡可能比較科學工具超參數的值,來擴大實驗涵蓋的規模。

盡可能納入更多細項超參數,並允許每個精細的超參數調整範圍,使其更符合科學超參數設定時,搜尋空間中的「良好」數值差異。否則,開發人員可能不會搜尋科學超參數空間的可能區域,而更好的值或許能滿足科學參數的某些值,因而導致科學超參數值之間出現不公平比較的情形。

盡可能減少搜尋超參數的尋找空間。 這樣可以提高搜尋程序會針對搜尋空間中存在的超必要超參數,取得更完善的設定。否則,您可能會因為某些超值參數的取樣成功,而比較某些科學參數的值,而產生不公平的比較結果。

很抱歉,您必須改善以下任一維度:

  • 增加試用次數,並增加資源費用。
  • 找出儲存在其他維度資源的方式。

每個問題都有各自的慣用語和運算限制,因此分配這三個目標的資源時,需要一定程度的網域知識。執行研究後,請務必嘗試瞭解這項研究是否微調細微參數。也就是說,研究有足夠的空間來大幅比較科學的超參數 (詳情請參閱下一節)。

從實驗結果中學習

建議:除了完成每組實驗的原始科學目標之外,您還能透過檢查其他問題的檢查清單來完成。如果發現問題,請修正並重新執行實驗。

最終,每組實驗都有特定目標。 建議你評估實驗是否有效達成該目標。 不過,如果您問了正確的問題,通常就必須先修正錯誤,才能在特定一組實驗中朝原始目標邁進。如果您未詢問這些問題,可能會產生錯誤的結論。

由於執行實驗可能耗費大量成本,因此,建議您從每組實驗中擷取其他實用深入分析資訊,即使這些深入分析資訊與目前的目標無關。

在分析一組實驗對原始目標的進展之前,請先思考以下幾個問題:

  • 搜尋空間夠大嗎?如果某項研究的最佳點接近一或多個維度的搜尋邊界,表示搜尋範圍可能不夠廣泛。在這種情況下,請使用擴充的搜尋空間執行其他研究。
  • 你是否已從搜尋空間取樣足夠的點數? 如果不行,請調整更多點或較不微弱的調整目標。
  • 每項研究的試用百分比不合適換句話說,試一次就比較多、嚴重損壞或根本不滿的原因是違反部分隱含限制?如果研究的分數極度偏高,請調整搜尋空間,以避免出現這種點,有時就需要將搜尋空間重新參數化。在某些情況下,大量的無法確定的點可能表示訓練程式碼有誤。
  • 模型是否有最佳化問題?
  • 「最佳的試用計畫」的訓練曲線有什麼收穫?例如,在最佳試用階段中,訓練曲線是否與問題服用不一致?

如有需要,請根據上述問題的答案,修正最新的研究或研究群組,藉此改善搜尋空間和/或更多試用範例,或採取其他修正動作。

完成上述問題後,您可以評估實驗對原始目標提供的證據,例如評估變更是否實用

如果從一個位置取樣的最佳點接近其邊界,會很可疑搜尋空間。朝該方向展開搜尋範圍時,也許會發現更準確的一點。

如要檢查搜尋空間的邊界,建議您在完成「基本超參數軸線前測」的測試圖中畫出已完成的試用。在這些圖表中,我們會比對驗證目標值與其中一個超參數之一 (例如學習率)。圖表中的每個時間點都對應一次試用。

每次測試的驗證目標值,通常是訓練期間達成的目標值。

呈現驗證集 (y 軸) 與錯誤學習率 (x 軸) 的錯誤率圖表,展示不良搜尋空間邊界。在這個圖表中,最佳試用期 (錯誤率最低) 位於搜尋區域邊緣,亦即最高學習率最高。 驗證集 (Y 軸) 與錯誤學習率 (x 軸) 的錯誤率圖表,可展現良好的搜尋空間邊界。在此圖表中,最佳試用期 (錯誤率最低) 與搜尋空間正中央,且尖峰學習率為 0.001,而非尖峰學習率為 0.00001 或 0.1。

圖 1:不良搜尋空間邊界和可接受的搜尋界線界限。

圖 1 中的百分比顯示了相對於初始學習率的錯誤率 (越低)。如果最適合的叢集會指向搜尋空間的邊緣 (某些維度),您可能需要擴充搜尋空間邊界,直到最觀察點不再接近邊界。

這類研究通常包含「不可能」試用,會取得多樣化或無法取得極差的結果 (圖 1 中紅色為 X)。如果所有測試的學習率均未超過特定門檻值,且最佳成效在該區域邊緣的學習率較高,則模型可能產生穩定性問題,導致存取率較高。

在搜尋空間中取樣量不足

一般來說,如果搜尋空間的程度夠高,就很難知道。🤖? 執行測試的次數比執行測試少,但顯得多出額外費用。

因為很難判斷取樣的程度是否足夠,因此建議您:

  • 以充足的能力搭配。
  • 透過重複查看每個超參數軸軸來辨識直覺,並嘗試瞭解搜尋空間中的「良好」區域獲得多少點。

查看訓練曲線

摘要:檢查損失曲線可讓您輕鬆找出常見的失敗模式,並且協助您決定潛在後續動作的優先順序。

在許多情況下,實驗的主要目標只需要考慮每次測試的驗證錯誤。不過,在嘗試每次測試一個數字時,請格外小心,因為焦點可以隱藏關於介面底下重要的細節。在每個研究中,強烈建議您查看至少幾項最佳的試用曲線曲線。即使這並不需要處理主要的實驗性負面回應,檢查損失曲線 (包括訓練損失和驗證損失) 仍可以找出常見的故障模式,協助您決定接下來需要採取的行動。

檢查損失曲線時,請著重於以下問題:

  • 是否有任何試用發生問題?訓練期間開始,如果驗證錯誤增長,就會發生「過度適配」問題。在實驗設定中,透過為每項超參數參數設定,選擇「最佳」的試用,以最佳化離每個超參數的最佳化設定,並針對與您要比較的超參數設定相符的每個最佳測試,檢查是否發生了過度磨損的問題。如有任何最佳試用顯示過度配適,您可以執行以下其中一項或兩項操作:

    • 運用其他正規化技巧重新執行實驗
    • 先調整現有的正規化參數,再比較科學超參數的值。如果科學超參數包含正規參數,則可能不適用這項限制,因為如果這些正規化參數的低強度設定會導致不當的穿搭問題,就不會出乎意料。

    減少過度配適通常使用簡單的正規化技術,這些技術能把程式碼複雜度降到最低,或者額外的運算作業 (例如去掉正規化、標籤平滑、減重)。因此,為下一輪的實驗新增一或多個這類項目時,通常相當困難。舉例來說,如果科學的超參數是「隱藏的圖層數量」,而且最佳試用使用了最多隱藏層圖層的問題,建議您以額外正規化方式重試,而不是立即選取較少隱藏的圖層數量。

    即使所有「最佳」的測試都出現過度配適的問題,即便發生了任何試用問題,仍可能發生問題。選取最佳試用期會抑制設定過度磨合的問題,並偏好有不良問題的設定。換句話說,選擇最適合的試用設定會更規律化。但是,任何訓練價值較差的東西都可以作為一般處理工具,即使不是設計上亦然。舉例來說,選擇較小的學習率可以藉由提升最佳化程序的方式,定期進行訓練,但通常不會以這種方式來選擇學習率。請注意,系統可能會透過特定方式選出「最佳」的科學超參數設定,藉此偏好部分科學或獨特超參數的「不良」值。

  • 訓練的驗證或驗證錯誤是否具有相當高的步數差異?如果有,可能會幹擾下列兩種服務:

    • 可比較不同的科學超參數值。這是因為每次測試都會在「幸運」或「好運」步驟中隨機結束。
    • 您將能重現實際工作環境中最佳試用的結果。這是因為實際工作環境模型的研究過程最後不會到「幸運」步驟。

    導致步數出現差異的可能原因包括:

    • 批次差異的組成方式:每個批次從訓練集隨機取樣。
    • 小型驗證集
    • 使用學習速度太晚的訓練頻率。

    可能的救濟方式包括:

    • 正在增加批次大小。
    • 取得更多驗證資料。
    • 使用學習率衰減
    • 使用 Polyak 平均分配。
  • 試用期結束時是否仍處於試用期?如果是的話,您屬於「運算限制」式狀態,如果增加訓練步數或學習頻率時間表,可能會受益。

  • 訓練和驗證集的效能是否在最後一個訓練步驟之前變得飽和?如果是的話,這代表您處於「非運算範圍」語系,且或許可以減少訓練步驟的數量。

除此清單外,檢查其他曲線時,可能會有更多其他行為受到影響。舉例來說,訓練期間的訓練損失增加通常代表訓練管道中的錯誤。

偵測變更是否適用於個別測試計畫

這項隔離圖會研究對 ImageNet 訓練的 ResNet-50 而言,重量權重衰減的數值。在這個案例中,最低權重錯誤率當權重衰減為 0.00005 美元時。

圖 2:針對在 ImageNet 訓練的 ResNet-50 訓練的權重衰減值進行隔離。

 

一組實驗的目標通常是比較不同的科學超參數值。舉例來說,假設您想決定導致最佳驗證錯誤的權重衰減值。隔離圖是基本超參數軸軸的特殊情況。獨立隔離圖中的每個點都能對應至部分 (或所有) 細微超參數的試用效能。換句話說,請在「微調」精細超參數後繪製模型效能。

隔離圖可以簡化科學實驗超參數的不同值之間的比較點比較。例如,圖 2 的隔離圖說明從使用 ImageNet 訓練的特定 ResNet-50 設定產生最佳驗證效能的權重衰減值。

如果目標是要決定是否要加入權重衰減,請比較這個圖形和最好,沒有任何權重衰減基準。為了公平比較,基準也應採用相同的學習率。

透過 (隨機) 搜尋產生資料,並考慮針對獨立繪圖使用連續超參數時,您可以將基本超參數軸的 x 軸值分段,並針對值區定義的每個垂直類別進行最佳試用,藉此預估隔離圖。

自動產生適量的前測計畫

系統產生越多功能的 如要變更,就越難套用這些項目。因此,建議您設定基礎架構,盡可能自動產生更多測試計畫。建議您至少針對實驗中變更的所有超參數,產生基本的超參數軸情節。

此外,我們也建議所有試用作業都會產生損失曲線。此外,我們也建議您盡可能簡化各項研究的試用次數,並檢視其損失的曲線。

您可以加入其他實用的潛在 plo 和視覺化內容。如何改寫 Geoffrey Hinton

每次發掘新事物時,你都會學到新事物。

決定是否要採用候選變更

摘要:在決定要變更模型或訓練程序或採用新的超參數設定時,請注意結果中各種不同的來源。

嘗試改善模型時,相較於內建設定,特定候選變更作業可能會更準確地驗證驗證錯誤。不過,反覆執行實驗可能沒有明顯的效益。 遺憾的是,結果不一致最重要的來源可以分為下列幾大類別:

  • 訓練程序變異數、重新訓練變異數或試用變異數:使用相同超參數但不同隨機種子的訓練執行作業之間的差異。例如,不同的隨機初始化、訓練資料重組、捨棄遮罩、資料擴充作業模式,以及平行算術作業的順序,都是測試變數的潛在來源。
  • 超參數搜尋變化或研究變異:我們的程序選取超參數時產生的結果。舉例來說,您可以針對特定搜尋空間執行相同的實驗,但針對兩個隨機搜尋執行兩個不同的種子,最終會選擇不同的超參數值。
  • 資料收集及取樣變異:由於訓練資料產生程序較容易進行,從任何類型的隨機分割到訓練、驗證和測試資料或變異數的差異。

是的,您可以透過快速進行統計測試,對有限驗證集評估的驗證錯誤率。不過,若只使用兩個超參數設定,兩個不同訓練的模型在統計上的差異可能相當顯著,

在嘗試做出超出超參數空間個別點的結論時,最需要注意的研究差異比較。研究偏差取決於測試次數和搜尋空間。我們發現了測試變數比試用期變異更大,情況更明顯。因此,在採用候選變更之前,請考慮先執行最佳的試用 N 次,將跑步執行的試用變異化為特性。通常,當管道發生重大變更之後,您就能重新調整試用變異長度,但在某些情況下,您可能需要重新取得預估預估值。在其他應用程式中,為變種變數顯得太高昂,因此成本並不值得。

雖然只想採用變更內容 (包括新的超參數設定) 來獲得實際改善機會,但需要確保特定變更並非正確答案。因此,如果新的超參數點 (或其他變更) 結果比基準更佳 (請盡可能將新點與基準的重新訓練變異數納入考量),則建議您將其做為新基準的基礎。不過,建議您僅採用有助於改善其成效的優缺點。

探索結束後

摘要:在完成良好的搜尋空間,並決定哪些參數值得調整後,Baesian 最佳化工具便是很吸引人的選項。

您的優先要務將不再是調整設定,而是產生一個最適切的設定來啟動或以其他方式使用。此時,您應該有精緻的搜尋空間,能夠充分觀察當地觀察到的最佳周遭區域,並充分取樣。您的探索工作應該揭露最需要調整的超參數以及它們的合理範圍,讓您使用最大的調整預算,建構最終自動微調研究的搜尋空間。

既然您已經不太瞭解如何微調調整問題,許多同行搜尋的優點已不再適用。因此,建議您使用 Bayesian 最佳化工具,自動尋找最佳超參數設定。開放原始碼 Vizier 實作多種精細的機器學習模型來調整機器學習模型,包括 Bayesian 最佳化演算法。

假設搜尋空間包含一般的分隔點,即取得 NaN 訓練損失,或甚至遺失訓練平均值,但這些標準差距更嚴重。在這種情況下,建議您使用黑箱最佳化工具,以適當方式處理各種不同的測試。(請參閱針對不明限制進行 Bayesian 最佳化,瞭解處理這個問題的絕佳方式)。開放原始碼 Vizier 支援將試用項目標示為不合適,藉此標示不同點,但這可能不會使用 Gelbart 等人中偏好的偏好方式 (視設定而定)。

探索結束後,建議您檢查測試集的效能。原則上,您甚至可以將驗證集擴展到訓練集,然後重新訓練貝氏最佳化設定的最佳設定。不過,只有在這個特定工作負載日後不會推出 (例如一次性 Kaggle 競爭) 時,才適用這種做法。