从哈希到卷积神经网络:中科院自动化所提出高精度&低功耗训练方法

在美国新奥尔良刚刚落幕的人工智能国际会议 AAAI 2018 上,来自中科院自动化所程健研究员团队的胡庆浩等人报告了一种基于哈希的深度神经网络二值化训练方法 [1],揭示了哈希与二值权重的神经网络之间的紧密关系,表明了网络模型的参数二值化问题可以转化为哈希学习问题,从而大幅提高了二值化深度神经网络模型的性能,使其能在资源受限场景下能兼顾性能和功耗。

近年来,深度卷积神经网络已经深入了计算机视觉的各个任务中,并在图像识别、目标跟踪、语义分割等领域中取得了重大突破。在一些场景下,当前深度卷积网络性能已经足以部署到实际应用中,这也鼓舞着人们将深度学习落地到更多的应用中。

然而,深度卷积网络在实际部署时面临着参数量和时间复杂度等两方面的问题,一方面是深度网络巨大的参数量会占用大量的硬盘存储和运行内存,这些硬件资源在一些移动和嵌入式设备中往往是很有限的;另外一方面就是深度网络的计算复杂度较高,这会使得网络推理速度很慢,同时会增加移动设备的电量消耗。

为了解决此类问题,人们提出了很多网络加速和压缩方法,其中网络参数二值化是一种将网络参数表示为二值参数的方法。由于二值网络中参数只有+1 和-1 两种值,乘法运算就可以被加法运算替代。由于乘法运算比加法运算需要更多的硬件资源和计算周期,使用加法运算替代乘法运算能够实现网络加速的目的。另一方面,原始网络参数的存储格式是 32 位浮点数,二值参数网络只使用 1 位来表示+1 或者-1, 达到了 32 倍的压缩目的。但是将参数从 32 位量化到 1 位会导致较大的量化损失,当前的二值网络训练方法往往会导致较大的网络精度下降,如何学习二值的网络参数同时又不带来较大的精度下降是一个问题。

自动化所程健研究员团队的胡庆浩等人最近提出了一种基于哈希的二值网络训练方法,揭示了保持内积哈希(Innerproduct Preserving Hashing)和二值权重网络之间的紧密关系,表明了网络参数二值化本质上可以转化为哈希问题。

给定训练好的全精度浮点 32 位网络参数 W,二值权重网络(BWN)的目的是学习二值网络参数 B 并维持原始网络精度。学习二值参数 B 的最朴素的方式就是最小化 B 与二值参数 B 之间的量化误差,但是这种量化误差和网络精度之间存在着一定的差距,最小化量化误差并不会直接提高网络精度,因为每一层的量化误差会逐层积累,而且量化误差会受到输入数据的增幅。

一种更好的学习二值参数 B 的方式是最小化内积相似性之差。假设网络某一层输入为 X,X^TW是原始的内积相似性,则 X^TB 是量化之后的内积相似性,最小化 X^TW 与 X^TB 之间的误差可以学习到更好的二值参数 B。从哈希的角度来讲,X^TW 代表着数据在原始空间中的相似性或者近邻关系,X^TB 则代表着数据投影到汉明空间之后的内积相似性。而哈希的作用就是将数据投影到汉明空间,且在汉明空间中保持数据在原始空间中的近邻关系。至此,学习二值参数 B 的问题就转化成了一个在内积相似性下的哈希问题,该哈希主要是将数据投影到汉明空间并保持其在原始空间中的内积相似性。

团队首先在 VGG9 小网络上对方法进行验证,并且在 AlexNet 和 ResNet-18 上超过当前的二值权重网络。特别的,在 ResNet-18 上,该方法比当前最好方法的精度提高了 3 个百分点。获得了较好的实验结果。

表 1:不同方法在 VGG9 上的分类错误率

 

表 2:不同方法在 AlexNet 的分类精度

 

表 3:不同方法在 ResNet-18 的分类精度

Dasgupta 等人 [2] 在 2017 年 11 月份的《Science》上撰文揭示了果蝇嗅觉神经回路其实是一种特殊的哈希,其哈希投影是稀疏的二值连接。对比二值权重网络(BWN), 我们可以发现二者之间有着密切的关系,首先,二者的网络都是二值连接,这意味着二值权重在生物神经回路中有存在的生物基础,这也为二值权重网络的潜在机理提供了启发;其次,二者都是为了保持近邻关系,并且可以描述为哈希问题,这种现象表明神经网络的某些连接是为了保持近邻关系。最后,果蝇嗅觉回路中的稀疏连接和卷积层的参数共享机制有着异曲同工之处,都是对输入的部分区域进行连接。

参考资源:

[1] Qinghao Hu, Peisong Wang, Jian Cheng. From Hashing to CNNs: Training Binary Weight Networks via Hashing. AAAI 2018

[2]Dasgupta S, Stevens C F, Navlakha S. A neural algorithm for a fundamental computing problem. Science, 2017, 358(6364): 793-796. 

团队介绍

中国科学院自动化研究所程健研究员团队主要从事深度神经网络优化计算、人工智能芯片设计等方面的研究和应用,在深度神经网络的加速和压缩、定点量化、低比特量化、加速器设计等方面取得了系列进展,相关成果发表在 JMLR、TNNLS、ToMM、CVPR、ICCV、ICML、AAAI、MM、DATE 等国际杂志和会议上,部分成果已经在企业得到应用。 

论文链接:https://pan.baidu.com/s/1jJJTv6Y  (提取密码:r76f)

理论中科院自动化研究所AAAI 2018理论论文
1
暂无评论
暂无评论~