On variance reduction in stochastic gradient descent and its asynchronous variants

1. Abstract

基于variancereduction(VR)的SGD算法,比SGD更好,不论是theoretically and empirically,但是异步版本没有被研究。本文为很多VR算法提供了一个unifying framework,然后在这个框架中提出了一种异步算法,并证明了很快的收敛速度。对于通用的稀疏的机器学习问题,能够达到线性的加速。

2. Introduction

在强凸假设下,VR随机算法比SGD的期望收敛速度更快,VR分析了problem structure,做了一些space-time的trade-off,能够减少因为随机梯度带来的varince。需要将同步的VR算法扩展到异步的并行和分布式环境。

3. Related work:

3.1. Primal VR方法

  • SAG(Minimizing Finite Sums with the StochasticAverage Gradient)

  • SAGA(SAGA: A fast incremental gradient methodwith support for non-strongly convex composite objectives)

  • SVRG(Accelerating stochastic gradient descent using predictive variance reduction)

  • S2GD(Semi-Stochastic Gradient Descent Methods)

3.2. Dual VR方法

  • SDCA(Stochastic dual coordinate ascent methods for regularized loss)

  • Finito(Finito: A faster, permutable incremental gradientmethod for big data problems)

3.3. 分析Dual方法和VR随机方法之间关系

  • New Optimization Methods for Machine Learning

3.4. VR的算法结构

VR的算法结构可以trace back to经典的非随机incremental梯度算法(Incremental gradient, subgradient, and proximal methods for convex optimization:A survey),但是现在被公认的是,随机性帮助取得更快的收敛

3.5. Proximal方法

  • A proximal stochastic gradient method with progressive variance reduction

3.6. 加速VR方法

  • Stochastic Proximal Gradient Descent with Acceleration Techniques

  • Accelerated mini-batch stochastic dual coordinate ascent)

3.7. 分析finite-sum问题lower-bound

  • A lower bound for the optimization of finite sums

3.8. 异步SGD算法

并行variants

  • Hogwild!: A Lock-Free Approach to Parallelizing Stochastic Gradient Descent

分布式variants

  • Distributed delayed stochastic optimization

  • Distributed asynchronous incremental subgradient methods

3.9. Coordinate descent方法的并行和分布式variants

  • Asynchronous stochastic coordinate descent: Parallelism and convergence properties

  • An asynchronous parallel stochastic coordinate descent algorithm

  • An asynchronous parallel stochastic coordinate descent algorithm

  • Iteration complexity of randomized block-coordinate descent methods for minimizing a composite function

3.10. mini-batch

  • Mini-Batch Semi-Stochastic Gradient Descent in the Proximal Setting. 将S2GD扩展到mini-batch上,因此允许并行运行,但是需要更多的同步,只能允许小的batch

4. VR随机算法的通用框架

4.1. 假设条件

  • L-Lipschitz条件
  • lamda-strongly凸函数(也可扩展到smooth convex函数)

4.2. 已有VR算法

x是参数,alpha是额外的参数,A是alpha的集合

  • SVRG每m轮iteration更新一次完整的A
  • SAGA每轮iteration更新A中的一个alpha
  • SAG也是每轮iteration更新一个alpha

4.3. 空间时间开销分析

  • m较大时,SVRG的计算开销小,但是收敛速度慢
  • SAG和SAGA更频繁地更新A,因此收敛速度更快,但是存储开销大

4.4. 通用算法

HSAG:结合不同VR算法的调度策略

5. 异步VR算法

类似HogWild!,单机多核环境,稀疏机器学习问题

6. 实验

  • l2-LR算法
  • 无锁的SVRG对训练步长(学习速度)和线程数的变化鲁棒性更强

7. 总结

  • a common platform
  • an synchronous algorithm

你可能感兴趣的:(On variance reduction in stochastic gradient descent and its asynchronous variants)