CN112308197B - 一种卷积神经网络的压缩方法、装置及电子设备 - Google Patents
一种卷积神经网络的压缩方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112308197B CN112308197B CN201910680935.1A CN201910680935A CN112308197B CN 112308197 B CN112308197 B CN 112308197B CN 201910680935 A CN201910680935 A CN 201910680935A CN 112308197 B CN112308197 B CN 112308197B
- Authority
- CN
- China
- Prior art keywords
- singular value
- decomposition
- value decomposition
- neural network
- convolutional neural
- 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
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 248
- 238000007906 compression Methods 0.000 title claims abstract description 148
- 230000006835 compression Effects 0.000 title claims abstract description 143
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 572
- 239000011159 matrix material Substances 0.000 claims abstract description 168
- 238000012549 training Methods 0.000 claims description 105
- 238000013528 artificial neural network Methods 0.000 claims description 54
- 238000004891 communication Methods 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
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/045—Combinations of 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种卷积神经网络的压缩方法、装置及电子设备。针对每一卷积层,该方法包括:将该卷积层的权值张量变形为第一二维矩阵;确定第一二维矩阵的多个第一奇异值分解项;按照第一选取规则,从多个第一奇异值分解项中,选取至少一个第一奇异值分解项;利用各个第一奇异值分解项,对第一二维矩阵进行近似分解,得到第一分解矩阵和第二分解矩阵;将第一分解矩阵和第二分解矩阵分别变形为第一子权值张量和第二子权值张量,作为压缩后的权值张量;在得到目标卷积神经网络每一层卷积层压缩后的权值张量后,得到被压缩的目标卷积神经网络。与现有技术相比,应用本发明实施例提供的方案,可以降低关于压缩前后的卷积神经网络间的精准度差异。
Description
技术领域
本发明涉及人工智能技术领域,特别是涉及一种卷积神经网络的压缩方法、装置及电子设备。
背景技术
当前,随着人工智能技术的不断发展,卷积神经网络在图像识别、目标检测、图像语义分割等任务中取得重大突破,被广泛应用于互联网、安防、智能家居等领域。
而随着移动互联网时代的到来,人们对于在移动设备上应用卷积神经网络完成目标识别、检测等任务的需求越来越迫切。但是,由于移动设备的存储和计算能力有限,而当前表现优异的卷积神经网络通常具有大规模的参数量和计算量,因此,当前表现优异的卷积神经网络难以直接应用到移动设备端。
为了实现在移动设备上应用卷积神经网络,可以对大规模卷积神经网络进行压缩,以降低其参数量和计算量,使得压缩后的卷积神经网络模型能够应用到移动设备端。相关技术中,通过剪去大规模卷积神经网络中连接权值接近零的神经元来减少卷积神经网络的参数量和计算量,得到压缩后的卷积神经网络。
然而,在上述相关技术中,卷积神经网络的网络结构中神经元的连接方式和卷积核形状在压缩前后会发生变化,产生较大差异,从而不利于压缩后的卷积神经网络应用过程中的特征学习,导致压缩后的卷积神经网络相对于压缩前的卷积神经网络的精准度大大降低。
发明内容
本发明实施例的目的在于提供一种卷积神经网络的压缩方法、装置及电子设备,以降低关于压缩前后的卷积神经网络间的精准度差异。
具体技术方案如下:
第一方面,本发明实施例提供了一种卷积神经网络的压缩方法,所述方法包括:
针对目标卷积神经网络的每一卷积层,执行如下步骤:
将该卷积层的权值张量变形为第一二维矩阵;
基于奇异值分解原理,确定所述第一二维矩阵对应的多个第一奇异值分解项;其中,每个第一奇异值分解项为一奇异值与一第二二维矩阵的乘积;
按照第一选取规则,从所述多个第一奇异值分解项中,选取至少一个第一奇异值分解项;其中,所述第一选取规则为:所选取的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和不小于该卷积层的第一预设精度参数,且所选取的各个第一奇异值分解项的数量最少;
利用所选取的各个第一奇异值分解项,对所述第一二维矩阵进行近似分解,得到该卷积层的第一分解矩阵和第二分解矩阵;
将所得到的第一分解矩阵和第二分解矩阵分别变形为第一子权值张量和第二子权值张量,作为该卷积层压缩后的权值张量;其中,所述第一子权值张量、第二子权值张量和所述权值张量的维度相同,该卷积层压缩前后的压缩比是基于所述第一预设精度确定的;
在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量后,得到被压缩的目标卷积神经网络。
可选的,一种具体实现方式中,该卷积层的第一二维矩阵对应的多个第一奇异值分解项按照所具有的奇异值由大到小的顺序排布;
所述按照第一选取规则,从所述多个第一奇异值分解项中,选取至少一个第一奇异值分解项的步骤,包括:
计算各个候选分解项组所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和;其中,每一候选分解项组中,包括所述多个第一奇异值分解项中的第一个第一奇异值分解项至第k个第一奇异值分解项,k∈[1,n-1],n为所述多个第一奇异值分解项的个数;
从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,将所述第一分解项组中的各个第一奇异值分解项,作为所选取的至少一个第一奇异值分解项。
可选的,一种具体实现方式中,所述计算各个候选分解项组中包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和的步骤,包括:
利用第一公式,计算各个候选分解项组中,各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,其中,所述第一公式为:
其中,rk为第k个候选分解项组所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,λi为所述多个第一奇异值分解项中,第i个第一奇异值分解项的奇异值。
可选的,一种具体实现方式中,所述从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组的步骤,包括:
利用第二公式,从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,其中,所述第二公式为:
t=min{k|rk≥e(1≤k≤n)}
其中,t为第一分解项组中所包含的第一奇异值分解项的数量,rk为第k个候选分解项组中所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,e为该卷积层的第一预设精度参数。
可选的,一种具体实现方式中,所述目标卷积神经网络包括全连接层;
在所述得到压缩后的目标卷积神经网络的步骤之前,所述方法还包括:
基于奇异值分解原理,确定所述全连接层的权值张量对应的多个第二奇异值分解项;其中,每个第二奇异值分解项为一奇异值与一第三二维矩阵的乘积;
按照第二选取规则,从所述多个第二奇异值分解项中,选取至少一个第二奇异值分解项;其中,所述第二选取规则为:所选取的各个第二奇异值分解项在所述多个第二奇异值分解项中的权重和不小于所述全连接层的第二预设精度参数,且所选取的各个第二奇异值分解项的个数最少;
利用所选取的各个第二奇异值分解项,对所述全连接层的权值张量进行近似分解,得到所述全连接层的第三子权值张量和第四子权值张量,作为压缩后的所述全连接层的权值张量;其中,所述第三子权值张量、第四子权值张量和所述全连接层的权值张量的维度相同,所述全连接层压缩前后的压缩比是基于所述第二预设精度确定的;
所述在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量后,得到被压缩的目标卷积神经网络的步骤,包括:
在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量和压缩后的所述全连接层的权值张量后,得到被压缩的目标卷积神经网络。
可选的,一种具体实现方式中,所述方法还包括:
对所述压缩后的目标卷积神经网络进行训练,得到训练完成的目标卷积神经网络。
可选的,一种具体实现方式中,所述对所述压缩后的目标卷积神经网络进行训练,得到训练完成的目标卷积神经网络的步骤,包括:
获取用于训练所述目标神经网络的多个训练样本和所述目标神经网络的特征提取层输出的每个训练样本的特征数据;
将所获取的每个训练样本的特征数据作为该训练样本的标签,得到具有新标签的训练样本;
利用所得到的具有新标签的训练样本对所述压缩后的目标卷积神经网络进行训练,直至满足预设收敛条件时,得到训练完成的目标卷积神经网络。
可选的,一种具体实现方式中,所述方法还包括:
利用预设测试集对所述训练完成的目标卷积神经网络的精准度进行测试,得到所述训练完成的目标卷积神经网络的精准度,并计算所述目标卷积神经网络的精准度与所述训练完成的目标卷积神经网络的精准度的差值;
当计算得到的差值小于预设阈值时,将所述训练完成的目标卷积神经网络作为目标卷积神经网络,继续进行压缩,直至计算得到的差值不小于预设阈值。
第二方面,本发明实施例提供了一种卷积神经网络的压缩装置,所述装置包括:
卷积层压缩模块,用于针对目标卷积神经网络的每一卷积层执行压缩处理;
网络获取模块,用于在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量后,得到被压缩的目标卷积神经网络;
其中,所述卷积层压缩模块包括:张量变形子模块、奇异值分解子模块、项目选取子模块、矩阵分解子模块和权值张量获取子模块;
在针对所述目标卷积神经网络的每一卷积层执行压缩处理时,
所述张量变形子模块,用于将该卷积层的权值张量变形为第一二维矩阵;
所述奇异值分解子模块,用于基于奇异值分解原理,确定所述第一二维矩阵对应的多个第一奇异值分解项;其中,每个第一奇异值分解项为一奇异值与一第二二维矩阵的乘积;
所述项目选取子模块,用于按照第一选取规则,从所述多个第一奇异值分解项中,选取至少一个第一奇异值分解项;其中,所述第一选取规则为:所选取的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和不小于该卷积层的第一预设精度参数,且所选取的各个第一奇异值分解项的数量最少;
所述矩阵分解子模块,用于利用所选取的各个第一奇异值分解项,对所述第一二维矩阵进行近似分解,得到该卷积层的第一分解矩阵和第二分解矩阵;
所述权值张量获取子模块,用于将所得到的第一分解矩阵和第二分解矩阵分别变形为第一子权值张量和第二子权值张量,作为该卷积层压缩后的权值张量;其中,所述第一子权值张量、第二子权值张量和所述权值张量的维度相同,该卷积层压缩前后的压缩比是基于所述第一预设精度确定的。
可选的,一种具体实现方式中,在针对所述目标卷积神经网络的每一卷积层执行压缩处理时,该卷积层的第一二维矩阵对应的多个第一奇异值分解项按照所具有的奇异值由大到小的顺序排布;
所述项目选取子模块包括:
权重和计算单元,用于计算各个候选分解项组所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和;其中,每一候选分解项组中,包括所述多个第一奇异值分解项中的第一个第一奇异值分解项至第k个第一奇异值分解项,k∈[1,n-1],n为所述多个第一奇异值分解项的个数;
分解项选取单元,用于从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,将所述第一分解项组中的各个第一奇异值分解项,作为所选取的至少一个第一奇异值分解项。
可选的,一种具体实现方式中,所述权重和计算单元具体用于:
利用第一公式,计算各个候选分解项组中,各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,其中,所述第一公式为:
其中,rk为第k个候选分解项组所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,λi为所述多个第一奇异值分解项中,第i个第一奇异值分解项的奇异值。
可选的,一种具体实现方式中,所述分解项选取单元具体用于:
利用第二公式,从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,其中,所述第二公式为:
t=min{k|rk≥e(1≤k≤n)}
其中,t为第一分解项组中所包含的第一奇异值分解项的数量,rk为第k个候选分解项组中所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,e为该卷积层的第一预设精度参数。
可选的,一种具体实现方式中,所述目标卷积神经网络包括全连接层;所述装置还包括:
全连接层压缩模块,用于在得到压缩后的目标卷积神经网络之前,基于奇异值分解原理,确定所述全连接层的权值张量对应的多个第二奇异值分解项;其中,每个第二奇异值分解项为一奇异值与一第三二维矩阵的乘积;按照第二选取规则,从所述多个第二奇异值分解项中,选取至少一个第二奇异值分解项;其中,所述第二选取规则为:所选取的各个第二奇异值分解项在所述多个第二奇异值分解项中的权重和不小于所述全连接层的第二预设精度参数,且所选取的各个第二奇异值分解项的个数最少;利用所选取的各个第二奇异值分解项,对所述全连接层的权值张量进行近似分解,得到所述全连接层的第三子权值张量和第四子权值张量,作为压缩后的所述全连接层的权值张量;其中,所述第三子权值张量、第四子权值张量和所述全连接层的权值张量的维度相同,所述全连接层压缩前后的压缩比是基于所述第二预设精度确定的;
所述网络获取模块,具体用于在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量和压缩后的所述全连接层的权值张量后,得到被压缩的目标卷积神经网络。
可选的,一种具体实现方式中,所述装置还包括:
模型训练模块,用于对所述压缩后的目标卷积神经网络进行训练,得到训练完成的卷积神经网络。
可选的,一种具体实现方式中,所述模型训练模块具体用于:
获取用于训练所述目标神经网络的多个训练样本和所述目标神经网络的特征提取层输出的每个训练样本的特征数据;将所获取的每个训练样本的特征数据作为该训练样本的标签,得到具有新标签的训练样本;利用所得到的具有新标签的训练样本对所述压缩后的目标卷积神经网络进行训练,直至满足预设收敛条件时,得到训练完成的目标卷积神经网络。
可选的,一种具体实现方式中,所述装置还包括:
精度测试模块,用于利用预设测试集对所述训练完成的目标卷积神经网络的精准度进行测试,得到所述训练完成的目标卷积神经网络的精准度,并计算所述目标卷积神经网络的精准度与所述训练完成的目标卷积神经网络的精准度的差值;当计算得到的差值小于预设阈值时,将所述训练完成的目标卷积神经网络作为目标卷积神经网络,继续进行压缩,直至计算得到的差值不小于预设阈值。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的任一卷积神经网络的压缩方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的任一卷积神经网络的压缩方法的步骤。
以上可见,应用本发明实施例提供的方案,针对目标卷积神经网络的每一卷积层,将该卷积层的权值张量变形为第一二维矩阵,并利用奇异值分解原理确定该第一二维矩阵对应的多个第一奇异值分解项。进而,按照第一选取规则,从多个第一奇异值分解项中选取至少一个第一奇异值分解项,并利用所选取的第一奇异值分解项,对上述第一二维矩阵近似分解为第一分解矩阵和第二分解矩阵。从而,将第一分解矩阵和第二分解矩阵分别变形得到第一子权值张量和第二子权值张量作为该卷积层压缩后的权值张量。这样,在得到目标卷积神经网络的每一卷积层压缩后的权值张量后,便可以得到压缩后的目标卷积神经网络。其中,根据奇异值分解原理,第一分解矩阵的每个列向量,可以由第一二维矩阵的列向量线性表示,第二分解矩阵的每个行向量可以由第一二维矩阵的行向量线性表示。
基于此,应用本具体实施例提供的方案,针对目标的卷积神经网络中的每一卷积层,该卷积层压缩前的权值张量与该卷积层压缩后的第一子权值张量和第二子权值张量具有相似的特征空间,从而可以降低关于压缩前后的卷积神经网络间的精准度差异。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种卷积神经网络的压缩方法中,针对目标卷积神经网络的每一卷积层所执行的压缩方法的流程示意图;
图2为图1所示实施例中步骤S103的一种具体实现方式的流程示意图;
图3为本发明实施例提供的一种卷积神经网络的压缩方法中,针对目标卷积神经网络的全连接层所执行的压缩方法的流程示意图;
图4为本发明实施例提供的对压缩后的目标卷积神经网络进行训练,得到训练完成的目标卷积神经网络的一种具体实现方式的流程示意图;
图5为本发明实施例提供的一种卷积神经网络的压缩装置的结构示意图;
图6为图5中卷积层压缩模块510的一种结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,是通过剪去大规模卷积神经网络中连接权值接近零的神经元来减少卷积神经网络的参数量和计算量,得到压缩后的卷积神经网络的。然而,在该相关技术中,卷积神经网络的网络结构中神经元的连接方式和卷积核形状在压缩前后会发生变化,产生较大差异,从而不利于压缩后的卷积神经网络应用过程中的特征学习,导致压缩后的卷积神经网络相对于压缩前的卷积神经网络的精准度大大降低。为了解决上述相关技术中的技术问题,本发明实施例提供了一种卷积神经网络的压缩方法。
下面,首先对本发明实施例提供的一种卷积神经网络的压缩方法进行介绍。
图1为本发明实施例提供的一种卷积神经网络的压缩方法中,针对目标卷积神经网络的每一卷积层所执行的压缩方法的流程示意图。其中,该压缩方法可以应用于任意需要对卷积神经网络进行压缩的电子设备,例如,笔记本电脑、台式电脑、手机等,对此,本发明实施例不做具体限定,以下简称电子设备。
如图1所示,本发明实施例提供的一种卷积神经网络的压缩方法中,针对目标卷积神经网络的每一卷积层,可以执行如下步骤:
S101:将该卷积层的权值张量变形为第一二维矩阵;
卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks)。卷积神经网络中包括用于对输入数据进行特征提取的卷积层,每个卷积层内部包括多个卷积核,且组成卷积核的每个元素都对应一个权重系数。
具体的,卷积神经网络的每一卷积层拥有Cout个三维卷积核,卷积核的形状为h×w×Cin,其中,h和w分别为卷积核的高和宽,Cin和Cout分别为该卷积层的输入通道数量和输出通道数量。其中,可以将每一卷集成所包括的所有卷积核作为一个整体,得到该卷积层的权值张量,该权值张量为四维张量h×w×Cin×Cout。
在本发明实施例中,在获得目标卷积神经网络后,电子设备可以确定该目标卷积神经网络中每一卷积层的权值张量,进而,针对该目标卷积神经网络的每一卷积层,电子设备便可以对该卷积层的权值张量进行变形,从而得到第一二维矩阵。
其中,电子设备可以通过多种方式将该卷积层的权值张量变形为第一二维矩阵,对此,本发明实施例不做具体限定。
可选的,该卷积层的权值张量通过变形,可以映射成为一个第一二维矩阵,该第一二维矩阵的行数为h×w×Cin,列数为Cout。
S102:基于奇异值分解原理,确定第一二维矩阵对应的多个第一奇异值分解项;
其中,每个第一奇异值分解项为一奇异值与一第二二维矩阵的乘积;
针对目标卷积神经网络的每一卷积层,在执行完上述步骤S101,得到该卷积层的权值张量对应的第一二维矩阵后,便可以基于奇异值分解原理,确定所得到的第一二维矩阵对应的多个第一奇异值分解项。
具体的,电子设备可以对该卷积层的权值张量对应的第一二维矩阵进行奇异值分解,得到如下结果:
W=λ1u1v1 T+...+λnunvn T
其中,W为该卷积层的权值张量对应的第一二维矩阵,λ1u1v1 T、λ2u2v2 T……、λnunvn T为第一二维矩阵W对应的多个第一奇异值分解项,n≤min(h×w×Cin,Cout)。
进一步的,λ1u1v1 T+...+λnunvn T为第一二维矩阵W的第一奇异值分解结果,λiuivi T为第一二维矩阵W对应的各个第一奇异值分解项,λ1、λ2、…、λi、…、λn为第一二维矩阵W对应的各个第一奇异值分解项的奇异值,且奇异值λi表征了第一奇异值分解项λiuivi T的权重。并且,每个第一奇异值分解项λiuivi T为一奇异值λi和一第二二维矩阵uivi T的乘积。其中,i∈{1,2,...,n}。
此外,在第一二维矩阵W对应的各个第一奇异值分解项中,ui(i∈{1,2,...,n})为拥有h×w×Cin个元素的列向量,u1,u2,…,un为第一二维矩阵W列向量空间的相互正交列向量,可以看成是第一二维矩阵W列向量空间的基向量;
vi(i∈{1,2,...,n})为拥有Cout个元素的列向量,上标T表示转置,v1 T,v2 T,…,vn T为第一二维矩阵W行向量空间的相互正交的行向量,可以看成是第一二维矩阵W的行向量空间的基向量。
其中,由于在后续相关步骤中,还需要利用该卷积层的权值张量对应的第一二维矩阵,因此,在上述步骤S102中,电子设备基于奇异值分解原理,确定该第一二维矩阵对应的多个第一奇异值分解项后,电子设备中仍然保存着该卷积层的权值张量对应的第一二维矩阵。
S103:按照第一选取规则,从多个第一奇异值分解项中,选取至少一个第一奇异值分解项;
其中,第一选取规则为:所选取的各个第一奇异值分解项在多个第一奇异值分解项中的权重和不小于该卷积层的第一预设精度参数,且所选取的各个第一奇异值分解项的数量最少。
根据对上述步骤S102的介绍,可见,针对目标卷积神经网络的每一卷积层,电子设备所确定的该卷积层对应的第一二维矩阵对应的多个第一奇异值分解项的实质是:将该卷积层对应的第一二维矩阵W分解为n个秩为1的矩阵的线性组合,也就是将第一二维矩阵W分为n个分解项uivi T的线性组合,i∈{1,2,...,n}。
其中,第i个奇异值λi表征了该线性组合中第i个分解项λiuivi T的重要程度。显然,由于可以通过对目标卷积神经网络的各个卷积层的压缩来实现对目标的卷积神经网络的压缩,因此,在执行完上述步骤S102,确定该卷积层所对应第一二维矩阵对应的多个第一奇异值分解项后,电子设备可以利用多个第一奇异值分解项中重要程度较高的第一奇异值分解项来表示该卷积层对应的第一二维矩阵,从而通过保留重要程度较高的第一奇异值分解项,舍弃其他重要程度较低的第一奇异值分解项,实现该卷积层的压缩。
并且,为了保证在对目标卷积神经网络进行压缩后,最终得到的压缩后的目标卷积神经网络仍然可以具有一定程度的精准度,在确定上述多个第一奇异值分解项中要保留的第一奇异值分解项和要舍弃的第一奇异值分解项时,需要考虑所保留的第一奇异值分解项的重要程度是否能够满足最终得到的压缩后的目标卷积神经网络所需的精准度。
基于此,在对目标卷积神经网络的每一卷积层,在执行完上述步骤S102,确定该卷积层的权值张量所对应第一二维矩阵对应的多个第一奇异值分解项后,电子设备便可以从上述多个第一奇异值分解项中,选取权重和不小于该卷积层的第一预设精度参数,且数量最少的至少一个第一奇异值分解项。这样,便可以在满足最终得到的压缩后的目标卷积神经网络所需求的精准度的基础上,最大限度对该卷积层进行压缩。
其中,针对目标卷积神经网络的每一卷积层,不同的卷积层对应的第一预设精度参数可以相同,也可以不同。对此,本发明实施例不做具体限定。
此外,在本发明实施例中,针对目标卷积神经网络的每一卷积层,电子设备可以通过多种方式执行上述步骤S103,按照第一选取规则,从多个第一奇异值分解项中,选取至少一个第一奇异值分解项。对此,本发明实施例不做具体限定。为了行文清晰,后续将会对电子设备执行上述步骤S103的具体实现方式进行举例说明。
S104:利用所选取的各个第一奇异值分解项,对第一二维矩阵进行近似分解,得到该卷积层的第一分解矩阵和第二分解矩阵;
针对目标卷积神经网络的每一卷积层,在执行完上述步骤S103,选取得到至少一个第一奇异值分解项后,电子设备便可以利用所选取的各个第一奇异值分解项,对该卷积层对应的第一二维矩阵进行近似分解,从而得到该卷积层的第一分解矩阵和第二分解矩阵。
具体的,假设选取得到的至少一个第一奇异值分解项分别为λ1u1v1 T、λ2u2v2 T、……、λtutvt T,t<n,显然,t可以表征所选取的各个第一奇异值分解项的数量。则所选取的各个第一奇异值分解项,对该卷积层对应的第一二维矩阵进行近似分解的结果如下:
其中,U和VT分别为该卷积层的第一分解矩阵和第二分解矩阵,是一个行数为h×w×Cin,列数为t的二维矩阵,/>是一个行数为t,列数为Cout的二维矩阵。
可以理解的,在得到上述U和VT后,也可以将VT和U分别作为该卷积层的第一分解矩阵和第二分解矩阵,这都是合理的。
S105:将所得到的第一分解矩阵和第二分解矩阵分别变形为第一子权值张量和第二子权值张量,作为该卷积层压缩后的权值张量;
其中,第一子权值张量、第二子权值张量和权值张量的维度相同,该卷积层压缩前后的压缩比是基于第一预设精度确定的。
针对目标卷积神经网络的每一卷积层,在得到该卷积层的第一分解矩阵和第二分解矩阵后,电子设备便可以将第一分解矩阵和第二分解矩阵分别变形为第一子权值张量和第二子权值张量,进而,将变形得到的第一子权值张量和第二子权值张量,作为该卷积层的权值张量。
其中,由于根据奇异值分解原理,第一分解矩阵的每个列向量,可以由待分解二维矩阵的列向量线性表示,第二分解矩阵的每个行向量可以由待分解二维矩阵的行向量线性表示,因此,针对目标的卷积神经网络中的每一卷积层,该卷积层压缩前的权值张量与该卷积层压缩后的第一子权值张量和第二子权值张量具有相似的特征空间。
具体的,在上述U和VT分别为该卷积层的第一分解矩阵和第二分解矩阵的情况下,可以将U变形为一个h×w×Cin×t的四维张量,也就得到一个高和宽分别为h和w,输入通道和输出通道分别为Cin和t的卷积核;将VT变形为一个1×1×t×Cout的四维张量,也就得到一个高和宽均为1,输入通道和输出通道分别为t和Cout的四维张量。这样,该卷积层的原始权值张量h×w×Cin×Cout便可以被近似分解为第一子权值张量h×w×Cin×t和第二子权值张量1×1×t×Cout。
显然,该卷积层压缩前的权值张量与该卷积层压缩后的第一子权值张量和第二子权值张量均为四维张量,即该卷积层压缩前的权值张量与该卷积层压缩后的第一子权值张量和第二子权值张量的维度相同。进一步的,该卷积层压缩前后的压缩比是由上述该卷积层的第一预设精度参数确定的。
这样,在将目标卷积神经网络的每一卷积层的权值张量均近似分解为该卷积层的第一子权值张量和第二子权值张量,即得到目标卷积神经网络的每一卷积层压缩后的权值张量后,便可以得到压缩后的目标卷积神经网络。
以上可见,应用本发明实施例提供的方案,针对目标卷积神经网络的每一卷积层,将该卷积层的权值张量变形为第一二维矩阵,并利用奇异值分解原理确定该第一二维矩阵对应的多个第一奇异值分解项。进而,按照第一选取规则,从多个第一奇异值分解项中选取至少一个第一奇异值分解项,并利用所选取的第一奇异值分解项,对上述第一二维矩阵近似分解为第一分解矩阵和第二分解矩阵。从而,将第一分解矩阵和第二分解矩阵分别变形得到第一子权值张量和第二子权值张量作为该卷积层压缩后的权值张量。这样,在得到目标卷积神经网络的每一卷积层压缩后的权值张量后,便可以得到压缩后的目标卷积神经网络。其中,根据奇异值分解原理,第一分解矩阵的每个列向量,可以由第一二维矩阵的列向量线性表示,第二分解矩阵的每个行向量可以由第一二维矩阵的行向量线性表示。
基于此,应用本具体实施例提供的方案,针对目标的卷积神经网络中的每一卷积层,该卷积层压缩前的权值张量与该卷积层压缩后的第一子权值张量和第二子权值张量具有相似的特征空间,从而可以降低关于压缩前后的卷积神经网络间的精准度差异。
下面,对针对目标卷积神经网络的每一卷积层,电子设备执行上述步骤S103,按照第一选取规则,从多个第一奇异值分解项中,选取至少一个第一奇异值分解项的具体实现方式进行举例介绍。
可以理解的,针对目标卷积神经网络的每一卷积层,在执行上述步骤S102,确定该卷积层的权值张量所对应第一二维矩阵对应的多个第一奇异值分解项时,在所得到的多个第一奇异值分解项中,可以按照各个第一奇异值分解项的重要程度来排列上述多个第一奇异值分解项。而由于所得到的多个第一奇异值分解项中,第i个奇异值λi表征了第i个第一奇异值分解项λiuivi T的重要程度,因此,在上述所得到的多个第一奇异值分解结果项中,各个奇异值λi之间的大小关系可以为λ1≥λ1≥...≥λn>0,即该卷积层对应的多个第一奇异值分解项按照所具有的奇异值由大到小的顺序排布。
基于此,可选的,一种具体实现方式中,如图2所示,电子设备执行上述步骤S103,按照第一选取规则,从多个第一奇异值分解项中,选取至少一个第一奇异值分解项的方式可以包括如下步骤:
S201:计算各个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和,
其中,每一候选分解项组中,包括多个第一奇异值分解项中的第一个第一奇异值分解项至第k个第一奇异值分解项,k∈[1,n-1],n为多个第一奇异值分解项的个数;
在本具体实现方式中,针对目标卷积神经网络的每一卷积层,电子设备可以事先确定所得到的多个第一奇异值分解项中,各个第一奇异值分解项所组成的各个候选分解项组。其中,每一候选分解项组中可以包括所确定的多个第一奇异值分解项中的第一奇异值分解项至第k个第一奇异值分解项。显然,每一候选分解项组对应的k的数值表征了该候选分解项组中所包括的第一奇异值分解项的数量。
例如,可以确定由第一奇异值分解项λ1u1v1 T构成第一个候选分解项组,由第一奇异值分解项λ1u1v1 T和λ2u2v2 T构成第二个候选分解项组,由第一奇异值分解项λ1u1v1 T、λ2u2v2 T和λ3u3v3 T构成第三个候选分解项组,依次类推,直至确定由第一奇异值分解项λ1u1v1 T、……、λn-1un-1vn-1 T构成第n-1个候选分解项组。
其中,第一个候选分解项组对应的k=1,该候选奇异值组中所包括的第一奇异值分解项的数量为1;第二个候选分解项组对应的k=2,该候选奇异值组中所包括的第一奇异值分解项的数量为2;第三个候选分解项组对应的k=3,该候选奇异值组中所包括的第一奇异值分解项的数量为3;依次类推,第n-1个候选分解项组对应的k=n-1,该候选奇异值组中所包括的第一奇异值分解项的数量为n-1。
进而,电子设备便可以计算各个候选分解项组中所包含第一奇异值分解项在所确定的多个第一奇异值分解项中的权重和。
其中,由于所得到的多个第一奇异值分解项中,第i个奇异值λi表征了第i个第一奇异值分解项λiuivi T的重要程度,因此,可选的,本发明实施例提供的一种具体实施方式中,电子设备在执行上述步骤S201,计算各个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和的方式可以是:
计算各个候选分解项组中所包含各个第一奇异值分解项所具有的的奇异值的和值,并将该和值确定为各个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和。
此外,可选的,本发明实施例提供的另一种具体实施方式中,电子设备在执行上述步骤S201,计算各个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和的方式可以是:
利用第一公式,计算各个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和,其中,第一公式为:
其中,rk为第k个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和,λi为多个第一奇异值分解项中,第i个第一奇异值分解项的奇异值。
也就是说,在本具体实现方式中,计算的是各个候选分解项组中所包含各个第一奇异值分解项所具有的奇异值的和值与所得到的多个第一奇异值分解项中所有第一奇异值分解项所具有的奇异值的和值的比值,并将该比值确定为各个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和。
显然,在本具体实施方式中,各个候选分解项组分别为:由第一奇异值分解项λ1u1v1 T构成第一个候选分解项组,由第一奇异值分解项λ1u1v1 T和λ2u2v2 T构成第二个候选分解项组,由第一奇异值分解项λ1u1v1 T、λ2u2v2 T和λ3u3v3 T构成第三个候选分解项组,依次类推,直至由第一奇异值分解项λ1u1v1 T、……、λn-1un-1vn-1 T构成第n-1个候选分解项组。
此外,由于上述第一公式中的rk为第k个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和,也就是说,rk可以表征第k个候选分解项组中所包含各个第一奇异值分解项在所确定的多个第一奇异值分解项中的重要程度,因此,也可以将rk称为第1-k个第一奇异值分解项的能量比,也可以称为第1-k个奇异值的能量比。
S202:从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,将第一分解项组中的各个第一奇异值分解项,作为所选择的至少一个第一奇异值分解项。
进一步的,在执行完上述步骤S201,计算得到各个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和后,电子设备便可以从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,进而,将第一分解项组中的各个第一奇异值分解项,作为所选择的至少一个第一奇异值分解项。
可选的,本发明实施例提供的一种具体实施方式中,电子设备执行上述步骤S202中,从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组的方式为:
利用第二公式,从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,其中,第二公式为:
t=min{k|rk≥e(1≤k≤n)}
其中,t为第一分解项组中所包含的第一奇异值分解项的数量,rk为第k个候选分解项组中所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和,e为该卷积层的第一预设精度参数。
具体的,电子设备可以首先确定各个候选分解项组中,所计算得到的权重和不小于该卷积层的第一预设精度参数的各个候选分解项组;进而,由于每一候选分解项组中包括所确定的多个第一奇异值分解项中的第一个第一奇异值分解项至第k个第一奇异值分解项,每一候选分解项组对应的k的数值表征了该候选分解项组中所包括的第一奇异值分解项的数量,因此,电子设备便可以确定所计算得到的权重和不小于该卷积层的第一预设精度参数的各个候选分解项组中,所对应K值最小的候选分解项组。进而,该所对应K值最小的候选分解项组可以被确定为第一分解项组。
其中,上述所对应K值最小的候选分解项组所对应的K值,即第一分解项中所包括的奇异值的数量可以用t表示。
此外,上述第二公式中,e为该卷积层的第一预设精度参数,也就是说e可以用于表征在多个第一奇异值分解项中所保留的第一奇异值分解项和所舍弃的第一奇异值分解项的重要程度之间的关系,因此,也可以将e称为该卷积层的能量比阈值。
而由于是利用所选取至少一个第一奇异值分解项,对所得到的第一二维矩阵进行近似分解的,而第一分解项组中所包含的第一奇异值分解项的数量为t,也就是说,是利用所确定的多个第一奇异值分解项所包括的n个第一奇异值分解项中的t个第一奇异值分解项,对所得到的第一二维矩阵进行近似分解的。因此,也可以将t称为该卷积层的截断。
在很多情况下,卷积神经网络中还可以包括全连接层,所谓全连接层等价于传统前馈神经网络中的隐含层。基于此,当目标卷积神经网络中包括全连接层时,为了能够最大程度的对目标卷积涉及网络进行压缩,也可以对目标卷积神经网络中所包括的全连接层进行压缩。
因此,当目标卷积神经网络中包括全连接层时,在得到压缩后的目标卷积神经网络之前,需要对全连接层进行压缩处理,可选的,图3为本发明实施例提供的一种卷积神经网络的压缩方法中,针对目标卷积神经网络的全连接层所执行的压缩方法的流程示意图,如图3所示,在该具体实现方式中,在得到压缩后的目标卷积神经网络之前,还可以对该全连接层执行如下步骤:
S301:基于奇异值分解原理,确定全连接层的权值张量对应的多个第二奇异值分解项;
其中,每个第二奇异值分解项为一奇异值与一第三二维矩阵的乘积;
S302:按照第二选取规则,从多个第二奇异值分解项中,选取至少一个第二奇异值分解项;
其中,第二选取规则为:所选取的各个第二奇异值分解项在多个第二奇异值分解项中的权重和不小于全连接层的第二预设精度参数,且所选取的各个第二奇异值分解项的个数最少;
S303:利用所选取的各个第二奇异值分解项,对全连接层的权值张量进行近似分解,得到全连接层的第三子权值张量和第四子权值张量,作为压缩后的全连接层的权值张量;
其中,第三子权值张量、第四子权值张量和全连接层的权值张量的维度相同,全连接层压缩前后的压缩比是基于第二预设精度确定的。
针对上述步骤S301-S303,全连接层的输入通道数量和输出通道数量分别Cin'和Cout',而全连接层的权值张量为Cin'×Cout'。显然,全连接层的权值张量为一个二维矩阵,因此,不需要将全连接层的权值张量变形为一个二维矩阵,而可以直接基于奇异值分解原理,确定全连接层的权值张量对应的多个第二奇异值分解项。
其中,确定全连接层的权值张量对应的多个第二奇异值分解项的方式,可以与上述图1所示实施例中确定目标卷积神经网络的每一层的权值张量所对应第一二维矩阵的多个第一奇异值分解项的方式相同,在此不再赘述。
进一步的,在确定全连接层的权值张量对应的多个第二奇异值分解项后,电子设备便可以按照第二选取规则,从所确定的多个第二奇异值分解项中,选取权重和不小于全连接层的第二预设精度参数,且个数最少的至少一个第二奇异值分解项。
其中,按照第二选取规则,从所确定的多个第二奇异值分解项中,选取权重和不小于全连接层的第二预设精度参数,且个数最少的至少一个第二奇异值分解项,可以与上述图1所示实施例中按照第一选取规则,从所确定的多个第一奇异值分解项中,选取权重和不小于卷积层的第一预设精度参数,且个数最少的至少一个第一奇异值分解项的方式相同,在此不再赘述。
再进一步的,在从所确定的多个第二奇异值分解项中,选取至少一个第二奇异值分解项后,电子设备便可以利用所选取的各个第二奇异值分解项,对全连接层的权值张量进行近似分解,得到全连接层的第三子权值张量和第四子权值张量。
其中,由于全连接层的权值张量为一个二维矩阵,因此,在得到全连接层的第三子权值张量和第四子权值张量后,可以直接将所确定的第三子权值张量和第四子权值张量作为压缩后的全连接层的权值张量,而不需要将所得到的第三子权值张量和第四子权值张量分别变形为一个四维张量。
其中,全连接层的第三子权值张量和第四子权值张量可以分别为Cin'×t'和t'×Cout',或者,全连接层的第三子权值张量和第四子权值张量可以分别为t'×Cout'和Cin'×t',其中,t'为所选取至少一个第二奇异值分解项的数量。
显然,全连接层压缩前的权值张量与全连接层压缩后的第三子权值张量和第四子权值张量均为二维张量,即全连接层压缩前的权值张量与全连接层压缩后的第三子权值张量和第四子权值张量的维度相同。进一步的,全连接层压缩前后的压缩比是由上述全连接层的第二预设精度参数确定的。
其中,由于根据奇异值分解原理,第三子权值张量的每个列向量,可以由全连接层的权值张量的列向量线性表示,第四子权值张量的每个行向量可以由全连接层的权值张量的行向量线性表示,因此,针对目标的卷积神经网络中的每一全连接层,该全连接层压缩前的权值张量与该卷积层压缩后的第三子权值张量和第四子权值张量具有相似的特征空间。
其中,利用所选取的各个第二奇异值分解项,对全连接层的权值张量进行近似分解,得到全连接层的第三子权值张量和第四子权值张量的方式,可以与上述图1所示实施例中针对目标卷积神经网络的每一卷积层,利用利用所选取的各个第一奇异值分解项,对第一二维矩阵进行近似分解,得到该卷积层的第一分解矩阵和第二分解矩阵的方式相同,再次不再赘述。
这样,在得到目标卷积神经网络的每一层卷积层压缩后的权值张量和压缩后的全连接层的权值张量后,电子设备便可以得到被压缩的目标卷积神经网络。
需要强调的是,电子设备对目标卷积神经网络的每一卷积层进行压缩处理和对全连接层进行压缩处理的顺序,可以是先对每一卷积层进行压缩处理,再对全连接层进行压缩处理;也可以是先对全连接层进行压缩处理,再对每一卷积层进行压缩处理;还可以是同时对每一卷积层进行压缩处理和对全连接层进行压缩处理,这都是合理的。对此,本发明实施例不做具体限定。
例如,电子设备可以在得到目标卷积神经网络的每一卷积层的第一子权值张量和第二子权值张量之后,再执行上述步骤S301-S303,得到全连接层的第三子权值张量和第四子权值张量,进而,得到压缩后的目标卷积神经网络;
又例如,电子设备也可以先执行上述步骤S301-S303,得到全连接层的第三子权值张量和第四子权值张量,再对目标卷积神经网络的每一卷积层进行压缩处理,得到每一卷积层的第一子权值张量和第二子权值张量,进而,得到压缩后的目标卷积神经网络;
再例如,电子设备可以同时对每一卷积层进行压缩处理和对全连接层进行压缩处理,得到每一卷积层的第一子权值张量和第二子权值张量和全连接层的第三子权值张量和第四子权值张量,进而,得到压缩后的目标卷积神经网络。
针对压缩后的目标卷积神经网络的每一卷积层,相比于目标卷积神经网络中的该卷积层,电子设备可以通过如下公式计算该卷积层的压缩比:
其中,rate为压缩后的目标卷积神经网络的每一卷积层,相比于目标卷积神经网络中的该卷积层的压缩比,而由于t的取值是基于e得到的,因此t可以视作与e相关的函数,即t随e的变化而变化。
根据相关数学计算规则,针对压缩后的目标卷积神经网络的每一卷积层,当该卷积层所拥有的卷积核较多时,相比于目标卷积神经网络中的该卷积层,利用上述公式所计算得到的压缩比如下:
rate≈t(e)/Cout
而相对的,针对拥有1×1卷积核的卷积层或者全连接层而言,利用上述公式所计算得到的压缩比如下:
rate=(Cin+Cout)×t(e)/(Cin×Cout)
显然,针对目标卷积神经网络的每一卷积层,该卷积层压缩前后的压缩比是基于该卷积层的第一预设精度确定的,针对目标卷积神经网络的全连接层,该全连接层压缩前后的压缩比是基于该全连接层的第二预设精度确定。
由于对目标卷积神经网络的压缩,可以带来目标卷积神经网络的精准度下降,使得关于压缩前后的目标卷积神经网络间的精准度之间存在差异。因此,在执行完上述各实施方式,得到压缩后的目标卷积神经网络后,为了能够减少目标卷积神经网络的精准度下降的程度,可选的,一种具体实现方式中,本发明实施例提供的一种卷积神经网络的压缩方法中,还可以包括如下步骤:
对压缩后的目标卷积神经网络进行训练,得到训练完成的目标卷积神经网络。
也就是说,在得到压缩后的目标卷积神经网络后,电子设备还可以对该压缩后的目标卷积神经网络进行训练,并在满足预定的收敛条件时,停止训练得到训练完成的目标卷积神经网络。这样,可以提高压缩后的目标卷积神经网络的精准度,降低关于压缩前后的目标卷积神经网络间的精准度差异。
其中,电子设备可以通过多种方法执行上述对压缩后的目标卷积神经网络进行训练,得到训练完成的目标卷积神经网络的步骤,对此本发明实施例不做具体限定。
可选的,一种具体实现方式中,如图4所示,电子设备执行上述对压缩后的目标卷积神经网络进行训练,得到训练完成的目标卷积神经网络的步骤的方式可以包括如下步骤:
S401:获取用于训练目标神经网络的多个训练样本和目标神经网络的特征提取层输出的每个训练样本的特征数据;
在得到压缩后的卷积神经网络后,电子设备可以从目标卷积神经网络的特征提取层获取在训练目标卷积神经网络时,目标卷积神经网络所学习到的各个用来训练目标卷积神经网络的训练样本的特征数据。同时,电子设备还可以获取用于训练目标神经网络的多个训练样本。
其中,上述训练样本可以是保存在电子设备本地,从而电子设备可以直接从本地获取;也可以是保存在与电子设备通信连接的其他电子设备中,从而电子设备可以从该其他电子设备处获取。对此,本发明实施例不做具体限定。
S402:将所获取的每个训练样本的特征数据作为该训练样本的标签,得到具有新标签的训练样本;
S403:利用所得到的具有新标签的训练样本对压缩后的目标卷积神经网络进行训练,直至满足预设收敛条件时,得到训练完成的目标卷积神经网络。
在得到上述多个训练样本和每个训练样本的特征数据后,电子设备可以将每个训练样本的特征数据作为该训练样本的标签,从而得到具有新标签的训练样本。这样,电子设备便可以利用所得到的具有新标签的训练样本对压缩后的目标卷积神经网络进行训练,直至满足预设收敛条件时,得到训练完成的目标卷积神经网络。
例如,训练样本为A、B和C,原始标签分别为a0、b0和c0,而从目标卷积神经网络所提取到各个训练样本的特征数据分别为a1、b1和c1,则在利用训练样本为A、B和C训练压缩后的目标卷积神经网络时,各个训练样本的标签分别变为a1、b1和c1。
其中,由于在上述各个实施例中电子设备仅仅是对目标卷积神经网络的每一卷积层,或者,对目标卷积神经网络的每一卷积层和全连接层进行了压缩,并没有改变目标卷积神经网络中的其他各个层,因此,目标卷积神经网络的输出层和压缩后的目标卷积神经网络的输出层,以及目标卷积神经网络的特征提取层和压缩后的目标卷积神经网络的特征提取层是相同的。
基于此,在本发明实施例中,具体的,在得到压缩后的目标卷积神经网络中,可以将压缩后的目标卷积神经网络中的最后一层去掉,保留压缩后的目标卷积神经网络的特征提取层。其中,该最后一层为压缩后的目标卷积神经网络的输出层,根据目标卷积神经网络所实现的功能不同,压缩后的目标卷积神经网络的输出层可以为分类层或回归层,这都是合理的。
进而,利用上述步骤S402中,所得到的具有新标签的训练样本对去掉最后一层的压缩后的目标卷积神经网络进行训练,直至满足预设收敛条件。进而,在去掉最后一层的压缩后的目标卷积神经网络通过训练满足预设收敛条件后,便可以添加上述去掉的最后一层,从而根据目标卷积神经网络所实现的功能不同,对完整的压缩后的目标卷积神经网络的分类能力或者回归能力进行训练。
其中,上述步骤S401中的特征提取层可以是压缩后的目标卷积神经网络中的最后一个特征层提取层,也可以是中间几个特征层提取层。其中,中间几个特征提取层所输出的训练样本的特征数据的形式可以是高维张量,因此,电子设备在获得中间几个特征提取层所输出的训练样本的特征数据,可以将高维张量表示的特征数据变形为向量形式进行存储,进而,将向量形式表示的特征数据作为训练样本的新标签。
由于上述各个实施方式中,所得到的压缩后的目标卷积神经网络与目标的卷积神经网络具有相同的特征空间,即具有相同的特征映射能力。这样,在对压缩后的目标卷积神经网络进行训练时,压缩后的目标卷积神经网络学习的不是目标卷积神经网络的训练结果,而是学习目标卷积神经网络的特征提取能力。从而可以使压缩后的目标卷积神经网络学习的更深入,与目标卷积神经网络的精准度更接近。
此外,上述预设收敛条件可以是预设损失函数小于指定阈值,或者,预设迭代次数达到预设次数,这都是合理的。其中,预设损失函数可以为余弦距离函数。
进一步的,为了能够在满足对压缩后的目标卷积神经网络的精准度要求的基础上,将目标卷积神经网络的参数量和计算量压缩到最小,可以将每次得到的压缩后的目标卷积神经网络作为新的目标卷积神经网络,从而循环执行上述本发明实施例提供的方案,使得最终得到的压缩后的目标卷积神经网络的压缩比较大,且关于压缩前后的目标卷积神经网络间的精准度差异满足差异要求。
基于此,可选的,一种具体实现方式中,在得到训练完成的目标卷积神经网络之后,本发明实施例提供的方案还可以包括如下步骤:
利用预设测试集对训练完成的目标卷积神经网络的精准度进行测试,得到训练完成的目标卷积神经网络的精准度,并计算目标卷积神经网络的精准度与训练完成的目标卷积神经网络的精准度的差值;
当计算得到的差值小于预设阈值时,将训练完成的目标卷积神经网络作为新的目标卷积神经网络,继续进行压缩,直至计算得到的差值不小于预设阈值。
这样,就可以在满足对压缩后的目标卷积神经网络的精准度需求的条件下,将目标的目标卷积神经网络的参数量和计算量压缩到最小。
相应于上述本发明实施例提供的一种卷积神经网络的压缩方法,本发明实施例还提供了一种卷积神经网络的压缩装置。
图5为本发明实施例还提供了一种卷积神经网络的压缩装置的结构示意图,如图5所示,该压缩装置可以包括如下模块:
卷积层压缩模块510,用于针对目标卷积神经网络的每一卷积层执行压缩处理;
网络获取模块520,用于在得到目标卷积神经网络的每一层卷积层压缩后的权值张量后,得到被压缩的目标卷积神经网络。
其中,图6为上述卷积层压缩模块的结构示意图,如图6所示,上述卷积层压缩模块可以包括如下子模块:张量变形子模块610、奇异值分解子模块620、项目选取子模块630、矩阵分解子模块640和权值张量获取子模块650。
在针对目标卷积神经网络的每一卷积层执行压缩处理时,
上述张量变形子模块610,用于将该卷积层的权值张量变形为第一二维矩阵;
上述奇异值分解子模块620,用于基于奇异值分解原理,确定第一二维矩阵对应的多个第一奇异值分解项;其中,每个第一奇异值分解项为一奇异值与一第二二维矩阵的乘积;
上述项目选取子模块630,用于按照第一选取规则,从多个第一奇异值分解项中,选取至少一个第一奇异值分解项;其中,第一选取规则为:所选取的各个第一奇异值分解项在多个第一奇异值分解项中的权重和不小于该卷积层的第一预设精度参数,且所选取的各个第一奇异值分解项的数量最少;
上述矩阵分解子模块640,用于利用所选取的各个第一奇异值分解项,对第一二维矩阵进行近似分解,得到该卷积层的第一分解矩阵和第二分解矩阵;
上述权值张量获取子模块650,用于将所得到的第一分解矩阵和第二分解矩阵分别变形为第一子权值张量和第二子权值张量,作为该卷积层压缩后的权值张量;其中,第一子权值张量、第二子权值张量和权值张量的维度相同,该卷积层压缩前后的压缩比是基于第一预设精度确定的。
以上可见,应用本发明实施例提供的方案,针对目标卷积神经网络的每一卷积层,将该卷积层的权值张量变形为第一二维矩阵,并利用奇异值分解原理确定该第一二维矩阵对应的多个第一奇异值分解项。进而,按照第一选取规则,从多个第一奇异值分解项中选取至少一个第一奇异值分解项,并利用所选取的第一奇异值分解项,对上述第一二维矩阵近似分解为第一分解矩阵和第二分解矩阵。从而,将第一分解矩阵和第二分解矩阵分别变形得到第一子权值张量和第二子权值张量作为该卷积层压缩后的权值张量。这样,在得到目标卷积神经网络的每一卷积层压缩后的权值张量后,便可以得到压缩后的目标卷积神经网络。其中,根据奇异值分解原理,第一分解矩阵的每个列向量,可以由第一二维矩阵的列向量线性表示,第二分解矩阵的每个行向量可以由第一二维矩阵的行向量线性表示。
基于此,应用本具体实施例提供的方案,针对目标的卷积神经网络中的每一卷积层,该卷积层压缩前的权值张量与该卷积层压缩后的第一子权值张量和第二子权值张量具有相似的特征空间,从而可以降低关于压缩前后的卷积神经网络间的精准度差异。
可选的,一种具体实现方式中,在针对目标卷积神经网络的每一卷积层执行压缩处理时,该卷积层的第一二维矩阵对应的多个第一奇异值分解项按照所具有的奇异值由大到小的顺序排布,则在本具体实现方式中,项目选取子模块630可以包括:
权重和计算单元,用于计算各个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和;其中,每一候选分解项组中,包括多个第一奇异值分解项中的第一个第一奇异值分解项至第k个第一奇异值分解项,k∈[1,n-1],n为多个第一奇异值分解项的个数;
分解项选取单元,用于从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,将第一分解项组中的各个第一奇异值分解项,作为所选取的至少一个第一奇异值分解项。
可选的,一种具体实现方式中,上述权重和计算单元具体用于:
利用第一公式,计算各个候选分解项组中,各个第一奇异值分解项在多个第一奇异值分解项中的权重和,其中,第一公式为:
其中,rk为第k个候选分解项组所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和,λi为多个第一奇异值分解项中,第i个第一奇异值分解项的奇异值。
可选的,一种具体实现方式中,上述分解项选取单元具体用于:
利用第二公式,从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,其中,第二公式为:
t=min{k|rk≥e(1≤k≤n)}
其中,t为第一分解项组中所包含的第一奇异值分解项的数量,rk为第k个候选分解项组中所包括的各个第一奇异值分解项在多个第一奇异值分解项中的权重和,e为该卷积层的第一预设精度参数。
可选的,一种具体实现方式中,上述目标卷积神经网络包括全连接层;则在本具体实现方式中,上述压缩装置还可以包括:
全连接层压缩模块,用于在得到压缩后的目标卷积神经网络之前,基于奇异值分解原理,确定全连接层的权值张量对应的多个第二奇异值分解项;其中,每个第二奇异值分解项为一奇异值与一第三二维矩阵的乘积;按照第二选取规则,从多个第二奇异值分解项中,选取至少一个第二奇异值分解项;其中,第二选取规则为:所选取的各个第二奇异值分解项在多个第二奇异值分解项中的权重和不小于全连接层的第二预设精度参数,且所选取的各个第二奇异值分解项的个数最少;利用所选取的各个第二奇异值分解项,对全连接层的权值张量进行近似分解,得到全连接层的第三子权值张量和第四子权值张量,作为压缩后的全连接层的权值张量;其中,第三子权值张量、第四子权值张量和全连接层的权值张量的维度相同,全连接层压缩前后的压缩比是基于第二预设精度确定的;
上述网络获取模块520,具体用于在得到目标卷积神经网络的每一层卷积层压缩后的权值张量和压缩后的全连接层的权值张量后,得到被压缩的目标卷积神经网络。
可选的,一种具体实现方式中,上述压缩装置还可以包括:
模型训练模块,用于对压缩后的目标卷积神经网络进行训练,得到训练完成的卷积神经网络。
可选的,一种具体实现方式中,上述模型训练模块可以具体用于:
获取用于训练目标神经网络的多个训练样本和目标神经网络的特征提取层输出的每个训练样本的特征数据;将所获取的每个训练样本的特征数据作为该训练样本的标签,得到具有新标签的训练样本;利用所得到的具有新标签的训练样本对压缩后的目标卷积神经网络进行训练,直至满足预设收敛条件时,得到训练完成的目标卷积神经网络。
可选的,一种具体实现方式中,上述压缩装置还可以包括:
精度测试模块,用于利用预设测试集对训练完成的目标卷积神经网络的精准度进行测试,得到训练完成的目标卷积神经网络的精准度,并计算目标卷积神经网络的精准度与训练完成的目标卷积神经网络的精准度的差值;当计算得到的差值小于预设阈值时,将训练完成的目标卷积神经网络作为目标卷积神经网络,继续进行压缩,直至计算得到的差值不小于预设阈值。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述本发明实施例提供的一种卷积神经网络的压缩方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述本发明实施例提供的一种卷积神经网络的压缩方法,本发明实施例还提供了一种计算机可读存储介质,该计算机程序被处理器执行时实现上述本发明实施例提供的一种卷积神经网络的压缩方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种卷积神经网络的压缩方法,其特征在于,所述卷积神经网络用于实现图像识别、目标检测和图像语义分割功能中的至少一种,所述方法包括:
针对目标卷积神经网络的每一卷积层,执行如下步骤:
将该卷积层的权值张量变形为第一二维矩阵;
基于奇异值分解原理,确定所述第一二维矩阵对应的多个第一奇异值分解项;其中,每个第一奇异值分解项为一奇异值与一第二二维矩阵的乘积;
按照第一选取规则,从所述多个第一奇异值分解项中,选取至少一个第一奇异值分解项;其中,所述第一选取规则为:所选取的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和不小于该卷积层的第一预设精度参数,且所选取的各个第一奇异值分解项的数量最少;
利用所选取的各个第一奇异值分解项,对所述第一二维矩阵进行近似分解,得到该卷积层的第一分解矩阵和第二分解矩阵;
将所得到的第一分解矩阵和第二分解矩阵分别变形为第一子权值张量和第二子权值张量,作为该卷积层压缩后的权值张量;其中,所述第一子权值张量、第二子权值张量和所述权值张量的维度相同,该卷积层压缩前后的压缩比是基于所述第一预设精度确定的;
在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量后,得到被压缩的目标卷积神经网络;
获取用于训练所述目标卷积神经网络的多个训练样本和所述目标卷积神经网络的特征提取层输出的每个训练样本的特征数据;
将所获取的每个训练样本的特征数据作为该训练样本的标签,得到具有新标签的训练样本;
利用所得到的具有新标签的训练样本对所述压缩后的目标卷积神经网络进行训练,直至满足预设收敛条件时,得到训练完成的目标卷积神经网络。
2.根据权利要求1所述的方法,其特征在于,该卷积层的第一二维矩阵对应的多个第一奇异值分解项按照所具有的奇异值由大到小的顺序排布;
所述按照第一选取规则,从所述多个第一奇异值分解项中,选取至少一个第一奇异值分解项的步骤,包括:
计算各个候选分解项组所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和;其中,每一候选分解项组中,包括所述多个第一奇异值分解项中的第一个第一奇异值分解项至第k个第一奇异值分解项,k∈[1,n-1],n为所述多个第一奇异值分解项的个数;
从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,将所述第一分解项组中的各个第一奇异值分解项,作为所选取的至少一个第一奇异值分解项。
3.根据权利要求2所述的方法,其特征在于,所述计算各个候选分解项组中包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和的步骤,包括:
利用第一公式,计算各个候选分解项组中,各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,其中,所述第一公式为:
其中,rk为第k个候选分解项组所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,λi为所述多个第一奇异值分解项中,第i个第一奇异值分解项的奇异值。
4.根据权利要求2所述的方法,其特征在于,所述从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组的步骤,包括:
利用第二公式,从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,其中,所述第二公式为:
t=min{k|rk≥e(1≤k≤n)}
其中,t为第一分解项组中所包含的第一奇异值分解项的数量,rk为第k个候选分解项组中所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,e为该卷积层的第一预设精度参数。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述目标卷积神经网络包括全连接层;
在所述得到压缩后的目标卷积神经网络的步骤之前,所述方法还包括:
基于奇异值分解原理,确定所述全连接层的权值张量对应的多个第二奇异值分解项;其中,每个第二奇异值分解项为一奇异值与一第三二维矩阵的乘积;
按照第二选取规则,从所述多个第二奇异值分解项中,选取至少一个第二奇异值分解项;其中,所述第二选取规则为:所选取的各个第二奇异值分解项在所述多个第二奇异值分解项中的权重和不小于所述全连接层的第二预设精度参数,且所选取的各个第二奇异值分解项的个数最少;
利用所选取的各个第二奇异值分解项,对所述全连接层的权值张量进行近似分解,得到所述全连接层的第三子权值张量和第四子权值张量,作为压缩后的所述全连接层的权值张量;其中,所述第三子权值张量、第四子权值张量和所述全连接层的权值张量的维度相同,所述全连接层压缩前后的压缩比是基于所述第二预设精度确定的;
所述在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量后,得到被压缩的目标卷积神经网络的步骤,包括:
在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量和压缩后的所述全连接层的权值张量后,得到被压缩的目标卷积神经网络。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
利用预设测试集对所述训练完成的目标卷积神经网络的精准度进行测试,得到所述训练完成的目标卷积神经网络的精准度,并计算所述目标卷积神经网络的精准度与所述训练完成的目标卷积神经网络的精准度的差值;
当计算得到的差值小于预设阈值时,将所述训练完成的目标卷积神经网络作为目标卷积神经网络,继续进行压缩,直至计算得到的差值不小于预设阈值。
7.一种卷积神经网络的压缩装置,其特征在于,所述卷积神经网络用于实现图像识别、目标检测或图像语义分割功能中至少一种,所述装置包括:
卷积层压缩模块,用于针对目标卷积神经网络的每一卷积层执行压缩处理;
网络获取模块,用于在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量后,得到被压缩的目标卷积神经网络;
模型训练模块,用于获取用于训练所述目标卷积神经网络的多个训练样本和所述目标卷积神经网络的特征提取层输出的每个训练样本的特征数据;将所获取的每个训练样本的特征数据作为该训练样本的标签,得到具有新标签的训练样本;利用所得到的具有新标签的训练样本对所述压缩后的目标卷积神经网络进行训练,直至满足预设收敛条件时,得到训练完成的目标卷积神经网络;
其中,所述卷积层压缩模块包括:张量变形子模块、奇异值分解子模块、项目选取子模块、矩阵分解子模块和权值张量获取子模块;
在针对所述目标卷积神经网络的每一卷积层执行压缩处理时,
所述张量变形子模块,用于将该卷积层的权值张量变形为第一二维矩阵;
所述奇异值分解子模块,用于基于奇异值分解原理,确定所述第一二维矩阵对应的多个第一奇异值分解项;其中,每个第一奇异值分解项为一奇异值与一第二二维矩阵的乘积;
所述项目选取子模块,用于按照第一选取规则,从所述多个第一奇异值分解项中,选取至少一个第一奇异值分解项;其中,所述第一选取规则为:所选取的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和不小于该卷积层的第一预设精度参数,且所选取的各个第一奇异值分解项的数量最少;
所述矩阵分解子模块,用于利用所选取的各个第一奇异值分解项,对所述第一二维矩阵进行近似分解,得到该卷积层的第一分解矩阵和第二分解矩阵;
所述权值张量获取子模块,用于将所得到的第一分解矩阵和第二分解矩阵分别变形为第一子权值张量和第二子权值张量,作为该卷积层压缩后的权值张量;其中,所述第一子权值张量、第二子权值张量和所述权值张量的维度相同,该卷积层压缩前后的压缩比是基于所述第一预设精度确定的。
8.根据权利要求7所述的装置,其特征在于,在针对所述目标卷积神经网络的每一卷积层执行压缩处理时,该卷积层的第一二维矩阵对应的多个第一奇异值分解项按照所具有的奇异值由大到小的顺序排布;
所述项目选取子模块包括:
权重和计算单元,用于计算各个候选分解项组所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和;其中,每一候选分解项组中,包括所述多个第一奇异值分解项中的第一个第一奇异值分解项至第k个第一奇异值分解项,k∈[1,n-1],n为所述多个第一奇异值分解项的个数;
分解项选取单元,用于从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,将所述第一分解项组中的各个第一奇异值分解项,作为所选取的至少一个第一奇异值分解项。
9.根据权利要求8所述的装置,其特征在于,所述权重和计算单元具体用于:
利用第一公式,计算各个候选分解项组中,各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,其中,所述第一公式为:
其中,rk为第k个候选分解项组所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,λi为所述多个第一奇异值分解项中,第i个第一奇异值分解项的奇异值。
10.根据权利要求8所述的装置,其特征在于,所述分解项选取单元具体用于:
利用第二公式,从各个候选分解项组中,选取计算得到的权重和不小于该卷积层的第一预设精度参数,且K最小的第一分解项组,其中,所述第二公式为:
t=min{k|rk≥e(1≤k≤n)}
其中,t为第一分解项组中所包含的第一奇异值分解项的数量,rk为第k个候选分解项组中所包括的各个第一奇异值分解项在所述多个第一奇异值分解项中的权重和,e为该卷积层的第一预设精度参数。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述目标卷积神经网络包括全连接层;所述装置还包括:
全连接层压缩模块,用于在得到压缩后的目标卷积神经网络之前,基于奇异值分解原理,确定所述全连接层的权值张量对应的多个第二奇异值分解项;其中,每个第二奇异值分解项为一奇异值与一第三二维矩阵的乘积;按照第二选取规则,从所述多个第二奇异值分解项中,选取至少一个第二奇异值分解项;其中,所述第二选取规则为:所选取的各个第二奇异值分解项在所述多个第二奇异值分解项中的权重和不小于所述全连接层的第二预设精度参数,且所选取的各个第二奇异值分解项的个数最少;利用所选取的各个第二奇异值分解项,对所述全连接层的权值张量进行近似分解,得到所述全连接层的第三子权值张量和第四子权值张量,作为压缩后的所述全连接层的权值张量;其中,所述第三子权值张量、第四子权值张量和所述全连接层的权值张量的维度相同,所述全连接层压缩前后的压缩比是基于所述第二预设精度确定的;
所述网络获取模块,具体用于在得到所述目标卷积神经网络的每一层卷积层压缩后的权值张量和压缩后的所述全连接层的权值张量后,得到被压缩的目标卷积神经网络。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
精度测试模块,用于利用预设测试集对所述训练完成的目标卷积神经网络的精准度进行测试,得到所述训练完成的目标卷积神经网络的精准度,并计算所述目标卷积神经网络的精准度与所述训练完成的目标卷积神经网络的精准度的差值;当计算得到的差值小于预设阈值时,将所述训练完成的目标卷积神经网络作为目标卷积神经网络,继续进行压缩,直至计算得到的差值不小于预设阈值。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910680935.1A CN112308197B (zh) | 2019-07-26 | 2019-07-26 | 一种卷积神经网络的压缩方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910680935.1A CN112308197B (zh) | 2019-07-26 | 2019-07-26 | 一种卷积神经网络的压缩方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112308197A CN112308197A (zh) | 2021-02-02 |
CN112308197B true CN112308197B (zh) | 2024-04-09 |
Family
ID=74329552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910680935.1A Active CN112308197B (zh) | 2019-07-26 | 2019-07-26 | 一种卷积神经网络的压缩方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112308197B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469996B (zh) * | 2021-07-16 | 2023-06-20 | 四川大学华西医院 | 一种内窥镜黏膜图像反光区域检测与修复*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184369A (zh) * | 2015-09-08 | 2015-12-23 | 杭州朗和科技有限公司 | 用于深度学习模型的矩阵压缩方法和装置 |
CN106127297A (zh) * | 2016-06-02 | 2016-11-16 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
CN107004157A (zh) * | 2015-01-22 | 2017-08-01 | 高通股份有限公司 | 模型压缩和微调 |
CN108197707A (zh) * | 2017-12-31 | 2018-06-22 | 厦门大学 | 基于全局误差重建的卷积神经网络的压缩方法 |
JP2018128708A (ja) * | 2017-02-06 | 2018-08-16 | 日本電信電話株式会社 | テンソル因子分解処理装置、テンソル因子分解処理方法及びテンソル因子分解処理プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002057946A1 (en) * | 2001-01-18 | 2002-07-25 | The Board Of Trustees Of The University Of Illinois | Method for optimizing a solution set |
KR102100977B1 (ko) * | 2016-02-03 | 2020-04-14 | 구글 엘엘씨 | 압축된 순환 신경망 모델 |
US10706348B2 (en) * | 2016-07-13 | 2020-07-07 | Google Llc | Superpixel methods for convolutional neural networks |
US10621486B2 (en) * | 2016-08-12 | 2020-04-14 | Beijing Deephi Intelligent Technology Co., Ltd. | Method for optimizing an artificial neural network (ANN) |
KR102072239B1 (ko) * | 2016-12-08 | 2020-02-03 | 한국전자통신연구원 | 매니폴드 제약 조건에 기반한 심층 신경망 압축 방법 및 그 장치 |
-
2019
- 2019-07-26 CN CN201910680935.1A patent/CN112308197B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107004157A (zh) * | 2015-01-22 | 2017-08-01 | 高通股份有限公司 | 模型压缩和微调 |
CN105184369A (zh) * | 2015-09-08 | 2015-12-23 | 杭州朗和科技有限公司 | 用于深度学习模型的矩阵压缩方法和装置 |
CN106127297A (zh) * | 2016-06-02 | 2016-11-16 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
JP2018128708A (ja) * | 2017-02-06 | 2018-08-16 | 日本電信電話株式会社 | テンソル因子分解処理装置、テンソル因子分解処理方法及びテンソル因子分解処理プログラム |
CN108197707A (zh) * | 2017-12-31 | 2018-06-22 | 厦门大学 | 基于全局误差重建的卷积神经网络的压缩方法 |
Non-Patent Citations (1)
Title |
---|
深度神经网络的压缩研究;韩云飞;蒋同海;马玉鹏;徐春香;张睿;;计算机应用研究;20171010(10);20-23+29 * |
Also Published As
Publication number | Publication date |
---|---|
CN112308197A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meng et al. | Gaussianization flows | |
CN110781686B (zh) | 一种语句相似度计算方法、装置及计算机设备 | |
CN109325530B (zh) | 一种图像分类方法、存储装置和处理装置 | |
CN116596095B (zh) | 基于机器学习的碳排放量预测模型的训练方法及装置 | |
CN110993037A (zh) | 一种基于多视图分类模型的蛋白质活性预测装置 | |
CN112633482A (zh) | 一种高效宽度图卷积神经网络模型及其训练方法 | |
CN115860100A (zh) | 一种神经网络模型训练方法、装置及计算设备 | |
CN112598062A (zh) | 一种图像识别方法和装置 | |
CN115496144A (zh) | 配电网运行场景确定方法、装置、计算机设备和存储介质 | |
CN112308197B (zh) | 一种卷积神经网络的压缩方法、装置及电子设备 | |
CN115169548A (zh) | 基于张量的持续学习方法和装置 | |
CN110633417A (zh) | 一种基于服务质量的web服务推荐的方法及*** | |
Astrid et al. | Rank selection of CP-decomposed convolutional layers with variational Bayesian matrix factorization | |
Marquioni | Multidimensional elephant random walk with coupled memory | |
CN114077885A (zh) | 基于张量分解的模型压缩方法、装置和服务器 | |
CN113378866B (zh) | 图像分类方法、***、存储介质及电子设备 | |
CN115545164A (zh) | 光伏发电功率预测方法、***、设备及介质 | |
CN112149351B (zh) | 一种基于深度学习的微波电路物理尺寸估算方法 | |
CN109716288A (zh) | 网络模型编译器及相关产品 | |
CN115564044A (zh) | 一种图神经网络卷积池化方法、装置、***及存储介质 | |
Zhang et al. | Improving pooling method for regularization of convolutional networks based on the failure probability density | |
CN114677545A (zh) | 一种基于相似性剪枝和高效模块的轻量化图像分类方法 | |
EP4007173A1 (en) | Data storage method, and data acquisition method and apparatus therefor | |
CN110826726B (zh) | 目标处理方法、目标处理装置、目标处理设备及介质 | |
CN114819184A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |