机器之心线上分享第三期:深度神经网络-随机三元化梯度下降和结构化稀疏

原标题:视频 | 机器之心线上分享第三期:深度神经网络-随机三元化梯度下降和结构化稀疏

上周,机器之心 NIPS 2017 线上分享邀请到了杜克大学温伟。温伟博士分享了两种不同的方法 TernGrad 与 SSL。这篇文章对温伟博士的分享做了回顾,同时也编译介绍了这两篇相关论文。

温伟博士线上分享视频回顾

TernGrad

TernGrad[1] 是一种梯度量化方法,将浮点梯度随机量化到 {-1,0,+1},在保证识别率的情况下,大大降低梯度通信量。这篇论文是 NIPS 2017 Deep Learning track 里的 4 篇 orals 之一。

目前,论文已经可以从 arXiv 下载,源代码也在温伟的个人 GitHub 上公开。

论文链接:https://arxiv.org/pdf/1705.07878.pdf

代码地址:https://github.com/wenwei202/terngrad

随着深度学习神经网络规模越来越大,训练一个深度神经网络(Deep Neural Networks, DNNs)往往需要几天甚至几周的时间。为了加快学习速度,经常需要分布式的 CPU/GPU 集群来完成整个训练。如图 1,在主流的基于数据并行(data parallelism)的分布式深度学习中,各个计算单元(worker)并发地训练同一个 DNN,只不过各个单元用到的训练数据不一样,每一次迭代结束后,各个计算单元里的 DNN 参数或梯度 会通过网络(如以太网,InfiniBand 等)发送到参数服务器(Parameter Server)进行同步再下发。训练时间主要包括计算时间(computation time)和通信时间(communication time)。计算时间可以通过增加 workers 减少,然而,通信时间却随着 workers 的增加而增加。因此,在大规模分布式训练中,通信时间成为了新的瓶颈,如何降低通信时间成为很重要的研究课题。理论上,TernGrad 可以把通信量至少减少到 1/20;实际应用中,即使对 0 和±1 采用简单的 2 比特编码(浪费掉一个可用值),相对于传统的 32 比特的浮点型梯度,通信量也可以减少到 1/16。这可以大大克服通信瓶颈的约束,提升分布式训练的可扩展性。

图 1. 基于数据并行的分布式训练

温伟介绍说,「大大降低梯度的精度,会严重影响 DNN 训练效果。在基于量化的深度模型压缩算法中,即使可以将网络权重量化到低精度,但是训练过程仍然需要浮点精度的梯度,以保证训练的收敛性。那么我们是怎么将梯度量化到只有三个值,却不影响最后识别率的呢?我们的方法其实很简单,在普遍采样的随机梯度下降(Stochastic Gradient Descent,SGD)训练方法中,梯度是随机的,而且这种随机性甚至可以有助于 DNNs 跳出很差的局部最小值。既然梯度本来就是随机的,那为什么我们不把它们进一步随机地量化到 0 和±1 呢?在随机量化时,我们只需要保证新梯度的均值还跟原来一样即可。

在训练过程中,因为学习率往往较小,在梯度形成的优化路径上,即使 TernGrad 偶尔偏离了原来的路径,由于均值是一样的,后续的随机过程能够将偏离弥补回来。我们基于伯努利分布,类似于扔硬币的形式,把梯度随机量化到 0 或±1。在合理假设下,我们理论上证明了 TernGrad 以趋近于 1 的概率收敛到最优点。相对于标准 SGD 对梯度的上界约束,TernGrad 对梯度有更强的上界约束,但是我们提出了逐层三元化(layer-wise ternarizing)和梯度修剪(gradient clipping)技术,使得 TernGrad 的梯度上界约束接近标准 SGD 的上界约束,从而大大改善了 TernGrad 的收敛性。实验结果表明,在分布式训练 AlexNet 时,TernGrad 有时甚至会提高最后的识别率;在 GoogleNet 上,识别率损失也小于 2%。(图 2 为分布式训练 AlexNet 的结果,相对于标准 SGD 基线,TernGrad 具有同样的收敛速度和最终识别率。)」

本文来自企鹅号 - 凤凰网媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

ECCV 2018 | 旷视科技提出新型轻量架构ShuffleNet V2:从理论复杂度到实用设计准则

作者:Ningning Ma、Xiangyu Zhang、Hai-Tao Zhen、Jian Sun

832
来自专栏新智元

斯坦福新深度学习系统 NoScope:视频对象检测快1000倍

【新智元导读】 斯坦福大学的新研究构建一个名为 NoScope 的深度学习视频对象检测系统,利用视频的局部性对 CNN 模型进行优化,相比当前性能最好的 YOL...

2815
来自专栏新智元

基准评测 TensorFlow、Caffe、CNTK、MXNet、Torch 在三类流行深度神经网络上的表现(论文)

【新智元导读】新年伊始,新智元向你推荐香港浸会大学计算机学院褚晓文团队最新论文《基准评测当前最先进的深度学习软件工具》,评测了 Caffe、CNTK、MXNet...

4748
来自专栏企鹅号快讯

对比TensorFlow提升树与XGBoost:我们该使用怎样的梯度提升方法

选自Nicolo Blog 作者:Nicolò Valigi 机器之心编译 参与:蒋思源 几个月前,TensorFlow 发布了梯度提升方法的调用接口,即 Te...

2299
来自专栏机器之心

深度 | 对比TensorFlow提升树与XGBoost:我们该使用怎样的梯度提升方法

28011
来自专栏新智元

【猫咪生成器】DCGAN、WGAN等4种生成对抗网络猫咪图像对比

【新智元导读】 作者用 DCGAN,WGAN,WGAN-GP 和 LSGAN 等生成对抗网络(GAN),使用拥有1万张猫的图片的 CAT 数据集做“生成猫咪的脸...

3797
来自专栏IT派

谷歌发布MobileNetV2:可做语义分割的下一代移动端计算机视觉架构

项目链接:https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilen...

620
来自专栏AI科技评论

ICML论文精选:无监督学习的研究和应用

深度学习的类型按照数据是否有标记来区别可以分为三种:监督学习、半监督学习和无监督学习。事实上人类不可能把每件事都手把手的教给AI。无监督学习应该才是未来的趋势。...

36116
来自专栏机器之心

视频 | 机器之心线上分享第三期:深度神经网络-随机三元化梯度下降和结构化稀疏

上周,机器之心 NIPS 2017 线上分享邀请到了杜克大学温伟。温伟博士分享了两种不同的方法 TernGrad 与 SSL。这篇文章对温伟博士的分享做了回顾,...

33111
来自专栏机器之心

深度 | 苹果博客解读iPhone上的人脸识别深度神经网络

34610

扫码关注云+社区