Loading AI tools
来自维基百科,自由的百科全书
在機器學習和統計學中,學習率(英語:Learning rate)是優化算法中的一個可調參數,它決定了每次迭代的步長,使得優化向損失函數的最小值前進。[1]它影響到新學習到的信息在多大程度上取代了舊信息,暗示了機器學習模型 "學習 "的速度。在自適應控制中,學習率通常被稱為增益(Gain)。[2]
此條目需要精通或熟悉人工智慧的編者參與及協助編輯。 |
設置學習率需要在收斂速度和過沖(Overshooting)之間進行權衡。學習時的前進方向通常由損失函數的負梯度決定,而學習率決定了在這個方向上邁出多大一步。過高的學習率會使邁一大步,超過最小值;但過低的學習率會導致收斂速度變慢,或收斂於局部最小值。[3]
為了加速收斂,防止振盪和陷入不理想的局部極小值,學習率在訓練過程中往往按照計劃或自適應改變。[4]
初始學習率速率可以參考系統默認值,也可以使用其他方式選擇。學習率計劃表在學習過程中改變學習率,最常見的是在epochs或iterations之間改變。學習率的改變通常由兩個參數決定:衰減(Decay)和動量(Momentum)。目前常見的學習率修改方式是基於時間、基於步驟或基於指數的。[4] 衰減的作用是將學習過程穩定在一個好的、沒有振盪的位置(當恆定學習率過高時,學習過程可能會在最小值附近震盪)。衰減率通常由超參數控制。
動量類似於從山上滾下來的球,我們希望球在最低點(對應於最低的誤差)停留。當梯度方向長期一致時,動量可以加快學習速度(提高學習率),也能通過跳過局部最小值。動量由類似於球質量的超參數控制,而這一參數必須手動選擇。當動量過大時,球會滾過希望找到的最小值;當動量過低時,它將不起作用。計算動量的公式比計算衰減的公式更複雜,但在常用的深度學習庫(如Keras)中已經實現。
基於時間的學習計劃表會根據前一個迭代的學習率改變學習率。考慮到衰減的因素,學習率更新公式為:
其中是學習率。是衰減參數,而是迭代步驟。
基於步的學習計劃表根據預先定義的步長改變學習率。通常定義為:
其中 是在第步的學習率, 初始學習率,是每次下降時學習率的變化程度(0.5代表減半),對應下降率(即下降的頻率,10代表每10此迭代下降一次)。向下取整函數()將小於1的數改為0。
指數式學習計劃表與基於步的學習計劃表類似,但使用的不是步,而是遞減的指數函數。考慮到衰減的數學公式是:
其中是衰減參數。
學習率計劃表存在的問題是,學習率變換方式取決於超參數,而超參數必須為手動選擇。許多不同類型的自適應梯度下降算法解決這個問題(如Adagrad、Adadelta、RMSprop和Adam[5]),這些算法通常內置於深度學習庫。[6]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.