一种卷积神经网络卷积膨胀处理电路及方法与流程

文档序号:15639006发布日期:2018-10-12 21:50阅读:515来源:国知局

本发明涉及人工智能数据处理技术领域,具体提供一种卷积神经网络卷积膨胀处理电路及方法。



背景技术:

卷积神经网络(convolutionalneuralnetwork,cnn)是一种前馈神经网络,是近年发展起来并引起广泛重视的一种高效识别方法。卷积神经网络的人工神经元可以响应一部分覆盖范围内的周围单元,避免了对图像的复杂前期预处理,可以直接输入原始图像,对于大型图像处理有出色表现。

如附图1所示,卷积核膨胀是将卷积核扩张到膨胀尺度约束的尺度中,并将原卷积核没有占用的区域填充零。通过卷积核膨胀,可以利用已经训练好的模型进行微调,优化网络结构,避免过拟合。

目前在移动端卷积神经网络移植中,一般采用微处理器+操作系统+cnn框架模式或专用人工智能处理电路的模式实现。后者一般受限于片上存储与计算资源,往往设计一种通用结构以适应卷积神经网络模型中大多数的数据计算,但对于一些特定计算,如规模较大的膨胀卷积核卷积计算,需要消耗大量基本单元,且单元之间的数据互连会非常复杂。



技术实现要素:

本发明的技术任务是针对上述存在的问题,提供一种无需增加复杂的单元互联及缓存空间,可以节省大量逻辑资源、布线资源及存储资源,可以处理不同膨胀系数的卷积运算,灵活方便的卷积神经网络卷积膨胀处理电路。

本发明进一步的技术任务是提供一种卷积神经网络卷积膨胀处理方法。

为实现上述目的,本发明提供了如下技术方案:

一种卷积神经网络卷积膨胀处理电路,包括特征图输入拆分模块、卷积核输入缓冲模块、卷积计算阵列、输出填充组合模块和控制模块,所述卷积计算阵列包括若干卷积基本计算单元,特征图输入拆分模块、卷积核输入缓冲模块分别与卷积计算阵列相连接,卷积计算阵列与输出填充组合模块相连接,控制模块与特征图输入拆分模块、卷积核输入缓冲模块、卷积计算阵列、输出填充组合模块分别连接。

所述卷积基本计算单元为,以特定结构实现的能够计算输入矩阵卷积的硬件单元,如脉动阵列、“树型”计算单元等,一般以3x3、5x5为基本单元大小。

作为优选,所述特征图输入拆分模块用于根据卷积核膨胀系数及卷积基本计算单元实现形式,将特征图输入各位置的值分类,拆分成若干子特征图输入,并分别送入卷积计算阵列。

作为优选,所述卷积核输入缓冲模块用于接收膨胀前卷积核各数值,并分别送入卷积计算阵列。

作为优选,所述卷积计算阵列的卷积基本计算单元的数量与膨胀系数一致,用于计算拆分后各子特征图输入与膨胀前卷积核的卷积值,各卷积结果送入输出填充组合模块。

作为优选,所述输出填充组合模块用于将输入的各子特征图卷积计算结果,填充组合成输出形式输出。

作为优选,所述特征图输入拆分模块根据膨胀系数将卷积核扩展。

一种卷积神经网络卷积膨胀处理方法,所述方法包括以下步骤:

s1:使用膨胀系数将输入卷积核膨胀扩展,得到膨胀后的卷积核非零有效值的相对位置距离;

s2:根据所述相对位置距离将输入特征图拆分为若干子特征图输入;

s3:利用卷积基本计算单元对每类子特征图输入进行卷积计算;

s4:根据所述相对位置距离将各卷积结果填充组合为最终特征图输出结果。

作为优选,所述特征图拆分方式为,根据膨胀系数将卷积核扩展,从输入特征图最左上位置开始选取,以膨胀后的卷积核非零有效值相对位置距离为横和纵间隔,选取下一点,组成同一子特征图输入。

作为优选,所述填充组合方式为从应得到的输出特征图最上位置开始选取,以膨胀后的卷积核非零有效值的相对位置距离为横和纵间隔,将同一特征图输入得到的卷积结果填充,多种子特征图输入得到的卷积结果组合成最终卷积结果。

