CN110782003A - 一种基于哈希学习的神经网络压缩方法及系统 - Google Patents
一种基于哈希学习的神经网络压缩方法及系统 Download PDFInfo
- Publication number
- CN110782003A CN110782003A CN201910892713.6A CN201910892713A CN110782003A CN 110782003 A CN110782003 A CN 110782003A CN 201910892713 A CN201910892713 A CN 201910892713A CN 110782003 A CN110782003 A CN 110782003A
- Authority
- CN
- China
- Prior art keywords
- matrix
- weight matrix
- characteristic diagram
- neural network
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于哈希学习的神经网络压缩方法及系统。该方法包括如下步骤:在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;根据每层的权重矩阵的梯度值以及每层的投影矩阵的梯度值分别对权重矩阵和投影矩阵进行更新。该方法在随机投影的基础上增加哈希学习的部分,通过同时训练权重矩阵和投影矩阵的方法来全局最小化损失函数,从而增加算法的分类准确率,达到可接受的微小性能退化的目标,具有很高的灵活性。
Description
技术领域
本发明涉及一种基于哈希学习的神经网络压缩方法,同时涉及一种用于实现该方法的神经网络压缩系统。
背景技术
近年来,深度神经网络在很多领域都显示出巨大的潜力,包括计算机视觉和语音识别等。得益于大数据技术和GPU并行计算的快速发展,在计算复杂网络庞大的神经学习中提供强大的硬件支持,使得神经网络模型和深度学习方法越来越多的应用到计算机视觉领域中。在物体识别、图像分类、图像检索、人脸验证、视频理解等方面,都有着超出其他方法的准确率和性能的显著提升。其中,在计算机视觉领域,其中一种深度神经网络—卷积神经网络因其在模拟人大脑的抽象和迭代的过程的出色表现,能从大数据中准确获取信息,从而在很多应用中能够做到最高的标准。与此同时,我们可以看到在计算机视觉领域正在兴起的一些在虚拟现实、增强现实、智能穿戴设备的有趣的进步。综合来看,在智能便携设备上加载高性能的识别系统已经刻不容缓。
然而,当今的基于卷积神经网络的识别系统需要大量的内存和高性能的计算能力,通常都需要在昂贵的GPU集群上实现。尽管神经网络的训练可以在GPU集群上训练,但是如果要做到实时的话,那么测试过程便需要在移动设备上完成。然而深度的卷积神经网络随着数据集的增大、特征数的变多,模型的规模、参数的存储、计算量也随之增大,导致了很高的计算能力的需求,从而几乎无法在移动设备或者嵌入式设备中使用,阻碍了其发展。
众所周知,移动设备、嵌入式设备、普通的移动电脑有内存空间、计算能力和能耗的限制,而在大多数移动设备只有1GB的随机存取内存(RAM)的条件下,在2014年ImageNet竞赛中获胜的卷积神经网络训练得到的参数就已达到了576MB,这会占用大量的RAM,而且为了测试一张图片载入超过500M的参数在能耗上也是不可接受的,更不用说计算时间了,这些高内存和高计算能力的要求的缺点在移动设备上暴露无遗。因此这些模型对于手机、嵌入式设备、智能穿戴设备来说极大的超过了它们可以承受的内存、所需电量和计算能力。
然而越来越多的深度学习应用都越来越多的朝向移动设备和嵌入式设备中,例如智能手机和机器人上实现图片分类,自动驾驶汽车需要实时的进行物体识别,所以如何对神经网络进行压缩以降低计算量和存储空间,成为迫切需求。
发明内容
针对现有技术的不足,本发明所要解决的首要技术问题在于提供一种基于哈希学习的神经网络压缩方法。
本发明所要解决的另一技术问题提供一种基于哈希学习的神经网络压缩系统。
为实现上述发明目的,本发明采用下述的技术方案:
根据本发明实施例的第一方面,提供一种基于哈希学习的神经网络压缩方法,包括如下步骤:
在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;
在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;
根据每层的权重矩阵的梯度值以及每层的投影矩阵的梯度值分别对权重矩阵和投影矩阵进行更新。
其中较优地,在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图,采用如下步骤:
对压缩后的输入特征图和权重矩阵相乘,得到输出特征图。
其中较优地,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩时,对输入特征图和权重矩阵通过相同的投影矩阵进行压缩。
其中较优地,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,包括如下步骤:
其中,k为神经网络层数,b为压缩因子。
其中较优地,在前向传播中,将卷积层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;包括如下步骤:
将输入特征图和权重矩阵分别通过im2col重新组织成一个大矩阵;
将重新组织后的输入特征图和权重矩阵通过投影矩阵进行压缩;
对压缩后的输入特征图和权重矩阵相乘,得到输出特征图;
对输出特征图进行col2im操作得到最终的输出特征图。
其中较优地,在后向传播中,通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;其中将前向过程中使用的不可导的y=sgn(x)函数用y=x来近似,因此当损失函数中包含的sgn(x)用x替换时,输入特征图的梯度值为:
其中较优地,在后向传播中,通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值投影矩阵的梯度值和;其中将前向过程中使用的不可导的y=sgn(x)函数用y=Htanh(x)来近似,因此当损失函数中包含的sgn(x)用Htanh(x)替换时,输入特征图的梯度值为:
根据本发明实施例的第二方面,提供一种基于哈希学习的神经网络压缩系统,包括处理器和存储器;所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时实现如下步骤:
在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;
在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;
根据每层的权重矩阵的梯度值以及每层的投影矩阵的梯度值分别对权重矩阵和投影矩阵进行更新。
本发明提供的基于哈希学习的神经网络压缩方法,在随机投影的基础上增加了哈希学习的部分,通过同时训练权重矩阵和投影矩阵的方法来全局最小化损失函数,从而增加算法的分类准确率,达到可接受的微小性能退化的目标,具有很高的灵活性,并且大大的降低了参数的存储。
附图说明
图1为本发明所提供的基于哈希学习的神经网络压缩方法的流程图;
图2为本发明所提供的实施例中,im2col操作示意图;
图3为本发明所提供的实施例中,Hardtanh函数的示意图;
图4为本发明所提供的基于哈希学习的神经网络压缩系统的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术内容进行详细具体的说明。
目前有很多相关论文对于神经网络的压缩加速实现进行研究,尤其是二值化实现相关论文的大概的公式。但是,目前在压缩上都是直接对权重矩阵和输入矩阵转变成同样的二值化数,所以压缩倍数也就是从4个字节的实数变成1个比特的数,那么在压缩上也就是32倍,在计算上因为比特数之间可以通过位运算之类的操作来实现,所以加速明显,而且这种方法简单易行,思路清晰,很容易实现,而且又很有效。但是由于压缩倍数固定为32倍,这个条件非常限制。比如在小网络上,压缩32倍可能会导致参数太少,准确率损失太多,而在大网络上,32倍的压缩率可能又会显得太小,压缩之后模型依然很大。
为了解决以上问题,可以通过结合投影压缩的方法来进行改进。如果仅仅通过增加一个超参数压缩因子,针对输入矩阵来做压缩,同样权重矩阵也会相应的在其中一个维度上有同样的压缩,最后会得到二值化的输入矩阵和权重矩阵。能达到的压缩倍数可以超过现有的一些研究方法使用的固定的压缩倍数,同时也可以根据网络的具体大小来进行压缩倍数的定制,灵活性更高。而且因为压缩倍数可以更大,所以在移动设备上加载测试时,所需要的计算量和存储空间更小,能耗更少,更能适应在低性能设备上的操作。
但是在随机投影中,主要采用投影的方式做降维操作的作用,但是在实验过程中,仅仅根据随机生成的投影矩阵来做大规模的压缩时,很容易出现损失率大幅下降的问题,这也是网络压缩文章中不可避免的问题,所以我们思考是否需要对投影矩阵做进一步的处理,来提高准确率。在随机投影哈希中,投影矩阵和数据集是没有直接关系的,所以也是独立于数据集的,但是很显然数据集本身的分布特征,投影矩阵无法进行学习,所以效果一般会差一些,所以,在本发明所提供的基于哈希学习的神经网络压缩方法中,通过探索哈希学习的投影矩阵来实现对于准确率的提高。
如图1所示,本发明所提供的基于哈希学习的神经网络压缩方法,包括如下步骤:首先,在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;然后,在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;最后,根据每层的权重矩阵的梯度值以及每层的投影矩阵的梯度值分别对权重矩阵和投影矩阵进行更新。下面对这一过程做详细具体的说明。
S1,在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图。
在描述本发明所提供的基于哈希学习的神经网络压缩方法之前,先介绍一下哈希算法。哈希算法的主要思想是将任意长度的二进制值通过设计的哈希函数映射到固定长度的二进制值,这些固定长度的二进制值称作哈希值,这种方法将不同大小的消息或者数据压缩成固定的数据格式,使得数据量大大减小。哈希随机投影在图像领域中用于检索、存储,在密码学领域广泛用于数据加密。
哈希算法的三大要素是输入空间、哈希函数和输出空间,输出空间也就是包含哈希值的空间,所以对哈希算法来说,最重要的是哈希函数。一般来说哈希算法需要几个哈希函数共同作用来将原始数据变成的哈希编码,并且能够保持与输入数据的一致性,也就是说如果两组输入数据在输入空间里是相似的,那么它们的哈希编码在输出空间里也是相似的,反过来也同样成立。其中局部敏感哈希算法就是一种广泛使用的哈希算法。大致定义如下:
给定一组哈希函数H={h:D→U},对于H中的每一个函数h∈H,对于任意的两个向量p,q∈D,若满足以下条件:
如果d(p,q)≤d1,则Pr[h(q)=h(p)]≥P1;
如果d(p,q)≥d2,则Pr[h(q)=h(p)]≤P2。
其中,d(p,q)是p和q之间的距离,Pr[h(q)=h(p)]表示h(q)和h(p)相等的概率,d1,d2,P1,P2是阈值,一般d1<d2,P1>P2,则我们称哈希函数簇H是位置敏感的,即(d1,d2,P1,P2)-sensitive。
在图像方面,哈希算法在图像检索、图像存储、视频检索、视频存储等方面都大量使用。在传统的图像检索中,直接从图像中提取到的图像特征是高维高精度的数据,直接作为检索依据时需要极其复杂的运算,而且图像数据库中一般有上百万张图像,所以耗时长、很难达到实时的要求。而基于哈希算法的检索则直接利用图像特征变换来的哈希编码来做相似度计算和检索,显著减少了计算时间和存储空间。
在本发明所提供的实施例中,将基于学习的投影哈希算法应用于神经网络的压缩。在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;具体包括如下步骤:
S11,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩。
其中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩时,对输入特征图和权重矩阵通过相同的投影矩阵进行压缩;具体包括如下步骤:
然后再在哈希编码上进行进一步的作用,在投影哈希中哈希矩阵P可能是数据不敏感的,比如随即投影。
S12,对压缩后的输入特征图Sk和权重矩阵Wk相乘,得到输出特征图。
在本发明所提供的实施例中,在前向传播过程中,将每个神经网络层的输入特征图和权重矩阵都通过相同的投影矩阵进行压缩,对压缩后的矩阵相乘得到的矩阵作为原输出特征图的近似。即原来的输出特征图通过实值的输入特征图Sk、权重矩阵Wk相乘计算得到,现在通过二值化后的输入矩阵权重矩阵相乘计算得到,即:
具体地说,在每一层中,假设共有L层网络,每一层即k=1到L的网络运算如下:
其中,对于全连接层,全连接层进行的是线性操作,其计算公式如下:
其中,R为压缩后的矩阵的大小,m*n分别为压缩后的输入特征图对应的矩阵的行数和列数。m*Cr分别为压缩后的特征矩阵对应的矩阵的行数和列数,Tk为输出特征图;Cr*n分别为压缩后的输出特征图对应的矩阵的行数和列数。
对于卷积层,其具体操作是卷积操作,所以跟全连接层的线性操作有所不同,但是实际上在Torch或者Caffe等深度学习平台的代码中,事实上卷积的实现是通过将原来的输入特征图的高维矩阵按照一定的规则拉成相应的形式,权重矩阵也是如此,然后再进行线性操作。这个规则就是im2col的操作。
在本发明所提供的实施例中,在前向传播中,将卷积层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;具体包括如下步骤:
S01,将输入特征图和权重矩阵重新组织成一个更大的矩阵。
S02,将重新组织后的输入特征图和权重矩阵通过投影矩阵进行压缩。
S03,对压缩后的输入特征图和权重矩阵相乘,得到输出特征图。
S04,对输出特征图进行col2im操作得到最终的输出特征图。
具体地说,如图2所示,在具体实现中,输入特征图和权重矩阵都被重新组织成一个更大的矩阵,其中将输入特征图和权重矩阵被重新组织成一个更大的矩阵的过程采用本领域的常规重组过程,在此不做具体限定。然后,将重新组织后的输入特征图和权重矩阵通过投影矩阵进行压缩,并对压缩后的输入特征图和权重矩阵相乘,得到输出特征图。最后,再对输出特征图进行常规的col2im操作,实现更高效率的卷积。所以在本质上,卷积层的压缩实现和全连接层并没有很大的差异,只有细微的区别。所以卷积层计算公式如下:
S2,在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;具体地说,根据输出特征图计算神经网络的损失函数,通过损失函数可以得到最后的输出层的梯度初始值因为第k-1层的输出对应第k层的输入,即Tk-1=Sk,计算输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;对k=L到1,逐层递推,可以得到每一层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值,最终得到神经网络最初输入数据时,输入特征图对应的权重矩阵以及用于压缩的投影矩阵,将此权重矩阵和投影矩阵进行相应的操作对初始的权重矩阵和投影矩阵进行更新。
在本发明所提供的实施例中,根据输出特征图计算神经网络的损失函数,采用传统的交叉熵的方式计算神经网络的损失函数,在此便不在赘述了。
因为在前向传播过程中,对输入特征图和输出特征图做了一些变换,所以在后向传播时,参数的梯度也会发生相应的变化,并且由于投影矩阵的存在,输入矩阵和权重矩阵的梯度会因为投影矩阵的操作而发生相应的变化,需要通过链式法则对于它们的梯度做进一步的推导。
除此之外,投影矩阵不是纯随机产生与本数据集无关的,而是需要训练学习得到的,所以需要求出投影矩阵的梯度值,并且训练过程中能够同时训练权重矩阵和投影矩阵,以此得到更好的分类准确率。由于对k=1到L,都有根据链式法则由此还可以得到投影矩阵的梯度值如下:
在上述的式子中,因为涉及到sgn函数的求导,但是sgn函数并不连续可导,所以无法直接给出。故一般在对其求导时需要做一些不同的处理,大多数都用一些近似的连续函数来做逼近,所以在下面根据不同的近似函数做不同的求导处理。
如果对y=sgn(x)的逼近用y=x,即直接去sgn逼近,即可求出:
所以最终梯度的表达式为:
如果对y=sgn(x)的逼近用y=Htanh(x)=max(-1,min(1,x)),即用Hard tanh函数逼近,Hard tanh函数如图3所示。
S3,根据每层的权重矩阵的梯度值以及每层的投影矩阵的梯度值分别对权重矩阵和投影矩阵进行更新。
根据每层的权重矩阵的梯度值更新权重矩阵,采用如下公式:
根据每层的投影矩阵的梯度值更新投影矩阵,采用如下公式:
在本发明所提供的另一实施例中,当数据输入到神经网络时,存在偏置矩阵bk,在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;此时的输出特征图为:
然后,在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图和权重矩阵的梯度值;最后,根据每层的权重矩阵的梯度值更新权重矩阵,并根据损失函数计算每层偏置矩阵的梯度值,根据每层的偏置矩阵的梯度值更新偏置矩阵,采用如下公式:
下面分析本发明所提供的基于哈希学习的神经网络压缩系方法在压缩和加速上的具体表现,算法复杂度如下:
表1算法复杂度分析表
在全连接层中,在实际压缩时,我们取压缩因子为n(n大于1),那么b则是输入向量Cs的1/n,所以我们把b=Cs/n带入表格中得到精简版的算法复杂度如下:
表2全连接层算法复杂度分析表
由比值我们可以讨论三种情况:
当Cs≈Ct时,计算加速倍数约为n/2,存储压缩倍数约为n。
当Cs<<Ct时,计算加速倍数是n,存储压缩倍数约是32n。
在实际使用过程中,更常见的是第1种情况,所以理论上来说压缩实际有效。
在卷积层中,在实际压缩时,我们取压缩因子为n(n>1),那么b则是Csdk 2的1/门,所以我们把b=Csdk 2/n带入表格中得到精简版的算法复杂度如下:
表3卷积层算法复杂度分析表
其中,Dk是权重w的空间尺度大小,Dt是输出特征图的空间尺度大小。
由比值我们可以讨论三种情况:
当dk 2Cs≈Ct时,计算加速倍数约为n/2,存储压缩倍数约为n。
同样,在实际使用过程中,更常见的是第1种情况,所以理论上来说压缩实际有效。
本发明还提供了一种基于哈希学习的神经网络压缩系统。如图4所示,该系统包括处理器42以及存储有处理器42可执行指令的存储器41;
其中,处理器42可以是通用处理器,例如中央处理器(CPU),还可以是数字信号处理器(DSP)、专用集成电路(ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,存储器41,用于存储程序代码,并将该程序代码传输给CPU。存储器41可以包括易失性存储器,例如随机存取存储器(RAM);存储器41也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器41还可以包括上述种类的存储器的组合。
具体地,本发明实施例所提供的一种基于哈希学习的神经网络压缩系统,包括处理器42和存储器41;存储器41上存储有可用在处理器42上运行的计算机程序,当计算机程序被处理器42执行时实现如下步骤:
在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;
在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;
根据每层的权重矩阵的梯度值以及每层的投影矩阵的梯度值分别对权重矩阵和投影矩阵进行更新。
本发明实施例还提供了一种计算机可读存储介质。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
上面对本发明所提供的基于哈希学习的神经网络压缩方法及系统进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
Claims (10)
1.一种基于哈希学习的神经网络压缩方法,其特征在于包括如下步骤:
在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;
在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;
根据每层的权重矩阵的梯度值以及每层的投影矩阵的梯度值分别对权重矩阵和投影矩阵进行更新。
2.如权利要求1所述的神经网络压缩方法,其特征在于在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图,采用如下步骤:
对压缩后的输入特征图和权重矩阵相乘,得到输出特征图。
3.如权利要求1所述的神经网络压缩方法,其特征在于:
将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩时,对输入特征图和权重矩阵通过相同的投影矩阵进行压缩。
5.如权利要求1所述的神经网络压缩方法,其特征在于在前向传播中,将卷积层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;包括如下步骤:
将输入特征图和权重矩阵分别重新组织成一个大矩阵;
将重新组织后的输入特征图和权重矩阵通过投影矩阵进行压缩;
对压缩后的输入特征图和权重矩阵相乘,得到输出特征图;
对输出特征图进行col2im操作得到最终的输出特征图。
10.一种基于哈希学习的神经网络压缩系统,其特征在于包括处理器和存储器;所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时实现如下步骤:
在前向传播中,将每个神经网络层的输入特征图和权重矩阵通过投影矩阵进行压缩,计算输出特征图;
在后向传播中,根据输出特征图计算神经网络的损失函数,并通过损失函数计算每层的输入特征图的梯度值、权重矩阵的梯度值和投影矩阵的梯度值;
根据每层的权重矩阵的梯度值以及每层的投影矩阵的梯度值分别对权重矩阵和投影矩阵进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910892713.6A CN110782003A (zh) | 2019-09-20 | 2019-09-20 | 一种基于哈希学习的神经网络压缩方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910892713.6A CN110782003A (zh) | 2019-09-20 | 2019-09-20 | 一种基于哈希学习的神经网络压缩方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110782003A true CN110782003A (zh) | 2020-02-11 |
Family
ID=69384269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910892713.6A Pending CN110782003A (zh) | 2019-09-20 | 2019-09-20 | 一种基于哈希学习的神经网络压缩方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110782003A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781650A (zh) * | 2022-04-28 | 2022-07-22 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
-
2019
- 2019-09-20 CN CN201910892713.6A patent/CN110782003A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781650A (zh) * | 2022-04-28 | 2022-07-22 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN114781650B (zh) * | 2022-04-28 | 2024-02-27 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110520909B (zh) | 使用激活数据的压缩和解压缩来减少存储器带宽利用率的神经网络处理器 | |
CN107516129B (zh) | 基于维度自适应的Tucker分解的深度网络压缩方法 | |
CN108304921B (zh) | 卷积神经网络的训练方法及图像处理方法、装置 | |
EP3657399A1 (en) | Weight pruning and quantization method for a neural network and accelerating device therefor | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN108416427A (zh) | 卷积核堆积数据流、压缩编码以及深度学习算法 | |
CN108628898B (zh) | 数据入库的方法、装置和设备 | |
CN111985597B (zh) | 模型压缩方法及装置 | |
CN110070119B (zh) | 一种基于二值化深度神经网络的手写数字图像识别分类方法 | |
CN103546161A (zh) | 基于二进制位处理的无损压缩方法 | |
WO2023207836A1 (zh) | 一种图像编码方法、图像解压方法以及装置 | |
CN114640354A (zh) | 数据压缩方法、装置、电子设备及计算机可读存储介质 | |
CN110782003A (zh) | 一种基于哈希学习的神经网络压缩方法及系统 | |
CN110751274A (zh) | 一种基于随机投影哈希的神经网络压缩方法及系统 | |
CN113298892A (zh) | 一种图像编码方法和设备,及存储介质 | |
CN111723912A (zh) | 一种神经网络解耦方法 | |
US20230143985A1 (en) | Data feature extraction method and related apparatus | |
WO2023051335A1 (zh) | 数据编码方法、数据解码方法以及数据处理装置 | |
WO2023159820A1 (zh) | 图像压缩方法、图像解压缩方法及装置 | |
CN113887719B (zh) | 一种模型压缩方法及装置 | |
Chandra | Data bandwidth reduction in deep neural network SoCs using history buffer and Huffman coding | |
CN115631339A (zh) | 视觉特征提取方法、装置及电子设备 | |
CN112132272B (zh) | 神经网络的计算装置、处理器和电子设备 | |
CN114077885A (zh) | 基于张量分解的模型压缩方法、装置和服务器 | |
CN113780324A (zh) | 数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |