CN110135553A - 卷积神经网络的调整方法及电子装置 - Google Patents
卷积神经网络的调整方法及电子装置 Download PDFInfo
- Publication number
- CN110135553A CN110135553A CN201910104847.7A CN201910104847A CN110135553A CN 110135553 A CN110135553 A CN 110135553A CN 201910104847 A CN201910104847 A CN 201910104847A CN 110135553 A CN110135553 A CN 110135553A
- Authority
- CN
- China
- Prior art keywords
- those
- convolutional
- model
- layer
- convolutional layers
- 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
Links
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/08—Learning methods
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及卷积神经网络的调整方法及电子装置。一种调整方法用以调整一卷积神经网络,该卷积神经网络的一第一模型包含多个卷积层,该些卷积层依照一序列次序而先后排列,该调整方法包含:决定该卷积神经网络的该第一模型中该些卷积层的多个感受野宽度;根据该些卷积层的该些感受野宽度与一输入图像宽度,将该第一模型中该些卷积层的多个通道宽度减少至多个缩减通道宽度;根据该些缩减通道宽度,形成该卷积神经网络的一第二模型的架构;以及,训练该卷积神经网络的该第二模型。因此,可缩减卷积神经网络的模型尺寸并维持卷积神经网络的精确性。
Description
技术领域
本公开文件涉及机器学习方法,更进一步而言,本公开文件涉及卷积神经网络的调整方法。
背景技术
机器学习技术被广泛使用在许多不同的应用领域,例如人工智能、数据挖掘、自动驾驶等。为了解决各种不同形态的问题,发展出了许多不同种类的神经网络。在上述各种神经网络中,卷积神经网络是其中一种较热门的神经网络。卷积神经网络经常用在解决与图形有关的问题,例如影像物件识别等。
在卷积神经网络中,具有各种滤波器的多个卷积层将被用来在对来源影像中进行一系列的卷积运算,借此在来源影像中比对特征或是由来源影像提取特征。此外,卷积神经网络可能另外包含一些池化层或激活层,以处理输入影像并由输入影像中进行物件识别。
发明内容
本公开文件提供一种调整方法,用以调整一卷积神经网络,该卷积神经网络的一第一模型包含多个卷积层,该些卷积层依照一序列次序而先后排列,该调整方法包含:决定该卷积神经网络的该第一模型中该些卷积层的多个感受野宽度;根据该些卷积层的该些感受野宽度与一输入图像宽度,将该第一模型中该些卷积层的多个通道宽度减少至多个缩减通道宽度;根据该些缩减通道宽度,形成该卷积神经网络的一第二模型的架构;以及,训练该卷积神经网络的该第二模型。
于一实施例中,将该第一模型中该些卷积层的该些通道宽度减少至该些缩减通道宽度的步骤,包含:通过将该第一模型中该些卷积层的该些感受野宽度与正相关于该输入图像宽度的一门限值比较,将该第一模型中该些卷积层各自分类至一基础层群及一扩增层群两者其中之一;根据该基础层群的一部分运算量相对于该基础层群及该扩增层群两者的一总体运算量的关系,决定该第一模型中该些卷积层的多个冗余比例;以及,根据该些卷积层的该些冗余比例,将该第一模型中该些卷积层的该些通道宽度减少至该些缩减通道宽度。
于一实施例中,将该第一模型中该些卷积层各自分类的步骤,包含:当该第一模型中该些卷积层其中一第一者所具有的一感受野宽度低于正相关于该输入图像宽度的该门限值,将该些卷积层其中该第一者分类为该基础层群其中之一;以及,当该第一模型中该些卷积层其中一第二者所具有的一感受野宽度超过正相关于该输入图像宽度的该门限值,将该些卷积层其中该第二者分类为该扩增层群其中之一。
于一实施例中,该卷积神经网络还包含多个激活层,该些激活层每一者是排列该些卷积层其中一者之后,该些卷积层每一者所产生的一卷积输出张量(tensor)经由该些激活层其中一者整流为多个非零值输出以及多个零值输出,其中决定该第一模型中该些卷积层的该些冗余比例的步骤包含:对于该些卷积层每一者根据该些非零值输出所占的比例分别计算一有效机率;以及,对于该些卷积层每一者分别计算一有效浮点运算次数,该有效浮点运算次数是根据该有效机率与一原始浮点运算次数的乘积而定。
于一实施例中,该卷积神经网络的该第一模型还包含多个第一卷积层、一池化层以及多个第二卷积层依照该序列次序而先后排列,其中减少该第一模型中该些卷积层的该些通道宽度的步骤包含:将该些第一卷积层分组为一第一宏区块(macroblock,宏模块),并将该些第二卷积层分组为一第二宏区块;当该些第二卷积层当中任一者属于该扩增层群时,减少该第二宏区块中该些第二卷积层的多个通道宽度;以及,当该些第一卷积层当中任一者属于该扩增层群时,减少该第一宏区块中该些第一卷积层的多个通道宽度。
于一实施例中,该第二宏区块中的该些通道宽度与该第一宏区块中的该些通道宽度同时被减少时,该第二宏区块中的该些通道宽度其减少的幅度大于该第一宏区块中的该些通道宽度其减少的幅度。
于一实施例中,该第一模型为该卷积神经网络的一预先训练模型,该预先训练模型所包含的该些卷积层具有的一预设数量的通道宽度,该调整方法形成的该第二模型具有一缩减数量的通道宽度,该缩减数量低于或等于该预设数量。
于一实施例中,该些卷积层的该些通道宽度对应于该些卷积层每一者所包含的多个卷积滤波器的数量。
于一实施例中,该第一模型包含依照该序列次序而先后排列的M个卷积层,M为一正整数,当该第一模型中第M个卷积层的一通道宽度与第M-1个卷积层的一通道宽度同时被减少时,该第M个卷积层的该通道宽度其减少的幅度大于该第M-1个卷积层的该通道宽度其减少的幅度。
于一实施例中,该些卷积层其中一者的一感受野宽度是根据在一输入图像上一投影区域所决定,该输入图像上该投影区域内的像素共同影响其中一个卷积层所产生的一卷积输出张量的单一特征点。
于一实施例中,该卷积神经网络的该第二模型用以识别一新进图像,并且该第二模型更用以产生对应该新进图像的一标签、检测该新进图像中的一物件、或分离该新进图像中的一前景物件与一背景。
本公开文件更提供一种电子装置,电子装置适用于调整一卷积神经网络,该电子装置包含数据存储器以及处理器。数据存储器用以存储该卷积神经网络的一第一模型,该卷积神经网络的该第一模型包含多个卷积层,该些卷积层依照一序列次序而先后排列。处理器与该数据存储器偶接,该处理器用以:决定该卷积神经网络的该第一模型中该些卷积层的多个感受野宽度;根据该些卷积层的该些感受野宽度与一输入图像宽度,将该第一模型中该些卷积层的多个通道宽度减少至多个缩减通道宽度;根据该些缩减通道宽度,形成该卷积神经网络的一第二模型的架构;以及,训练该卷积神经网络的该第二模型。
于一实施例中,该处理器用以将该第一模型中该些卷积层的该些通道宽度减少至该些缩减通道宽度时,该处理器是通过:通过将该第一模型中该些卷积层的该些感受野宽度与正相关于该输入图像宽度的一门限值比较,将该第一模型中该些卷积层各自分类至一基础层群及一扩增层群两者其中之一;根据该基础层群的一部分运算量相对于该基础层群及该扩增层群两者的一总体运算量的关系,决定该第一模型中该些卷积层的多个冗余比例;以及根据该些卷积层的该些冗余比例,将该第一模型中该些卷积层的该些通道宽度减少至该些缩减通道宽度。
于一实施例中,当该第一模型中该些卷积层其中一第一者所具有的一感受野宽度低于正相关于该输入图像宽度的该门限值,该处理器将该些卷积层其中该第一者分类为该基础层群其中之一,以及当该第一模型中该些卷积层其中一第二者所具有的一感受野宽度超过正相关于该输入图像宽度的该门限值,该处理器将该些卷积层其中该第二者分类为该扩增层群其中之一。
于一实施例中,该卷积神经网络还包含多个激活层,该些激活层每一者是排列该些卷积层其中一者之后,该些卷积层每一者所产生的一卷积输出张量(tensor)经由该些激活层其中一者整流为多个非零值输出以及多个零值输出,其中该处理器用以决定该第一模型中该些卷积层的该些冗余比例时,该处理器是通过:对于该些激活层每一者根据该些非零值输出所占的比例分别计算一有效机率;以及对于该些激活层每一者分别计算一有效浮点运算次数,该有效浮点运算次数是根据该有效机率与一原始浮点运算次数的乘积而定。
于一实施例中,卷积神经网络的该第一模型还包含多个第一卷积层、一池化层以及多个第二卷积层依照该序列次序而先后排列,其中该处理器用以减少该第一模型中该些卷积层的该些通道宽度时,该处理器是通过:将该些第一卷积层分组为一第一宏区块,并将该些第二卷积层分组为一第二宏区块;当该些第二卷积层当中任一者属于该扩增层群时,减少该第二宏区块中该些第二卷积层的多个通道宽度;以及当该些第一卷积层当中任一者属于该扩增层群时,减少该第一宏区块中该些第一卷积层的多个通道宽度。
于一实施例中,该第二宏区块中的该些通道宽度与该第一宏区块中的该些通道宽度同时被减少时,该第二宏区块中的该些通道宽度其减少的幅度大于该第一宏区块中的该些通道宽度其减少的幅度。
于一实施例中,该第一模型为该卷积神经网络的一预先训练模型,该预先训练模型所包含的该些卷积层具有的一预设数量的通道宽度,该调整方法形成的该第二模型具有一缩减数量的通道宽度,该缩减数量低于或等于该预设数量。
于一实施例中,该些卷积层的该些通道宽度对应于该些卷积层每一者所包含的多个卷积滤波器的数量。
于一实施例中,该第一模型包含依照该序列次序而先后排列的M个卷积层,M为一正整数,当该第一模型中第M个卷积层的一通道宽度与第M-1个卷积层的一通道宽度同时被减少时,该第M个卷积层的该通道宽度其减少的幅度大于该第M-1个卷积层的该通道宽度其减少的幅度。
于一实施例中,该些卷积层其中一者的一感受野宽度是根据在一输入图像上一投影区域所决定,该输入图像上该投影区域内的像素共同影响其中一个卷积层所产生的一卷积输出张量的单一特征点。
于一实施例中,该处理器使用该卷积神经网络的该第二模型以识别一新进图像,并且该处理器更使用该第二模型以产生对应该新进图像的一标签、检测该新进图像中的一物件、或分离该新进图像中的一前景物件与一背景。
在上述实施例的电子装置及调整方法当中,靠近深入端的卷积层的通道宽度将被缩减较多。其中减少靠近深入端的卷积层的卷积滤波器数量,对于物件识别的精确度影响相对较小,并且有助于削减卷积神经网络其模型所占用的存储空间容量。
须说明的是,上述说明以及后续详细描述是以实施例方式例示性说明本公开,并用以辅助本公开所请求的发明内容的解释与理解。
附图说明
为让本公开内容的上述和其他目的、特征、优点与实施例能更明显易懂,说明书附图的说明如下:
图1示出根据本公开文件一实施例中一种电子装置的示意图;
图2示出根据本公开文件的一实施例中卷积神经网络的第一模型的示意图;
图3A至图3F分别示出图2其中一个卷积层的示意图;
图4示出根据本公开文件一种调整卷积神经网络的方法的方法流程图;
图5A示出图2的实施例中对应到一卷积层的感受野宽度以及对应到另一卷积层的感受野宽度的示意图;
图5B示出于本公开文件的一实施例中输入图像上的投影区域对应到在卷积输出张量上的特征点的示意图;
图6示出根据表3所示的实施例中依照缩减通道宽度而形成的卷积神经网络的第二模型的架构的示意图;
图7示出根据一实施例中第一模型当中具有数个宏区块的分组的示意图;
图8示出根据一实施例中第二模型当中具有数个宏区块的分组的示意图;以及
图9示出根据另一实施例中第二模型当中具有数个宏区块的分组的示意图。
附图标记说明:
为让本公开内容的上述和其他目的、特征、优点与实施例能更明显易懂,所附符号的说明如下:
100 电子装置
120 数据存储器
140 处理器
200 方法
S210~S270 操作
MD1 第一模型
MD2 第二模型
TD 训练数据
IMGnew 新进图像
IMGlab 标签
具体实施方式
以下公开提供许多不同实施例或例证用以实施本公开文件的不同特征。特殊例证中的元件及配置在以下讨论中被用来简化本公开。所讨论的任何例证只用来作解说的用途,并不会以任何方式限制本公开文件或其例证的范围和意义。在适当的情况下,在图示之间及相应文字说明中采用相同的标号以代表相同或是相似的元件。
请参阅图1,其示出根据本公开文件一实施例中一种电子装置100的示意图。电子装置100适用于对卷积神经网络(convolution neural network,CNN)进行调整。
于一个卷积神经网络中通常包含许多个卷积层(convolution layer)。每一个卷积层可以包含许多个卷积滤波器(convolution filter)以比对及识别图形中与物件相关的特征。如果卷积神经网络在每一个卷积层包含更多个卷积滤波器,可以让物件识别的精确度提升。于此同时,当卷积神经网络的每一个卷积层包含更多个卷积滤波器时,卷积神经网络的模型尺寸(也就是模型所占用的存储空间容量)将随着增加。当卷积神经网络的模型尺寸增加时,需要花费更多的时间来训练卷积神经网络的这个模型、需要使用更多个空间来存储卷积神经网络的这个模型、及/或此模型需要使用更多的计算时间来识别物件。于一实施例,电子装置100通过改变卷积神经网络的模型的架构来缩减卷积神经网络的模型尺寸。
如图1所示,电子装置100包含数据存储器120以及处理器140。处理器140耦接数据存储器120。于一实施例中,数据存储器120可以利用存储器、硬盘、快取存储器、非暂态电脑可读取媒体、暂存器、数据存储阵列或其他具有相等性的数据存储元件加以实现。于一实施例中,处理器140可以利用中央处理单元、处理电路、影像处理单元、特殊应用集成电路(application-specific integrated circuit,ASIC)或其他具有相等性的处理元件加以实现。
于一实施例中,数据存储器120存储了卷积神经网络的第一模型MD1。于一实施例中,第一模型MD1是卷积神经网络的一个预先训练模型。于一实施例中,此预先训练模型可以由公开的卷积神经网络数据库(例如ResNet、MobileNet、SqueezeNet、ShuffleNet、DenseNet或其他相似的数据库)进行下载而得到。预先训练模型(即第一模型MD1)的架构包含一特定数量的卷积层,而预先训练模型的这些卷积层具有预设数量的通道宽度(channelwidth)。然而,第一模型MD1不仅限于由公开的卷积神经网络数据库下载得到。于另一实施例中,第一模型MD1可由处理器120根据存储在数据存储器120中的训练数据TD进行训练而得到。
请一并参阅图2,其示出根据本公开文件的一实施例中卷积神经网络的第一模型MD1的示意图。于此实施例中,假设第一模型MD1具有依照一序列次序排列的12个卷积层CL0、CL1、CL2…CL11。卷积层CL0用以接收并处理输入图像IMGin,并借此产生卷积输出张量(Tensor)CT0。卷积层CL0产生的卷积输出张量CT0将由后续的卷积层CL1所接收,卷积层CL1用以处理卷积输出张量CT0,并借此产生另一个卷积输出张量CT1。卷积层CL1产生的卷积输出张量CT1将由后续的卷积层CL2所接收,卷积层CL2用以处理卷积输出张量CT1,并借此产生另一个卷积输出张量CT2。相似地,其他依照序列次序排列的卷积层CL3~CL11用以分别产生卷积输出张量CT3~CT11。于一实施例中,图2中所示的输入图像IMGin可以包含在数据存储器120中的训练数据TD中或是由训练数据TD提供。
于图2所示的实施例中,第一模型MD1还包含两个池化层PL1及PL2、全连接层FCL以及激活函式层AFL。于一些实施例中,激活函式层AFL可以包含Softmax函式层,但本公开文件并不以此为限。于其他实施例中,激活函式层AFL可以包含Softmin函式层、Softmax2d函式层、LogSoftmax函式层、或者Adaptive Softmax函式层(例如AdaptiveLogSoftmaxWithLoss函式层)。池化层PL1及PL2可以用来降采样(down-sample)上述卷积层所产生的卷积输出张量,如此一来,卷积神经网络的第一模型MD1可以将局部性的区域物件特征整合为高阶的整体物件特征。于此实施例中,池化层PL1及PL2是设定为具有核心尺寸(kernel size)2x2且步长(stride)设定为2,但本公开文件并不以此为限。于一些其他实施例中,池化层PL1及PL2可以设定为具有不同的核心尺寸且具有不同的步长。全连接层FCL以及激活函式层AFL用以将卷积输出张量CT11的结果连结到其中一个特定的标签LAB,如此一来,第一模型MD1可以对应输入图像IMGin相对应产生一个标签LAB。
于一此实施例中,卷积神经网络的第一模型MD1的12个卷积层CL0~CL11所具有的通道宽度分别一定的预设数量。举例来说,卷积层CL0~CL3各自分别具有16个不同的卷积滤波器以比对图像特征(即卷积层CL0~CL3在输出通道的频道宽度为16),卷积层CL4~CL7各自分别具有32个不同的卷积滤波器以比对图像特征(即卷积层CL4~CL7在输出通道的通道宽度为32),卷积层CL8~CL11各自分别具有64个不同的卷积滤波器以比对图像特征(即卷积层CL8~CL11在输出通道的通道宽度为64)。如图2所示,卷积层CL0~CL11当中邻近起始端,也就是较接近输入图像IMGin的部分卷积层(例如卷积层CL0~CL3等)具有较低的通道宽度,以及卷积层CL0~CL11当中邻近深入端,也就是较接近全连接层FCL的部分卷积层(例如卷积层CL8~CL11等)具有较高的通道宽度。
第一模型MD1的模型尺寸是高度相关于存储卷积层CL0~CL11的数据所需要的存储空间。请一并参阅图3A,其示出图2当中的卷积层CL0的示意图。
于图3A所示,卷积层CL0(其具有的通道宽度等于16)包含16个卷积滤波器F1a~F16a。卷积滤波器F1a用以与输入图像IMGin进行卷积计算以产生一个卷积通道输出CCH1。卷积滤波器F2a用以与输入图像IMGin进行卷积计算以产生另一个卷积通道输出CCH2。卷积滤波器F3a用以与输入图像IMGin进行卷积计算以产生再一个卷积通道输出CCH3。相似地,卷积滤波器F16a用以与输入图像IMGin进行卷积计算以产生再一个卷积通道输出CCH16。这16个卷积通道输出CCH1~CCH16整合为卷积输出张量CT0。
在第一模型MD1中,卷积层CL0所需占用的存储空间可依照下列方式计算:
(权重参数的总数量)x(每一个权重参数的位元数)
=(Cin x k2x Cout)x DBits
=(3x 32x 16)x DBits
=432x DBits
于上述算式中,Cin代表输入至卷积层CL0的输入通道的数量,k代表卷积层CL0中每一个卷积滤波器F1a~F16a的宽度/高度,k为1以上的正整数,Cout代表由卷积层CL0输出的输出通道的数量,DBits代表在一个卷积滤波器当中各个像素的权重参数所使用的数据位元数。
需特别注意的是,于图3A的实施例中,卷积滤波器F1a~F16a的尺寸是以3x3进行举例说明。然而,卷积滤波器F1a~F16a的尺寸并不以3x3为限。于其他实施例中,卷积滤波器F1a~F16a的尺寸也可以替换为2x2、2x3、3x4、4x4或其他尺寸设置。为了说明上的简便,其他卷积层CL1~CL11当中的各个卷积滤波器也一并以3x3的尺寸进行举例说明,但本公开文件并不以此为限。
请一并参阅图3B,其示出图2当中的卷积层CL1的示意图。于图3B所示,卷积层CL1同样包含16个卷积滤波器F1b~F16b。卷积层CL1的16个卷积滤波器F1b~F16b分别用以与卷积输出张量CT0进行卷积计算,进而产生一个卷积输出张量CT1。
在第一模型MD1中,卷积层CL1所需占用的存储空间可依照下列方式计算:
(权重参数的总数量)x(每一个权重参数的位元数)
=(Cin x k2x Cout)x DBits
=(16x 32x 16)x DBits
=2304x DBits
于图2所示的实施例中,第一模型MD1中卷积层CL2所占用的存储空间以及第一模型MD1中另一卷积层CL3所占用的存储空间,均相似于卷积层CL1所需占用的存储空间。
请一并参阅图3C,其示出图2当中的卷积层CL4的示意图。于图3C所示,卷积层CL4(其具有的输入通道的通道宽度等于16,而输出通道的通道宽度等于32)包含32个卷积滤波器F1c~F32c。
于图2及图3C的实施例中,卷积层CL3产生的卷积输出张量CT3经过第一模型MD1的池化层PL1降采样成为采样后的卷积输出张量CT3d。于此实施例中,池化层PL1用以将卷积输出张量CT3当中2x2个特征点合并为采样后的卷积输出张量CT3d当中的一个特征点。换句话说,于此实施例中池化层PL1的步长(stride)设定为2,但本公开文件并不以此为限。于此例中,采样后的卷积输出张量CT3d的维度将变化为高16、宽16且通道16。换句话说,采样后的卷积输出张量CT3d的三个维度等于16x16x16。
卷积层CL3的32个卷积滤波器F1c~F32c分别用以与采样后的卷积输出张量CT3d进行卷积计算,进而产生一个卷积输出张量CT4。
在第一模型MD1中,卷积层CL4所需占用的存储空间可依照下列方式计算:
(权重参数的总数量)x(每一个权重参数的位元数)
=(Cin x k2x Cout)x DBits
=(16x 32x 32)x DBits
=4608x DBits
请一并参阅图3D,其示出图2当中的卷积层CL5的示意图。于图3D所示,卷积层CL5(其具有的输入通道的通道宽度等于32,而输出通道的通道宽度等于32)包含32个卷积滤波器F1d~F32d。
在第一模型MD1中,卷积层CL5所需占用的存储空间可依照下列方式计算:
(权重参数的总数量)x(每一个权重参数的位元数)
=(Cin x k2x Cout)x DBits
=(32x 32x 32)x DBits
=9216x DBits
于图2所示的实施例中,第一模型MD1中卷积层CL6所占用的存储空间以及第一模型MD1中另一卷积层CL7所占用的存储空间,均相似于卷积层CL5所需占用的存储空间。
请一并参阅图3E,其示出图2当中的卷积层CL8的示意图。于图3E所示,卷积层CL8(其具有的输入通道的通道宽度等于32,而输出通道的通道宽度等于64)包含64个卷积滤波器F1e~F64e。
在第一模型MD1中,卷积层CL8所需占用的存储空间可依照下列方式计算:
(权重参数的总数量)x(每一个权重参数的位元数)
=(Cin x k2x Cout)x DBits
=(32x 32x 64)x DBits
=18432x DBits
请一并参阅图3F,其示出图2当中的卷积层CL9的示意图。于图3E所示,卷积层CL9(其具有的输入通道的通道宽度等于64,而输出通道的通道宽度等于64)包含64个卷积滤波器F1f~F64f。
在第一模型MD1中,卷积层CL9所需占用的存储空间可依照下列方式计算:
(权重参数的总数量)x(每一个权重参数的位元数)
=(Cin x k2x Cout)x DBits
=(64x 32x 64)x DBits
=36864x DBits
于图2所示的实施例中,第一模型MD1中卷积层CL10所占用的存储空间以及第一模型MD1中另一卷积层CL11所占用的存储空间,均相似于卷积层CL9所需占用的存储空间。
于本公开文件的一实施例中,电子装置100通过减少卷积层CL0~CL11当中的通道宽度的方式,以调整卷积层CL0~CL11的架构,进而降低卷积神经网络的第一模型MD1的模型尺寸。
由于邻近深入端(较靠近全连接层FCL)的卷积层CL8~CL11相较于邻近起始端(较靠近输入图像IMGin)的卷积层CL0~CL3占用了较多的存储空间,电子装置100采用依照反向次序减少各个卷积层的通道宽度的一种调整方法,上述反向次序与卷积层CL0~CL11先后排列的序列次序相反。换句话说,电子装置100及调整方法将会优先降低邻近深入端的卷积层(例如卷积层CL8~CL11)的通道宽度,随后才可能考虑降低邻近起始端的卷积层的通道宽度。
请一并参阅图4,其示出根据本公开文件一种调整卷积神经网络的方法200的方法流程图。如图1及图4所示,电子装置100的处理器140用以执行图4中的方法200以决定如何将卷积神经网络的第一模型MD1的架构调整为卷积神经网络的第二模型MD2。电子装置100利用方法200以有效的降低第二模型MD2的模型尺寸(相较于第一模型MD1)并且尽可能维持卷积神经网络的第二模型MD2用来执行物件识别时的精确度。关于如何调整卷积神经网络的架构的详细作法将在后续实施例中完整说明。
如图4所示,方法200执行操作S210以决定卷积神经网络的第一模型MD1中卷积层CL0~CL11各自的感受野宽度(receptive field width)。第一模型MD1中卷积层CL0~CL11每一者可以分别具有与另一卷积层相异的感受野宽度。请进一步参阅图5A,其示出图2的实施例中对应到卷积层CL0的感受野宽度RFW0以及对应到另一卷积层CL1的感受野宽度RFW1的示意图。
图5A示出了卷积层CL0产生的卷积输出张量CT0的其中一个通道层以及另一卷积层CL1产生的卷积输出张量CT1的其中一个通道层相对于输入图像IMGin的示意视图。
如图5A所示,卷积输出张量CT0上的一个特征点FP0的数值是由一个3x3卷积滤波器与输入图像IMGin上的投影区域R0的卷积运算而得到,因此,卷积输出张量CT0上的特征点FP0的数值将会受到3x3大小的投影区域R0影响。于此例子中,卷积层CL0的感受野宽度RFW0将被判断为3。
如图5A所示,另一个卷积输出张量CT1上的一个特征点FP1的数值是由一个3x3卷积滤波器与卷积输出张量CT0上的投影区域R1a的卷积运算而得到。由于卷积输出张量CT0是事先由3x3卷积滤波器与输入图像IMGin的卷积运算而产生。因此,卷积输出张量CT1上的特征点FP1的数值将会受到在输入图像IMGin上5x5大小的投影区域R1b影响。于此例子中,卷积层CL1的感受野宽度RFW1将被判断为5。
相似地,卷积层CL2至卷积层CL11的感受野宽度可以利用相似的方法累进计算。卷积层CL2的感受野宽度将被判断为7。卷积层CL3的感受野宽度将被判断为9。在经过池化层PL1的处理以及卷积层CL4的另一次卷积运算后,卷积层CL4的感受野宽度将被判断为14。卷积层CL5的感受野宽度将被判断为18。卷积层CL6的感受野宽度将被判断为22。卷积层CL7的感受野宽度将被判断为26。在经过池化层PL2的处理以及卷积层CL8的另一次卷积运算后,卷积层CL8的感受野宽度将被判断为36。卷积层CL9的感受野宽度将被判断为44。卷积层CL10的感受野宽度将被判断为52。卷积层CL11的感受野宽度将被判断为60。在操作S210中所决定的卷积层CL0~CL11各自的感受野宽度列表于后续的表1。
表1
请一并参阅图5B,其示出于本公开文件的一实施例中输入图像IMGin上的投影区域R2对应到在卷积输出张量CT1上的特征点FP2的示意图。如图5B所示,特征点FP2是由输入图像IMGin上的投影区域R2内的信息所影响。然而,如图5B所示,投影区域R2部分超出了输入图像IMGin的边界。投影区域R2中超出输入图像IMGin的边界的部分称为填充区域PAD(padding area),填充区域PAD并未包含真实的影像数据而是被填入非有效的数据,例如“0”,在卷积运算中使用。于此例子中,特征点FP2的计算是80%根据真实影像数据而有20%是根据填充数据。
当特征点的计算有较高比例是基于填充数据,则此特征点在物件识别上的有效性便会降低。当特征点的计算有较高比例是基于真实影像数据,则此特征点在物件识别上的有效性便会较高。
在操作S210决定各卷积层CL0~CL11各自的感受野宽度之后,方法200执行操作S220,通过将上述卷积层CL0~CL11各自的感受野宽度分别与输入图像IMGin的图像宽度比较,进而根据上述卷积层CL0~CL11各自的感受野宽度将第一模型MD1各卷积层CL0~CL11的通道宽度减少为多个缩减通道宽度。
于图4所示的一实施例中,操作S220包含三个进一步操作S221、S222及S223。
如图4所示,方法200执行操作S221,通过将第一模型MD1中卷积层CL0~CL11的感受野宽度与输入图像IMGin的输入图像宽度比较,将第一模型MD1中各卷积层CL0~CL11各自分类至基础层群及扩增层群两者其中之一。
于此实施例中,输入图像IMGin的尺寸被假设为32x32,换句话说,输入图像IMGin的输入图像宽度等于32。
卷积层CL0~CL11是分类基础层群或扩增层群的何者是根据卷积层CL0~CL11各自的感受野宽度(3,5,7,9,14,18,22,26,36,44,52及60)分别与输入图像宽度“32”的比较结果而定。于表1所提出的示范性举例中,卷积层CL0~CL7的感受野宽度(3,5,7,9,14,18,22及26)小于输入图像宽度,而卷积层CL8~CL11的感受野宽度(36,44,52及60)则大于输入图像宽度。
于表1所示的实施例中,由于卷积层CL0~CL7的感受野宽度(3,5,7,9,14,18,22及26)经比较小于输入图像宽度“32”,卷积层CL0~CL7被分类为基础层群。由于卷积层CL9~CL11的感受野宽度(44,52及60)经比较大于输入图像宽度“32”,卷积层CL9~CL11被分类为扩增层群。需特别注意的是,于此实施例中卷积层CL8的感受野宽度“36”是在序列排列中第一个超过输入图像宽度“32”的卷积层,于表1的实施例中仍然将卷积层CL8分类至基础层群中,然而本公开文件并不以此为限。
于另一实施例中,卷积层CL0~CL7的感受野宽度经比较小于输入图像宽度被分类为基础层群,并且卷积层CL8~CL11的感受野宽度经比较大于输入图像宽度被分类为扩增层群。
于表1所示的实施例中,输入图像宽度“32”是用来当作与卷积层的感受野宽度比较时的门限值,用来将卷积层分类至基础层群或扩增层群。于此例子中,输入图像宽度等于卷积层的感受野宽度分类时的门限值,但本公开文件并不以此为限。
于另一实施例中,用来分类基础层群与扩增层群的门限值,可以设定为X%*输入图像宽度。也就是说,门限值的大小正相关于输入图像宽度。
于一实施例中,X可设定为0至100之间的数字,但本公开文件不以此为限。于另一实施例中,当电子装置100及方法200欲提高卷积神经网络的识别精确度时,X可设定为0至200之间的数字。X将会影响方法200所达到的压缩率。当X设定为较低的数值时,更多的卷积层将被分类至扩增层群,而较少的卷积层将被分类至基础层群,如此一来,将缩减较多层卷积层的通道宽度(在后续的操作S223中说明)。当X设定为较高的数值时,更多的卷积层将被分类至基础层群,而较少的卷积层将被分类至扩增层群,如此一来,将缩减较少层卷积层的通道宽度(在后续的操作S223中说明)。
整体来说,较靠近深入端的卷积层较容易被分类至扩增层群,较靠近起始端的卷积层较容易被分类至基础层群。
如图4所示,方法200执行操作S222,根据扩增层群的部分运算量相对于基础层群及扩增层群两者的总体运算量之间的关系,决定第一模型MD1中卷积层CL0~CL11各自的冗余比例(redundancy ratio)。
关于操作S222中如何计算卷积层CL0~CL11各自的冗余比例的一些细节内容列示于下列表2当中。
表2
首先,卷积层CL0~CL11每一者所进行卷积运算的浮点运算次数(flop counts)是已知且固定的数字。卷积层CL0的浮点运算次数FC0是由卷积层CL0产生卷积输出张量CT0所需要进行的乘法与加法总次数而决定的。卷积层CL1的浮点运算次数FC1是由卷积层CL1产生卷积输出张量CT1所需要进行的乘法与加法总次数而决定的。相似地,浮点运算次数FC2~FC11是由各个卷积层CL2~CL11产生各自的卷积输出张量CT2~CT11所需要进行的乘法与加法总次数而决定的。
于一实施例中,卷积神经网络的第一模型MD1还包含十二个激活层(图中未示出),这些激活层每一者分别排列在十二个卷积层CL0~CL11其中一者之后,也就是每一个卷积层CL0~CL11后方跟随设置一个激活层。于一实施例中,这些激活层可以分别是线性整流单元(rectified linear unit,ReLU)。线性整流单元用以将卷积输出张量CT0~CT11当中值为负数的数据替换为“0”并且保持值为正数的数据。于此实施例中,卷积层CL0~CL11产生的卷积输出张量CT0~CT11经由激活层其中一者整流为多个非零值输出以及多个零值输出。然而,本公开文件的激活层并不仅限于线性整流单元。于一些实施例中,激活层也可以选自ELU函式层、Sigmoid函式层、Softplus函式层、Tanh函式层或其他具相等性函式层的其中一者或上述函式层的组合。于操作S222当中,处理器120根据每一个卷积层CL0~CL11各自产生的卷积输出张量CT0~CT11的输出数据当中非零值输出占整体输出(也就是非零值输出与零值输出两者的总输出数目)的比例,分别计算每一个卷积层CL0~CL11各自的有效机率。假设,在卷积输出张量CT0的全部输出当中非零值输出占了35%,在此例子中,卷积层CL0的有效浮点运算次数EFC0是卷积层CL0的原始浮点运算次数FC0及有效机率35%的乘积。换句话说,有效浮点运算次数EFC0=FC0*35%。
假设,卷积输出张量CT1、CT2、CT3、CT4、CT5、CT6、CT7、CT8、CT9、CT10及CT11各自的全部输出当中非零值输出分别占了52%、40%、36%、42%、56%、48%、51%、39%、41%、57%及52%比例。卷积层CL1的有效浮点运算次数EFC1是卷积层CL1的原始浮点运算次数FC1及有效机率52%的乘积,卷积层CL2的有效浮点运算次数EFC2是卷积层CL2的原始浮点运算次数FC2及有效机率40%的乘积,依此类推。
基于上述基础层群中卷积层CL0~CL8的有效浮点运算次数EFC0~EFC8以及扩增层群中卷积层CL9~CL11的有效浮点运算次数EFC9~EFC11,处理器120执行步骤S222以决定第一模型MD1中各个卷积层CL0~CL11的冗余比例。
首先,卷积层CL11的冗余比例是根据扩增层群中卷积层的部分运算量相对于一个整体运算量的比例而得到,如下:
卷积层CL11的冗余比例
=(EFC9+EFC10+EFC11)/(EFC0+EFC1+EFC2…EFC10+EFC11)
换句话说,卷积层CL11的冗余比例是由扩增层群中卷积层CL9~CL11的有效浮点运算次数EFC9~EFC11的总和,除以全部卷积层CL0~CL11的有效浮点运算次数EFC0~EFC11的总和。于表2的实施例,计算出的卷积层CL11的冗余比例为0.4。
接着,卷积层CL10的冗余比例是根据扩增层群中卷积层的部分运算量相对于一个整体运算量的比例而得到,如下:
卷积层CL10的冗余比例
=(EFC9+EFC10)/(EFC0+EFC1+EFC2…EFC9+EFC10)
换句话说,卷积层CL10的冗余比例是由扩增层群中在卷积层CL10以前的所有有效浮点运算次数EFC9~EFC10的总和,除以在卷积层CL10以前全部卷积层CL0~CL10的有效浮点运算次数EFC0~EFC10的总和。于表2的实施例,计算出的卷积层CL11的冗余比例为0.28。
再者,卷积层CL9的冗余比例是根据扩增层群中卷积层的部分运算量相对于一个整体运算量的比例而得到,如下:
卷积层CL9的冗余比例
=(EFC9)/(EFC0+EFC1+EFC2…EFC8+EFC9)
换句话说,卷积层CL9的冗余比例是由扩增层群中在卷积层CL9以前的所有有效浮点运算次数EFC9的总和,除以在卷积层CL9以前全部卷积层CL0~CL9的有效浮点运算次数EFC0~EFC9的总和。于表2的实施例,计算出的卷积层CL9的冗余比例为0.13。
接下来,其他卷积层CL0~CT8的冗余比例都将计算为0,因为卷积层CL0至卷积层CT8均没有被分类为扩增层群。
如图4所示,方法200执行操作S223以将第一模型MD1当中卷积层CL0~CT11的通道宽度根据卷积层CL0~CL11各自的冗余比例减少至缩减通道宽度。
关于操作S223中如何计算卷积层CL0~CL11各自的缩减通道宽度的一些细节内容列示于下列表3当中。
表3
于操作S223中,处理器120用以根据卷积层CL0~CL11在第一模型MD1当中原始通道宽度及各自对应的冗余比例,计算卷积层CL0~CL11各自的缩减通道宽度。
于表3所示的实施例中,卷积层CL11的缩减通道宽度是依照下列方式计算:
卷积层CL11的缩减通道宽度
=(卷积层CL11的原始通道宽度)/(1+卷积层CL11的冗余比例)
=64/1.4
=46
于表3所示的实施例中,卷积层CL10的缩减通道宽度是依照下列方式计算:
卷积层CL10的缩减通道宽度
=(卷积层CL10的原始通道宽度)/(1+卷积层CL10的冗余比例)
=64/1.28
=50
于表3所示的实施例中,卷积层CL9的缩减通道宽度是依照下列方式计算:
卷积层CL9的缩减通道宽度
=(卷积层CL9的原始通道宽度)/(1+卷积层CL9的冗余比例)
=64/1.13
=56.637≈57
于表3所示的实施例中,卷积层CL0~CL8的通道宽度则不经缩减,因为这些卷积层CL0~CL8的冗余比例计算结果为0。
于上述实施例中,当第一模型MD1中第M个卷积层的一通道宽度与第M-1个卷积层的一通道宽度同时被减少时,第M个卷积层的通道宽度被减少至低于第M-1个卷积层的通道宽度。M为正整数。举例来说,卷积层CL11的缩减后的通道宽度减少至46,低于卷积层CL10的缩减后的通道宽度为50。
另一方面,第M个卷积层的通道宽度其减少的幅度大于第M-1个卷积层的通道宽度其减少的幅度。举例来说,卷积层CL11的通道宽度由64缩减至46,其缩减的幅度为28.125%;卷积层CL10的通道宽度由64缩减至50,其缩减的幅度为21.875%;卷积层CL9的通道宽度由64缩减至57,其缩减的幅度为10.9375%。卷积层CL11其通道宽度的缩减比例(28.125%)相较之下高于卷积层CL10其通道宽度的缩减比例(21.875%)。同样地,卷积层CL10其通道宽度的缩减比例(21.875%)相较之下高于卷积层CL9其通道宽度的缩减比例(10.9375%)。
在上述实施例的电子装置100及方法200当中,靠近深入端的卷积层的通道宽度将被缩减更多,其缩减幅度高于靠近起始端的卷积层的通道宽度的缩减幅度。靠近深入端的卷积层(例如CL9~CL11)将具有较广的感受野宽度,如此一来相应的卷积输出张量(CT9~CT11)将会包含较高比例的输出数据是受到填充区域(参见图5B当中的填充区域PAD)影响。因此,减少靠近深入端的卷积层(例如CL9~CL11)的卷积滤波器数量对于物件识别的精确度影响相对较小,相较于减少靠近初始端的卷积层(例如CL0~CL3)的卷积滤波器数量。另一方面,由于靠近深入端的卷积层(例如CL9~CL11)占用了较多的数据存储空间,因此减少靠近深入端的卷积层(例如CL9~CL11)的卷积滤波器数量有助于削减卷积神经网络其模型所占用的存储空间容量。
于操作S250中,处理器120用以根据上述操作S223中计算得到的缩减通道宽度(如表3所示),形成卷积神经网络的第二模型MD2的架构。请一并参阅图6,其示出根据表3所示的实施例中依照缩减通道宽度而形成的卷积神经网络的第二模型MD2的架构的示意图。如图6所示,在第二模型MD2中包含了十二个依照序列次序而先后排列的卷积层CL0、CL1、CL2…CL11。需要特别注意的是,在第二模型MD2当中,卷积层CL9~CL11的通道宽度已经缩减至57、50及46。
于操作S260中,处理器120用以根据存储在数据存储器120当中的训练数据TD训练调整后的第二模型MD2。由于卷积层CL9~CL11采用缩减后的通道宽度,第二模型MD2的模型尺寸(占用的存储空间)将小于第一模型MD1的模型尺寸(占用的存储空间)。
于操作S270中,处理器120可利用卷积神经网络的第二模型MD2处理新进图像IMGnew。于一实施例中,处理器120可利用第二模型MD2识别新进图像IMGnew,并产生对应新进图像IMGnew的标签IMGlab,如图1所示。
然而,第二模型MD2并不限于用以产生新进图像IMGnew的标签IMGlab。于另一实施例中,处理器120可利用卷积神经网络的第二模型MD2以检测新进图像IMGnew当中的物件(例如人物、脸孔、动物、车辆或建筑物)。于再一实施例中,处理器120可利用卷积神经网络的第二模型MD2以将新进图像IMGnew当中的前景物件(例如人物、脸孔、动物、车辆或建筑物)与新进图像IMGnew当中的背景(例如山景、街景、室内布置等)加以分离。
在上述实施例中,操作S222当中的冗余比例及操作S223当中的缩减通道宽度是分别根据卷积层CL0~CL11每一者分别决定及计算。然而,本公开文件并不以此为限。于另一实施例中,卷积层CL0~CL11可以被分组为几个不同的宏区块(macroblock,宏模块),而冗余比例的计算可以基于单个宏区块作为一个计算单位,如此一来可以加速并简化冗余比例以及缩减通道宽度的计算过程。
请一并参阅图7、图8以及后续的表4。图7示出根据一实施例中第一模型MD1当中具有数个宏区块MB0~MB2的分组的示意图。图8示出根据一实施例中第二模型MD1当中具有数个宏区块MB0~MB2的分组的示意图。表4表列记载于一实施例中有关如何计算宏区块MB0~MB2的缩减通道宽度的相关内容。
如图7所示,第一模型MD1包含依照序列次序先后排列的卷积层CL0~CL3、池化层PL1、卷积层CL4~CL7、池化层PL2以及卷积层CL8~CL11。其中,卷积层CL0~CL3被分组为宏区块MB0,卷积层CL4~CL7被分组为另一宏区块MB1,卷积层CL8~CL11被分组为另一宏区块MB2。
于此实施例中,当单一宏区块中任一个卷积层属于扩增层群时,图4的操作S223对针对此宏区块的整体减少宏区块中所有卷积层的通道宽度。
基于表4的实施例,宏区块MB0当中的卷积层CL0~CL3均属于基础层群,宏区块MB1当中的卷积层CL4~CL7也均属于基础层群。宏区块MB0与宏区块MB1当中的通道宽度将不变动。
宏区块MB2当中的卷积层CL9~CL11是属于扩增层群。因此,宏区块MB2的通道宽度将被调整为46。有关宏区块MB2的缩减通道宽度的计算过程,可以参照先前表3的实施例中有关卷积层CL11的缩减通道宽度的计算方式。
表4
请一并参阅图9以及后续的表5。图9示出根据另一实施例中第二模型MD1当中具有数个宏区块MB0~MB2的分组的示意图。表5表列记载于一实施例中有关如何计算宏区块MB0~MB2的缩减通道宽度的相关内容。
基于表5的实施例,假设宏区块MB1当中的卷积层CL6~CL7也均属于扩增层群,宏区块MB2当中的卷积层CL9~CL11是属于扩增层群。此外,表5的实施例假设宏区块MB0当中的卷积层CL0~CL3均属于基础层群,宏区块MB1当中的卷积层CL4~CL5也属于基础层群。
表5
在表5及图9的实施例中,当宏区块MB2中的通道宽度与宏区块MB1中的通道宽度同时被减少时,宏区块MB2中的通道宽度其减少的幅度大于宏区块MB1中的该些通道宽度其减少的幅度。于表5所示的实施例中,宏区块MB2的通道宽度减少37.5%,而宏区块MB1的通道宽度则减少12.5%。
在上述电子装置100及方法200的实施例中,靠近深入端的宏区块的通道宽度将被缩减更多,其缩减幅度高于靠近起始端的宏区块的通道宽度的缩减幅度。减少靠近深入端的宏区块的卷积滤波器数量对于物件识别的精确度影响相对较小,相较于减少靠近初始端的宏区块的卷积滤波器数量。另一方面,减少靠近深入端的宏区块的卷积滤波器数量有助于削减卷积神经网络其模型所占用的存储空间容量。
虽然本发明的实施例已公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的变动与润饰,因此本发明的保护范围当以权利要求所界定为准。
Claims (22)
1.一种调整方法,其特征在于,该调整方法用以调整一卷积神经网络,该卷积神经网络的一第一模型包含多个卷积层,该些卷积层依照一序列次序而先后排列,该调整方法包含:
决定该卷积神经网络的该第一模型中该些卷积层的多个感受野宽度;
根据该些卷积层的该些感受野宽度与一输入图像宽度,将该第一模型中该些卷积层的多个通道宽度减少至多个缩减通道宽度;
根据该些缩减通道宽度,形成该卷积神经网络的一第二模型的架构;以及
训练该卷积神经网络的该第二模型。
2.如权利要求1所述的调整方法,其中将该第一模型中该些卷积层的该些通道宽度减少至该些缩减通道宽度的步骤,包含:
通过将该第一模型中该些卷积层的该些感受野宽度与正相关于该输入图像宽度的一门限值比较,将该第一模型中该些卷积层各自分类至一基础层群及一扩增层群两者其中之一;
根据该扩增层群的一部分运算量相对于该基础层群及该扩增层群两者的一总体运算量的关系,决定该第一模型中该些卷积层的多个冗余比例;以及
根据该些卷积层的该些冗余比例,将该第一模型中该些卷积层的该些通道宽度减少至该些缩减通道宽度。
3.如权利要求2所述的调整方法,其中将该第一模型中该些卷积层各自分类的步骤,包含:
对应于该第一模型中该些卷积层其中一第一者所具有的一感受野宽度低于正相关于该输入图像宽度的该门限值,将该些卷积层其中该第一者分类为该基础层群其中之一;以及
对应于该第一模型中该些卷积层其中一第二者所具有的一感受野宽度超过正相关于该输入图像宽度的该门限值,将该些卷积层其中该第二者分类为该扩增层群其中之一。
4.如权利要求2所述的调整方法,其中该卷积神经网络还包含多个激活层,该些激活层每一者是排列该些卷积层其中一者之后,该些卷积层每一者所产生的一卷积输出张量经由该些激活层其中一者整流为多个非零值输出以及多个零值输出,其中决定该第一模型中该些卷积层的该些冗余比例的步骤包含:
对于该些卷积层每一者根据该些非零值输出所占的比例分别计算一有效机率;以及
对于该些卷积层每一者分别计算一有效浮点运算次数,该有效浮点运算次数是根据该有效机率与一原始浮点运算次数的乘积而定。
5.如权利要求2所述的调整方法,其中该卷积神经网络的该第一模型还包含多个第一卷积层、一池化层以及多个第二卷积层依照该序列次序而先后排列,其中减少该第一模型中该些卷积层的该些通道宽度的步骤包含:
将该些第一卷积层分组为一第一宏区块,并将该些第二卷积层分组为一第二宏区块;
对应于该些第二卷积层中任一者属于该扩增层群,减少该第二宏区块中该些第二卷积层的多个通道宽度;以及
对应于该些第一卷积层中任一者属于该扩增层群,减少该第一宏区块中该些第一卷积层的多个通道宽度。
6.如权利要求5所述的调整方法,其中该第二宏区块中的该些通道宽度与该第一宏区块中的该些通道宽度同时被减少时,该第二宏区块中的该些通道宽度其减少的幅度大于该第一宏区块中的该些通道宽度其减少的幅度。
7.如权利要求1所述的调整方法,其中该第一模型为该卷积神经网络的一预先训练模型,该预先训练模型所包含的该些卷积层具有的一预设数量的通道宽度,该调整方法形成的该第二模型具有一缩减数量的通道宽度,该缩减数量低于或等于该预设数量。
8.如权利要求1所述的调整方法,其中该些卷积层的该些通道宽度对应于该些卷积层每一者所包含的多个卷积滤波器的数量。
9.如权利要求1所述的调整方法,其中该第一模型包含依照该序列次序而先后排列的M个卷积层,M为一正整数,当该第一模型中第M个卷积层的一通道宽度与第M-1个卷积层的一通道宽度同时被减少时,该第M个卷积层的该通道宽度其减少的幅度大于该第M-1个卷积层的该通道宽度其减少的幅度。
10.如权利要求1所述的调整方法,其中该些卷积层其中一者的一感受野宽度是根据在一输入图像上一投影区域所决定,该输入图像上该投影区域内的像素共同影响其中一个卷积层所产生的一卷积输出张量的单一特征点。
11.如权利要求1所述的调整方法,其中该卷积神经网络的该第二模型用以识别一新进图像,并且该第二模型更用以产生对应该新进图像的一标签、检测该新进图像中的一物件、或分离该新进图像中的一前景物件与一背景。
12.一种电子装置,其特征在于,该电子装置适用于调整一卷积神经网络,该电子装置包含:
一数据存储器,用以存储该卷积神经网络的一第一模型,该卷积神经网络的该第一模型包含多个卷积层,该些卷积层依照一序列次序而先后排列;
一处理器,与该数据存储器偶接,该处理器用以:
决定该卷积神经网络的该第一模型中该些卷积层的多个感受野宽度;
根据该些卷积层的该些感受野宽度与一输入图像宽度,将该第一模型中该些卷积层的多个通道宽度减少至多个缩减通道宽度;
根据该些缩减通道宽度,形成该卷积神经网络的一第二模型的架构;以及
训练该卷积神经网络的该第二模型。
13.如权利要求12所述的电子装置,其中该处理器用以将该第一模型中该些卷积层的该些通道宽度减少至该些缩减通道宽度时,该处理器是通过:
通过将该第一模型中该些卷积层的该些感受野宽度与正相关于该输入图像宽度的一门限值比较,将该第一模型中该些卷积层各自分类至一基础层群及一扩增层群两者其中之一;
根据该扩增层群的一部分运算量相对于该基础层群及该扩增层群两者的一总体运算量的关系,决定该第一模型中该些卷积层的多个冗余比例;以及
根据该些卷积层的该些冗余比例,将该第一模型中该些卷积层的该些通道宽度减少至该些缩减通道宽度。
14.如权利要求13所述的电子装置,其中对应于该第一模型中该些卷积层其中一第一者所具有的一感受野宽度低于正相关于该输入图像宽度的该门限值,该处理器将该些卷积层其中该第一者分类为该基础层群其中之一,以及
对应于该第一模型中该些卷积层其中一第二者所具有的一感受野宽度超过正相关于该输入图像宽度的该门限值,该处理器将该些卷积层其中该第二者分类为该扩增层群其中之一。
15.如权利要求13所述的电子装置,其中该卷积神经网络还包含多个激活层,该些激活层每一者是排列该些卷积层其中一者之后,该些卷积层每一者所产生的一卷积输出张量经由该些激活层其中一者整流为多个非零值输出以及多个零值输出,其中该处理器用以决定该第一模型中该些卷积层的该些冗余比例时,该处理器是通过:
对于该些激活层每一者根据该些非零值输出所占的比例分别计算一有效机率;以及
对于该些激活层每一者分别计算一有效浮点运算次数,该有效浮点运算次数是根据该有效机率与一原始浮点运算次数的乘积而定。
16.如权利要求13所述的电子装置,其中该卷积神经网络的该第一模型还包含多个第一卷积层、一池化层以及多个第二卷积层依照该序列次序而先后排列,其中该处理器用以减少该第一模型中该些卷积层的该些通道宽度时,该处理器是通过:
将该些第一卷积层分组为一第一宏区块,并将该些第二卷积层分组为一第二宏区块;
对应于该些第二卷积层中任一者属于该扩增层群,减少该第二宏区块中该些第二卷积层的多个通道宽度;以及
对应于该些第一卷积层中任一者属于该扩增层群,减少该第一宏区块中该些第一卷积层的多个通道宽度。
17.如权利要求16所述的电子装置,其中该第二宏区块中的该些通道宽度与该第一宏区块中的该些通道宽度同时被减少时,该第二宏区块中的该些通道宽度其减少的幅度大于该第一宏区块中的该些通道宽度其减少的幅度。
18.如权利要求12所述的电子装置,其中该第一模型为该卷积神经网络的一预先训练模型,该预先训练模型所包含的该些卷积层具有的一预设数量的通道宽度,该调整方法形成的该第二模型具有一缩减数量的通道宽度,该缩减数量低于或等于该预设数量。
19.如权利要求12所述的电子装置,其中该些卷积层的该些通道宽度对应于该些卷积层每一者所包含的多个卷积滤波器的数量。
20.如权利要求12所述的电子装置,其中该第一模型包含依照该序列次序而先后排列的M个卷积层,M为一正整数,当该第一模型中第M个卷积层的一通道宽度与第M-1个卷积层的一通道宽度同时被减少时,该第M个卷积层的该通道宽度其减少的幅度大于该第M-1个卷积层的该通道宽度其减少的幅度。
21.如权利要求12所述的电子装置,其中该些卷积层其中一者的一感受野宽度是根据在一输入图像上一投影区域所决定,该输入图像上该投影区域内的像素共同影响其中一个卷积层所产生的一卷积输出张量的单一特征点。
22.如权利要求12所述的电子装置,其中该处理器使用该卷积神经网络的该第二模型以识别一新进图像,并且该处理器更使用该第二模型以产生对应该新进图像的一标签、检测该新进图像中的一物件、或分离该新进图像中的一前景物件与一背景。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862628311P | 2018-02-09 | 2018-02-09 | |
US62/628,311 | 2018-02-09 | ||
US201862672596P | 2018-05-17 | 2018-05-17 | |
US62/672,596 | 2018-05-17 | ||
US201862727570P | 2018-09-06 | 2018-09-06 | |
US62/727,570 | 2018-09-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110135553A true CN110135553A (zh) | 2019-08-16 |
CN110135553B CN110135553B (zh) | 2021-09-03 |
Family
ID=65365875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910104847.7A Active CN110135553B (zh) | 2018-02-09 | 2019-02-01 | 卷积神经网络的调整方法及电子装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11379716B2 (zh) |
EP (1) | EP3537347A1 (zh) |
CN (1) | CN110135553B (zh) |
TW (1) | TWI729352B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929805A (zh) * | 2019-12-05 | 2020-03-27 | 上海肇观电子科技有限公司 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
WO2021248433A1 (en) * | 2020-06-12 | 2021-12-16 | Moffett Technologies Co., Limited | Method and system for dual-sparse convolution processing and parallelization |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11861035B2 (en) * | 2019-05-16 | 2024-01-02 | International Business Machines Corporation | Separating public and private knowledge in AI |
CN112633462B (zh) * | 2019-10-08 | 2024-09-03 | 黄朝宗 | 卷积神经网络的存储器优化的区块式推论方法及其系统 |
US20220092735A1 (en) * | 2019-11-21 | 2022-03-24 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
KR20210062477A (ko) * | 2019-11-21 | 2021-05-31 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN110909794B (zh) * | 2019-11-22 | 2022-09-13 | 乐鑫信息科技(上海)股份有限公司 | 一种适用于嵌入式设备的目标检测系统 |
CN111476346B (zh) * | 2020-02-28 | 2022-11-29 | 之江实验室 | 一种基于牛顿共轭梯度法的深度学习网络架构 |
CN113516224A (zh) * | 2020-04-09 | 2021-10-19 | 深圳云天励飞技术有限公司 | 神经网络的优化方法及装置、电子设备及存储介质 |
US20210383534A1 (en) * | 2020-06-03 | 2021-12-09 | GE Precision Healthcare LLC | System and methods for image segmentation and classification using reduced depth convolutional neural networks |
CN112051980B (zh) * | 2020-10-13 | 2022-06-21 | 浙江大学 | 一种基于牛顿迭代法的非线性激活函数计算装置 |
TWI768517B (zh) | 2020-10-21 | 2022-06-21 | 國立政治大學 | 影像品質提昇方法及使用該方法的影像處理裝置 |
US11972348B2 (en) | 2020-10-30 | 2024-04-30 | Apple Inc. | Texture unit circuit in neural network processor |
CN113537232B (zh) * | 2021-05-31 | 2023-08-22 | 大连民族大学 | 双通道交互时间卷积网络、近景视频动作分割方法、计算机系统和介质 |
CN114593919B (zh) * | 2022-03-28 | 2023-11-17 | 青岛理工大学 | 一种新型的滚动轴承故障诊断方法及其系统 |
CN115994909B (zh) * | 2023-03-23 | 2023-06-02 | 中铁电气化局集团有限公司 | 基于图像工业算法的接触网接触故障检测方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106971174A (zh) * | 2017-04-24 | 2017-07-21 | 华南理工大学 | 一种cnn模型、cnn训练方法以及基于cnn的静脉识别方法 |
CN107729994A (zh) * | 2017-11-28 | 2018-02-23 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的卷积层的运算的方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10332028B2 (en) * | 2015-08-25 | 2019-06-25 | Qualcomm Incorporated | Method for improving performance of a trained machine learning model |
KR102592076B1 (ko) | 2015-12-14 | 2023-10-19 | 삼성전자주식회사 | 딥러닝 기반 영상 처리 장치 및 방법, 학습 장치 |
US9779492B1 (en) | 2016-03-15 | 2017-10-03 | International Business Machines Corporation | Retinal image quality assessment, error identification and automatic quality correction |
WO2018033137A1 (zh) * | 2016-08-19 | 2018-02-22 | 北京市商汤科技开发有限公司 | 在视频图像中展示业务对象的方法、装置和电子设备 |
US10909451B2 (en) * | 2016-09-01 | 2021-02-02 | International Business Machines Corporation | Apparatus and method for learning a model corresponding to time-series input data |
US11157814B2 (en) * | 2016-11-15 | 2021-10-26 | Google Llc | Efficient convolutional neural networks and techniques to reduce associated computational costs |
US10361712B2 (en) * | 2017-03-14 | 2019-07-23 | International Business Machines Corporation | Non-binary context mixing compressor/decompressor |
CN107341548A (zh) * | 2017-06-26 | 2017-11-10 | 北京深度奇点科技有限公司 | 一种数据处理方法、装置及电子设备 |
CN107392314A (zh) * | 2017-06-30 | 2017-11-24 | 天津大学 | 一种基于确定性丢弃连接的深层卷积神经网络方法 |
US11093832B2 (en) * | 2017-10-19 | 2021-08-17 | International Business Machines Corporation | Pruning redundant neurons and kernels of deep convolutional neural networks |
US11176439B2 (en) * | 2017-12-01 | 2021-11-16 | International Business Machines Corporation | Convolutional neural network with sparse and complementary kernels |
WO2019190340A1 (en) * | 2018-03-28 | 2019-10-03 | Intel Corporation | Channel pruning of a convolutional network based on gradient descent optimization |
-
2019
- 2019-02-01 TW TW108104292A patent/TWI729352B/zh active
- 2019-02-01 US US16/264,704 patent/US11379716B2/en active Active
- 2019-02-01 CN CN201910104847.7A patent/CN110135553B/zh active Active
- 2019-02-08 EP EP19156231.3A patent/EP3537347A1/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106971174A (zh) * | 2017-04-24 | 2017-07-21 | 华南理工大学 | 一种cnn模型、cnn训练方法以及基于cnn的静脉识别方法 |
CN107729994A (zh) * | 2017-11-28 | 2018-02-23 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的卷积层的运算的方法和装置 |
Non-Patent Citations (2)
Title |
---|
ARIEL GORDON 等: "MorphNet: Fast & Simple Resource-Constrained Structure Learning of Deep Networks", 《ARXIV》 * |
牛连强 等: "深度连续卷积神经网络模型构建与性能分析", 《沈阳工业大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929805A (zh) * | 2019-12-05 | 2020-03-27 | 上海肇观电子科技有限公司 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
CN110929805B (zh) * | 2019-12-05 | 2023-11-10 | 上海肇观电子科技有限公司 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
WO2021248433A1 (en) * | 2020-06-12 | 2021-12-16 | Moffett Technologies Co., Limited | Method and system for dual-sparse convolution processing and parallelization |
Also Published As
Publication number | Publication date |
---|---|
TWI729352B (zh) | 2021-06-01 |
EP3537347A1 (en) | 2019-09-11 |
TW201935327A (zh) | 2019-09-01 |
US20190251433A1 (en) | 2019-08-15 |
CN110135553B (zh) | 2021-09-03 |
US11379716B2 (en) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135553A (zh) | 卷积神经网络的调整方法及电子装置 | |
CN111684473B (zh) | 提高神经网络阵列的性能 | |
Zhou et al. | TSNet: Three-stream self-attention network for RGB-D indoor semantic segmentation | |
EP3295385B1 (en) | Fixed point neural network based on floating point neural network quantization | |
US20190138896A1 (en) | Method for Optimizing Neural Networks | |
CN110287477A (zh) | 实体情感分析方法及相关装置 | |
CN109614874B (zh) | 一种基于注意力感知和树形骨架点结构的人体行为识别方法和系统 | |
CN105488563A (zh) | 面向深度学习的稀疏自适应神经网络、算法及实现装置 | |
EP3480689B1 (en) | Hierarchical mantissa bit length selection for hardware implementation of deep neural network | |
Meng et al. | Two-bit networks for deep learning on resource-constrained embedded devices | |
CN108629405B (zh) | 提高卷积神经网络计算效率的方法和装置 | |
CN114462591A (zh) | 一种动态量化神经网络的推理方法 | |
CN111145145A (zh) | 一种基于MobileNets的图像表面缺陷检测方法 | |
Hackel et al. | Inference, learning and attention mechanisms that exploit and preserve sparsity in CNNs | |
CN116977844A (zh) | 一种轻量级水下目标实时检测方法 | |
Mebatsion et al. | Machine vision based automatic separation of touching convex shaped objects | |
CN113850811B (zh) | 基于多尺度聚类和掩码打分的三维点云实例分割方法 | |
Hao et al. | Surface defect segmentation algorithm of steel plate based on geometric median filter pruning | |
KR20190041388A (ko) | 전자 장치 및 그 제어 방법 | |
Lee et al. | Implication of Optimizing NPU Dataflows on Neural Architecture Search for Mobile Devices | |
Dürichen et al. | Binary Input Layer: Training of CNN models with binary input data | |
Müller et al. | Application of deep learning for crack segmentation on concrete surface | |
CN110879952B (zh) | 一种视频帧序列的处理方法及装置 | |
Shi et al. | Genetic search for optimally-constrained multiple-line fitting of discrete data points | |
Kavitha Lakshmi et al. | A deep learning paradigm for detection and segmentation of plant leaves diseases |
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 |