优化器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)
  1. lr:float> = 0.学习率
  2. beta_1:float,0 <beta <1。一般接近1。一阶矩估计的指数衰减率
  3. beta_2:float,0 <beta <1。一般接近1。二阶矩估计的指数衰减率
  4. epsilon:float> = 0,模糊因子。如果None,默认为K.epsilon()。该参数是非常小的数,其为了防止在实现中除以零
  5. decay:float> = 0,每次更新时学习率下降

3.其他

关于学习率的选择还没有一个明确的说法,可以参考这篇文章深度学习: 学习率 (learning rate)

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