上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速

简介: 本文讲的是上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速,神经网络的压缩和加速现在已经成为一个热门课题,这个领域有多种研究方法,网络量化就是其中之一。网络量化分为输入量化和权值量化两种。而同时将输入和权值量化会造成网络精度的大幅下降。
本文讲的是上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速,

神经网络的压缩和加速现在已经成为一个热门课题,这个领域有多种研究方法,网络量化就是其中之一。网络量化分为输入量化和权值量化两种。而同时将输入和权值量化会造成网络精度的大幅下降。在Performance Guaranteed Network Acceleration via High-Order Residual Quantization (性能保障的高阶残差量化网络加速方法)一文中,作者针对这个问题,提出了高阶残差量化(HORQ)的方法,既能够利用网络量化带来的大幅计算加速,又能够保证网络的精度不会大幅下降。

在近期雷锋网 AI研习社的线上分享会上,该论文第一作者李泽凡为我们详细解读了HORQ方法及相关推导过程 。

李泽凡,上海交大 CS 系二年级博士生,师从高文院士和张文军教授。 研究方向为神经网络理论、网络加速和压缩。

分享内容:

大家好,今天我将为大家带来我们在ICCV 2017上发表的文章——Performance Guaranteed Network Acceleration via High-Order Residual Quantization (性能保障的高阶残差量化网络加速方法)。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

这篇文章的研究领域是网络加速和网络压缩。主要的网络加速和网络压缩方法可以分为如下三种类型,第一种是网络剪枝,第二种是低阶分解和低阶近似,第三种是网络量化和二值化。这篇文章的关注点在网络的二值化方法上。 

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

什么是网络的二值化/量化?这里以CNN的一个卷积层为例。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

卷积层的二值化有两个优点,第一个优点是可以实现模型大小的压缩。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

第二点是能加速计算。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

接下来介绍这篇文章的motivation,之前的XNOR网络虽然能实现58倍的加速,但网络精度出现大幅下降。我们希望既能利用二值化带来的便利,也避免网络精度的大幅度下降。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

说到这篇文章的方法之前,我们再来看看如何进行网络二值化。由浅入深,先来谈谈如何进行向量二值化。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

向量二值化的目标如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

求解如下最小二乘估计:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

相当于求解如下问题,可以转化为如何最大化X转置乘以H的问题。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

求解完H之后再来求解β,求解过程如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

由此得到前面图中该最优化问题的解析解形式如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

下面举个例子,如何运用向量二值化来二值化向量的內积。如下是四维向量相乘的例子: 

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结求解X和W內积的式子如下所示:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

估算值为1.27875,与实际值0.76相比有很大误差。这也表示,用这样的方法进行向量二值化会带来很大误差,信息损失巨大。 

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

由此,我们的工作提出高阶残差量化,利用泰勒展开的方法,具体如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

如图左所示是原来二值化方法的信息损失,我们定义量化残差的概念来描述信息损失:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

由此可以上升到二阶残差量化估计:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

下面是从三维空间来看:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

以此类推,我们可以定义K维残差估计:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

接下来利用HORQ(高阶残差)方法来逼近我们刚才XW=0.76的例子:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

下面求得X的二阶量化值,对W不用进行二阶二值估计,因为在之前网络中对权值进行二阶二值估计对网络的影响不是很大,我们只讨论对输入进行高阶残差估计方法。XW的值如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

最后的结果如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

同理作出三阶二值估计:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

三阶量化的结果如下,在0.81左右。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

同理可以做四阶二值估计,有一个很有意思的结论,对于n维向量X,它最多只有n阶二值估计。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

把这些残差估计做一个汇总,如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

这是一些HORQ框架下理论上比较有趣的结果。结论一:二值的残差一定是跟相应阶数下的二值向量垂直。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

推导过程如下,另外还有一些小结论:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

下面这张图中可以应用上面推导出来的定理。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

结论二:随着i的增加信息损失是逐渐减少的。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

第三个结论如下图:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

接下来讲一下如何将HORQ的方法应用到矩阵乘法中。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

实际上矩阵乘法可以看成一个行向量和一个列向量的乘积。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

话说回来,如何利用HORQ的方法计算卷积层呢?

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

这里涉及到tensor reshape过程,具体的过程如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

下面是原始的卷积网络以及对权值和输入二值化来进行卷积操作,这样带来的信息损失巨大。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

HORQ提出了下面这样一个框架模型。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

下面是一些实验结果,可以看到在一些小数据集上都有不错的表现,基本上可以降低一半的误差。图中也给出了不同阶数的加速比。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

下面是加速比的一些理论分析,加速比与三个因素有关,公式如下:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

可以看到参数之间的相关关系:

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结

接下来是一些问题。实际上HORQ网络模型依赖于二值化矩阵乘法的计算,需要一些比较合适的框架,二值模型的存储和载入与浮点数的存储和载入不一样。

上海交大CS系博士生李泽凡:利用高阶残差量化(HORQ)方法进行网络加速 | 分享总结







本文作者:Non
本文转自雷锋网禁止二次转载,原文链接

目录
相关文章
|
27天前
|
缓存 数据中心 网络架构
5个减少网络延迟的简单方法
高速互联网对工作与娱乐至关重要,延迟和断线会严重影响效率和体验。本文探讨了导致连接缓慢的三个关键因素:吞吐量、带宽和延迟,并提供了减少延迟的实用方法。包括重启设备、关闭占用带宽的程序、使用有线连接、优化数据中心位置以及添加内容分发网络 (CDN) 等策略。虽然完全消除延迟不可能,但通过这些方法可显著改善网络性能。
232 7
|
1月前
|
机器学习/深度学习 数据安全/隐私保护
基于神经网络逆同步控制方法的两变频调速电机控制系统matlab仿真
本课题针对两电机变频调速系统,提出基于神经网络a阶逆系统的控制方法。通过构造原系统的逆模型,结合线性闭环调节器实现张力与速度的精确解耦控制,并在MATLAB2022a中完成仿真。该方法利用神经网络克服非线性系统的不确定性,适用于参数变化和负载扰动场景,提升同步控制精度与系统稳定性。核心内容涵盖系统原理、数学建模及神经网络逆同步控制策略,为工业自动化提供了一种高效解决方案。
|
1月前
|
Kubernetes Shell Windows
【Azure K8S | AKS】在AKS的节点中抓取目标POD的网络包方法分享
在AKS中遇到复杂网络问题时,可通过以下步骤进入特定POD抓取网络包进行分析:1. 使用`kubectl get pods`确认Pod所在Node;2. 通过`kubectl node-shell`登录Node;3. 使用`crictl ps`找到Pod的Container ID;4. 获取PID并使用`nsenter`进入Pod的网络空间;5. 在`/var/tmp`目录下使用`tcpdump`抓包。完成后按Ctrl+C停止抓包。
70 12
|
2月前
|
机器学习/深度学习 算法 文件存储
神经架构搜索:自动化设计神经网络的方法
在人工智能(AI)和深度学习(Deep Learning)快速发展的背景下,神经网络架构的设计已成为一个日益复杂而关键的任务。传统上,研究人员和工程师需要通过经验和反复试验来手动设计神经网络,耗费大量时间和计算资源。随着模型规模的不断扩大,这种方法显得愈加低效和不够灵活。为了解决这一挑战,神经架构搜索(Neural Architecture Search,NAS)应运而生,成为自动化设计神经网络的重要工具。
|
3月前
|
监控 安全 网络安全
深入解析PDCERF:网络安全应急响应的六阶段方法
PDCERF是网络安全应急响应的六阶段方法,涵盖准备、检测、抑制、根除、恢复和跟进。本文详细解析各阶段目标与操作步骤,并附图例,助读者理解与应用,提升组织应对安全事件的能力。
547 89
|
3月前
|
机器学习/深度学习 数据采集 人工智能
GeneralDyG:南洋理工推出通用动态图异常检测方法,支持社交网络、电商和网络安全
GeneralDyG 是南洋理工大学推出的通用动态图异常检测方法,通过时间 ego-graph 采样、图神经网络和时间感知 Transformer 模块,有效应对数据多样性、动态特征捕捉和计算成本高等挑战。
116 18
GeneralDyG:南洋理工推出通用动态图异常检测方法,支持社交网络、电商和网络安全
|
4月前
|
域名解析 缓存 网络协议
优化Lua-cURL:减少网络请求延迟的实用方法
优化Lua-cURL:减少网络请求延迟的实用方法
|
4月前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
114 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
5月前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
386 1
|
5月前
|
安全 算法 网络安全
量子计算与网络安全:保护数据的新方法
量子计算的崛起为网络安全带来了新的挑战和机遇。本文介绍了量子计算的基本原理,重点探讨了量子加密技术,如量子密钥分发(QKD)和量子签名,这些技术利用量子物理的特性,提供更高的安全性和可扩展性。未来,量子加密将在金融、政府通信等领域发挥重要作用,但仍需克服量子硬件不稳定性和算法优化等挑战。

雷锋网

+ 订阅