深度学习优化方法与应用的最佳途径
1. 高级优化方法概述
在深度学习中,有三个重要的值:
- W:权重矩阵
- lr:学习率
- dW:W的梯度
固定学习率在足够小时,能使训练过程中的损失下降。我们还了解到随机梯度下降(SGD)的扩展,如引入动量和Nesterov加速。接下来,我们将探索常见的自适应学习率优化器。
2. 自适应学习率方法
2.1 Adagrad
Adagrad是一种自适应学习率方法,它能根据网络参数调整学习率。对于不常更新的参数进行较大更新,而对频繁更新的参数进行较小更新。其更新的伪代码如下:
cache += (dW ** 2)
W += -lr * dW / (np.sqrt(cache) + eps)
其中,cache维护每个参数的梯度平方和,在每个小批量训练时更新。通过检查cache,可了解哪些参数更新频繁,哪些更新不频繁。Adagrad的主要优点是无需手动调整学习率,大多数实现将初始学习率设为0.01,让算法自适应调整。然而,其缺点在于cache中的梯度平方和不断累积,导致后期更新极小,网络难以学习,因此现代深度学习中很少使用。
2.2 Adadelta
Adadelta由Zeiler在2012年提出,可视为Adagrad的扩展,旨在减少cache导致的学习率单调递减问题。它只累积少量过去的梯度,实际实现时是计算所有过去梯度平方的衰减平均值。不过,与之密切相关的RMSprop算法更受青睐。
超级会员免费看
订阅专栏 解锁全文

1699

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



