a852

专栏 | INQ问世,让深度神经网络百倍无损压缩美梦成真!

英特尔中国研究院英特尔中国研究院专栏2017/09/15

智东西(公众号:zhidxcom) 文 | 英特尔中国研究院 近几年来,深度学习技术在计算机视觉、语音识别和自 […]

智东西(公众号:zhidxcom)
文 | 英特尔中国研究院

近几年来,深度学习技术在计算机视觉、语音识别和自然语言处理等诸多领域取得的了一系列重大突破。然而,深度学习的发展依然面临诸多问题。尤为突出的是,时下主流的深度神经网络,一般包含数千万甚至是过亿的学习参数,而如此海量的参数给神经网络模型在存储、计算和功耗开销等方面带来了严峻的考验。

针对上述问题,英特尔中国研究院于近期提出了一种名为INQ(Incremental Network Quantization)的神经网络无损低比特量化技术。给定任意结构的全精度浮点神经网络模型(诸如AlexNet, VGGNet, GoogleNet和ResNets),我们此次提出的INQ技术能高效地将其转换成无损的低比特二进制模型,从而很好地解决了现有神经网络量化压缩方法的不足,为深度神经网络在定制化硬件上的部署、加速等开辟了新途径。

神经网络无损低比特量化技术

研究人员此前已经提出了很多神经网络量化压缩方法,但现有方法存在两方面的应用瓶颈:其一,来自量化压缩过程的网络精度损失依然不可忽视,在一定程度上限制了量化后模型的使用接受程度;其二,大多数量化压缩方法仅适用于处理特定的模型结构或者特定类别的层,一定程度上限制了方法的泛化能力和量化压缩的性能。

英特尔中国研究院认知计算实验室的姚安邦、郭怡文、周奥军、徐琳、陈玉荣等研究人员所提出的INQ技术,极其有效地解决了现有方法泛化能力不足,模型精度损失明显,以及重训练时间长等问题。

该技术提出了渐进式神经网络量化思想,其核心是引入了参数分组、量化和重训练三种操作。我们在实现中首先将全精度浮点网络模型中每一层参数分为两组,第一组中的参数将被直接量化并固定,而另一组中的参数将通过重训练以补偿量化给模型造成的精度损失。然后,上述三种操作将依次迭代应用到完成重训练后的全精度浮点参数部分,直到模型完全量化为止。通过巧妙耦合参数分组、量化和重训练操作,该技术抑制了模型量化造成的性能损失,从而在实际中适用于任意结构的神经网络模型。

85fd56a6c52852178bcb2e3e79681ca副本

INQ渐进式网络量化策略

(绿线代表当前已经被量化的网络连接;蓝线代表需要重新训练的网络连接)

值得一提的是,该技术还包含另外两个亮点。其一,在模型量化过程中,所有参数被限制成二进制表示,并包含零值,极限量化结果即为三值网络或者二值网络。这种量化使得最后的模型非常适合在硬件上部署和加速。比如在FPGA上,复杂的全精度浮点乘法运算将被直接替换为简单的移位操作。其二,现有神经网络量化压缩方法在处理二值网络或者三值网络时,为了让模型精度损失不至于太大,往往将模型第一层和最后一层参数依然保留为全精度浮点型,而我们的技术在对模型的所有参数进行量化的同时,实现了性能的全面领先

6a56b64514919da3da833874edc60a8副本

INQ渐进式网络量化示例

第一行:依次为参数分组、量化与重训练;

第二行:迭代过程

(绿色区域代表当前已经被量化的网络参数;浅紫区域代表需要重新训练的网络参数)

三大实际应用

基于业界最具挑战的ImageNet图像分类任务,英特尔中国研究院的研究人员给出了一系列令人激动的实验应用与结果。

参数二进制化的神经网络模型

首先,我们的研究人员将INQ技术应用到了时下所有的主流深度神经网络结构上。以AlexNet、 VGGNet、 GoogleNet和ResNets为例,通过5比特量化(其中1比特专用于表示零值,下同),我们的模型分类精度全面超越了原始的全精度浮点模型。以ResNet-18为例,在4比特和3比特条件下,INQ技术能够做到无损量化。尽管在三值量化时,量化后的模型精度有少许损失,但损失程度远低于目前业界已知的结果。

1

(固定比特长度、参数二进制化的神经网络模型性能)

2

(不同比特长度、参数二进制化的神经网络模型性能)

3

(三值、二值神经网络模型性能比较)

深度参数二进制化的神经网络模型

其次,我们的研究人员将INQ技术与之前我们发表在NIPS 2016的“动态外科手术”(Dynamic Network Surgery, DNS)技术相结合,实现了深度的神经网络二进制量化压缩。以AlexNet为例,首次实现了接近无损的、百倍级、二进制的神经网络模型

4

深度参数二进制化的神经网络模型性能

(P: 剪枝;Q: 量化;H: 霍夫曼码)

输入、输出及参数均二进制化的神经网络模型

最后,我们的研究人员进一步将INQ技术从只量化模型参数推广到了不但量化模型参数,还量化网络每一层输入和输出。以VGGNet为例,首次实现了无损的、低比特、全量化的神经网络模型

5

(输入、输出及参数均二进制化的神经网络模型性能)

目前,该方法相关文章即将发表在ICLR2017。作为深度学习领域的顶级会议,获准发表的论文都会得到业内人士的极大关注,从而对深度学习的发展产生相当的推动作用。据不完全统计,在ICLR2017接收的196篇文章中,英特尔中国研究院的INQ技术是唯一一项完全出自中国内地的研究工作。与这项工作相关的源代码正在逐步开源中,相信将会对学界和工业界产生巨大的影响,欢迎大家持续关注。

ZDX-Card-for-PC-e14665786932281-600x240