【压缩率3000%】上交大ICCV:精度保证下的新型深度网络压缩框架

【新智元导读】上海交通大学人工智能实验室的研究人员提出了一种新的方法,能够在保证网络模型精度的前提下对深度网络进行压缩。相关论文已被ICCV 2017接收,由上海交通大学人工智能实验室李泽凡博士实现,倪冰冰教授,张文军教授,杨小康教授,高文院士指导。

随着人工智能在各个领域的应用中大放异彩,深度学习已经成为街头巷尾都能听到的词汇。然而,网络越来越深,数据越来越大,训练越来越久,如何在保证准确率的情况下加速网络,甚至让网络在CPU或者移动设备上进行训练与测试,就变成了迫在眉睫的问题。

上海交通大学人工智能实验室的研究人员发表了论文《基于高阶残差量化的高精度网络加速》(Performance Guaranteed Network Acceleration via High-Order Residual Quantization),提出一种新的方法,能够在保证网络模型精度的前提下对深度网络进行压缩。实验结果,他们将网络的大小降低了约32倍,速度上有30倍的提升。虽然以往的方法在体积和速度上也曾经取得类似的效果,但本论文提出的方法在精度保证上更胜一筹。

新的压缩方法HORQ:加快网络计算的同时保证准确率

除了网络pruning,网络稀疏近似等等,网络二值化也是常见的网络加速方式。通常情况下,我们用 +1 和 -1 来代替原来的浮点数数值,使得卷积中的乘法操作变成加减操作,而如果输入和权重同时二值化,乘法操作就会变成异或操作。

这看似是一种合理的网络压缩方式,然而如果单纯的运用阈值二值化方法对网络输入进行二值化处理,那么模型最后的精度将无法得到保证。但如果不运用二值化方法对网络进行加速,那么就又无法利用二值化所带来的在计算和存储方面的优势。

这篇文章提出的HORQ(High Order Residual Quantization)方法,提出了一种针对输入的高阶残差二值量化的方法,既能够利用二值化计算来加快网络的计算,又能够保证训练所得的二值化网络模型拥有较高的准确率

图一展示了如何用HORQ方法将一个普通的卷积层进行残差量化。

图一 HORQ结构

之前的二值化方法,例如XNOR,对输入简单地采用了阈值量化的操作。这样的方法可以看成是对浮点数的一阶二值近似方法。在此之上,本文运用递归阈值量化的方法,提出了HORQ的框架。具体来讲,如图一所示,在第一次阈值量化操作后,我们可以定义并计算改阶近似对应的残差,然后对该阶残差进行新一轮的二值近似。通过对高阶残差的近似,我们可以得到对应于不同尺度下的二值feature map。将这些feature map相加,便可得到最终的输出。

实验结果

这篇文章的实验部分在MNIST和CIFAR-10数据集上进行测试,发现HORQ-net对比之前对输入简单采取一阶阈值二值化的方法有喜人的优势:

图二 MNIST实验

图三 Cifar-10实验

我们发现,对于二阶残差量化方法,该方法将网络的大小降低了约32倍,同时速度上有30倍的提升,相比XNOR-net在两个MNIST和CIFAR-10上测试准确率均有提升,并且展现出了可在CPU上进行网络训练的潜能。

图四 HORQ方法加速比性能分析

图五 HORQ方法加速比与量化阶数分析

HORQ方法对卷积层计算的的加速比跟卷积核大小,feature map数量,以及残差量化的阶数都有较大关系。这些关系体现在图四和图五中。而且,如图六所示,基于二值化的模型存储空间可以得到大幅度的降低。

结语

该论文提出的HORQ方法可以作为一个基础的二值量化的方法,用于网络的输入二值化中,能够在保证网络模型精度的前提下,利用二值量化的技术提升网络的计算速度,而且同时可以根据实际的硬件需要来调整残差阶数以适应需求。

这个方法有着很大的发展和使用前景。对于一般的深度学习网络,HORQ方法能能够很大程度上加速深度网络的计算速度。由于网络的每层输入的输入和权值都被二值化,模型的前向传播时间得到大大降低,同时存储模型所需的空间得到大大压缩,使得在资源受限的小运算平台,例如手机和笔记本上运行大规模深度网络模型成为可能。另外,高阶残差量化的方法能够使得网络精度的得到保证,使得网络不再会因为简单二值化方法而出现精度大幅下降。

该论文已经被ICCV2017接收,由上海交通大学人工智能实验室李泽凡博士实现,倪冰冰教授,张文军教授,杨小康教授,高文院士指导。

相关论文 Performance Guaranteed Network Acceleration via High-Order Residual Quantization 将在ICCV发表,详情可届时查看。

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2017-08-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏绿巨人专栏

强化学习总结

3557
来自专栏量子位

一个神经网络学习一切!谷歌又放了个大卫星(附论文)

李林 问耕 编译自 Arxiv 量子位 出品 | 公众号 QbitAI 最近,Google又在论文题目上口出狂言:One Model To Learn The...

40011
来自专栏机器人网

人工智能学习路线“六小撇步”

高等数学是基础中的基础,一切理工科都需要这个打底,数据挖掘、人工智能、模式识别此类跟数据打交道的又尤其需要多元微积分运算基础线性代数很重要,一般来说线性模型是你...

1281
来自专栏机器人网

人工智能“六步走”学习路线

高等数学是基础中的基础,一切理工科都需要这个打底,数据挖掘、人工智能、模式识别此类跟数据打交道的又尤其需要多元微积分运算基础

1052
来自专栏机器之心

读懂概率图模型:你需要从基本概念和参数估计开始

选自statsbot 作者:Prasoon Goyal 机器之心编译 参与:Panda 概率图模型是人工智能领域内一大主要研究方向。近日,Statsbot 团...

37011
来自专栏小石不识月

文本的词嵌入是什么?

词嵌入(Word embeddings)是一种单词的表示形式,它允许意义相似的单词具有类似的表示形式。

1.5K10
来自专栏机器学习算法原理与实践

文本主题模型之非负矩阵分解(NMF)

    在文本主题模型之潜在语义索引(LSI)中,我们讲到LSI主题模型使用了奇异值分解,面临着高维度计算量太大的问题。这里我们就介绍另一种基于矩阵分解的主题模...

1433
来自专栏开心的学习之路

知识篇——聚类算法应用

时隔两月开始继续储备机器学习的知识,监督学习已经告一段落,非监督学习从聚类开始。 非监督学习与监督学习最大的区别在于目标变量事先不存在,也就是说 监督学习...

3695
来自专栏SIGAI学习与实践平台

学好机器学习需要哪些数学知识?

“ 随机过程,实分析。机器学习往深里做肯定需要用这种,高级的数学语言去对问题进行描述。我本人对随机和实分析,其实目前也还只是略懂,很难说,真正的彻底掌握这两门十...

1473
来自专栏崔庆才的专栏

干货 | 给妹纸的深度学习教学——从这里出发

或许你第一个想弄明白的问题是人工智能(AI),机器学习(ML),深度学习(DL)三者的区别和联系,下图清晰明了地告诉你。 ? 1. 什么是机器学习 从小学开始...

47111

扫码关注云+社区

领取腾讯云代金券