深度神经网络加速与压缩方法及装置

阅读:423发布:2024-02-07

专利汇可以提供深度神经网络加速与压缩方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 属于神经网络技术领域,具体涉及一种 深度神经网络 的 加速 与压缩方法及装置。旨在解决 现有技术 对深度神经网络进行压缩和加速占用大量内存并且 精度 下降的问题。本发明提供深度神经网络的加速与压缩方法,包括获取原始深度神经网络中各层的输入数据与参数矩阵;基于输入数据与参数矩阵,计算原始深度神经网络中各层的二值矩阵与浮点系数;将二值矩阵替换原始深度神经网络各层的参数矩阵,并在原始深度神经网络中构建尺度因子层,基于浮点系数初始化尺度因子层的参数,得到新的深度神经网络。本发明的方案能够将神经网络的网络参数二值化,占用更少的内存且提升精度。,下面是深度神经网络加速与压缩方法及装置专利的具体信息内容。

1.一种深度神经网络加速与压缩方法,其特征在于,所述方法包括:
步骤S1:获取原始深度神经网络中各层的输入数据与参数矩阵;
步骤S2:基于所述输入数据与参数矩阵,计算所述原始深度神经网络中各层的二值矩阵与浮点系数;
步骤S3:将所述二值矩阵替换所述原始深度神经网络各层的参数矩阵,并在所述原始深度神经网络中构建尺度因子层,基于所述浮点系数初始化所述尺度因子层的参数,得到新的深度神经网络。
2.根据权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
步骤S21:随机初始化所述二值矩阵与浮点系数,设定所述原始深度神经网络的卷积核个数为T,令i从0到T-1并行独立执行下述步骤;
步骤S22:使用符号函数初始化所述二值矩阵;通过求解所述参数矩阵对应向量的范数,并用所述参数矩阵对应向量的范数除以所述参数矩阵对应向量的长度,初始化所述浮点系数;
步骤S23:对初始化后的二值矩阵和浮点系数进行迭代更新。
3.根据权利要求2所述的方法,其特征在于,所述步骤S23具体包括:
步骤S231:设定迭代次数为M,重复执行如下步骤;
步骤S232:根据公式 以及S=XTW更新所述浮点系数,其中,X表示所述输入数据,W表示所述参数矩阵,B表示所述二值矩阵, 表示XTBi的范数,Λii表示所述浮点系数;
步骤S233:设定Z=Λii·X,q=Λii·XSi,b为所述二值矩阵对应向量Bi的第j个元素,为所述二值矩阵对应向量Bi去掉b后的向量,qj为向量q的第j个元素,v表示矩阵Z的第j行, 为矩阵Z去掉第j行之后的矩阵;
令j从0到N,根据公式 更新Bi的第j个元素,其中,N表示向量Bi的
长度。
4.根据权利要求1所述的方法,其特征在于,所述步骤S3还包括:
步骤S31:基于所述二值矩阵对所述参数矩阵进行初始化;
步骤S32:在所述原始深度神经网络的前馈过程中,对所述参数矩阵进行符号二值化并赋值给所述二值矩阵,对赋值后的二值矩阵进行所述原始深度神经网络的前馈运算和后馈运算,得到所述原始深度神经网络各层的梯度G;
步骤S33:使用梯度G对所述参数矩阵进行更新。
5.一种深度神经网络的加速与压缩装置,其特征在于,所述装置包括:
获取模,所述获取装置被配置为获取原始深度神经网络中各层的输入数据与参数矩阵;
计算模块,所述计算模块被配置为基于所述输入数据与参数矩阵,计算所述原始深度神经网络中各层的二值矩阵与浮点系数;
替换模块,所述替换模块被配置为将所述二值矩阵替换所述原始深度神经网络各层的参数矩阵,并在所述原始深度神经网络中构建尺度因子层,基于所述浮点系数初始化所述尺度因子层的参数,得到新的深度神经网络。
6.根据权利要求5所述的装置,其特征在于,所述计算模块具体包括:
第一设定模块,所述设定模块被配置为随机初始化所述二值矩阵与浮点系数,设定所述原始深度神经网络的卷积核个数为T,令i从0到T-1并行独立运行下述模块;
初始化模块,所述初始化模块被配置为使用符号函数初始化所述二值矩阵,通过求解所述参数矩阵对应向量的范数,并用所述参数矩阵对应向量的范数除以所述参数矩阵对应向量的长度,初始化所述浮点系数;
第一更新模块,所述更新模块被配置为对初始化后的二值矩阵和浮点系数进行迭代更新。
7.根据权利要求6所述的装置,其特征在于,所述第一更新模块还包括:
第二设定模块,所述第二设定模块被配置为设定迭代次数为M,重复运行下述模块;
第二更新模块:所述第二更新模块被配置为根据公式 以及S=XTW更新所述浮点系数,其中,X表示所述输入数据,W表示所述参数矩阵,B表示所述二值矩阵,表示XTBi的范数,Λii表示所述浮点系数;
第三更新模块,所述第三更新模块被配置为设定Z=Λii·X,q=Λii·XSi,b为所述二值矩阵对应向量Bi的第j个元素, 为所述二值矩阵对应向量Bi去掉b后的向量,qj为向量q的第j个元素,v表示矩阵Z的第j行, 为矩阵Z去掉第j行之后的矩阵;
令j从0到N,根据公式 更新Bi的第j个元素,其中,N表示向量Bi的
长度。
8.根据权利要求5所述的装置,其特征在于,所述替换模块还包括:
代理模块,所述代理模块被配置为基于所述二值矩阵对所述参数矩阵进行初始化;
赋值模块,所述赋值模块被配置为在所述原始深度神经网络的前馈过程中,对所述参数矩阵进行符号二值化并赋值给所述二值矩阵,对赋值后的二值矩阵进行所述原始深度神经网络的前馈运算和后馈运算,得到所述原始深度神经网络各层的梯度G;
第四更新模块,所述第四更新模块被配置为使用梯度G对所述参数矩阵进行更新。
9.一种存储装置,其中存储有多条程序,其特征在于,所述程序适于由处理器加载并执行如权利要求1-4任一项所述的深度神经网络的加速与压缩方法。
10.一种处理装置,包括处理器、存储设备;处理器,适于执行各条程序;存储设备,适于存储多条程序;其特征在于,所述程序适于由处理器加载并执行如权利要求1-4任一项所述的深度神经网络的加速与压缩方法。

