基于神经网络的计算方法及装置制造方法及图纸

技术编号:15280336 阅读:63 留言:0更新日期:2017-05-05 08:07
本发明专利技术实施例提供了一种基于神经网络的计算方法,包括:接收原始图像;提取所述原始图像的特征张量;基于训练好的定点神经网络对所述特征张量进行处理,以产生图像热力图。本发明专利技术实施例提出了一种采用定点化方法实现神经网络的计算的方法,由于采用了定点计算,计算量小,占用资源少,从而对硬件的要求较低。

Calculation method and device based on Neural Network

The embodiment of the invention provides a calculation method based on neural network includes: receiving the original image; feature extraction tensor of the original image; point trained neural network to the characteristic tensor to produce the image processing based on thermodynamic diagram. The embodiment of the invention provides a method for realizing the calculation of a neural network by using a fixed point method, which has the advantages of low cost, small amount of resources, and low hardware requirement.

【技术实现步骤摘要】

本专利技术涉及图像处理领域,更具体地涉及一种基于神经网络的计算方法及装置
技术介绍
神经网络(NeuralNetworks,NNs)也称为人工神经网络(ArtificialNeuralNetworks,ANNs)或连接模型(ConnectionModel),是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。神经网络依靠系统的复杂程度,通过调整内部大量计算节点之间相互连接的关系,从而达到处理信息的目的。神经网络在语音识别、文字识别、以及图像视频识别等许多领域中已经有了广泛而成功的应用。传统的神经网络采用双精度或单精度浮点数乘/加计算作为基本计算单元,然而,传统的神经网络的算法架构会导致大计算量需求、高内存(或显存)占用、以及高带宽要求等问题,对硬件的要求较高。
技术实现思路
考虑到上述问题而提出了本专利技术。本专利技术提供了一种基于神经网络的计算方法,对硬件的要求较低。根据本专利技术的第一方面,提供了一种基于神经网络的计算方法,包括:接收原始图像;提取所述原始图像的特征张量;基于训练好的定点神经网络对所述特征张量进行处理,以产生图像热力图。示例性地,所述训练好的定点神经网络通过如下方法训练得到:对初始神经网络进行至少一次浮点训练,并将所述浮点训练之后的神经网络的参数定点化;如果所述定点化后的神经网络的参数不满足训练指标,则将所述初始神经网络替换为所述定点化后的神经网络并重复执行上述步骤;如果所述定点化后的神经网络的参数满足所述训练指标,则将所述定点化后的神经网络作为所述训练好的定点神经网络。示例性地,所述训练好的定点神经网络为二值神经网络,所述基于训练好的定点神经网络对所述特征张量进行处理包括:所述二值神经网络中的每一个计算节点执行以下操作:对输入数据进行卷积操作;将所述卷积操作的卷积输出二值化。示例性地,所述将所述卷积操作的卷积输出二值化,包括:使用非线性函数将所述卷积输出映射为[-0.5,0.5]闭区间之内的数;对所述映射后的数进行舍入操作,以实现中间表示的二值化。示例性地,所述对所述映射后的数进行舍入操作包括:使用公式Y=floor(y+1)-0.5对所述映射后的数进行舍入操作,其中,y表示所述映射后的数,Y表示二值化后的中间表示,floor表示向下取整。示例性地,所述对输入数据进行卷积操作,包括:通过公式M=bitcount(WxorA)实现矩阵W与矩阵A之间的内积操作,其中,xor为按位异或操作,bitcount计算一个二值串中1的个数并返回,M为二值卷积的结果,W为权重矩阵,A为激活量输入。示例性地,所述训练指标为测试集的测试函数最小化。示例性地,所述方法由位于摄像头内的包括FPGA的SoC实现。根据本专利技术的第二方面,提供了一种基于神经网络的计算装置,包括:接收模块,用于接收原始图像;特征提取模块,用于提取所述原始图像的特征张量;热力图产生模块,用于基于已经训练好的定点神经网络对所述特征张量进行处理,以产生图像热力图。示例性地,还包括训练模块,用于:对初始神经网络进行至少一次浮点训练,并将所述浮点训练之后的神经网络的参数定点化;如果所述定点化后的神经网络的参数不满足训练指标,则将所述初始神经网络替换为所述定点化后的神经网络并重复执行上述步骤;如果所述定点化后的神经网络的参数满足所述训练指标,则将所述定点化后的神经网络作为所述训练好的定点神经网络。示例性地,所述训练好的定点神经网络为二值神经网络,所述热力图产生模块包括卷积操作子模块和二值化子模块,对于所述二值神经网络中的每一个计算节点:所述卷积操作子模块,用于对输入数据进行卷积操作;所述二值化子模块,用于将所述卷积操作的卷积输出二值化。示例性地,所述二值化子模块包括映射子单元和舍入子单元:所述映射子单元,用于使用非线性函数将所述卷积输出映射为[-0.5,0.5]闭区间之内的数;所述舍入子单元,用于对所述映射后的数进行舍入操作,以实现中间表示的二值化。示例性地,所述舍入子单元,具体用于:使用公式Y=floor(y+1)-0.5对所述映射后的数进行舍入操作,其中,y表示所述映射后的数,Y表示二值化后的中间表示,floor表示向下取整。示例性地,所述卷积操作子模块,具体用于:通过公式M=bitcount(WxorA)实现矩阵W与矩阵A之间的内积操作,其中,xor为按位异或操作,bitcount计算一个二值串中1的个数并返回,M为二值卷积的结果,W为权重矩阵,A为激活量输入。示例性地,所述训练指标为测试集的测试函数最小化。示例性地,所述装置为位于摄像头内的包括FPGA的SoC。第二方面所述的该装置能够用于实现前述第一方面的基于神经网络的计算方法。根据本专利技术的第三方面,提供了一种计算机芯片,该计算机芯片包括处理器和存储器。所述存储器存储有指令代码,所述处理器用于执行所述指令代码,且当所述处理器执行指令代码时,能够实现前述第一方面所述的基于神经网络的计算方法。本专利技术实施例的采用定点化方法实现神经网络的计算的方法,由于采用了定点计算,计算量小,占用资源少,从而对硬件的要求较低,可以在FPGA上运行。附图说明通过结合附图对本专利技术实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与本专利技术实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1是本专利技术实施例的电子设备的一个示意性框图;图2是本专利技术实施例的基于神经网络的计算方法的一个示意性流程图;图3是本专利技术实施例的得到训练好的神经网络的方法的一个示意性流程图;图4是本专利技术实施例的FPGA与其他装置的连接关系的一个示意图;图5是本专利技术实施例的基于神经网络的计算装置的一个示意性框图;图6是本专利技术实施例的基于神经网络的计算装置的另一个示意性框图。具体实施方式为了使得本专利技术的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本专利技术的示例实施例。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是本专利技术的全部实施例,应理解,本专利技术不受这里描述的示例实施例的限制。基于本专利技术中描述的本专利技术实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本专利技术的保护范围之内。传统的神经网络的一般算法架构如下:(1)将输入图片提取成张量的形式,传入已经训练好的浮点计算神经网络。(2)浮点计算神经网络中的每一个计算节点,通过以浮点乘加为基础单元的卷积操作,并将浮点计算结果传送至下一层计算节点。(3)经过多层的计算节点运算后,最终神经网络的输出层产生图像分割热力图(heatmap),然后在其基础上对原图进行相关标注。然而,这样的架构往往导致大计算量需求、高内存(或显存)占用、以及高带宽要求等问题,从而对硬件的要求较高。由于现场可编程门阵列(Field-ProgrammableGateArray,FPGA)平台的计算、存储能力和带宽都非常有限,因此传统的神经网络很难在FPGA平台上运行。本专利技术实施例提出了一种采用定点化方法实现神经网络的计算的方法,由于采用了定点计算,计算量小,占用资源少,从而对硬件的要求较低,可以在摄像头内的包括FPGA的片上系统(syst本文档来自技高网...
基于神经网络的计算方法及装置

【技术保护点】
一种基于神经网络的计算方法,其特征在于,包括:接收原始图像;提取所述原始图像的特征张量;基于训练好的定点神经网络对所述特征张量进行处理,以产生图像热力图。

【技术特征摘要】
1.一种基于神经网络的计算方法,其特征在于,包括:接收原始图像;提取所述原始图像的特征张量;基于训练好的定点神经网络对所述特征张量进行处理,以产生图像热力图。2.如权利要求1所述的方法,其特征在于,所述训练好的定点神经网络通过如下方法训练得到:对初始神经网络进行至少一次浮点训练,并将所述浮点训练之后的神经网络的参数定点化;如果所述定点化后的神经网络的参数不满足训练指标,则将所述初始神经网络替换为所述定点化后的神经网络并重复执行上述步骤;如果所述定点化后的神经网络的参数满足所述训练指标,则将所述定点化后的神经网络作为所述训练好的定点神经网络。3.如权利要求1或2所述的方法,其特征在于,所述训练好的定点神经网络为二值神经网络,所述基于训练好的定点神经网络对所述特征张量进行处理包括:所述二值神经网络中的每一个计算节点执行以下操作:对输入数据进行卷积操作;将所述卷积操作的卷积输出二值化。4.如权利要求3所述的方法,其特征在于,所述将所述卷积操作的卷积输出二值化,包括:使用非线性函数将所述卷积输出映射为[-0.5,0.5]闭区间之内的数;对所述映射后的数进行舍入操作,以实现中间表示的二值化。5.如权利要求4所述的方法,其特征在于,所述对所述映射后的数进行舍入操作包括:使用公式Y=floor(y+1)-0.5对所述映射后的数进行舍入操作,其中,y表示所述映射后的数,Y表示二值化后的中间表示,floor表示向下取整。6.如权利要求3所述的方法,其特征在于,所述对输入数据进行卷积操作,包括:通过公式M=bitcount(WxorA)实现矩阵W与矩阵A之间的内积操作,其中,xor为按位异或操作,bitcount计算一个二值串中1的个数并返回,M为二值卷积的结果,W为权重矩阵,A为激活量输入。7.如权利要求2所述的方法,其特征在于,所述训练指标为测试集的测试函数最小化。8.如权利要求1至7任一项所述的方法,其特征在于,所述方法由位于摄像头内的包括现场可编程门阵列FPGA的片上系统SoC实现。9.一种基于神经网络的计算装置,其特征在于,包括:接收模...

【专利技术属性】
技术研发人员:周舒畅梁喆张宇翔温和周昕宇
申请(专利权)人:北京旷视科技有限公司北京小孔科技有限公司
类型:发明
国别省市:北京;11

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

1