随机方差减少算法:深度学习的 SVRG 和 SAGA 优化算法的实现。
随机梯度 (SGD) 是通过神经网络进行反向传播最常用的优化算法,因为它的成本比梯度下降要小。 但是,它的收敛速度非常慢,并且需要降低学习率才能收敛。
2013 年和 2014 年,出现了两种新的“混合算法”。 随机方差减少梯度 (SVRG) 和随机平均梯度增强 (SAGA) 是混合体,因为它们使用梯度的无偏估计,但它们的方差正在消失。 这两种算法具有指数收敛速度。 虽然它们的行为以机器学习目的而闻名,但它们并不用于深度学习主题。 例如,您现在可以在 scikit 学习库 ( ) 中使用 SAGA
对于这个项目,我想对这些算法进行编码以用于深度学习。 我已经使用 PyTorch 框架对这些算法进行了编码。
用法:此代码是用 Python3 编写的,我使用了 jupyter notebook。 您将需要下载以下
1