1 Introduction

随机梯度下降算法(SGD)的迭代过程为:

其中gt\mathbf{g}_tgt​是对于梯度的无偏估计,即E[gt]=∇f(xt)\mathbb{E}[\mathbf{g}_t]=\nabla f(\mathbf{x}_t)E[gt​]=∇f(xt​).SGD算法可以加快计算的过程,但无法加快通信过程.在分布式机器学习环境中,通信问题是限制其发展的关键因素.
为了解决这个问题,可以对求解出来的梯度进行压缩操作,使用comp(g)comp(\mathbf{g})comp(g)来代替g\mathbf{g}g.然而压缩操作可能会影响训练的模型性能,为了避免这种情况,在本文中,我们将误差累积的机制应用于SGD中.大概来讲,在我们的压缩算法中,我们应用了一个内存向量m\mathbf{m}m来缓存被压缩的数据,即mt+1=mt+gt−comp(gt)\mathbf{m}_{t+1}=\mathbf{m}_{t}+\mathbf{g}_t-comp(\mathbf{g}_t)mt+1​=mt​+gt​−comp(gt​),并将这部分数据应用于下一次的迭代中,即下一次压缩数据为comp(gt+1+mt+1)comp(\mathbf{g}_{t+1}+\mathbf{m}_{t+1})comp(gt+1​+mt+1​).需要注意的是,使用了压缩技术后对于梯度的估计仍然是无偏的.
我们首先考虑需要进行优化的问题为:

其中fif_ifi​为L−L-L−平滑,fff为μ−\mu-μ−强凸,我们考虑了一种具有误差累积技术的序列稀疏SGD算法和为k−k-k−压缩操作提供收敛.通过选择合适的学习率后,我们可以得到的收敛率为

其中κ=L/μ,G2≥E∣∣∇fi(xt)∣∣2\kappa=L/\mu,G^2\ge \mathbb{E}||\nabla f_i(\mathbf{x}_t)||^2κ=L/μ,G2≥E∣∣∇fi​(xt​)∣∣2.

2 SGD with Memory

2.1 压缩和稀疏化操作

我们考虑满足以下压缩性质的压缩算符:

下面两个操作是具有k-稀疏向量附加性质的k-收缩操作的例子:

2.2 无偏更新的方差放大

我们首先考虑如下的SGD算法的变体,其中有(d−kd-kd−k)个随机坐标会被丢弃

上式的中更新是无偏的,即Egt=∇f(x)\mathbb{E}\ \mathbf{g}_t=\nabla f(\mathbf{x})E gt​=∇f(x).通过选择合适的学习率,这个算法可以对强凸和平滑的函数fff实现O(σ2/t)O(\sigma^2/t)O(σ2/t)的收敛率,其中σ2\sigma^2σ2为方差的上界,即

其中我们使用了标准假设Ei∣∣∇fi(x)∣∣2≤G2\mathbb{E}_i||\nabla f_i(\mathbf{x})||^2\le G^2Ei​∣∣∇fi​(x)∣∣2≤G2.
我们知道通过使用小批量梯度下降可以减少方差,因此我们可以假设公式(6)中的梯度计算为



通过这样计算,我们可以得到的方差为

2.3 SGD withMemory:算法及收敛分析

我们定义下述的算法,该算法满足之前的Difinition 2.1,

其伪代码如算法1所示.

关于算法1的收敛性如以下定理所述.

3 相关证明

我们首先构建一个虚拟序列{xt~}t>0\{\tilde{x_t}\}_{t>0}{xt​~​}t>0​,定义如下:

因此我们可以得到:


证明:根据公式(11)的定义可以得到:

对上式进行期望求解可以得到:

为了对上式的第三项进行限定,根据函数的强凸性可以得到:

根据∣∣a+b∣∣2≤2∣∣a∣∣2+2∣∣b∣∣2||\mathbf{a}+\mathbf{b}||^2\le2||\mathbf{a}||^2+2||\mathbf{b}||^2∣∣a+b∣∣2≤2∣∣a∣∣2+2∣∣b∣∣2,可以得到:

