學習率衰減 Learning Rate Decay
阿新 • • 發佈:2019-01-12
Why should learning rate decay?
以目前最主流的引數優化演算法Gradient Descent為例,為了讓梯度下降的效能更優,我們需要將學習率設定在一個合適的範圍。具體來說,學習率其實就是演算法的步長,一步走多少決定了很多事情:步子大了,優化效率高,很可能一下越過最優解;相反,步子小了,優化效率低,很可能陷進一個區域性最優解怎麼都走不出來。所以學習率的調整在演算法引數最優的過程中至關重要。
How decay learning rate?
- exponential_decay:指數衰減
decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps) - natural_exp_decay:自然指數衰減
decayed_learning_rate = learning_rate * exp(-decay_rate * global_step) - inverse_time_decay:逆時間衰減
decayed_learning_rate = learning_rate / (1 + decay_rate * global_step / decay_step) - polynomial_decay:多項式衰減
global_step = min(global_step, decay_steps)
decayed_learning_rate = (learning_rate - end_learning_rate) *(1 - global_step / decay_steps) ^ (power) + end_learning_rate
引數 | 意義 |
---|---|
decayed_learning_rate | 衰減後的學習率 |
learning_rate | 初始學習率 |
decay_rate | 衰減率 |
global_step | 當前的step |
decay_steps | 衰減週期 |