没有合适的资源?快使用搜索试试~ 我知道了~
4012不动点分解网络Peisong Wang1,2 and Jian Cheng1,2,31中国科学2中国科学3中国科学院脑科学与智能技术卓越中心{peisong.wang,jcheng}@ nlpr.ia.ac.cn摘要近年来,基于深度神经网络(DNN)的方法在广泛的任务中取得了显着的性能,并且已经成为计算机视觉中最强大和最广泛使用的技术之一。然而,基于DNN的方法是计算密集型和资源消耗型的,这阻碍了这些方法在智能手机等嵌入式系统上的应用为了解决这个问题,我们引入了一种新的固定点因子化网络(FFN),用于预训练模型,以降低网络的计算复杂度和存储需求。由此产生的网络只有-1,0和1的权重 , 这 大 大 消 除 了 最 消 耗 资 源 的 乘 法 累 加 运 算(MAC)。在大规模ImageNet分类任务上的大量实验表明,所提出的FFN只需要千分之一的乘法运算,具有相当的准确性。1. 介绍深度神经网络(DNN)最近在包括计算机视觉、语音识别以及自然语言处理在内的许多领域中树立了新的最先进的性能。特别是卷积神经网络(CNN)在计算机视觉任务(如图像识别、对象检测、语义分割以及手势和动作识别)上的表现优于传统的机器学习算法。这些中断部分是由于增加的计算复杂性和存储空间,这使得这些模型非常难以训练和部署。例如,Alexnet[20]涉及61M浮点参数和725M高精度乘法累加运算(MAC)。当前的DNN通常通过使用NVIDIAGPU和CPU等专用硬件*通讯作者。集群但是这样的计算量对于诸如移动电话、平板电脑和可穿戴设备之类的便携式设备来说更重要的为了加速深度模型的测试阶段计算,社区最近研究了许多基于矩阵和张量分解的方法[5,15,32,21,18,30]。然而,这些方法通常利用全精度权重,这是硬件不友好的,特别是对于嵌入式系统。此外,低压缩比阻碍了这些方法在移动设备上的应用。定点量化可以部分缓解上述两个问题。已经有许多研究致力于通过量化DNN的参数来减少DNN的存储和计算复杂度。模型 其中一些作品[3,6,8,22,24]使用几个比特(通常是3到12比特)来训练预训练的权重,性能损失最小。然而,在这些类型的量化网络中,仍然需要采用大量的乘-累加运算。 别人[23,1,4,2,17,12,25]重点培训这些网络从头开始使用二进制(+1和-1)或三进制(+1,0和-1)权重。这些方法不依赖于预先训练的模型,可以减少训练阶段和测试阶段的计算量。但另一方面,这些方法不能很有效地利用预训练的模型,由于显着的信息损失期间的二进制或三进制量化的权重。在本文中,我们提出了一个统一的框架,称为固定点分解网络(FFN),同时加速和压缩DNN模型,只有轻微的性能下降。具体来说,我们建议首先使用定点(+1,0和-1)表示法直接分解权重矩阵,然后恢复(伪)全精度子矩阵。我们还提出了一种有效而实用的技术,称为重量平衡,4013我 们 的 微 调 ( 再 培 训 ) 更 加 稳 定 。 我 们 展 示 了AlexNet[20], VGG-16[29]和ResNet-50[10]的直接定点因子分解,全精度权重恢复,权重平衡和整体模型性能对ImageNet分类任务的影响。本文的主要贡献可以概括如下:• 本文提出了基于直接定点分解的FFN框架,用于DNN的加速和压缩,该框架具有更高的灵活性和准确性。• 基于不动点分解,我们提出了一种新的全精度权值恢复方法,该方法使得即使在训练过程中,对于非常深的架构,如深度残差网络(ResNets)[10]。• 研究了基于矩阵/张量分解的DNN加速方法中普遍存在的权重不平衡问题。以重量为灵感,在DNN模型的优化方法中,我们提出了一种有效的权重平衡技术来稳定DNN模型的微调阶段。2. 相关工作CNN加速和压缩是近年来广泛研究的问题我们主要列举与我们密切相关的作品,即,基于矩阵分解的方法和基于定点量化的方法。深度神经网络通常是过度参数化的,并且可以使用滤波器矩阵的低秩近似来去除冗余,如[5]的工作所示 。 从 那 时 起 , 许 多 基 于 低 秩 的 方 法 被 提 出 。Jaderberg[15]提出使用滤波器低秩逼近和数据重构来降低逼近误差。Zhang等人[32]提出了一种新的非线性数据重建方法,该方法允许非对称重建,以防止跨层误差积累。他们的方法在VGG-16模型上实现了高速加速,ImageNet[27]分类的前5名误差略有增加还研究了低秩张量分解方法,如CP分解[21],Tucker分解[18]和块项分解(BTD)[30],并显示出高加速和能量降低。基于定点量化的方法也被最近的几项工作所研究。Soudry等人提出了期望反向传播(EBP)方法[1],这是一种变分贝叶斯方法,用于对权重和神经元进行二值化,并在MNIST数据集上对全连接网络取得了良好的结果。在BinaryConnect[4]的工作中,作者提出使用二进制权重进行向前和向后计算,同时保持全精度版本的权重进行梯度累积。在MNIST、CIFA-10等小数据集上取得了良好的效果和SVHN。二进制权重网络(BWN)和XNOR网络是在最近的工作中提出的[25],这是第一个评估大规模数据集(如ImageNet[27])上二进制化性能的方法,并取得了良好的结果。这些方法从零开始训练神经网络,几乎不能从预先训练的网络中受益。Hwang等人[13]找到了一种方法,首先使用减少的位数来重新训练预训练的权重,然后再训练。然而,他们的方法仅在小数据集上的较长比特上取得了良好的大规模数据集的可扩展性仍然不清楚。除了上面提到的基于低秩和基于定点量化的方法之外,还存在其他方法。Han等人[9]利用网络修剪来删除低显着性参数和小权重连接,以减少参数大小。在[31]的工作中研究了乘积量化,以同时压缩和加速DNN师生架构[11,26]也得到了很好的研究,并取得了可喜的成果。不同于以往的工作,我们探讨了不动点因子分解的重量矩阵。利用权矩阵的不动点分解是很重要的.人们可能会争论使用全精度矩阵分解,如SVD,然后对分解的子矩阵进行定点量化但是,这种方法有一个明显的缺点:对于全精度子矩阵,优化了矩阵近似,但对于固定点表示,没有优化,这是我们的主要目标。相反,在我们提出的FFN架构中,我们直接将权重矩阵分解为定点格式,以端到端的方式。3. 方法我们的方法利用权重矩阵近似方法进行深度神经网络加速和压缩。与以往许多基于低秩的矩阵分解方法不同,该方法直接针对定点因子分解,而对因子分解后的子矩阵使用浮点值为了更有效地利用预训练的权重,除了直接定点分解之外,还引入了一种新的伪全精度权重矩阵恢复因此,预训练模型的信息分为两部分:第一个是定点因式分解子矩阵,第二个驻留在伪全精度权重矩阵中,另一方面,伪全精度权重矩阵将在微调阶段期间被转移到定点权重矩阵。此外,我们发现分解后微调变得更加困难,这也在[32]的工作中观察到,即,小的学习速率导致差的局部最优,而大的学习速率可能丢弃初始化,4014+Ij我我FIF+{+1,1,*d1* d2{+1,1,{+1,1,阵基于我们的实证结果和理论分析,我们提出了权重平衡技术,这使得微调更有效,在我们的整个框架中有重要的作用。我们将介绍我们的新的定点分解,伪全精度的重量恢复和重量平衡算法1改进的SDD分解输入:权重矩阵W∈Rm×n输入:非负整数k输出:X∈{+1,0,−1}m×k输出:Y∈{+1,0,−1}n×k输出:对角矩阵D∈Rk×k分别在第3.1、3.2和3.3节详细介绍了方法3.1. 权矩阵的不动点分解一般的深度神经网络通常具有多个完全连接的层和/或卷积层。对于全连接层,输出信号向量s。计算为:s=φ(Ws+b)(1)1:di←0fori=1,···,k2:SelectY∈ {−1,0,1}n×k3:whilenot convertdo4:f或i=1,···,k= 05:R←W−jdjxjyT6:将yi设置为Y的第i列7:虽然不收敛做8:计算xi∈ {−1,0,1}m,给定yi和Ro我9:计算yi ∈ {−1,0,1}n给定xi和R其中si是输入信号向量,W和b是权矩阵和偏置项。 对于一个骗子来说-10:结束时11:将di设置为RxiyT在非零上的平均值具有n个大小为w×h×c的过滤器的卷积层,其中w、h和c是核的宽度和高度,输入特征图,如果我们在每个空间位置处对内核和输入体积进行整形,则卷积的前馈通道也可以由等式1表示。因此,我们的分解是在权重矩阵W上进行的。在本小节中,我们建议直接将权重矩阵分解为定点格式。更具体地说,在我们的框架中,给定预训练模型的全精度权重矩阵W∈Rm×n近似为几个(k)向量对的外积的加权和,只有三进制(+1,0和-1)条目,这被称为半离散分解(SDD),格式如下xi yT的位置12:将xi设置为X的第i列,yi设置为Y的第i列,并且di设置为D的第i对角值。13:结束14:结束while尽量减少X、D、YXDYT2Σk(二)图1. 在我们的FFN架构中使用新层来取代原始卷积层。=最小化W−di xi yT2{xi},{di},{yi}i其中X∈ {−1,0,+1}m×k,Y ∈ {−1,0,+1}n×k,D∈R k×k是非负对角矩阵。请注意,在本文中,我们使用符号k来表示SDD分解的维度。与直接定点量化相比,定点分解方法的一个优点是有更大的空间来控制近似误差。考虑权矩阵W∈Rm×n的分解,我们可以选择不同的k来尽可能准确地近似W布莱。(注意k可以大于m和n)。这也使得可以根据该层的冗余度为不同的层选择不同的k。因此,我们的定点分解方法比直接量化方法更灵活由于2中的三元约束,SDD的计算是一个NP-难问题。Kolda和找到最好的下一个di xi yi. 为了进一步减少分解的近似误差,我们改进了他们的算法,如在算法1中,通过迭代最小化残差误差。一旦分解完成,我们就可以用分解的权重来替换原始权重WX、Y和D. 更正式地说,对于卷积层,层由三个层代替:第一层是具有大小为w×h×c的k个滤波器的卷积层,这些滤波器都具有三进制值;第二层是“通道方式缩放层”,即,将所述k个特征图中的每一个乘以缩放因子;最后一层是另一个卷积层,有n个大小为1 × 1 × k的滤波器,它们也有三进制值。 图1展示了我们新层的架构,在FFN网络中。3.2. 全精度重量恢复我们的定点分解方法比直接二值化或三值化方法精确得多,4015F许多其他定点量化方法。但是仍然需要微调来恢复DNN模型的精度与当前大多数基于定点量化的加速方法一样,我们希望在前向和后向传播期间使用量化权重(在我们的情况下为X,Y然而,在因式分解之后,全精度权重丢失,即,原始的W不能再用于梯度累积。一个简单的解决方案是使用X和Y的浮点版本作为全精度权重来累积梯度。但这远远不能令人满意,从第4.1.2节可以看出。在本小节中,我们提出了基于预训练权重的新的全精度权重恢复方法,以使微调阶段更加容易。我们的动机很简单,我们恢复X的全精度版本和Y,用X和Y表示 ,可以更好地近似-马特·W注意,同时,我们必须确保X和Y将被量化为X和Y。行动阶段我们可以将我们的全精度权重恢复方法视为当前定点量化方法的逆。在基于定点量化的DNN加速和压缩方法中,我们将全精度权重矩阵的每个元素转换为最近的定点格式值。而在我们的方法中,我们通过定点分解得到了权重的定点版本,并且我们需要确定定点元素从哪个值量化。我们把这个问题转化为一个优化问题,如下所示:从0到1等等。 例如,我们认为0.499和0.001将根据等式4被量化为0。 但在微调阶段,0.499比0.001有更大的概率变为1。这种信息存在于全精度权重矩阵中,并在微调时传递给量化权重注意,在微调之后将不保留全精度权重3.3. 重量平衡到目前为止,我们已经介绍了我们的定点分解和全精度权重恢复,以提高深度神经网络的测试阶段效率。然而,还有一个问题需要考虑,我们称之为体重不平衡。权重不平衡是基于分解的方法的常见问题,不仅仅存在于我们的框架中(如[32]中所述)。这个问题是由分解的非唯一性引起的.考虑一个L层神经网络,插补的格式如下:z(1+ 1)=W(1)a(1)+b(1)a(l+1)=φ(z(l+1))(5)在反向传播期间,每层的误差项和权重梯度如下:δ(1)=((W(1))Tδ(1+ 1))·φ′(z(1))(6)尽量减少X轴,Y轴W−X水(l) =δ(1+ 1)(a(1))T(7)受|Xij−Xij|0<的情况。5,i,j|Yij−Yij|0<的情况。5,i,j(三)这里的注意,对于层1,输入、输出和误差项被表示为a(1)、a(1+ 1)和δ(1)。从等式我们可以看到,梯度ΔW(l)正比于这里引入了两个约束,以确保X和Y将被量化为X和Y。问题可以通过替代方法有效地解决。注意,我们将X轴和Y轴限制在-1.5和1.5之间,以减轻过拟合,并且在微调期间,我们还将权重也在[-1.5,1.5]区间内。在微调阶段,我们根据以下等式计算X和Y的全精度权重(在下一小节中描述的权重平衡之前):该层而从等式6我们可以看到,下一层的误差项δ(1 + 1)与下一层的权重W(1 + 1)成比例。假设我们有一个权重矩阵W,它被分解为两个矩阵W=PQ的乘积,即,如图2(a)所示,具有参数W的原始层被具有参数Q和P的两个层代替。 如果让P′=P/α和Q′=α<$Q,分解为+10。5A<<1.一、5W=P′Q′,如图2(b)所示。图2显示q(Aij)=IJ0- 0 5≤ A ij≤0。5(四)Q被放大了α倍,而梯度-1-1。5
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功