【中科院自动化所AAAI Oral】从哈希到卷积神经网络:高精度 & 低功耗

简介: 程健研究员团队最近提出了一种基于哈希的二值网络训练方法,揭示了保持内积哈希和二值权重网络之间的紧密关系,表明了网络参数二值化本质上可以转化为哈希问题,在ResNet-18上,该方法比当前最好方法的精度提高了3%。

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

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

为了解决此类问题,人们提出了很多网络加速和压缩方法,其中网络参数二值化是一种将网络参数表示为二值参数的方法。由于二值网络中参数只有+1和-1两种值,乘法运算就可以被加法运算替代。由于乘法运算比加法运算需要更多的硬件资源和计算周期,使用加法运算替代乘法运算能够实现网络加速的目的。

另一方面,原始网络参数的存储格式是32位浮点数,二值参数网络只使用1位来表示+1或者-1,达到了32倍的压缩目的。但是将参数从32位量化到1位会导致较大的量化损失,当前的二值网络训练方法往往会导致较大的网络精度下降,如何学习二值的网络参数同时又不带来较大的精度下降是一个问题。

25b4a6437359ae744fc70ed204ca608371179f83

图自网络

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

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

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

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

ae1027bb61e7436e43d26a2f393e5ffbadd7b0aa

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


fede17fe478b16015a4ee47ee1778e7d22c54016

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

a8f1d0e8f19cfcc8ead087ad8ee1a0dc2ed917a1

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

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

相关工作已经被AAAI2018接收[1],并将在大会上作口头报告。


原文发布时间为:2018-02-8

本文作者:张乾

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:【中科院自动化所AAAI Oral】从哈希到卷积神经网络:高精度 & 低功耗

相关文章
|
16天前
|
机器学习/深度学习 人工智能 自动驾驶
什么是人工智能领域的卷积神经网络
什么是人工智能领域的卷积神经网络
20 0
|
16天前
|
机器学习/深度学习 算法 计算机视觉
卷积神经网络中的卷积层,如何提取图片的特征?
卷积神经网络中的卷积层,如何提取图片的特征?
25 0
|
29天前
|
机器学习/深度学习 存储 自然语言处理
卷积神经元网络CNN基础
卷积神经元网络CNN基础
37 1
|
29天前
|
机器学习/深度学习
大模型开发:解释卷积神经网络(CNN)是如何在图像识别任务中工作的。
**CNN图像识别摘要:** CNN通过卷积层提取图像局部特征,池化层减小尺寸并保持关键信息,全连接层整合特征,最后用Softmax等分类器进行识别。自动学习与空间处理能力使其在图像识别中表现出色。
24 2
|
1月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能与图像识别:基于深度学习的卷积神经网络
人工智能与图像识别:基于深度学习的卷积神经网络
34 0
|
6天前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
23 0
|
12天前
|
机器学习/深度学习 自然语言处理 算法
|
29天前
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
52 2
|
29天前
|
机器学习/深度学习 PyTorch 算法框架/工具
卷积神经元网络中常用卷积核理解及基于Pytorch的实例应用(附完整代码)
卷积神经元网络中常用卷积核理解及基于Pytorch的实例应用(附完整代码)
20 0
|
1月前
|
机器学习/深度学习 人工智能 算法
详细介绍卷积神经网络(CNN)的原理 !!
详细介绍卷积神经网络(CNN)的原理 !!
76 0

热门文章

最新文章