CN109978137A - 一种卷积神经网络的处理方法 - Google Patents

一种卷积神经网络的处理方法 Download PDF

Info

Publication number
CN109978137A
CN109978137A CN201910211835.4A CN201910211835A CN109978137A CN 109978137 A CN109978137 A CN 109978137A CN 201910211835 A CN201910211835 A CN 201910211835A CN 109978137 A CN109978137 A CN 109978137A
Authority
CN
China
Prior art keywords
convolution kernel
weighted value
convolution
convolutional neural
neural networks
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.)
Granted
Application number
CN201910211835.4A
Other languages
English (en)
Other versions
CN109978137B (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.)
Xiamen Meitu Technology Co Ltd
Original Assignee
Xiamen Meitu 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 Xiamen Meitu Technology Co Ltd filed Critical Xiamen Meitu Technology Co Ltd
Priority to CN201910211835.4A priority Critical patent/CN109978137B/zh
Publication of CN109978137A publication Critical patent/CN109978137A/zh
Application granted granted Critical
Publication of CN109978137B publication Critical patent/CN109978137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种卷积神经网络的处理方法,该方法适于在计算设备中执行,包括:基于卷积神经网络中卷积核权重矩阵的元素值,压缩卷积核通道数,以得到预处理后的卷积核;对至少一个预处理后的卷积核分别进行分解,得到对应的分解后的卷积核;以及初始化分解后的卷积核的权重值,以生成处理后的卷积神经网络。该方案能够大幅度压缩模型大小,提高模型的计算速度,同时能够保证精度,从而满足移动端的应用需求。

Description