与现有技术相比,本发明的卷积神经网络卷积膨胀处理电路具有以下突出的有益效果:所述卷积神经网络卷积膨胀处理电路充分利用膨胀卷积核的离散有效特征,将特征图输入拆分成相应的自特征图输入,通过卷积基本处理单元,分别与卷积核有效值进行卷积计算,将得到的结果填充组合成最终特征图输出,保证卷积计算的精度与正确性,无需增加复杂的单元互联及缓存空间,可节省大量逻辑资源、布线资源及存储资源,可以用来处理不同膨胀系数的卷积计算,灵活方便,具有良好的推广应用价值。

附图说明

图1是现有技术中卷积核膨胀示意图;

图2是本发明所述卷积神经网络卷积膨胀处理电路的拓扑图;

图3是本发明所述卷积神经网络卷积膨胀处理方法的卷积核膨胀示意图;

图4是本发明所述输入特征图拆分示意图;

图5是本发明自特征图输入卷积计算示意图。

具体实施方式

下面将结合附图和实施例,对本发明的卷积神经网络卷积膨胀处理电路及方法作进一步详细说明。

实施例

如图2所示,本发明的卷积神经网络卷积膨胀处理电路,包括特征图输入拆分模块、卷积核输入缓冲模块、卷积计算阵列、输出填充组合模块和控制模块。卷积计算阵列包括若干卷积基本计算单元。

特征图输入拆分模块、卷积核输入缓冲模块分别与卷积计算阵列相连接。特征图输入拆分模块用于根据卷积核膨胀系数及卷积基本计算单元实现形式,将特征图输入各位置的值分类,拆分成若干子特征图输入,并分别送入卷积计算阵列。卷积核输入缓冲模块用于接收膨胀前卷积核各数值,并分别送入卷积计算阵列。卷积基本计算单元数量由膨胀系数决定,用于计算拆分后的各子特征图输入与膨胀前卷积核的卷积值,各卷积结果送入所述输出填充组合模块。卷积计算阵列与输出填充组合模块相连接。输出填充组合模块用于将输入的各子特征图卷积计算结果,填充组合成输出形式输出。

控制模块与特征图输入拆分模块、卷积核输入缓冲模块、卷积计算阵列、输出填充组合模块分别连接。控制模块用于卷积过程各模块控制,并根据膨胀系数输入给出拆分及填充组合方式。

如图3、图4和图5所示,本发明的卷积神经网络卷积膨胀处理方法的过程为:

s1:使用膨胀系数3将输入卷积核(3x3)膨胀扩展,得到膨胀后的卷积核非零有效值的相对位置距离。

s2:根据相对位置距离将输入特征图(11x11)拆分为若干子特征图输入,每隔两个点为同一类型的特征图输入点,共划分为a,b,c,d,e,f,g,h,i共9种类型。

s3:利用卷积基本计算单元(3x3)对每类子特征图输入进行卷积计算。

s4:根据相对位置距离将各类卷积结果填充组合为最终特征图输出结果(5x5)。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。



技术特征:

技术总结
本发明公开了一种卷积神经网络卷积膨胀处理电路及方法,属于人工智能数据处理技术领域。本发明的卷积神经网络卷积膨胀处理电路包括特征图输入拆分模块、卷积核输入缓冲模块、卷积计算阵列、输出填充组合模块和控制模块,卷积计算阵列包括若干卷积基本计算单元,特征图输入拆分模块、卷积核输入缓冲模块分别与卷积计算阵列相连接,卷积计算阵列与输出填充组合模块相连接,控制模块与特征图输入拆分模块、卷积核输入缓冲模块、卷积计算阵列、输出填充组合模块分别连接。该发明的卷积神经网络卷积膨胀处理电路无需增加复杂的单元互联及缓存空间,可以节省大量逻辑资源、布线资源及存储资源,处理不同膨胀系数的卷积运算,具有很好的推广应用价值。

技术研发人员:王子彤;姜凯;聂林川
受保护的技术使用者:济南浪潮高新科技投资发展有限公司
技术研发日:2018.05.08
技术公布日:2018.10.12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1