说明书全文

深度神经网络加速与压缩方法及装置

技术领域

[0001] 本发明属于神经网络技术领域,具体涉及一种深度神经网络的加速与压缩方法及装置。

背景技术

[0002] 近年来随着深度学习的发展,深度神经网络在计算机视觉、语音、文本等领域中都取得了巨大的成功,这也推动着深度学习在无人驾驶、智能家居、视频监控等任务中的应用。
[0003] 随着深度网络的发展,深度神经网络变得更深,同时参数量和计算量也变得更大。深度神经网络巨大的参数量和计算复杂度在提升网络性能的同时也使得部署深度网络变得更加困难,特别地,由于移动手机和嵌入式设备的计算性能较低,其内存和电量有限,将深度神经网络部署到这些设备上会面临着两方面的挑战:一方面,深度神经网络巨大的计算复杂度使得网络前馈运行缓慢,这一点对于很多实时的应用往往是不能接受的;另一方面,深度网络巨大的参数量也给深度网络的部署带来了困难:首先,大量的参数使得网络模型存储变大,占用更多的硬盘存储;其次,深度网络需要更多的运行内存;最后,大量的内存访问会消耗大量的电量,给移动设备和嵌入式设备的续航带来很大的挑战。
[0004] 针对深度神经网络在参数多、运算量大的情况下进行压缩和加速的问题,专利CN106127297A公开了一种基于张量分解的深度卷积神经网络的加速与压缩方法,具体涉及:获取原始深度卷积神经网络;对原始深度卷积神经网络中各层的权值张量进行张量分解,得到多个低秩子张量,用多个低秩子张量替换原始深度卷积神经网络中各层的权值张量,获得新的深度卷积神经网络。现有技术的方法是对深度卷积神经网络各层进行浮点量运算,而浮点参数会占用大量的存储和内存,往往会更多地消耗移动设备和嵌入式设备上的电量,同时在一些硬件平台下,例如FPGA,浮点计算会慢很多,此外,现有技术提出的某些方法只针对全连接神经网络框架,并且进行压缩或加速后神经网络的精度将会下降。
[0005] 因此,如何提出一种解决上述问题的方案是本领域技术人员目前需要解决的问题。

发明内容