一种卷积神经网络的处理方法
技术领域
本发明涉及神经网络技术领域,尤其涉及一种卷积神经网络的处理方法、计算设备及存储介质。
背景技术
随着卷积神经网络的层数越来越多,模型的计算复杂度也越来越高。而过高的复杂度对计算设备CPU或GPU的性能要求也高。对于诸如移动终端、嵌入式设备等计算、体积、功耗等受限的设备,现有的高性能神经网络无法在这些设备上有效地计算和应用。那么,要在保证现有神经网络性能基本不变的情况下,将网络的计算量和存储量大幅度减小,使得网络能够在资源受限的设备上高效运行,就需要对现有的神经网络进行加速和压缩。
传统的改变网络外部结构或调整输入大小的方法会影响模型的性能和精度,并且,对于网络的小幅度改变又达不到加速和压缩的效果。目前对于CNN(ConvolutionalNeural Networks,卷积神经网络)的压缩和加速方法主要分为四个类别:参数修剪和共享、低秩分解、迁移/压缩卷积滤波器和知识精炼。其中,基于参数修剪和共享的方法关注于去除冗余和不重要的参数。基于低秩分解的方法使用矩阵/张量分解以估计深层CNN中最具信息量的参数。基于迁移/压缩卷积滤波器的方法设计了特殊结构的卷积滤波器以减少存储和计算的复杂度。而知识精炼则学习了一个精炼模型,即训练一个更加紧凑的神经网络以再现大型网络的输出结果。
以上对网络压缩和加速的方法,要么对于模型的适用性不高,要么实现过程较复杂。因此,需要一种较简单的对网络进行压缩和加速的方法,能够在保证网络计算精度的同时提高网络的运行速度。
发明内容
为此,本发明提供了一种卷积神经网络的处理方法,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种卷积神经网络的处理方法,该方法适于在计算设备中执行。方法包括:首先,基于卷积神经网络中卷积核权重值,压缩卷积核通道数,以得到预处理后的卷积核,其中权重值即权重矩阵中的元素值;对至少一个预处理后的卷积核分别进行分解,得到对应的分解后的卷积核;以及初始化分解后的卷积核的权重值,以生成处理后的卷积神经网络。
可选地,在上述方法中,统计各卷积核的权重值为0的数量,当所统计的数量超过预定数量时,从卷积神经网络中删除该卷积核。将剩余的卷积核作为初步处理后的卷积核。
可选地,在上述方法中,若初步处理后的卷积核的数量大于预设值,则基于初步处理后的卷积核权重值的平方和的第一平均值,从初步处理后的卷积核中删除第一数量的卷积核,以得到预处理后的卷积核。
可选地,在上述方法中,按照第一平均值从小到大的顺序,对初步处理后的卷积核进行排序;依序删除初步处理后的卷积核,直到经删除后剩余的卷积核的数量为初步处理前的卷积核数量的一半。
可选地,在上述方法中,将预处理后的各个卷积核划分为中心区域和周围区域;计算中心区域的权重值平方和的第二平均值;在第二平均值与所述周围区域的权重值之差达到预定差值的情况下,对预处理后的卷积核进行分解。
可选地,在上述方法中,将预处理后的N通道卷积核分解为N/2通道的第一卷积核和N/2通道的第二卷积核。
可选地,在上述方法中,第一卷积核的权重个数等于中心区域的权重个数,所述第二卷积核的权重个数等于分解前卷积核的权重个数,其中所述权重个数即权重矩阵中的元素个数。
可选地,在上述方法中,若分解前卷积核的权重个数为n2,则所述中心区域的权重个数为(n-2)2
可选地,在上述方法中,对于分解前的N通道卷积核,按照其权重值的平方和从大到小的顺序,对分解前的卷积核进行排序;选取前N/2数量个分解前的卷积核,作为初始化卷积核;基于初始化卷积核的中心区域的权重值,来初始化分解后的第一卷积核的权重;基于初始化卷积核的权重值,来初始化分解后第二卷积核的权重。
可选地,在上述方法中,将预处理后的各卷积核分解为水平方向的第三卷积核和竖直方向的第四卷积核。
可选地,在上述方法中,基于分解前卷积核对应行的权重值,初始化第三卷积核的权重值;基于分解前卷积核的权重值,使用最小二乘法计算第四卷积核的权重值。
可选地,在上述方法中,计算第三卷积核的权重值平方和以及第四卷积核的权重值平方和;基于第三卷积核的权重值平方和与第四卷积核的权重值平方和的大小,初始化第三卷积核与第四卷积核的权重值。
根据本发明的又一方面,提供了一种计算设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行如上所述方法的指令。
根据本发明的再一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当计算设备执行时,使得计算设备执行如上所述的方法。
根据本发明的方案,首先通过减少卷积核通道数,能够在保证模型精度的同时减少模型的参数,加速模型的计算速度,从而匹配移动端的计算效率和内存。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的计算设备100的构造示意图;
图2示出了根据本发明的一个实施例的卷积神经网络的处理方法200的示意性流程图;
图3示出了根据本发明的一个实施例的3×3卷积核的中心区域与周围区域的示意图;
图4示出了根据本发明的一个实施例的5×5卷积核的中心区域与周围区域的示意图;
图5示出了根据本发明的一个实施例的3×3卷积核分解的示意图;
图6示出了根据本发明的一个实施例的5×5卷积核分解的示意图;
图7示出了根据本发明的另一个实施例的3×3卷积核分解的示意图;
图8示出了根据本发明的一个实施例的卷积神经网络特征点检测对比图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
卷积神经网络是具有深度结构的前馈神经网络,其中隐藏层包含卷积层、池化层和全连接层。卷积层中包含多个卷积核,根据一种实施方式,可以通过调整卷积核大小、输入通道数和输出通道数,来压缩卷积神经网络,以达到加速计算的效果。
图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理器,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。在一些实施例中,计算设备100被配置为执行卷积神经网络的处理方法200,程序数据124中就包含了用于执行方法200的指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、图像输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。在一些实施例中,计算机可读介质中存储一个或多个程序,这一个或多个程序中包括执行某些方法的指令。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、数码照相机、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。当然,计算设备100也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,或者是具有上述配置的服务器。本发明的实施方式对此均不作限制。
在卷积神经网络中存在由多个卷积核组成的卷积层,为了更好地提取特征,卷积核往往是多输入通道和多输出通道。本方案对卷积神经网络的压缩和加速方法可以分为两步。一是减少卷积核的数量,即输出通道的数量。一是减少卷积输入通道的数量。通过对卷积核进行拆分,可以减少网络的参数数量,以达到压缩加速的目的。
图2示出了根据本发明的一个实施例的卷积神经网络的处理方法200的示意性流程图。该方法可以在计算设备100中执行。如图2所示,方法200始于步骤S210,基于卷积神经网络中卷积核权重值,压缩卷积核通道数,以得到预处理后的卷积核,其中权重值即权重矩阵的元素值。
为了描述方便,以下权重矩阵的元素值均简称为权重值,权重矩阵中元素数量简称为权重个数。
由于卷积神经网络中卷积层的输入图片有可能是单通道或多通道,经过卷积后得到的特征图都是单通道的。因此,输入通道数等于输入图片的通道数,卷积核的个数等于输出特征图的个数,即输出通道数。卷积核的大小等于卷积输入通道数与每个通道上进行卷积的二维卷积核的尺寸。
根据本发明的一个实施例,可以统计各卷积核的权重矩阵中元素值为0的数量,当所统计的数量超过预定数量时,先从卷积神经网络中删除该卷积核。在一种实施例中,对于一个n×n大小的二维卷积核,若其权重矩阵中元素值为0的个数占到了权重矩阵中元素个数的70%~80%或以上,则可以删除该卷积核。例如一个3×3的卷积核权重矩阵,一共有9个元素值,若9个元素值中为0的个数有7个,则删除该卷积核。接着,将剩余的卷积核作为初步处理后的卷积核。
在删除了一定数量的卷积核之后,若初步处理后的卷积核的数量大于预设值(例如,初步处理后的卷积核的数量仍大于原卷积核数量的一半),则可以继续对卷积核进行处理。例如,可以基于初步处理后的卷积核权重值的平方和的第一平均值,从初步处理后的卷积核中删除第一数量的卷积核,以得到预处理后的卷积核。在本发明的一个实现方式中,可以按照第一平均值从小到大顺序,对初步处理后的卷积核进行排序,再依序(即,从小到大的顺序)删除初步处理后的卷积核,直到经删除后剩余的卷积核的数量为初步处理前的卷积核数量(即,初始的卷积神经网络中卷积核数量)的一半。例如,对于n×n的卷积核,权重矩阵中共有n2个元素值,表示为w1,w2,…,计算这些元素值的平方和S,再取平均值,记为第一平均值A=S/n2,在对多个初步处理后的卷积核进行这样的操作后,得到多个第一平均值A;接着,按照A值从小到大的顺序对这些初步处理后的卷积核进行排序,按顺序删除A值较小的那些卷积核,直至剩余卷积核的个数为初步处理前的卷积核个数的1/2。
由于卷积神经网络如AlexNet中常用到一些较大的卷积核11×11,7×7,5×5卷积核等,虽然卷积核越大,感受野越大,获得图像的特征越好。但是大的卷积核会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低。本方案可以对卷积核进行拆分/分解,以减少网络的参数数量,达到压缩加速的目的。
随后在步骤S220中,对至少一个预处理后的卷积核分别进行分解,得到对应的分解后的卷积核。
根据本发明的一个实施例,可以将预处理后的各个卷积核划分为中心区域和周围区域。通常,在卷积核权重矩阵中,利用中心元素及其领域内的若干个卷积核形成该卷积核的中心区域,利用剩余的元素形成该卷积核的周围区域。在一个实现方式中,若卷积核权重矩阵中元素数量为n×n,则中心区域的权重矩阵中元素数量可以设置为(n-2)×(n-2),当然不限于此。例如,当卷积核为3×3时,中心区域卷积核权重数量为1;当卷积核为5×5时,卷积核权重数量为9,以此类推。
然后,可以计算中心区域的权重矩阵中权重值平方和的第二平均值。在第二平均值与周围区域的权重值之差达到预定差值的情况下,对卷积核进行分解。例如中心区域的权重值平方和的平均值远大于周围的权重值,即差值达到某个数量级,周围的权重值相对于中心区域的权重值可忽略不计。
图3和图4分别示出了根据本发明的一个实施例的3×3卷积核和5×5卷积核中心区域与周围区域的示意图。如图3所示,A1为3×3卷积核的中心区域的权重值,B1、B2、B3、B4、B5、B6、B7、B8分别为周围区域各个权重值。如图4所示,A2为5×5卷积核中心区域的权重值,C1-C16分别为周围区域的各个权重值。可以将中心区域的权重值平方和的平均值与相邻周围区域的各个权重值进行比较。例如,分别比较A1与B1、B2、B3、B4、B5、B6、B7、B8的大小,如果A1远大于周围的权重值,例如A1为8,B1为0.01,B2为0.04,B3为0.07,B4为0.01,B5为0.03,B6为0.02,B7为0.04,B8为0.03,即周围区域的权重值相对于中心区域的权重值可以忽略不计。那么,可以对此卷积核进行分解。
根据本发明的一个实施例,可以将预处理后的N通道卷积核分解为N/2通道的第一卷积核和N/2通道的第二卷积核。其中第一卷积核的权重个数等于中心区域的权重个数,第二卷积核的权重个数等于分解前卷积核的权重个数。权重个数即权重矩阵中的元素个数。
例如,设原卷积核为N通道,权重数量为n×n,则分解后的第一卷积核为N/2通道,权重数量为(n-2)×(n-2),分解后的第二卷积核为N/2通道,权重数量为n×n。图5和图6分别示出了根据本发明的一个实施例的3×3卷积核和5×5卷积核分解的示意图。如图5所示,将3×3卷积核分解为1×1卷积核和3×3卷积核,如图6所示,将5×5卷积核分解为3×3卷积核和5×5卷积核,分解后每个卷积核的输入通道数为原卷积核通道数的1/2。
根据本发明的另一个实施例,将预处理后的各卷积核分解为水平方向的第三卷积核和竖直方向的第四卷积核。设原卷积核为N通道,权重数量为n×n,则分解后的第三卷积核为N通道,权重数量为1×n,分解后第四卷积核为N通道,权重数量为n×1。图7示出了根据本发明的另一个实施例的3×3卷积核分解的示意图。如图7所示,一组N通道的3×3的卷积可以拆分为一组N通道的3×1卷积和一组N通道的1×3卷积。
最后在步骤S230中,初始化分解后的卷积核的权重值,以生成处理后的卷积神经网络。
根据本发明的一个实施例,可以首先对于分解前的N通道卷积核(即,预处理后的卷积核),按照其权重值的平方和从大到小的顺序,对分解前的卷积核进行排序。然后,选取前N/2数量个所述分解前的卷积核,作为初始化卷积核。最后,基于初始化卷积核的中心区域的权重值,来初始化分解后的第一卷积核的权重;基于初始化卷积核的权重值,来初始化分解后第二卷积核的权重。
在本发明的另一个实施例中,对于分解后的第三卷积核和第四卷积核,第三卷积核的初始化权重值可以对应于分解前卷积核对应行的权重值。第四卷积核的初始化权重值可以使用最小二乘法计算。
例如,如图7所示,分解后第三卷积核为1×3,对应于分解前的卷积核的第二行,可以直接用分解前的卷积核的第二行的权重值作为分解后1×3卷积核的权重值。同时,可以使用最小二乘法计算分解后第四卷积核的权重值:
其中,a0、a1、a2、b0、b1、b2、c0、c1、c2为分解前卷积核的权重值,z0、z1、z2为分解后第四卷积核的权重值。
进一步地,为了使1×3的卷积核以及3×1的卷积核的权重在一个平衡的量级,可以计算第三卷积核的权重值平方和以及第四卷积核的权重值平方和;然后,基于第三卷积核的权重值平方和与第四卷积核的权重值平方和的大小,初始化第三卷积核与第四卷积核的权重值。
首先计算分解后第三卷积核的权重值平方和Ax以及分解后第四卷积核的权重值平方和Ay其中,b0、b1、b2、y0、y1、y2分别为第三卷积核和第四卷积核的权重。
在Ax>Ay的情况下,可以基于下述公式计算初始化权重值:
y′0=y0*c,y′1=y1*c,y′2=y2*c
在Ax<Ay的情况下,可以基于下述公式计算初始化权重值:
y′0=y0*c,y′1=y1*c,y′2=y2*c
其中,x′0、x′1、x′2、y′0、y′1、y′2分别为第三卷积核的初始化权重值和第四卷积核的初始化权重值。
应当指出,上述卷积核权重初始化的计算方法是以3×3的卷积核为例,上述计算方法可以适用于其他尺寸的卷积核。
在对分解后的卷积核的权重值进行初始化后,利用这些经处理后的卷积核,就构成了处理后的卷积神经网络。相比于原始的卷积神经网络,处理后的卷积神经网络运行速度更快,适于处理实时任务,且适用于算力和存储量等受限的移动设备。
可以将经过本方案处理后的卷积神经网络进行特征点检测。图8示出了根据本发明的一个实施例的卷积神经网络特征点检测对比图。例如对于AlexNet网络,采用上述方法200将通道数减少为原来的1/2,然后每个卷积层采用4个分解后的卷积核,将图像输出处理后的训练好的AlexNet网络中得到的特征点检测效果如图8右图所示。对比图8左图未使用本方案处理的AlexNet网络的检测效果,可以发现经本方案处理后的网络对模型计算精度的影响小,但是模型大小得到了压缩(压缩率大于30%),同时能提高30%的运行速度。
本方案适用于几乎所有的现有卷积神经网络模型,如AlexNet、Googlenet、VGG等。根据本发明的方案,通过删除卷积核的部分输入或输出通道数,对网络进行压缩,能够大大减少卷积操作,对模型的精度影响很小,达到网络加速的效果。
A6、如A5所述的方法,其中,所述对预处理后的卷积核进行分解的步骤包括:
将预处理后的N通道卷积核分解为N/2通道的第一卷积核和N/2通道的第二卷积核。
A7、如A6所述的方法,其中,所述第一卷积核的权重个数等于中心区域的权重个数,所述第二卷积核的权重个数等于分解前卷积核的权重个数,其中所述权重个数即权重矩阵中的元素个数。
A8、如A7所述的方法,其中,若分解前卷积核的权重个数为n2,则所述中心区域的权重个数为(n-2)2
A9、如A6所述的方法,其中,所述初始化所述分解后的卷积核的权重值的步骤包括:
对于分解前的N通道卷积核,按照其权重值的平方和从大到小的顺序,对分解前的卷积核进行排序;
选取前N/2数量个所述分解前的卷积核,作为初始化卷积核;
基于初始化卷积核的中心区域的权重值,来初始化分解后的第一卷积核的权重;
基于初始化卷积核的权重值,来初始化分解后第二卷积核的权重。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明所述的方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种卷积神经网络的处理方法,所述方法适于在计算设备中执行,包括:
基于卷积神经网络中卷积核权重值,压缩卷积核通道数,以得到预处理后的卷积核,其中所述权重值即权重矩阵中的元素值;
对至少一个预处理后的卷积核分别进行分解,得到对应的分解后的卷积核;以及
初始化所述分解后的卷积核的权重值,以生成处理后的卷积神经网络。
2.如权利要求1所述的方法,其中,所述基于卷积神经网络中卷积核权重矩阵的元素值,压缩卷积核通道数的步骤包括:
统计各卷积核的权重值为0的数量,当所统计的数量超过预定数量时,从卷积神经网络中删除该卷积核;
将剩余的卷积核作为初步处理后的卷积核。
3.如权利要求2所述的方法,其中,所述基于卷积神经网络中卷积核权重值,压缩卷积核通道数的步骤还包括:
若初步处理后的卷积核的数量大于预设值,则基于初步处理后的卷积核权重值的平方和的第一平均值,从初步处理后的卷积核中删除第一数量的卷积核,以得到预处理后的卷积核。
4.如权利要求3所述的方法,其中,所述从初步处理后的卷积核中删除第一数量的卷积核的步骤包括:
按照第一平均值从小到大的顺序,对初步处理后的卷积核进行排序;
依序删除所述初步处理后的卷积核,直到经删除后剩余的卷积核的数量为初步处理前的卷积核数量的一半。
5.如权利要求1所述的方法,其中,所述对至少一个预处理后的卷积核分别进行分解的步骤包括:
将预处理后的各个卷积核划分为中心区域和周围区域;
计算所述中心区域的权重值平方和的第二平均值;
在所述第二平均值与所述周围区域的权重值之差达到预定差值的情况下,对预处理后的卷积核进行分解。
6.如权利要求1所述的方法,其中,所述对至少一个预处理后的卷积核分别进行分解的步骤包括:
将预处理后的各卷积核分解为水平方向的第三卷积核和竖直方向的第四卷积核。
7.如权利要求6所述的方法,其中,所述初始化分解后的卷积核的权重值的步骤包括:
基于分解前卷积核对应行的权重值,来初始化第三卷积核的权重值;
基于分解前卷积核的权重值,使用最小二乘法计算第四卷积核的权重值。
8.如权利要求7所述的方法,其中,所述初始化分解后的卷积核的权重值的步骤还包括:
计算第三卷积核的权重值平方和以及第四卷积核的权重值平方和;
基于第三卷积核的权重值平方和与第四卷积核的权重值平方和的大小,初始化第三卷积核与第四卷积核的权重值。
9.一种计算设备,包括:
一个或多个处理器;和
存储器;
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-8所述方法中任一方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1-8所述方法中任一方法的指令。
CN201910211835.4A 2019-03-20 2019-03-20 一种卷积神经网络的处理方法 Active CN109978137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910211835.4A CN109978137B (zh) 2019-03-20 2019-03-20 一种卷积神经网络的处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910211835.4A CN109978137B (zh) 2019-03-20 2019-03-20 一种卷积神经网络的处理方法

