引言
- 高学习率有利于加快迭代更新的速度,但不利于找到局部/全局最优点
- 低学习率有利于找到局部最优点,但可能使得模型无法跳出局部最优而无法获取全局最优
- 一般先利用较大的学习率寻找全局近似最优,再利用较小的学习率寻找局部最优,以期望获取模型的全局最优解。
公式
结果
代码
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 20 12:55:12 2017
@author: Administrator
"""
import numpy as np
import matplotlib.pyplot as plt
import math
lr = []
for i in range(10001):
max_learning_rate = 0.003
min_learning_rate = 0.0001
decay_speed = 2000.0
learning_rate = min_learning_rate + (max_learning_rate - min_learning_rate) * math.exp(-i/decay_speed)
lr.append(learning_rate)
plt.plot(np.arange(10001),lr)
plt.xlabel('iterations')
plt.ylabel('learning rate')
plt.title('plot the learning rate curve')
plt.tight_layout()
plt.show()