神经网络中的卷积计算方法和电子设备技术

技术编号:17562461 阅读:65 留言:0更新日期:2018-03-28 12:47
公开了一种神经网络中的卷积计算方法,包括:根据输入特征图、逐层卷积核、和逐点卷积核进行逐层卷积计算和逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值;以及重复上述操作,以得到所有点在所有逐点卷积输出通道上的输出特征值。因此,可以减小用于存储中间结果的存储空间。

Convolution calculation method and electronic equipment in neural network

Including the calculation method, a neural network in convolution: according to the input feature map, convolution kernel, and layer by layer by layer by convolution convolution and pointwise convolution calculation, to obtain a first predetermined number of P points in all output by convolution on the output channel eigenvalue and repeated; the above operation, to get all the points in the feature points by all the output value of the convolution output channel. Therefore, the storage space used to store the intermediate results can be reduced.

【技术实现步骤摘要】
神经网络中的卷积计算方法和电子设备
本申请涉及神经网络
,且更具体地,涉及一种神经网络中的卷积计算方法和电子设备。
技术介绍
基于卷积神经网络的深度学习技术能够以较高的准确率进行图像识别和检测、语音识别等,因此被广泛地应用于安全监控、辅助驾驶、智能陪伴机器人、智能医疗等领域。由于卷积神经网络中的运算量通常很大,减少神经网络的参数量和计算量成为现在研究的一个热点方向。移动网络(MobileNet)就是最新提出的一种特殊的卷积神经网络,其通过将传统的三维卷积操作分解成逐层卷积(Depthwise)和逐点卷积(Pointwise)两个卷积操作,达到减小计算量的目的,但是计算精度却和传统的卷积相差很少。
技术实现思路
关于MobileNet的现有实现方案,无论是基于通用处理器(CPU),专用图形处理器(GPU),还是专用处理芯片,都需要先计算完逐层卷积操作的输出结果,然后再将它们作为逐点卷积操作的输入数据,再进行计算。这样做的缺点是,当输入输出数据量比较大时,需要较大的片内随机存储器(SRAM)缓存中间结果。然而,片内SRAM大小是固定的,如果遇到片内SRAM大小不足以缓存中间结果的情况,就需要将逐层卷积操作拆分为多次计算,并将每次计算结果写入到片外存储器(DDR)中,直到将逐层卷积操作的计算结果全部计算完成并写入片外存储器(DDR)后,再分批将这些结果从DDR中读出,进行逐点卷积计算。显然,这将给有限的数据传输带宽带来极大的负担,并且导致系统功耗增加。为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种神经网络中的卷积计算方法和电子设备,其可以减小用于存储中间结果的存储空间。根据本申请的一个方面,提供了一种神经网络中的卷积计算方法,包括:根据输入特征图、逐层卷积核、和逐点卷积核进行逐层卷积计算和逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值;以及重复上述操作,以得到所有点在所有逐点卷积输出通道上的输出特征值。在一个实施例中,根据输入特征图、逐层卷积核、和逐点卷积核进行逐层卷积计算和逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值包括:根据输入特征图和逐层卷积核进行逐层卷积计算,以得到第一预定数目p个点在所有逐层卷积输出通道上的中间特征值;以及根据所述第一预定数目p个点在所有逐层卷积输出通道上的中间特征值和逐点卷积核进行逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值。在一个实施例中,根据输入特征图、逐层卷积核、和逐点卷积核进行逐层卷积计算和逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值包括:根据所述输入特征图和所述逐层卷积核进行逐层卷积计算,以得到第一预定数目p个点在第二预定数目m个逐层卷积输出通道上的中间特征值;根据所述第一预定数目p个点在所述第二预定数目m个逐层卷积输出通道上的中间特征值和逐点卷积核进行逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的本次逐点卷积部分和;分别将所述第一预定数目p个点在所有逐点卷积输出通道上的本次逐点卷积部分和与所述第一预定数目p个点的前次累加计算结果进行累加计算,以生成所述第一预定数目p个点的本次累加计算结果;以及重复上述操作,根据所述第一预定数目p个点在下第二预定数目m个逐层卷积输出通道上的中间特征值和逐点卷积核进行逐点卷积计算,并相应地执行后续操作,直到所述第一预定数目p个点在所有逐层卷积输出通道上的中间特征值都完成逐点卷积计算和累加计算为止,所述第一预定数目p个点的最终累加计算结果为所述第一预定数目p个点在所有逐点卷积输出通道上的输出特征值。根据本申请的另一方面,提供了一种电子设备,包括:处理器;以及存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行上述的神经网络中的卷积计算方法。根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行上述的神经网络中的卷积计算方法。根据本申请的另一方面,提供了一种计算机可读写存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行上述的神经网络中的卷积计算方法。与现有技术相比,采用根据本申请实施例的神经网络中的卷积计算方法和电子设备,可以根据输入特征图、逐层卷积核、和逐点卷积核进行逐层卷积计算和逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值;以及重复上述操作,以得到所有点在所有逐点卷积输出通道上的输出特征值。因此,可以减小用于存储中间结果的存储空间,从而实现更加高效的卷积神经网络。附图说明通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1图示了传统卷积神经网络中的卷积核的示意图。图2A图示了MobileNet中逐层卷积操作的卷积核的示意图图2B图示了MobileNet中逐点卷积操作的卷积核的示意图。图3图示了根据本申请实施例的卷积计算方法的流程图。图4图示了根据本申请第一实施例的计算第一预定数目p个点在所有逐点卷积输出通道上的输出特征值的步骤的流程图。图5图示了根据本申请第一实施例的计算第一预定数目p个点在所有逐层卷积输出通道上的中间特征值的步骤的流程图。图6图示了根据本申请第一实施例的计算第一预定数目p个点在所有逐层卷积输出通道上的中间特征值的步骤的原理图。图7图示了根据本申请第一实施例的根据中间特征值和逐点卷积核计算第一预定数目p个点在所有逐点卷积输出通道上的输出特征值的步骤的流程图。图8图示了根据本申请第一实施例的根据中间特征值和逐点卷积核计算第一预定数目p个点在所有逐点卷积输出通道上的输出特征值的步骤的原理图。图9图示了根据本申请实施例的逐层卷积计算的原理图。图10图示了根据本申请实施例的逐点卷积计算的原理图。图11图示了根据本申请第二实施例的根据中间特征值和逐点卷积核计算第一预定数目p个点在所有逐点卷积输出通道上的输出特征值的步骤的流程图。图12图示了根据本申请第二实施例的根据中间特征值和逐点卷积核计算第一预定数目p个点在所有逐点卷积输出通道上的输出特征值的步骤的原理图。图13图示了根据本申请第三实施例的计算第一预定数目p个点在所有逐点卷积输出通道上的输出特征值的步骤的流程图。图14图示了根据本申请第三实施例的计算第一预定数目p个点在所有逐点卷积输出通道上的本次逐点卷积部分和的步骤的原理图。图15图示了根据本申请实施例的电子设备的框图。具体实施方式下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。申请概述卷积神经网络通常可以包含多个卷积层。在每个卷积层中,使用该层的卷积核对该层的输入特征图(也称为输入特征数据或输入特征值)执行该层的卷积运算,以获得该层的输出特征图(也称为本文档来自技高网...
神经网络中的卷积计算方法和电子设备

【技术保护点】
一种神经网络中的卷积计算方法,包括:根据输入特征图、逐层卷积核、和逐点卷积核进行逐层卷积计算和逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值;以及重复上述操作,以得到所有点在所有逐点卷积输出通道上的输出特征值。

【技术特征摘要】
1.一种神经网络中的卷积计算方法,包括:根据输入特征图、逐层卷积核、和逐点卷积核进行逐层卷积计算和逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值;以及重复上述操作,以得到所有点在所有逐点卷积输出通道上的输出特征值。2.如权利要求1所述的方法,还包括:根据存储器中的可用空间、逐层卷积计算单元的数目、和所述输入特征图的宽高维度和输入通道数维度中的至少一个来确定所述第一预定数目p。3.如权利要求1所述的方法,其中,根据输入特征图、逐层卷积核、和逐点卷积核进行逐层卷积计算和逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的输出特征值包括:根据所述输入特征图和所述逐层卷积核进行逐层卷积计算,以得到第一预定数目p个点在第二预定数目m个逐层卷积输出通道上的中间特征值;根据所述第一预定数目p个点在所述第二预定数目m个逐层卷积输出通道上的中间特征值和逐点卷积核进行逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的本次逐点卷积部分和;分别将所述第一预定数目p个点在所有逐点卷积输出通道上的本次逐点卷积部分和与所述第一预定数目p个点的前次累加计算结果进行累加计算,以生成所述第一预定数目p个点的本次累加计算结果;以及重复上述操作,根据所述第一预定数目p个点在下第二预定数目m个逐层卷积输出通道上的中间特征值和逐点卷积核进行逐点卷积计算,并相应地执行后续操作,直到所述第一预定数目p个点在所有逐层卷积输出通道上的中间特征值都完成逐点卷积计算和累加计算为止,所述第一预定数目p个点的最终累加计算结果为所述第一预定数目p个点在所有逐点卷积输出通道上的输出特征值。4.如权利要求3所述的方法,其中,所述第二预定数目m是根据逐层卷积计算单元的数目和所述第一预定数目p来确定的。5.如权利要求3所述的方法,其中,根据所述输入特征图和所述逐层卷积核进行逐层卷积计算,以得到第一预定数目p个点在第二预定数目m个逐层卷积输出通道上的中间特征值包括:从所述输入特征图中读取第一预定数目p组点在第二预定数目m个输入通道上的输入特征值;与所述第一预定数目p组点在所述第二预定数目m个输入通道上的输入特征值对应地,读取对应的第二预定数目m个逐层卷积核中的权重值;以及分别对所述第一预定数目p组点在所述第二预定数目m个输入通道上的输入特征值与对应的第二预定数目m个逐层卷积核中的权重值进行逐层卷积计算,以得到与所述第一预定数目p组点分别对应的所述第一预定数目p个点在所述第二预定数目m个逐层卷积输出通道上的中间特征值。6.如权利要求5所述的方法,其中,从所述输入特征图中读取第一预定数目p组点在第二预定数目m个输入通道上的输入特征值包括:以逐层卷积核中的权重值的宽高为一组点的宽高、以所述逐层卷积计算的步长为两组点之间的读取步长,从所述输入特征图中读取所述第一预定数目p组点在所述第二预定数目m个输入通道上的输入特征值。7.如权利要求5所述的方法,其中,分别对所述第一预定数目p组点在所述第二预定数目m个输入通道上的输入特征值与对应的第二预定数目m个逐层卷积核中的权重值进行逐层卷积计算,以得到与所述第一预定数目p组点分别对应的所述第一预定数目p个点在所述第二预定数目m个逐层卷积输出通道上的中间特征值包括:针对所述第一预定数目p组点中的每组点,执行以下操作:分别对该组点中的一个点在所述第二预定数目m个输入通道上的输入特征值与对应的第二预定数目m个逐层卷积核中的相应一个权重值进行乘法计算,以得到该组点的本次乘法计算结果;分别将该组点的本次乘法计算结果与该组点的前次乘法计算结果进行累加计算,以生成该组点的本次累加计算结果;以及重复上述操作,分别对该组点中的下一个点在所述第二预定数目m个输入通道上的输入特征值与对应的第二预定数目m个逐层卷积核中的相应下一个权重值进行乘法计算并相应地执行后续操作,直到该组点中的所有点在所述第二预定数目m个输入通道上的输入特征值都完成乘法计算和累加计算为止,该组点的最终累加计算结果为与该组点对应的一个点在所述第二预定数目m个逐层卷积输出通道上的中间特征值。8.如权利要求3所述的方法,还包括:在得到所述第一预定数目p个点在第二预定数目m个逐层卷积输出通道上的中间特征值之后,在存储器中存储每个中间特征值。9.如权利要求8所述的方法,还包括:当在存储器中存储每个中间特征值之前,对每个中间特征值执行以下各项中的至少一个:激活操作和量化操作。10.如权利要求3所述的方法,其中,根据所述第一预定数目p个点在所述第二预定数目m个逐层卷积输出通道上的中间特征值和逐点卷积核进行逐点卷积计算,以得到第一预定数目p个点在所有逐点卷积输出通道上的本次逐点卷积部分和包括:分别根据所述第一预定数目p个点在第三预定数目m’个逐层卷积输出通道上的中间特征值和所有逐点卷积核中对应的第三预定数目m’个逐点卷积通道上的权重值进行逐点卷积计算,以得到所述第一预定数目p个点在所有逐点卷积输出通道上的本次逐点卷积子部分和;分别将所述第一预定数目p个点在所有逐点卷积输出通道上的本次逐点卷积子部分和与所述第一预定数目p个点的前次累加计算子结果进行累加计算,以生成所述第一预定数目...

【专利技术属性】
技术研发人员:陈亮黄畅凌坤李建军李德林罗恒
申请(专利权)人:北京地平线信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1