Publications (2)

Publication Number Publication Date
CN109978137A true CN109978137A (zh) 2019-07-05
CN109978137B CN109978137B (zh) 2021-03-16

Family

ID=67079708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910211835.4A Active CN109978137B (zh) 2019-03-20 2019-03-20 一种卷积神经网络的处理方法

Country Status (1)

Country Link
CN (1) CN109978137B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110796027A (zh) * 2019-10-10 2020-02-14 天津大学 一种基于紧密卷积的神经网络模型的声音场景识别方法
CN110796250A (zh) * 2019-10-11 2020-02-14 浪潮电子信息产业股份有限公司 应用于卷积神经网络的卷积处理方法、系统及相关组件
CN110796238A (zh) * 2019-10-29 2020-02-14 上海安路信息科技有限公司 卷积神经网络权重压缩方法及其系统
CN112215342A (zh) * 2020-09-28 2021-01-12 南京俊禄科技有限公司 一种船用气象雷达照相装置多通道并行cnn加速器
CN112541565A (zh) * 2019-09-20 2021-03-23 腾讯科技(深圳)有限公司 一种卷积计算数据流映射方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017031630A1 (zh) * 2015-08-21 2017-03-02 中国科学院自动化研究所 基于参数量化的深度卷积神经网络的加速与压缩方法
CN106557812A (zh) * 2016-11-21 2017-04-05 北京大学 基于dct变换的深度卷积神经网络压缩与加速方案
CN106682736A (zh) * 2017-01-18 2017-05-17 北京小米移动软件有限公司 图像识别方法及装置
CN107145939A (zh) * 2017-06-21 2017-09-08 北京图森未来科技有限公司 一种神经网络优化方法及装置
CN107680044A (zh) * 2017-09-30 2018-02-09 福建帝视信息科技有限公司 一种图像超分辨率卷积神经网络加速计算方法
CN107944545A (zh) * 2017-11-10 2018-04-20 中国科学院计算技术研究所 应用于神经网络的计算方法及计算装置
CN108416427A (zh) * 2018-02-22 2018-08-17 重庆信络威科技有限公司 卷积核堆积数据流、压缩编码以及深度学习算法
CN108416187A (zh) * 2018-05-21 2018-08-17 济南浪潮高新科技投资发展有限公司 一种确定剪枝阈值的方法及装置、模型剪枝方法及装置
CN109034249A (zh) * 2018-07-27 2018-12-18 广州大学 基于分解径向对称卷积核的卷积优化方法、装置、终端设备及计算机可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017031630A1 (zh) * 2015-08-21 2017-03-02 中国科学院自动化研究所 基于参数量化的深度卷积神经网络的加速与压缩方法
CN106557812A (zh) * 2016-11-21 2017-04-05 北京大学 基于dct变换的深度卷积神经网络压缩与加速方案
CN106682736A (zh) * 2017-01-18 2017-05-17 北京小米移动软件有限公司 图像识别方法及装置
CN107145939A (zh) * 2017-06-21 2017-09-08 北京图森未来科技有限公司 一种神经网络优化方法及装置
CN107680044A (zh) * 2017-09-30 2018-02-09 福建帝视信息科技有限公司 一种图像超分辨率卷积神经网络加速计算方法
CN107944545A (zh) * 2017-11-10 2018-04-20 中国科学院计算技术研究所 应用于神经网络的计算方法及计算装置
CN108416427A (zh) * 2018-02-22 2018-08-17 重庆信络威科技有限公司 卷积核堆积数据流、压缩编码以及深度学习算法
CN108416187A (zh) * 2018-05-21 2018-08-17 济南浪潮高新科技投资发展有限公司 一种确定剪枝阈值的方法及装置、模型剪枝方法及装置
CN109034249A (zh) * 2018-07-27 2018-12-18 广州大学 基于分解径向对称卷积核的卷积优化方法、装置、终端设备及计算机可读存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112541565A (zh) * 2019-09-20 2021-03-23 腾讯科技(深圳)有限公司 一种卷积计算数据流映射方法及装置
CN112541565B (zh) * 2019-09-20 2023-08-29 腾讯科技(深圳)有限公司 一种卷积计算数据流映射方法及装置
CN110796027A (zh) * 2019-10-10 2020-02-14 天津大学 一种基于紧密卷积的神经网络模型的声音场景识别方法
CN110796027B (zh) * 2019-10-10 2023-10-17 天津大学 一种基于紧密卷积的神经网络模型的声音场景识别方法
CN110796250A (zh) * 2019-10-11 2020-02-14 浪潮电子信息产业股份有限公司 应用于卷积神经网络的卷积处理方法、系统及相关组件
WO2021068376A1 (zh) * 2019-10-11 2021-04-15 浪潮电子信息产业股份有限公司 应用于卷积神经网络的卷积处理方法、系统及相关组件
CN110796238A (zh) * 2019-10-29 2020-02-14 上海安路信息科技有限公司 卷积神经网络权重压缩方法及其系统
CN112215342A (zh) * 2020-09-28 2021-01-12 南京俊禄科技有限公司 一种船用气象雷达照相装置多通道并行cnn加速器
CN112215342B (zh) * 2020-09-28 2024-03-26 南京俊禄科技有限公司 一种船用气象雷达照相装置多通道并行cnn加速器

