优化器 Optimizers _2
发布时间:2024-05-06 05:33:43
优化器(optimizer)是编译Keras模型的所需的两个参数之一:
你可以先实例化一个优化器对象,然后将它传入,像上述示例中一样,
或者你可以通过名称来调用优化器。在后一种情况下,将使用优化器的默认参数。
参数和能在所有的优化器中使用,用于控制梯度裁剪(Gradient Clipping):
随机梯度下降优化器
包含扩展功能的支持:
- 动量(momentum)优化,
- 学习率衰减(每次参数更新后)
- Nestrov动量(NAG)优化
参数
- lr: float >=0. 学习率
- momentum: float >=0. 参数,用于加速SGD在相关方向上前进,并抑制震荡
- decay: float >=0. 每次参数更新后学习率衰减值.
- nesterov: boolean. 是否使用Nesterov动量.
RMSProp优化器.
建议使用优化器的默认参数
(除了学习率lr,它可以被自由调节)
这个优化器通常是训练循环神经网络RNN的不错选择。
参数
- lr: float >=0. 学习率.
- rho: float >=0. RMSProp梯度平方的移动均值的衰减率.
- epsilon: float >=0. 模糊因子. 若为 , 默认为 .
- decay: float >=0. 每次参数更新后学习率衰减值.
引用
Adagrad优化器.
建议使用优化器的默认参数。
参数
- lr: float >=0. 学习率.
- epsilon: float >=0. 若为 , 默认为 .
- decay: float >=0. 每次参数更新后学习率衰减值.
引用
Adagrad优化器.
建议使用优化器的默认参数。
参数
- lr: float >=0. 学习率,建议保留默认值.
- rho: float >=0. Adadelta梯度平方移动均值的衰减率
- epsilon: float >=0. 模糊因子. 若为 , 默认为 .
- decay: float >=0. 每次参数更新后学习率衰减值.
引用
Adam优化器.
默认参数遵循原论文中提供的值。
参数
- lr: float >=0. 学习率.
- beta_1: float, 0 < beta < 1. 通常接近于 1.
- beta_2: float, 0 < beta < 1. 通常接近于 1.
- epsilon: float >=0. 模糊因子. 若为 , 默认为 .
- decay: float >=0. 每次参数更新后学习率衰减值.
- amsgrad: boolean. 是否应用此算法的AMSGrad变种,来自论文”On the Convergence of Adam and
Beyond”.
引用
Adamax优化器,来自Adam论文的第七小节.
它是Adam算法基于无穷范数(infinity norm)的变种。
默认参数遵循论文中提供的值。
参数
- lr: float >=0. 学习率.
- beta_1/beta_2: floats, 0 < beta < 1. 通常接近于 1.
- epsilon: float >=0. 模糊因子. 若为 , 默认为 .
- decay: float >=0. 每次参数更新后学习率衰减值.
引用
Nesterov版本Adam优化器.
正像Adam本质上是RMSProp与动量momentum的结合,
Nadam是采用Nesterov momentum版本的Adam优化器。
默认参数遵循论文中提供的值。
建议使用优化器的默认参数。
参数
- lr: float >=0. 学习率.
- beta_1/beta_2: floats, 0 < beta < 1. 通常接近于 1.
- epsilon: float >=0. 模糊因子. 若为 , 默认为 .
引用
原生Tensorlfow优化器的包装类(wrapper class)。