[0006] 为了解决现有技术中的上述问题,即为了解决现有技术对深度神经网络进行压缩和加速占用大量内存并且精度下降的问题,本发明提供了一种深度神经网络的加速与压缩方法,所述方法包括:
[0007] 步骤S1:获取原始深度神经网络中各层的输入数据与参数矩阵;
[0008] 步骤S2:基于所述输入数据与参数矩阵,计算所述原始深度神经网络中各层的二值矩阵与浮点系数;
[0009] 步骤S3:将所述二值矩阵替换所述原始深度神经网络各层的参数矩阵,并在所述原始深度神经网络中构建尺度因子层,基于所述浮点系数初始化所述尺度因子层的参数,得到新的深度神经网络。
[0010] 在上述方法的优选技术方案中,所述步骤S2具体包括:
[0011] 步骤S21:随机初始化所述二值矩阵与浮点系数,设定所述原始深度神经网络的卷积核个数为T,令i从0到T-1并行独立执行下述步骤;
[0012] 步骤S22:使用符号函数初始化所述二值矩阵;通过求解所述参数矩阵对应向量的范数,并用所述参数矩阵对应向量的范数除以所述参数矩阵对应向量的长度,初始化所述浮点系数;
[0013] 步骤S23:对初始化后的二值矩阵和浮点系数进行迭代更新。
[0014] 在上述方法的优选技术方案中,所述步骤S23具体包括:
[0015] 步骤S231:设定迭代次数为M,重复执行如下步骤;
[0016] 步骤S232:根据公式 以及S=XTW更新所述浮点系数,其中,X表示所述输入数据,W表示所述参数矩阵,B表示所述二值矩阵, 表示XTBi的范数,Λii表示所述浮点系数;
[0017] 步骤S233:设定Z=Λii·X,q=Λii·XSi,b为所述二值矩阵对应向量Bi的第j个元素, 为所述二值矩阵对应向量Bi去掉b后的向量,qj为向量q的第j个元素,v表示矩阵Z的第j行, 为矩阵Z去掉第j行之后的矩阵;
[0018] 令j从0到N,根据公式 更新Bi的第j个元素,其中,N表示向量Bi的长度。
[0019] 在上述方法的优选技术方案中,所述步骤S3还包括:
[0020] 步骤S31:基于所述二值矩阵对所述参数矩阵进行初始化;
[0021] 步骤S32:在所述原始深度神经网络的前馈过程中,对所述参数矩阵进行符号二值化并赋值给所述二值矩阵,对赋值后的二值矩阵进行所述原始深度神经网络的前馈运算和后馈运算,得到所述原始深度神经网络各层的梯度G;
[0022] 步骤S33:使用梯度G对所述参数矩阵进行更新。
[0023] 本发明的另一方面还提供一种深度神经网络的加速与压缩装置,所述装置包括:
[0024] 获取模,所述获取装置被配置为获取原始深度神经网络中各层的输入数据与参数矩阵;
[0025] 计算模块,所述计算模块被配置为基于所述输入数据与参数矩阵,计算所述原始深度神经网络中各层的二值矩阵与浮点系数;
[0026] 替换模块,所述替换模块被配置为将所述二值矩阵替换所述原始深度神经网络各层的参数矩阵,并在所述原始深度神经网络中构建尺度因子层,基于所述浮点系数初始化所述尺度因子层的参数,得到新的深度神经网络。
[0027] 在上述方法的优选技术方案中,所述计算模块具体包括:
[0028] 第一设定模块,所述设定模块被配置为随机初始化所述二值矩阵与浮点系数,设定所述原始深度神经网络的卷积核个数为T,令i从0到T-1并行独立运行下述模块;
[0029] 初始化模块,所述初始化模块被配置为使用符号函数初始化所述二值矩阵,通过求解所述参数矩阵对应向量的范数,并用所述参数矩阵对应向量的范数除以所述参数矩阵对应向量的长度,初始化所述浮点系数;
[0030] 第一更新模块,所述更新模块被配置为对初始化后的二值矩阵和浮点系数进行迭代更新。
[0031] 在上述方法的优选技术方案中,所述第一更新模块还包括:
[0032] 第二设定模块,所述第二设定模块被配置为设定迭代次数为M,重复运行下述模块;
[0033] 第二更新模块:所述第二更新模块被配置为根据公式 以及S=XTW更新所述浮点系数,其中,X表示所述输入数据,W表示所述参数矩阵,B表示所述二值矩阵,表示XTBi的范数,Λii表示所述浮点系数;
[0034] 第三更新模块,所述第三更新模块被配置为设定Z=Λii·X,q=Λii·XSi,b为所述二值矩阵对应向量Bi的第j个元素, 为所述二值矩阵对应向量Bi去掉b后的向量,qj为向量q的第j个元素,v表示矩阵Z的第j行, 为矩阵Z去掉第j行之后的矩阵;
[0035] 令j从0到N,根据公式 更新Bi的第j个元素,其中,N表示向量Bi的长度。
[0036] 在上述方法的优选技术方案中,所述替换模块还包括:
[0037] 代理模块,所述代理模块被配置为基于所述二值矩阵对所述参数矩阵进行初始化;
[0038] 赋值模块,所述赋值模块被配置为在所述原始深度神经网络的前馈过程中,对所述参数矩阵进行符号二值化并赋值给所述二值矩阵,对赋值后的二值矩阵进行所述原始深度神经网络的前馈运算和后馈运算,得到所述原始深度神经网络各层的梯度G;
[0039] 第四更新模块,所述第四更新模块被配置为使用梯度G对所述参数矩阵进行更新。
[0040] 本发明的第三方面提供一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行如上述任一项所述的深度神经网络的加速与压缩方法。
[0041] 本发明的第四方面提供一种处理装置,包括处理器、存储设备;处理器,适于执行各条程序;存储设备,适于存储多条程序;所述程序适于由处理器加载并执行如上述任一项所述的深度神经网络的加速与压缩方法。
[0042] 与最接近的现有技术相比,本发明提供一种深度神经网络的加速与压缩方法,包括获取原始深度神经网络中各层的输入数据与参数矩阵;基于输入数据与参数矩阵,计算原始深度神经网络中各层的二值矩阵与浮点系数;将二值矩阵替换原始深度神经网络各层的参数矩阵,并在原始深度神经网络中构建尺度因子层,基于浮点系数初始化尺度因子层的参数,得到新的深度神经网络。
[0043] 上述技术方案至少具有如下有益效果:
[0044] 本发明的技术方案可以针对多种类型的神经网络框架,适用范围广;通过将神经网络的网络参数二值化,并且在其二值编码的基础上结合浮点系数,增强了二值编码的表示能,将网络参数二值化后可以实现神经网络的高位宽压缩,将神经网络的乘法运算简化为加法运算,从而实现对大型深度神经网络的加速与压缩,用二值编码替换原始深度神经网络各层的对应系数,能够占用更少的内存,并且二值编码能够用于加法运算,提升深度神经网络的计算能力,在实现对大型深度神经网络的加速与压缩的同时,保证深度神经网络的精度。附图说明
[0045] 图1为本发明一种实施例深度神经网络的加速与压缩方法的流程示意图;
[0046] 图2为本发明一种实施例深度神经网络图像分类的过程示意图。

