Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
InplaceApplyAdamWithAmsgrad对AMSGrad优化器的四个状态张量var、m、v、vhat执行单步原地更新,语义对标TensorFlow ResourceApplyAdamWithAmsgrad。var、m、v、vhat在原地写回更新值;grad与六个标量超参参与计算,全部张量输入输出共享同一数据类型。
计算公式如下,更新依赖顺序固定为m→v→vhat(使用新v)→var(使用新m):
α=lr×1−beta2_power1−beta1_power\alpha = lr \times \frac{\sqrt{1 - beta2\_power}}{1 - beta1\_power} α=lr×1−beta1_power1−beta2_power
m=m+(grad−m)×(1−beta1)m = m + (grad - m) \times (1 - beta1) m=m+(grad−m)×(1−beta1)
v=v+(grad×grad−v)×(1−beta2)v = v + (grad \times grad - v) \times (1 - beta2) v=v+(grad×grad−v)×(1−beta2)
vhat=where(vhat<v, v, vhat)vhat = where(vhat < v,\ v,\ vhat) vhat=where(vhat<v, v, vhat)
var=var−m×αvhat+epsilonvar = var - \frac{m \times \alpha}{\sqrt{vhat} + epsilon} var=var−vhat+epsilonm×α
暂无
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud(背景信息)
InplaceApplyAdamWithAmsgrad对AMSGrad优化器的四个状态张量var、m、v、vhat执行单步原地更新,语义对标TensorFlow ResourceApplyAdamWithAmsgrad。var、m、v、vhat在原地写回更新值;grad与六个标量超参参与计算,全部张量输入输出共享同一数据类型。
计算公式如下,更新依赖顺序固定为m→v→vhat(使用新v)→var(使用新m):
α=lr×1−beta1_power1−beta2_power
m=m+(grad−m)×(1−beta1)
v=v+(grad×grad−v)×(1−beta2)
vhat=where(vhat<v, v, vhat)
var=var−vhat+epsilonm×α
Origin(信息来源)
暂无
Benefit / Necessity (价值/作用)
Design(设计方案)