CN107944555B - 神经网络压缩和加速的方法、存储设备和终端 - Google Patents

神经网络压缩和加速的方法、存储设备和终端 Download PDF

Info

Publication number
CN107944555B
CN107944555B CN201711282087.6A CN201711282087A CN107944555B CN 107944555 B CN107944555 B CN 107944555B CN 201711282087 A CN201711282087 A CN 201711282087A CN 107944555 B CN107944555 B CN 107944555B
Authority
CN
China
Prior art keywords
matrix
neural network
input
output
feature map
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.)
Active
Application number
CN201711282087.6A
Other languages
English (en)
Other versions
CN107944555A (zh
Inventor
杨达坤
曾葆明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN201711282087.6A priority Critical patent/CN107944555B/zh
Publication of CN107944555A publication Critical patent/CN107944555A/zh
Application granted granted Critical
Publication of CN107944555B publication Critical patent/CN107944555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2136Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on sparsity criteria, e.g. with an overcomplete basis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

本发明提供一种神经网络压缩和加速的方法、存储设备和终端,该方法包括步骤:对原始神经网络进行剪枝;对剪枝后的原始神经网络的网络权值进行聚类量化,并对聚类量化后的原始神经网络进行训练,得到目标神经网络;采用稀疏矩阵存储所述目标神经网络;将输入特征图转换成输入矩阵;将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图。该实施例降低了神经网络计算资源和存储空间,从而减少了计算成本。

Description

神经网络压缩和加速的方法、存储设备和终端
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种神经网络压缩和加速的方法、存储设备和终端。
背景技术
随着神经网络模型的发展,为了解决越来越难的分类识别检测等问题,越来越深和越来越庞大的神经网络模型开始应用到这类问题上。例如,对于目前广泛用于人工智能的深度学习算法,深度网络结构较深,其计算量和模型较大,那么就需要更多的计算资源和存储空间。然而在生产应用上服务器计算资源变得越来越紧缺,速度要求越来越高,向移动端移植的需求也变得越来越紧迫,因此,在保证精度损失小的情况下,对神经网络的压缩及测试加速显得非常有必要。
传统技术中,网络压缩主要是对卷积层权值张量分解,得到多个低秩子张量,只需存储固定个数的低秩子张量达到压缩,计算时将多个低秩子张量的卷积累加得到最终的输出特征图,达到加速效果。
然而,上述低秩分解的方法模型压缩率并不高,无法有效降低计算资源和存储空间,计算成本较高。
发明内容
本发明针对现有方式的缺点,提出一种神经网络压缩和加速的方法、存储设备和终端,用以解决现有技术中存在的无法有效降低神经网络计算资源和存储空间,计算成本较高的问题,以降低神经网络计算资源和存储空间,从而减少计算成本。
本发明的实施例根据第一个方面,提供了一种神经网络压缩和加速的方法,包括步骤:
对原始神经网络进行剪枝;
对剪枝后的原始神经网络的网络权值进行聚类量化,并对聚类量化后的原始神经网络进行训练,得到目标神经网络;
采用稀疏矩阵存储所述目标神经网络;
将输入特征图转换成输入矩阵;
将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图。
在一个实施例中,所述对原始神经网络进行剪枝,包括:通过L1/2正则化算法对原始神经网络进行剪枝。
在一个实施例中,若采用图形处理器GPU计算输出特征图,所述将输入特征图转换成输入矩阵,包括:
统计所述稀疏矩阵中非零元素所在的列标;
根据统计的列标得到输入矩阵的行数;
将输入特征图转换成所述行数的输入矩阵。
在一个实施例中,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:
将所述稀疏矩阵与所述输入矩阵相乘,获得输出矩阵,其中,所述输出矩阵的每一行若干列的矩阵元素由块BLOCK中的单个线程计算;
将所述输出矩阵转换成输出特征图。
在一个实施例中,所述稀疏矩阵与所述输入矩阵相乘过程中产生的累加数存入寄存器中,在相乘计算完毕后所述累加数存入所述输出矩阵的全局内存中。
在一个实施例中,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:
统计所述稀疏矩阵中每行非零元素的个数;
按照个数从大到小的顺序,获得用于指示所述稀疏矩阵各行执行顺序的排序数组;
按照所述排序数组,将每行非零元素分别与所述输入矩阵中对应列的矩阵元素相乘,获得所述输入特征图对应的输出特征图。
在一个实施例中,所述排序数组预先绑定在纹理内存中。
在一个实施例中,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:
将所述稀疏矩阵中每行非零元素存入对应的共享内存中;
将从所述共享内存中读取的每行非零元素分别与所述输入矩阵中对应列的矩阵元素相乘,获得所述输入特征图对应的输出特征图。
本发明的实施例根据第二个方面,还提供了一种存储设备,其上存储有计算机程序,该程序被处理器执行时实现前述任意一项所述方法的步骤。
本发明的实施例根据第三个方面,还提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任意一项所述方法的步骤。
上述的神经网络压缩和加速的方法、存储设备和终端,与现有技术相互比较时,具备以下优点:
1、通过对原始神经网络进行剪枝、聚类量化以及训练,将目标神经网络通过稀疏矩阵进行存储,对原有神经网络可以达到50到几百倍的压缩率,压缩率较高,在进行计算时,利用稀疏矩阵乘法将稀疏矩阵和输入矩阵相乘,得到最终的输出特征图,加速效果好,有效降低了计算资源和存储空间,从而减少了计算成本;
2、通用性强,几乎所有线上跑的模型都可以通过本发明压缩和加速,从而使得同样的模型可以在同样的时间里处理更多的图片,可以节省计算资源,达到降低成本的目的;
3、进一步的,通过L1/2正则化算法进行神经网络剪枝,可以一次性训练达到剪枝的目的而不需要多次反复训练来剪枝神经网络,从而可以节省训练时间;
4、进一步的,若采用GPU计算,则只需将输入特征图转换成较小的矩阵,不仅可以减小GPU的内存占用,同时也能加速。
5、进一步的,若采用GPU计算,通过单个线程处理输出矩阵某一行的若干列,将中间数据存入寄存器,按照非零元素个数进行排序计算,以及将排序数组存入纹理内存等操作,进一步实现了神经网络的加速。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一个实施例的神经网络压缩和加速的方法的流程示意图;
图2为本发明一个具体实施例的lenet网络第一层卷积层未使用L1/2正则化的部分权值的示意图;
图3为本发明一个具体实施例的lenet网络第一层卷积层使用L1/2正则化的相应的部分权值的示意图;
图4为本发明一个具体实施例的选取阈值进行剪枝之后的部分权值的示意图;
图5为本发明一个具体实施例的lenet网络第一层卷积层的聚类量化前的部分权值的示意图;
图6为本发明一个具体实施例的lenet网络第一层卷积层的聚类量化训练之后的部分权值的示意图;
图7为本发明一个具体实施实例的采用稀疏矩阵存储图6的部分权值的示意图;
图8为现有技术中由稠密矩阵和输入矩阵获得输出矩阵的示意图;
图9为本发明一个具体实施例的由稀疏矩阵和输入矩阵获得输出矩阵的示意图;
图10为本发明一个具体实施例的输入矩阵行数确定方式的示意图;
图11为本发明一个具体实施例的输入矩阵的示意图;
图12为本发明一个具体实施例的目标神经网络训练阶段的示意图;
图13为本发明一个具体实施例的目标神经网络测试阶段的示意图;
图14为本发明一个实施例的终端的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
传统技术中,在对神经网络进行压缩和加速时,除了低秩分解的方法,还有通过权值量化,预先计算内积查找表来进行加速,以及一些其它的压缩和加速方法。但是,如前所述,低秩分解的方法模型压缩率并不高,通过参数量化计算的查找表,生成查找表的计算非常冗余,产生了很多不必要的计算,而且随着输入的不同需要更新查找表,额外计算开销较大,其他方法虽然能对模型进行压缩存储,但在计算过程中加速效果一般。因此针对以上各种缺陷,本发明提供一种神经网络压缩和加速的方法、存储设备和终端,能够对神经网络进行很好的压缩,且不会产生冗余计算,额外计算开销较小,并且得到的神经网络能够实现很好的加速效果,从而有效降低了计算成本。
为了更好的理解本发明,下面结合附图对本发明的具体实施方式进行详细介绍。
如图1所示,在一个实施例中,一种神经网络压缩和加速的方法,包括步骤:
S110、对原始神经网络进行剪枝。
S120、对剪枝后的原始神经网络的网络权值进行聚类量化,并对聚类量化后的原始神经网络进行训练,得到目标神经网络。
S130、采用稀疏矩阵存储所述目标神经网络。
S140、将输入特征图转换成输入矩阵。
S150、将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图。
上述实施例有效降低了计算资源和存储空间,从而减少了计算成本。下面对各个步骤进行详细介绍。
在步骤S110中,神经网络包括卷积神经网络和深度神经网络等。本发明的压缩和加速方法通用性强,几乎所有的线上跑的模型通过本发明实施例都可以压缩和加速。例如,目前上线的caffe(Convolutional Architecture for Fast Feature Embedding,卷积神经网络框架)模型都可以根据本发明实施例进行压缩加速,即在模型使用中只需用本发明生成的caffe库文件就可以加速。因此,本发明并不对原始神经网络的具体形式进行限定,原始神经网络可以是通过本发明实施例实现压缩和加速的任何神经网络。
对原始神经网络进行剪枝有多种实现方式,例如,在一个实施例中,所述对原始神经网络进行剪枝,包括:通过L1/2正则化算法对原始神经网络进行剪枝。
本发明的发明人经研究发现,对比L2和L1正则化算法,将L1/2正则化算法应用在网络模型加速上,具有更强的稀疏性,具有更好的剪枝效果,其算法公式如下:
Figure BDA0001497648550000071
其中,E(W)是网络的总误差函数,
Figure BDA0001497648550000072
是网络的预测误差函数,
Figure BDA0001497648550000073
是网络权值的L1/2正则化项。
利用L1/2正则化算法对原始神经网络进行训练,使得网络权值更加具有稀疏性,对训练结束之后的模型取一定的阈值进行剪枝,即通过一定的阈值来去掉小于阈值的网络权值,从而达到网络结构剪枝的目的。由于L1/2正则化算法的优越性,可以一次性训练达到剪枝的目的而不需要多次反复训练来剪枝网络,从而可以节省训练时间,使得卷积层和全连接层权值便于稀疏剪枝。
以一个具体实例为例,根据其算法在caffe平台上修改源代码添加L1/2正则化算法对深度网络进行训练,对训练结束之后的模型取一定的阈值进行剪枝。其结果如图所示,图2为lenet网络第一层卷积层未使用L1/2正则化的部分权值,图3为lenet网络第一层卷积层使用L1/2正则化的相应的部分权值,图4为选取阈值进行剪枝之后的部分权值。从该图2至图4可以看出,通过L1/2正则化算法,整个网络的权值的90%都变为0,在卷积和全连接的权值中有很大一部分的零元素,所以后续只需存储少量的非零元素。
在步骤S120中,对剪枝后的神经网络利用聚类量化算法进一步压缩,即对于剪枝后的神经网络结构的网络权值先进行聚类,然后再把每个网络权值分配到各个聚类中心进行量化,最后利用优化算法进行训练,以得到压缩网络,即目标神经网络。
对网络权值进行聚类有多种实现方式,例如,在一个实施例中,利用k-means聚类算法对剪枝后的神经网络的每层网络权值进行聚类,对于网络权值W={w1,w2,…,wn},将其聚类成K类C={c1,c2,…,ck},k-means聚类算法公式如下:
Figure BDA0001497648550000081
K可以根据实际需要进行确定,例如,网络结构中的每层卷积层和全连接层的权值都聚类成128类,即K=128。
应当理解,本发明并不对聚类算法进行限定,用户还可以根据实际需要选择其它聚类算法。
进行聚类后,针对神经网络的每层网络,将每个网络权值分配到各个聚类中心进行量化。然后采用优化算法进行训练,以得到压缩后的神经网络,即目标神经网络。优化算法可以根据实际需要进行选择,例如,利用误差反向传播算法对聚类量化后的神经网络进行训练,其中对聚类中心的梯度计算公式如下:
Figure BDA0001497648550000082
其中,E是网络的误差函数,ck是第k个聚类中心。
聚类量化训练的压缩比率可以由以下公式计算得到:
Figure BDA0001497648550000083
其中,n是非零的网络权值个数,b是用来表示网络权值的位数,k是聚类中心的个数。
以一个具体实例进行说明,根据其算法公式对caffe源代码进行修改,其结果如图所示,图5为lenet网络第一层卷积层的聚类量化前的部分权值,图6为lenet网络第一层卷积层的聚类量化训练之后的部分权值。从图5和图6可以看出,网络权值经过聚类量化训练之后,少量的非零元素由更少的聚类中心来代替,后续仅需要存储更少的聚类中心,进一步压缩了模型(神经网络)。
在步骤S130中,经过前述步骤,神经网络仅剩数量很少的聚类中心,因此可以将聚类量化训练后的模型,即目标神经网络,利用稀疏矩阵的存储方式进行存储,从而达到压缩模型的目的。稀疏矩阵的具体格式可以根据实际需要进行选择,本发明并不对此作出限定。例如,利用稀疏矩阵的存储方式CSR(Compressed Sparse Row,行压缩)来存储聚类量化训练之后的神经网络。
网络权值经过聚类量化训练之后,少量的非零元素由更少的聚类中心来代替,所以稀疏矩阵只需存储聚类中心以及索引。对于神经网络中每层的网络权值,具体存储:聚类中心码表,每个非零权值在码表的索引,每一行首个非零权值在非零权值的位置,以及每个非零权值的列索引。这样的存储方式对原有模型可以达到50到几百倍的压缩率。
如图7所示,为采用稀疏矩阵存储图6的部分权值的示意图,相较于图2原始神经网络中的72个数值,现在仅需要存储12个聚类中心,以及索引:每个非零权值在码表的索引,每一行首个非零权值在非零权值的位置,以及每个非零权值的列索引,大大提高了压缩率。
在步骤S140和S150中,目标神经网络通过稀疏矩阵存储,将稀疏矩阵和输入特征图转换成的输入矩阵通过稀疏矩阵乘法相乘,相较于传统技术中的稠密矩阵乘法,大大提高了加速效果。下面结合CPU(Central Processing Unit,中央处理器)和GPU(GraphicsProcessing Unit,图形处理器)两种计算平台进行介绍。
1、对于CPU测试模块,利用CPU稀疏矩阵乘法进行加速
传统技术中在进行计算时,卷积是将其转化为卷积权值组成的矩阵A(M*K),与展开的输入矩阵B(K*N)的矩阵乘法运算来得到卷积结果矩阵C(M*N),即如图8所示,计算输出矩阵p行q列的值为,A的p行与B的q列做内积。
现转化为稀疏矩阵乘法计算,由图9可知,矩阵A(目标神经网络的稀疏矩阵)p行黑色为非零元素,则变成了在A的p行与B的q列只需计算非零元素的内积。采用本发明,将卷积层和全连接层原有的稠密矩阵乘法计算,转为稀疏矩阵乘法计算,可以达到比用cblas计算稠密矩阵快4倍的加速。
2、对于GPU测试模块,利用GPU并行稀疏矩阵乘法进行加速
通过前述步骤得到的目标神经网络的权值稀疏度比较高,不需要将输入特征图通过im2col展成K*N的大矩阵。因此,在一个实施例中,若采用图形处理器GPU计算输出特征图,所述将输入特征图转换成输入矩阵,包括:统计所述稀疏矩阵中非零元素所在的列标;根据统计的列标得到输入矩阵的行数;将输入特征图转换成所述行数的输入矩阵。其中,采用图形处理器GPU计算输出特征图,指采用图形处理器GPU将输入特征图转换成输入矩阵;将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图。
统计矩阵A中非零元素的列标r,得到B矩阵的部分行,只需生成r*N的较小矩阵,其中r小于K,且小于nnz(非零元素的个数),从而一方面减小了GPU的内存占用,同时也能加速。如图10所示,矩阵A中非零元素的列标为1、2、3、5、6,那么只需要将输入特征图展成5*N的矩阵即可。
图10中矩阵A带颜色标记的表示非零元素,矩阵B左侧为矩阵列标,将非零元素展成一个列向量,同时对应需要计算的输入特征图,如图11,右侧的数字为它需要计算原B矩阵的行号,其中全为零的行则无需计算,输出直接初始化为0即可。采用本发明,将卷积层和全连接层原有的稠密矩阵乘法计算,转为稀疏矩阵乘法计算,那么整个稀疏矩阵乘法的计算量变成了nnz*N次乘法,(nnz-M)*N次加法,而原本的稠密矩阵乘法的计算量为M*N*K次乘法,M*N*(K-1)次加法,假设稀疏度为0.9,即nnz/(M*K)为0.1,则理论上稀疏矩阵乘法应该比稠密矩阵乘法的加速接近10倍。
本发明还针对GPU的特性对计算方法做了改动以进行进一步加速,下面结合几个实施例进行介绍。
1、设定一个BLOCK(块)处理输出矩阵的某一行的若干列
在一个实施例中,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:将所述稀疏矩阵与所述输入矩阵相乘,获得输出矩阵,其中,所述输出矩阵的每一行若干列的矩阵元素由块BLOCK中的单个线程计算;将所述输出矩阵转换成输出特征图。
1个BLOCK处理的是A矩阵某一行与B矩阵相应列相乘,得到C矩阵对应行的输出,传统技术中BLOCK里的每个线程只负责计算C矩阵该行某一列输出的计算,本发明的发明人通过测试发现,单个线程处理多列速度会更快,并且能够实现访存合并。
2、对稀疏矩阵中每行非零元素的个数做降序排列,优先执行非零元素个数多的行
在一个实施例中,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:统计所述稀疏矩阵中每行非零元素的个数;按照个数从大到小的顺序,获得用于指示所述稀疏矩阵各行执行顺序的排序数组;按照所述排序数组,将每行非零元素分别与所述输入矩阵中对应列的矩阵元素相乘,获得所述输入特征图对应的输出特征图。
对矩阵A中每行非零元素的个数做降排序,将非零元素个数多的排在前面优先执行,进一步提高计算效率。
3、充分利用GPU纹理内存、共享内存、以及寄存器高速读写的特点
由于纹理内存、共享内存和寄存器的读写速度远远快于全局内存,因此由以下几点进行加速访存:
在一个实施例中,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:将所述稀疏矩阵中每行非零元素存入对应的共享内存中;将从所述共享内存中读取的每行非零元素分别与所述输入矩阵中对应列的矩阵元素相乘,获得所述输入特征图对应的输出特征图。GPU同一个BLOCK的线程有共享内存,可将A矩阵该行所有的非零元素存入共享内存,以减少同一个BLOCK的不同线程对全局内存的访问。
在一个实施例中,所述排序数组预先绑定在纹理内存中。将排序数组预先绑定到纹理内存中,可以加快读写。
在一个实施例中,所述稀疏矩阵与所述输入矩阵相乘过程中产生的累加数存入寄存器中,在相乘计算完毕后所述累加数存入所述输出矩阵的全局内存中。将中间暂存的累加数存入寄存器,到计算完毕后再存入输出矩阵的全局内存中,可以加快读写。
通过上述改进,实现了线程内存读取写入的合并,使用了texture内存,寄存器访问速度非常快,采用了并行化,共享内存以及优先计算排名策略,可以使得GPU上测试时间对nvidia提供的cudnn的加速比是2倍,对nvidia提供的cusparse库的加速比为5倍。
为了更好的理解本发明,下面通过目标神经网络生成(训练阶段)以及测试目标神经网络的性能(测试阶段)两个方面来进行介绍。
如图12所示,训练阶段可以分为三个阶段:网络剪枝阶段、聚类量化阶段和存储阶段。网络剪枝阶段:将训练样本数据输入原始模型,并利用L1/2正则化算法对原始模型进行训练,得到L1/2模型,通过阈值对该L1/2模型进行过滤剪枝。聚类量化阶段:对剪枝后的网络权值进行聚类量化,然后输入训练样本数据进行finetune训练,得到压缩模型(目标神经网络)。存储阶段:对训练结束后的压缩模型利用稀疏矩阵存储方法进行存储(图12中未示意)。对于训练阶段,由于L1/2正则化算法的优越性,可以一次性训练达到剪枝的目的而不需要多次反复训练来剪枝网络,从而可以节省训练时间,训练流程明了,易finetune训练,使用方便。
如图13所示,针对CPU计算平台,载入压缩模型,使用稀疏矩阵乘法对输入矩阵和压缩模型的稀疏矩阵进行运算,实现卷积层和全连接层的加速。针对GPU计算平台,载入压缩模型,使用稀疏矩阵乘法对输入矩阵和压缩模型的稀疏矩阵进行运算,实现卷积层和全连接层的加速。对于测试模块,CPU计算平台上的测试有4倍加速,GPU计算平台上的测试对比caffe的cudnn6.0有2倍加速。以在直播业务中用于内容审核的18+和暴恐类旗帜检测的SSD(Single Shot MultiBox Detector)模型为例,通过本发明实施例,加速效果由原来的平均10.4ms(毫秒)处理一张图,变成加速后的5.18ms处理一张图。
本发明实施例还提供一种存储设备,其上存储有计算机程序,该程序被处理器执行时实现前述任意一项所述方法的步骤。其中,所述存储设备包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-OnlyMemory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
本发明实施例还提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任意一项所述方法的步骤。
如图14所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图14示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图14,手机包括:射频(Radio Frequency,RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wireless fidelity,Wi-Fi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图14中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对手机的各个构成部件进行具体的介绍:
RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。通常,RF电路1510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路1510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如神经网络压缩和加速功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如神经网络数据等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1531上或在触控面板1531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1531。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1541。进一步的,触控面板1531可覆盖显示面板1541,当触控面板1531检测到在其上或附近的触摸操作后,传送给处理器1580以确定触摸事件的类型,随后处理器1580根据触摸事件的类型在显示面板1541上提供相应的视觉输出。虽然在图14中,触控面板1531与显示面板1541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1531与显示面板1541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1560、扬声器1561,传声器1562可提供用户与手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声纹信号输出;另一方面,传声器1562将收集的声纹信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一手机,或者将音频数据输出至存储器1520以便进一步处理。
Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块1570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图14示出了Wi-Fi模块1570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。
手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
上述的神经网络压缩和加速的方法、存储设备和终端,与现有技术相互比较时,具备以下优点:
1、通过对原始神经网络进行剪枝、聚类量化以及训练,将目标神经网络通过稀疏矩阵进行存储,对原有神经网络可以达到50到几百倍的压缩率,压缩率较高,在进行计算时,利用稀疏矩阵乘法将稀疏矩阵和输入矩阵相乘,得到最终的输出特征图,加速效果好,有效降低了计算资源和存储空间,从而减少了计算成本;
2、通用性强,几乎所有线上跑的模型都可以通过本发明压缩和加速,从而使得同样的模型可以在同样的时间里处理更多的图片,可以节省计算资源,达到降低成本的目的;
3、进一步的,通过L1/2正则化算法进行神经网络剪枝,可以一次性训练达到剪枝的目的而不需要多次反复训练来剪枝神经网络,从而可以节省训练时间;
4、进一步的,若采用GPU计算,则只需将输入特征图转换成较小的矩阵,不仅可以减小GPU的内存占用,同时也能加速。
5、进一步的,若采用GPU计算,通过单个线程处理输出矩阵某一行的若干列,将中间数据存入寄存器,按照非零元素个数进行排序计算,以及将排序数组存入纹理内存等操作,进一步实现了神经网络的加速。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种神经网络压缩和加速的方法,其特征在于,包括步骤:
对原始神经网络进行剪枝;
对剪枝后的原始神经网络的网络权值进行聚类量化,并对聚类量化后的原始神经网络进行训练,得到目标神经网络;
采用稀疏矩阵存储所述目标神经网络;
将输入特征图转换成输入矩阵;
采用图像处理器GPU计算输出特征图,将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:对稀疏矩阵中每行非零元素的个数做降序排列,优先执行非零元素个数多的行。
2.根据权利要求1所述的神经网络压缩和加速的方法,其特征在于,所述对原始神经网络进行剪枝,包括:
通过L1/2正则化算法对原始神经网络进行剪枝。
3.根据权利要求1所述的神经网络压缩和加速的方法,其特征在于,若采用图形处理器GPU计算输出特征图,所述将输入特征图转换成输入矩阵,包括:
统计所述稀疏矩阵中非零元素所在的列标;
根据统计的列标得到输入矩阵的行数;
将输入特征图转换成所述行数的输入矩阵。
4.根据权利要求1所述的神经网络压缩和加速的方法,其特征在于,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:
将所述稀疏矩阵与所述输入矩阵相乘,获得输出矩阵,其中,所述输出矩阵的每一行若干列的矩阵元素由块BLOCK中的单个线程计算;
将所述输出矩阵转换成输出特征图。
5.根据权利要求4所述的神经网络压缩和加速的方法,其特征在于,所述稀疏矩阵与所述输入矩阵相乘过程中产生的累加数存入寄存器中,在相乘计算完毕后所述累加数存入所述输出矩阵的全局内存中。
6.根据权利要求1所述的神经网络压缩和加速的方法,其特征在于,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:
统计所述稀疏矩阵中每行非零元素的个数;
按照个数从大到小的顺序,获得用于指示所述稀疏矩阵各行执行顺序的排序数组;
按照所述排序数组,将每行非零元素分别与所述输入矩阵中对应列的矩阵元素相乘,获得所述输入特征图对应的输出特征图。
7.根据权利要求6所述的神经网络压缩和加速的方法,其特征在于,所述排序数组预先绑定在纹理内存中。
8.根据权利要求1所述的神经网络压缩和加速的方法,其特征在于,若采用图像处理器GPU计算输出特征图,所述将所述稀疏矩阵与所述输入矩阵相乘,获得所述输入特征图对应的输出特征图,包括:
将所述稀疏矩阵中每行非零元素存入对应的共享内存中;
将从所述共享内存中读取的每行非零元素分别与所述输入矩阵中对应列的矩阵元素相乘,获得所述输入特征图对应的输出特征图。
9.一种存储设备,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任意一项所述方法的步骤。
10.一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8中任意一项所述方法的步骤。
CN201711282087.6A 2017-12-07 2017-12-07 神经网络压缩和加速的方法、存储设备和终端 Active CN107944555B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711282087.6A CN107944555B (zh) 2017-12-07 2017-12-07 神经网络压缩和加速的方法、存储设备和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711282087.6A CN107944555B (zh) 2017-12-07 2017-12-07 神经网络压缩和加速的方法、存储设备和终端

Publications (2)

Publication Number Publication Date
CN107944555A CN107944555A (zh) 2018-04-20
CN107944555B true CN107944555B (zh) 2021-09-17

Family

ID=61945111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711282087.6A Active CN107944555B (zh) 2017-12-07 2017-12-07 神经网络压缩和加速的方法、存储设备和终端

Country Status (1)

Country Link
CN (1) CN107944555B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210279594A1 (en) * 2020-03-06 2021-09-09 Tencent America LLC Method and apparatus for video coding

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764458B (zh) * 2018-05-15 2021-03-02 武汉环宇智行科技有限公司 一种减少移动设备存储空间消耗以及计算量的方法及系统
CN108764471B (zh) * 2018-05-17 2020-04-14 西安电子科技大学 基于特征冗余分析的神经网络跨层剪枝方法
CN108932548A (zh) * 2018-05-22 2018-12-04 中国科学技术大学苏州研究院 一种基于fpga的稀疏度神经网络加速系统
CN110533043B (zh) * 2018-05-23 2022-04-08 华南理工大学 基于svd的用于手写汉字识别的循环神经网络的加速方法
CN108846478B (zh) * 2018-06-29 2021-01-29 北京百度网讯科技有限公司 深度神经网络计算加速的方法和装置
CN109002889B (zh) * 2018-07-03 2021-12-17 华南理工大学 自适应迭代式卷积神经网络模型压缩方法
WO2020014590A1 (en) * 2018-07-12 2020-01-16 Futurewei Technologies, Inc. Generating a compressed representation of a neural network with proficient inference speed and power consumption
CN109255429B (zh) * 2018-07-27 2020-11-20 中国人民解放军国防科技大学 一种用于稀疏神经网络模型的参数解压方法
CN109117950B (zh) * 2018-08-01 2021-03-09 上海天数智芯半导体有限公司 基于人工智能设备的分层稀疏张量压缩方法
CN113190791A (zh) 2018-08-06 2021-07-30 华为技术有限公司 矩阵的处理方法、装置及逻辑电路
CN109145798B (zh) * 2018-08-13 2021-10-22 浙江零跑科技股份有限公司 一种驾驶场景目标识别与可行驶区域分割集成方法
CN109063666A (zh) * 2018-08-14 2018-12-21 电子科技大学 基于深度可分离卷积的轻量化人脸识别方法及系统
US11030480B2 (en) * 2018-08-31 2021-06-08 Samsung Electronics Co., Ltd. Electronic device for high-speed compression processing of feature map of CNN utilizing system and controlling method thereof
CN110874636B (zh) * 2018-09-04 2023-06-30 杭州海康威视数字技术股份有限公司 一种神经网络模型压缩方法、装置和计算机设备
CN109325530B (zh) * 2018-09-07 2021-05-04 中国科学院自动化研究所 一种图像分类方法、存储装置和处理装置
CN109344731B (zh) * 2018-09-10 2022-05-03 电子科技大学 基于神经网络的轻量级的人脸识别方法
CN112219210B (zh) * 2018-09-30 2024-03-29 华为技术有限公司 信号处理装置和信号处理方法
CN109543815B (zh) * 2018-10-17 2021-02-05 清华大学 神经网络的加速方法及装置
US20200151571A1 (en) * 2018-11-14 2020-05-14 Nvidia Corporation Transposed sparse matrix multiply by dense matrix for neural network training
CN111353944A (zh) 2018-12-20 2020-06-30 深圳市中兴微电子技术有限公司 一种图像重建方法、装置及计算机可读存储介质
CN109685205A (zh) * 2018-12-26 2019-04-26 上海大学 一种基于稀疏矩阵的深度网络模型加速方法
CN111382848A (zh) * 2018-12-27 2020-07-07 中科寒武纪科技股份有限公司 一种计算装置及相关产品
US20200293823A1 (en) * 2019-03-13 2020-09-17 Hitachi, Ltd. Method and system of auto build of image analytics program
CN109858575B (zh) * 2019-03-19 2024-01-05 苏州市爱生生物技术有限公司 基于卷积神经网络的数据分类方法
CN110070181A (zh) * 2019-04-30 2019-07-30 深圳朴生智能科技有限公司 一种用于边缘计算设备的深度学习的优化方法
CN110232436A (zh) * 2019-05-08 2019-09-13 华为技术有限公司 卷积神经网络的修剪方法、装置及存储介质
CN111950016B (zh) * 2019-05-14 2023-11-21 北京腾云天下科技有限公司 一种数据开放输出模型的生成方法、装置和计算设备
EP3742349A1 (en) * 2019-05-24 2020-11-25 Samsung Electronics Co., Ltd. Decompression apparatus and control method thereof
CN110378466B (zh) * 2019-06-03 2021-10-08 北京大学 基于神经网络差分的量化方法及系统
CN110516806A (zh) * 2019-08-30 2019-11-29 苏州思必驰信息科技有限公司 神经网络参数矩阵的稀疏化方法和装置
CN112905132B (zh) * 2019-11-19 2023-07-18 华为技术有限公司 投屏方法及设备
CN111126501B (zh) * 2019-12-26 2022-09-16 厦门市美亚柏科信息股份有限公司 一种图像识别方法、终端设备及存储介质
CN111415004B (zh) * 2020-03-17 2023-11-03 阿波罗智联(北京)科技有限公司 用于输出信息的方法和装置
CN112799635B (zh) * 2021-02-08 2022-11-15 算筹(深圳)信息科技有限公司 一种新型外积累加求解稠密矩阵与稀疏矩阵内积的方法
CN113537465A (zh) * 2021-07-07 2021-10-22 深圳市易成自动驾驶技术有限公司 Lstm模型优化方法、加速器、装置及介质
CN114781650B (zh) * 2022-04-28 2024-02-27 北京百度网讯科技有限公司 一种数据处理方法、装置、设备以及存储介质
CN114723033B (zh) * 2022-06-10 2022-08-19 成都登临科技有限公司 数据处理方法、装置、ai芯片、电子设备及存储介质
CN117332197A (zh) * 2022-06-27 2024-01-02 华为技术有限公司 一种数据计算方法以及相关设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141976A (zh) * 2011-01-10 2011-08-03 中国科学院软件研究所 稀疏矩阵的对角线数据存储方法及基于该方法的SpMV实现方法
CN102436438A (zh) * 2011-12-13 2012-05-02 华中科技大学 基于gpu的稀疏矩阵数据存储方法
CN103336758A (zh) * 2013-06-29 2013-10-02 中国科学院软件研究所 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法
CN105913063A (zh) * 2016-04-01 2016-08-31 中国地质大学(武汉) 一种图像数据集的稀疏表示的加速方法及装置
CN106127297A (zh) * 2016-06-02 2016-11-16 中国科学院自动化研究所 基于张量分解的深度卷积神经网络的加速与压缩方法
CN106447034A (zh) * 2016-10-27 2017-02-22 中国科学院计算技术研究所 一种基于数据压缩的神经网络处理器、设计方法、芯片
CN106529670A (zh) * 2016-10-27 2017-03-22 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN106548234A (zh) * 2016-11-17 2017-03-29 北京图森互联科技有限责任公司 一种神经网络剪枝方法及装置
CN106557812A (zh) * 2016-11-21 2017-04-05 北京大学 基于dct变换的深度卷积神经网络压缩与加速方案
CN106919942A (zh) * 2017-01-18 2017-07-04 华南理工大学 用于手写汉字识别的深度卷积神经网络的加速压缩方法
CN107229967A (zh) * 2016-08-22 2017-10-03 北京深鉴智能科技有限公司 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132511A1 (en) * 2015-11-10 2017-05-11 Facebook, Inc. Systems and methods for utilizing compressed convolutional neural networks to perform media content processing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141976A (zh) * 2011-01-10 2011-08-03 中国科学院软件研究所 稀疏矩阵的对角线数据存储方法及基于该方法的SpMV实现方法
CN102436438A (zh) * 2011-12-13 2012-05-02 华中科技大学 基于gpu的稀疏矩阵数据存储方法
CN103336758A (zh) * 2013-06-29 2013-10-02 中国科学院软件研究所 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法
CN105913063A (zh) * 2016-04-01 2016-08-31 中国地质大学(武汉) 一种图像数据集的稀疏表示的加速方法及装置
CN106127297A (zh) * 2016-06-02 2016-11-16 中国科学院自动化研究所 基于张量分解的深度卷积神经网络的加速与压缩方法
CN107229967A (zh) * 2016-08-22 2017-10-03 北京深鉴智能科技有限公司 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法
CN106447034A (zh) * 2016-10-27 2017-02-22 中国科学院计算技术研究所 一种基于数据压缩的神经网络处理器、设计方法、芯片
CN106529670A (zh) * 2016-10-27 2017-03-22 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN106548234A (zh) * 2016-11-17 2017-03-29 北京图森互联科技有限责任公司 一种神经网络剪枝方法及装置
CN106557812A (zh) * 2016-11-21 2017-04-05 北京大学 基于dct变换的深度卷积神经网络压缩与加速方案
CN106919942A (zh) * 2017-01-18 2017-07-04 华南理工大学 用于手写汉字识别的深度卷积神经网络的加速压缩方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"大规模CFD高效CPU/GPU异构并行计算关键技术研究";曹维;《中国博士学位论文全文数据库 信息科技辑》;20151115;第109-116页 *
"深度网络模型压缩综述";雷杰等;《软件学报》;20171204;第251-266页 *
"用于神经网络权值稀疏化的L1/2正则化方法";吴微等;《中国科学》;20150930;第45卷(第9期);第1487-1504页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210279594A1 (en) * 2020-03-06 2021-09-09 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
CN107944555A (zh) 2018-04-20

Similar Documents

Publication Publication Date Title
CN107944555B (zh) 神经网络压缩和加速的方法、存储设备和终端
CN110162799B (zh) 模型训练方法、机器翻译方法以及相关装置和设备
CN110321965B (zh) 物体重识别模型的训练方法、物体重识别的方法及装置
CN110069715B (zh) 一种信息推荐模型训练的方法、信息推荐的方法及装置
KR101887558B1 (ko) 컨볼루션 신경망 모델의 트레이닝 방법 및 장치
CN106919918B (zh) 一种人脸跟踪方法和装置
CN110163367B (zh) 一种终端部署方法和装置
CN108230232B (zh) 一种图像处理的方法以及相关装置
CN112052841B (zh) 一种视频摘要的生成方法以及相关装置
CN111209423B (zh) 一种基于电子相册的图像管理方法、装置以及存储介质
CN109550249B (zh) 一种目标对象的控制方法、装置及设备
CN108108457B (zh) 从音乐节拍点中提取大节拍信息的方法、存储介质和终端
CN111914113A (zh) 一种图像检索的方法以及相关装置
CN111612093A (zh) 一种视频分类方法、视频分类装置、电子设备及存储介质
CN110555337B (zh) 一种指示对象的检测方法、装置以及相关设备
CN107909583A (zh) 一种图像处理方法、装置及终端
CN110263216B (zh) 一种视频分类的方法、视频分类模型训练的方法及装置
CN114402336A (zh) 神经处理单元
CN113284142A (zh) 图像检测方法、装置、计算机可读存储介质及计算机设备
CN111221827B (zh) 基于图形处理器的数据库表连接方法、装置、计算机设备和存储介质
CN112166441A (zh) 数据处理方法、装置及计算机可读存储介质
CN111737292B (zh) 一种数据检索的方法以及相关装置
CN112070211B (zh) 基于计算卸载机制的图像识别方法
CN112748899A (zh) 一种数据处理方法和相关设备
CN112948763B (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
TA01 Transfer of patent application right

Effective date of registration: 20201224

Address after: 29th floor, building B-1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Address before: 511442 29 floor, block B-1, Wanda Plaza, Huambo business district, Panyu District, Guangzhou, Guangdong.

Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Applicant before: GUANGZHOU HUYA INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20180420

Assignee: GUANGZHOU HUYA INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2020980010018

Denomination of invention: Neural network compression and acceleration method, storage device and terminal

License type: Common License

Record date: 20201229

TA01 Transfer of patent application right

Effective date of registration: 20210113

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 29th floor, building B-1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20180420

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000054

Denomination of invention: Neural network compression and acceleration method, storage device and terminal

License type: Common License

Record date: 20210208

EE01 Entry into force of recordation of patent licensing contract
GR01 Patent grant
GR01 Patent grant