用法:
mxnet.ndarray.adam_update(weight=None, grad=None, mean=None, var=None, lr=_Null, beta1=_Null, beta2=_Null, epsilon=_Null, wd=_Null, rescale_grad=_Null, clip_gradient=_Null, lazy_update=_Null, out=None, name=None, **kwargs)
- weight:(
NDArray
) - 重量 - grad:(
NDArray
) - 坡度 - mean:(
NDArray
) - 移动均值 - var:(
NDArray
) - 移动方差 - lr:(
float
,
required
) - 学习率 - beta1:(
float
,
optional
,
default=0.899999976
) - 一阶矩估计的衰减率。 - beta2:(
float
,
optional
,
default=0.999000013
) - 二阶矩估计的衰减率。 - epsilon:(
float
,
optional
,
default=9.99999994e-09
) - 数值稳定性的小常数。 - wd:(
float
,
optional
,
default=0
) - 权重衰减通过惩罚大权重的正则化项来增强目标函数。惩罚与每个权重大小的平方成比例。 - rescale_grad:(
float
,
optional
,
default=1
) - 将渐变重新缩放为 grad = rescale_grad*grad。 - clip_gradient:(
float
,
optional
,
default=-1
) - 将渐变剪裁到 [-clip_gradient, clip_gradient] 的范围内 如果clip_gradient <= 0,渐变剪裁被关闭。毕业 = 最大(最小(毕业,clip_gradient),-clip_gradient)。 - lazy_update:(
boolean
,
optional
,
default=1
) - 如果为 true,如果梯度的 stype 为 row_sparse 并且所有 w、m 和 v 具有相同的 stype,则应用延迟更新 - out:(
NDArray
,
optional
) - 输出 NDArray 来保存结果。
- weight:(
out:- 此函数的输出。
NDArray 或 NDArray 列表
参数:
返回:
返回类型:
Adam 优化器的更新函数。 Adam 被视为 AdaGrad 的推广。
Adam 更新包括以下步骤,其中 g 表示梯度,m、v 是一阶和二阶矩估计(均值和方差)。
它使用以下方法更新权重:
m = beta1*m + (1-beta1)*grad v = beta2*v + (1-beta2)*(grad**2) w += - learning_rate * m / (sqrt(v) + epsilon)
但是,如果grad的存储类型为
row_sparse
,lazy_update
为True,并且权重的存储类型与m和v相同,则只更新索引出现在grad.indices中的row slice(对于w,m五):for row in grad.indices: m[row] = beta1*m[row] + (1-beta1)*grad[row] v[row] = beta2*v[row] + (1-beta2)*(grad[row]**2) w[row] += - learning_rate * m[row] / (sqrt(v[row]) + epsilon)
相关用法
- Python mxnet.ndarray.add用法及代码示例
- Python mxnet.ndarray.argmin用法及代码示例
- Python mxnet.ndarray.argsort用法及代码示例
- Python mxnet.ndarray.argmax_channel用法及代码示例
- Python mxnet.ndarray.arange用法及代码示例
- Python mxnet.ndarray.array用法及代码示例
- Python mxnet.ndarray.abs用法及代码示例
- Python mxnet.ndarray.argmax用法及代码示例
- Python mxnet.ndarray.op.uniform用法及代码示例
- Python mxnet.ndarray.op.sample_negative_binomial用法及代码示例
- Python mxnet.ndarray.NDArray.ndim用法及代码示例
- Python mxnet.ndarray.op.khatri_rao用法及代码示例
- Python mxnet.ndarray.op.unravel_index用法及代码示例
- Python mxnet.ndarray.contrib.group_adagrad_update用法及代码示例
- Python mxnet.ndarray.op.slice_like用法及代码示例
- Python mxnet.ndarray.sparse.trunc用法及代码示例
- Python mxnet.ndarray.op.L2Normalization用法及代码示例
- Python mxnet.ndarray.op.softmax_cross_entropy用法及代码示例
- Python mxnet.ndarray.where用法及代码示例
- Python mxnet.ndarray.NDArray.reshape用法及代码示例
- Python mxnet.ndarray.op.round用法及代码示例
- Python mxnet.ndarray.SliceChannel用法及代码示例
- Python mxnet.ndarray.eye用法及代码示例
- Python mxnet.ndarray.sample_multinomial用法及代码示例
- Python mxnet.ndarray.op.diag用法及代码示例
注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.ndarray.adam_update。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。