Also Published As

Publication number Publication date
CN109978137B (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN109978137A (zh) 一种卷积神经网络的处理方法
EP3469520B1 (en) Superpixel methods for convolutional neural networks
CN110929865B (zh) 网络量化方法、业务处理方法及相关产品
KR102562320B1 (ko) 비트 연산 기반의 뉴럴 네트워크 처리 방법 및 장치
CN106780512A (zh) 分割图像的方法、应用及计算设备
US20220083857A1 (en) Convolutional neural network operation method and device
Zhao et al. Building efficient deep neural networks with unitary group convolutions
CN110569961A (zh) 一种神经网络训练方法、装置及终端设备
CN109978764A (zh) 一种图像处理方法及计算设备
CN109214508B (zh) 信号处理的系统和方法
CN109360154A (zh) 一种卷积神经网络生成方法及图像的超分辨率方法
CN107454284A (zh) 一种视频去噪方法及计算设备
CN110647974A (zh) 深度神经网络中的网络层运算方法及装置
CN112308227B (zh) 神经网络架构搜索方法、装置、终端设备以及存储介质
CN107481203A (zh) 一种图像导向滤波方法及计算设备
CN109727211A (zh) 一种图像去噪方法、装置、计算设备及介质
CN113655986B9 (zh) 一种基于numa亲和性的fft卷积算法并行实现方法及系统
Chen et al. SC-Conv: Sparse-complementary convolution for efficient model utilization on CNNs
CN107754315A (zh) 一种游戏生成方法和计算设备
CN109978136A (zh) 一种训练目标网络的方法、计算设备及存储介质
WO2022228105A1 (zh) 图像数据的处理方法和装置、存储介质及电子设备
WO2020112152A1 (en) Systems and related methods for reducing the resource consumption of a convolutional neural network
CN108492261A (zh) 一种图像增强方法及计算设备
CN116400884A (zh) 乘加器的控制方法、装置、计算机设备和存储介质
TWI798591B (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