优化器keras.optimizers.Adam()详解
1.简介
在监督学习中我们使用梯度下降法时,学习率是一个很重要的指标,因为学习率决定了学习进程的快慢(也可以看作步幅的大小)。如果学习率过大,很可能会越过最优值,反而如果学习率过小,优化的效率可能很低,导致过长的运算时间,所以学习率对于算法性能的表现十分重要。而优化器keras.optimizers.Adam()是解决这个问题的一个方案。其大概的思想是开始的学习率设置为一个较大的值,然后根据次数的增多,动态的减小学习率,以实现效率和效果的兼得。
2.参数详解
keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.99, epsilon=1e-08, decay=0.0)
- lr:float> = 0.学习率
- beta_1:float,0 <beta <1。一般接近1。一阶矩估计的指数衰减率
- beta_2:float,0 <beta <1。一般接近1。二阶矩估计的指数衰减率
- epsilon:float> = 0,模糊因子。如果None,默认为K.epsilon()。该参数是非常小的数,其为了防止在实现中除以零
- decay:float> = 0,每次更新时学习率下降
3.其他
关于学习率的选择还没有一个明确的说法,可以参考这篇文章深度学习: 学习率 (learning rate)