上述不等式可以通过∣∣x~t−x∗∣∣2≤2∣∣xt−x~t∣∣2+2∣∣xt−x∗∣∣2||\tilde{x}_t-x^*||^2\le 2||x_t-\tilde{x}_t||^2+2||x_t-x^*||^2∣∣x~t​−x∗∣∣2≤2∣∣xt​−x~t​∣∣2+2∣∣xt​−x∗∣∣2得到.
将上述的两个不等式应用于公式(23)中可以得到:


接下来根据平滑性质来估计最后一项,即:

将其于(26)结合可以得到:

故得证.
根据公式(13)我们可以知道,接下来我们需要对E∣∣mt∣∣2\mathbb{E}||\mathbf{m}_t||^2E∣∣mt​∣∣2进行限制,结果如下:

证明:根据

可以得到:

根据

我们可以得到


Sparsified SGD with Memory 论文阅读相关推荐

  1. Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling论文阅读

    <Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling& ...

  2. 论文阅读:Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour

    论文阅读:Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour 论文地址: https://arxiv.org/pdf/1706.026 ...

  3. 深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》

    深度学习论文阅读目标检测篇(一):R-CNN<Rich feature hierarchies for accurate object detection and semantic segmen ...

  4. 深度学习论文阅读图像分类篇(三):VGGNet《Very Deep Convolutional Networks for Large-Scale Image Recognition》

    深度学习论文阅读图像分类篇(三):VGGNet<Very Deep Convolutional Networks for Large-Scale Image Recognition> Ab ...

  5. 深度学习论文阅读目标检测篇(三):Faster R-CNN《 Towards Real-Time Object Detection with Region Proposal Networks》

    深度学习论文阅读目标检测篇(三):Faster R-CNN< Towards Real-Time Object Detection with Region Proposal Networks&g ...

  6. 深度学习论文阅读图像分类篇(五):ResNet《Deep Residual Learning for Image Recognition》

    深度学习论文阅读图像分类篇(五):ResNet<Deep Residual Learning for Image Recognition> Abstract 摘要 1. Introduct ...

  7. 论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning

    论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning 本文通过神经网络利用了减少轮数的 Speck 的差分性质.为此,作者对神经网络 ...

  8. 深度学习论文阅读目标检测篇(二):Fast R-CNN《Fast R-CNN》

    深度学习论文阅读目标检测篇(二):Fast R-CNN<Fast R-CNN> Abstract 摘要 1. Introduction 引言 1.1 RCNN and SPPnet 1.2 ...

  9. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  10. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

最新文章

  1. oracle hot patch david,Oracle EBS使用adpatch工具打patch过程(hotpatch mode)
  2. 数据结构--数组队列的实现
  3. Ubuntu 16.04下Caffe-SSD的应用(八)——处理标注好的VOC2007数据集
  4. 对于当下国产CPU如火如荼有感
  5. 软件工程之项目管理核心框架
  6. Grafana教程(prometheus 基本查询语法,alerting报警)
  7. 周育如的音标口诀大全_音标记忆顺口溜(48个),快速记忆音标口诀!
  8. 百度网盘等相关百度产品账号不存在问题
  9. 阿里云个人网站备案流程
  10. linux批量对文件改名,在Linux中对文件进行批量重命名文件的方法
  11. 使用谷歌身份验证器(Google Authenticator)保护你的后台
  12. 中科大校友一次意外事故,造就了让3000万人摘掉眼镜的手术
  13. 【个人学习笔记】概率论与数理统计知识梳理【一】
  14. week4 day3/4 常用模块
  15. 靶机渗透练习67-Looz
  16. [课堂大数据] 苏格拉底教学分析系统
  17. 数据报表对企业运营有什么意义?
  18. js实现a标签点击下载图片和txt等文件,而不是浏览器打开预览
  19. java 操作IP工具类(子网、地址等)
  20. 关于网线水晶头的接法详解(1)

热门文章

  1. 优雅降级实现IE8的transform平移属性
  2. WIN10_cmd命令提示符更换用户启动
  3. java gps解析_GPS经纬度可以用来Java解析
  4. CAD如何求曲线的交点?
  5. 集成电路产业的芯片设计、芯片制造、封装测试
  6. 清华大学中文语音识别数据 THCHS30
  7. QQ音乐MV/腾讯视频下载教程
  8. c语言智能车跑道检测程序,智能小车的循迹方法与流程
  9. Excel模板与Word模板【java】
  10. esp8266开发入门教程(基于Arduino)——点亮RGB灯