具体实施方式

[0047] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围[0048] 下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0049] 参阅附图1,图1示例性的给出了本实施例中深度神经网络的加速与压缩方法的流程示意图。如图1所示,本实施例中深度神经网络的加速与压缩方法包括下述步骤:
[0050] 步骤S1:获取原始深度神经网络中各层的输入数据与参数矩阵;
[0051] 本发明将神经网络参数的二值化问题转化为保持内积哈希编码的求解问题,在二值编码上乘以尺度因子Λ来增强二值编码的表示能力,通过交替迭代优化求解尺度因子Λ和二值编码B,其中,尺度因子为浮点系数。具体地,对于深度神经网络中的某一层,使用X表示该层的输入,W表示该层预训练之后的高位宽(大于4bit,比如32位浮点)的参数矩阵,令ST=X W,则参数二值化的优化目标函数为: 其中B是一个二值矩
阵,Λ是一个对矩阵,只有对角线元素有值,其余皆为0,基于该目标函数,本发明可以基于保持内积的哈希在保持深度神经网络参数的二值约束的同时,对二值参数进行求解,实现深度神经网络加速和压缩的目的;
[0052] 假定原始深度神经网络有L层,从数据库采样一部分图片,将其输入原始深度神经网络,即可得到第l层的输入数据和参数矩阵。
[0053] 步骤S2:基于输入数据与参数矩阵,计算原始深度神经网络中各层的二值矩阵与浮点系数;
[0054] 利用保持内积相似性的哈希方法对原始深度神经网络中各层的参数进行二值化,直至所有卷积层或全连接层都被遍历,得到二值化的网络参数;
[0055] 在实施例的一个优选实施方案中,步骤S2具体包括下述步骤:
[0056] 如图2所示,图2示例性地给出了将深度神经网络用于图像分类的过程。其中,深度神经网络包含多个卷积层和多个全连接层,输入图像经过卷积层和全连接层的处理后得到分类结果;
[0057] 一般地,卷积层的参数表示为一个大小为c×w×h×T的四位张量,T表示卷积核的个数,c表示通道数,w和h分别表示卷积核的宽和高,而全连接层的参数则可以表示为c×T的矩阵。将卷积层和全连接层的参数统一表示为S×T的矩阵W,对于卷积层,可以表示为S=c×w×h,而对于全连接层,则可以表示为S=c。
[0058] 步骤S21:对于一个L层的深度神经网络,另l从1到L依次取值并执行以下步骤:
[0059] 步骤S211:从数据库中采样一部分图片,输入深度神经网络,得到第l层的输入数据X;
[0060] 步骤S212:用W表示原始深度网络第l层的参数矩阵,通过S=XTW计算输入数据X和原始深度网络的参数矩阵W的内积相似性S;
[0061] 步骤S213:通过保持内积相似性的哈希方法InnerHash(S,X)计算二值矩阵B和浮点系数Λ,其中,Λ是一个对角矩阵,只有对角线元素有值,其余皆为0。具体包括如下计算步骤:
[0062] 步骤S2131:随机初始化二值矩阵与浮点系数,令i从0到T-1并行地执行步骤S2132-S2135;
[0063] 步骤S2132:使用符号函数初始化二值矩阵,通过求解参数矩阵对应向量的范数,并用参数矩阵对应向量的范数除以参数矩阵对应向量的长度,初始化浮点系数;
[0064] 步骤S2133:重复执行M次步骤S2134-S2135,其中,M的数值可以根据深度神经网络的精度进行设置,在此不做限定;
[0065] 步骤S2134:根据公式 更新Λii,其中,X表示输入数据,W表示参数矩阵,B表示二值矩阵, 表示XTBi的范数,Λii表示浮点系数;
[0066] 步骤S2135:令Z=Λii·X,q=Λii·XSi,令j从0到N,执行N次步骤S21351,其中,N的数值可以根据深度神经网络的精度进行设置,在此不做限定;
[0067] 步骤S21351:令b为向量Bi的第j个元素, 为向量Bi去掉b的向量,qj为向量q的第j个元素,令v表示矩阵Z的第j行, 为矩阵Z去掉第j行之后的矩阵。使用更新Bi的第j个元素b;
[0068] 步骤S214:用二值矩阵B替换第l层高位宽参数矩阵W;
[0069] 步骤S3:将二值矩阵替换原始深度神经网络各层的参数矩阵,并在原始深度神经网络中构建尺度因子层,基于浮点系数初始化尺度因子层的参数,得到新的深度神经网络;
[0070] 对得到的二值深度神经网络,进行进一步微调训练,对于得到的二值深度神经网络,在其每一层均通过一个参数矩阵W代理二值矩阵B,即,在深度神经网络训练过程中,使用参数矩阵表示二值矩阵积累的梯度更新,参数矩阵W用二值矩阵B进行初始化。具体地,步骤S3包括以下步骤:
[0071] 步骤S31:给定输入图片,二值深度神经网络进行前馈运算,在每一层前馈时,参数矩阵W直接根据符号进行二值化,将二值化结果赋值给二值矩阵B,然后和输入进行卷积或者矩阵运算,得到分类损失;
[0072] 步骤S32:得到分类损失之后,网络进行反向传播,在每一层反向传播时,根据上层传播的梯度和二值矩阵B计算下层的梯度,根据输入和上层传播的梯度计算分类损失对于二值矩阵B的梯度G;
[0073] 步骤S33:将步骤S32中得到的分类损失对于二值矩阵B的梯度G累加到参数矩阵W;将浮点系数Λ融入到第l层全连接层或者卷积层之后的BatchNorm层,具体为将BatchNorm层的矩阵和方差都除以对应通道的浮点系数Λ,其中,BatchNorm层即为构建的尺度因子层;
[0074] 步骤S34:重复迭代步骤S31-S33直至收敛。
[0075] 本发明提供的方法可以实现对深度神经网络的加速与压缩,通过对本发明提供的方法应用前后的时间和空间复杂度进行了分析,具体分析如下:
[0076] 假设一次乘法操作的时间复杂度为Tm,一次加法操作的时间复杂度为Ta,一般情况下Tm>Ta,一般情况下Tm>Ta。原始深度神经网络中的卷积层或全连接层参数的空间复杂度为4×S×T字节,时间复杂度为S×T×H×W×(Tm+Ta),二值化之后的参数空间复杂度为:字节,时间复杂度为S×T×H×W×Ta。这里的H和W分别是该层的输出特征图的高和宽。
可以看出经过参数二值化之后可以显著地减低神经网络权值的存储开销和神经网络时间复杂度,进而提高了运行速度。
[0077] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0078] 本发明的另一方面提供一种深度神经网络的加速与压缩装置,装置包括:
[0079] 获取模块,获取装置被配置为获取原始深度神经网络中各层的输入数据与参数矩阵;
[0080] 计算模块,计算模块被配置为基于输入数据与参数矩阵,计算原始深度神经网络中各层的二值矩阵与浮点系数;
[0081] 替换模块,替换模块被配置为将二值矩阵替换原始深度神经网络各层的参数矩阵,并在原始深度神经网络中构建尺度因子层,基于浮点系数初始化尺度因子层的参数,得到新的深度神经网络。
[0082] 在本发明实施例中,计算模块具体包括:
[0083] 第一设定模块,设定模块被配置为随机初始化二值矩阵与浮点系数,设定原始深度神经网络的卷积核个数为T,令i从0到T-1并行独立运行下述模块;
[0084] 初始化模块,初始化模块被配置为使用符号函数初始化二值矩阵,通过求解参数矩阵对应向量的范数,并用参数矩阵对应向量的范数除以参数矩阵对应向量的长度,初始化浮点系数;
[0085] 第一更新模块,更新模块被配置为对初始化后的二值矩阵和浮点系数进行迭代更新。
[0086] 在本发明实施例中,第一更新模块还包括:
[0087] 第二设定模块,第二设定模块被配置为设定迭代次数为M,重复运行下述模块;
[0088] 第二更新模块:第二更新模块被配置为根据公式 以及S=XTW更新浮点系数,其中,X表示输入数据,W表示参数矩阵,B表示二值矩阵, 表示XTBi的范数,Λii表示浮点系数;
[0089] 第三更新模块,第三更新模块被配置为设定Z=Λii·X,q=Λii·XSi,b为二值矩阵对应向量Bi的第j个元素, 为二值矩阵对应向量Bi去掉b后的向量,qj为向量q的第j个元素,v表示矩阵Z的第j行, 为矩阵Z去掉第j行之后的矩阵;
[0090] 令j从0到N,根据公式 更新Bi的第j个元素,其中,N表示向量Bi的长度。
[0091] 在本发明实施例中,替换模块还包括:
[0092] 代理模块,代理模块被配置为基于二值矩阵对参数矩阵进行初始化;
[0093] 赋值模块,赋值模块被配置为在原始深度神经网络的前馈过程中,对参数矩阵进行符号二值化并赋值给二值矩阵,对赋值后的二值矩阵进行原始深度神经网络的前馈运算和后馈运算,得到原始深度神经网络各层的梯度G;
[0094] 第四更新模块,第四更新模块被配置为使用梯度G对参数矩阵进行更新。
[0095] 所属技术领域的技术人员可以清楚地了解到,为了描述的方便和简洁,本发明实施例的深度神经网络的加速与压缩装置的具体工作过程以及相关说明,可以参考前述深度神经网络的加速与压缩方法实施例中的对应过程,且与上述深度神经网络的加速与压缩方法具有相同的有益效果,在此不再赘述。
[0096] 本发明还提供一种存储装置,其中存储有多条程序,程序适于由处理器加载并执行如上述的深度神经网络的加速与压缩方法。
[0097] 所属技术领域的技术人员可以清楚地了解到,为了描述的方便和简洁,本发明实施例的存储装置的具体工作过程以及相关说明,可以参考前述深度神经网络的加速与压缩方法实施例中的对应过程,且与上述深度神经网络的加速与压缩方法具有相同的有益效果,在此不再赘述。
[0098] 一种处理装置,包括处理器、存储设备;处理器,适于执行各条程序;存储设备,适于存储多条程序;程序适于由处理器加载并执行如上述的深度神经网络的加速与压缩方法。
[0099] 所属技术领域的技术人员可以清楚地了解到,为了描述的方便和简洁,本发明实施例的处理装置的具体工作过程以及相关说明,可以参考前述深度神经网络的加速与压缩方法实施例中的对应过程,且与上述深度神经网络的加速与压缩方法具有相同的有益效果,在此不再赘述。
[0100] 本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0101] 至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