深度学习优化器与模型实现详解
1. 梯度移动平均的归一化
在迭代 $t$ 时,为了使梯度的移动平均成为整个数据集真实梯度 $g$ 的无偏估计,我们定义梯度的归一化移动平均 $\hat{m} {ij}^{(t)}$ 如下:
$\hat{m} {ij}^{(t)} = \frac{m_{ij}^{(t)}}{1 - \beta_1^t}$
同样,我们定义梯度平方的归一化移动平均 $\hat{v} {ij}^{(t)}$ 如下:
$\hat{v} {ij}^{(t)} = \frac{v_{ij}^{(t)}}{1 - \beta_2^t}$
每个权重 $w_{ij}$ 的最终更新规则如下:
$w_{ij}^{(t+1)} = w_{ij}^{(t)} - \eta \frac{\hat{m} {ij}^{(t)}}{\sqrt{\hat{v} {ij}^{(t)}} + \epsilon}$
使用示例:
optimizer = tf.keras.optimizers.Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
其中, learning_rate 是常数学习率 $\eta$, beta1 和 beta2 分别对应 $\beta_1$ 和 $\beta_2$, ep
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



