用法:
mxnet.symbol.sparse.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, name=None, attr=None, out=None, **kwargs)
- weight:(
Symbol
) - 重量 - grad:(
Symbol
) - 坡度 - mean:(
Symbol
) - 移動均值 - var:(
Symbol
) - 移動方差 - 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,則應用延遲更新 - name:(
string
,
optional.
) - 結果符號的名稱。
- weight:(
結果符號。
參數:
返回:
返回類型:
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.symbol.sparse.adagrad_update用法及代碼示例
- Python mxnet.symbol.sparse.abs用法及代碼示例
- Python mxnet.symbol.sparse.exp用法及代碼示例
- Python mxnet.symbol.sparse.zeros_like用法及代碼示例
- Python mxnet.symbol.sparse.cbrt用法及代碼示例
- Python mxnet.symbol.sparse.make_loss用法及代碼示例
- Python mxnet.symbol.sparse.broadcast_mul用法及代碼示例
- Python mxnet.symbol.sparse.ftrl_update用法及代碼示例
- Python mxnet.symbol.sparse.sum用法及代碼示例
- Python mxnet.symbol.sparse.concat用法及代碼示例
- Python mxnet.symbol.sparse.broadcast_sub用法及代碼示例
- Python mxnet.symbol.sparse.sign用法及代碼示例
- Python mxnet.symbol.sparse.fix用法及代碼示例
- Python mxnet.symbol.sparse.square用法及代碼示例
- Python mxnet.symbol.sparse.broadcast_div用法及代碼示例
- Python mxnet.symbol.sparse.sgd_mom_update用法及代碼示例
- Python mxnet.symbol.sparse.floor用法及代碼示例
- Python mxnet.symbol.sparse.norm用法及代碼示例
- Python mxnet.symbol.sparse.broadcast_add用法及代碼示例
- Python mxnet.symbol.sparse.ceil用法及代碼示例
- Python mxnet.symbol.sparse.broadcast_plus用法及代碼示例
- Python mxnet.symbol.sparse.broadcast_minus用法及代碼示例
- Python mxnet.symbol.sparse.trunc用法及代碼示例
- Python mxnet.symbol.sparse.where用法及代碼示例
- Python mxnet.symbol.sparse.retain用法及代碼示例
注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.symbol.sparse.adam_update。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。