什麼是超參數調校?

訓練機器學習模型時,每個資料集和模型都需要一組不同的超參數 (這是一種變數)。確定這些參數的唯一方法是透過多個實驗,您可以在其中選擇一組超參數,並在模型中執行這些參數。這稱爲超參數調校。本質上,您是在使用不同的超參數集按順序訓練模型。此過程可以手動進行,也可以從幾種自動超參數調校方法中選擇一種。

無論使用哪種方法,您都需要追蹤實驗結果。您必須套用某種形式的統計分析 (例如損失函數),以確定哪組超參數能提供最佳結果。超參數調校是重要的運算密集型流程。

什麼是超參數?

超參數是資料科學家用來管理機器學習模型訓練的外部組態變數。超參數 (有時也稱為模型超參數) 會在訓練模型之前透過手動的方式設定。超參數與參數不同,參數指的是在學習過程中自動衍生的內部參數,而非由資料科學家所設定。

超參數的範例包含神經網路中的節點和層數量以及決策樹中的分支數量。超參數會決定模型架構、學習率和模型複雜性等主要功能。

如何識別超參數?

選取正確的超參數集在模型效能和準確性方面非常重要。不幸的是,哪些是有效的超參數以及什麼是超參數的最佳值或預設值均無規則可循。您需要透過實驗才能找出最佳超參數集。這個活動稱為超參數調校超參數最佳化

為什麼超參數調校如此重要?

超參數會直接影響模型結構、函數和效能。超參數調校讓資料科學家可以調整模型效能以達到最佳結果。這道程序對於機器學習來說非常重要,選擇適合的超參數值是成功的關鍵。

例如,假設您是使用模型的學習率作為超參數。如果學習率的值太高,模型可能會太快收斂以致於結果不理想。然而,如果學習率的值太低,訓練需要很長的時間而造成結果不會收斂。良好且平衡的超參數選擇會導致準確的模型和絕佳的模型效能。

超參數調校如何運作?

如之前所述,超參數可透過手動或自動的方式來調校。雖然手動調整緩慢且單調,但優點是您會更加了解超參數加權如何影響此模型。然而,在大多數情況下,您通常會使用知名的超參數學習演算法。

超參數調校的程序會反覆運作,您可以嘗試不同參數和值的組合。通常您會先從定義目標變數開始 (例如將準確性作為主要指標),而且您也會想要最大化或最小化此變數。建議您最好使用跨驗證技術,這樣您的模型便不會集中在資料的單一部分。

超參數調校技術有哪些?

即使存在眾多超參數調校演算法,但貝氏最佳化、網格搜尋和隨機搜尋還是最常用的類型。

貝氏最佳化

貝氏最佳化是以貝葉斯定理為基礎的技術,描述根據目前知識來推測事件發生的概率。將此套用在超參數最佳化時,演算法會從一組超參數 (可最佳化特定指標) 建立概率模型。其使用迴歸分析來反覆選擇最佳超參數集。

網格搜尋

使用網格搜尋表示您會指定超參數和效能指標的清單,而演算法就會嘗試所有可能的組合來做出最佳決定。網格搜尋很有效,但是這個作法相當單調且需要密集運算 (特別是在具有大量超參數的情況下)。

隨機搜尋

隨機搜尋的基礎類似網格搜尋的原則,但會在每次反覆運作中隨機選取超參數的群組。在模型結果主要由較少量超參數決定的情況下,隨機搜尋是很有效的方式。

超參數有哪些範例?

有一些超參數很常見,但實際上演算法會使用特定的超參數集。例如,您可以參閱 Amazon SageMaker 如何使用影像分類超參數,並參閱 SageMaker 如何使用 XGBoost 演算法超參數

以下是一些常見的超參數範例:

  • 學習率是指演算法更新估算的比率
  • 學習率衰減是指隨著時間降低學習率,藉此加速學習的速度
  • 動量是與上一步有關的下一步之方向
  • 神經網路節點是指每個隱藏層中節點的數量
  • 神經網路層是指神經網路中隱藏層的數量
  • 迷你批次大小就是訓練資料批次大小
  • Epoch 是整個訓練資料集在訓練過程中顯示至網路的次數
  • Eta 是指步長收縮,可用來防止過度擬合

AWS 如何在超參數調校方面提供協助?

在 Amazon Web Services (AWS),我們提供 Amazon SageMaker,這個全受管機器學習 (ML) 平台讓您可執行自動模型調校。Amazon SageMaker 自動模型調校會找出最適合您 ML 的模型,方法是透過在您的資料集執行多項訓練任務。其會使用您指定的演算法和超參數範圍。

SageMaker 提供以貝葉斯搜尋理論為基礎的智慧型超參數調校方法,能夠在最短時間內找出最佳模型。其會先從隨機搜尋開始,然後根據超參數值的設定學到模型的行為方式。如需詳細資訊,請參閱超參數調校在 SageMaker 中的運作方式

SageMaker 自動模型調校也支援新的搜尋策略 Hyperband。對於大規模的模型 (例如可解決電腦視覺問題的深度神經網路),Hyperband 找出最佳超參數集的速度比貝氏搜尋快三倍。

您也可以參閱如何使用 SageMaker 執行自動模型調校。您可以搭配內建 SageMaker 演算法、自訂演算法和 SageMaker 預先建置的容器來使用 SageMaker 超參數調校模組。網頁提供全面的自學課程和練習,以便協助您學習執行超參數最佳化。

SageMaker 入門很簡單,您只需要建立免費 AWS 帳戶。透過 AWS 免費方案,您可以免費試用 SageMaker 兩個月,接下來才需要付費。

與 AWS 搭配使用的後續步驟

查看額外的產品相關資源
查看機器學習服務 
註冊免費帳戶

立即存取 AWS 免費方案。

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台進行建置。

登入