运算装置、运算执行设备及运算执行方法制造方法及图纸

技术编号:18593174 阅读:36 留言:0更新日期:2018-08-04 20:09
本发明专利技术提供了一种运算装置、运算执行设备及运算执行方法,该运算执行设备包括:控制器、存储器和运算装置;存储器用于存储预先设置的单指令集合;单指令集合包括运算装置进行多层运算时,每层运算对应的单指令;每条单指令包括模块选择参数和模块运行参数;控制器用于从存储器中读取运算装置所需的当前层运算对应的当前单指令,对当前单指令包括的模块选择参数和模块运行参数进行解析,确定当前单指令对应的运算通路;运算装置用于在控制器的控制下连通当前单指令对应的运算通路,利用当前单指令对应的运算通路对运算装置在当前层运算中的输入数据进行运算处理,生成当前层运算的输出数据。本发明专利技术能够有效提升用于实现神经网络的硬件资源利用率。

Arithmetic device, arithmetic execution device and operation execution method

The invention provides an operation device, an operation execution device and an operation method, which consists of a controller, a memory and an operation device; the memory is used to store a pre set set of instructions; a single instruction set includes a single instruction corresponding to each operation when the operation device performs multi-layer operations; The single instruction includes the module selection parameter and the module running parameter; the controller is used to read the current single instruction corresponding to the current layer operation required from the memory, and analyzes the module selection parameters and the module running parameters included in the current single instruction, and determines the operation path corresponding to the current single instruction; the operation device is determined. It is used to connect the operation path corresponding to the current single instruction under the control of the controller, and use the operation path corresponding to the current single instruction to process the input data of the operation device in the current layer operation, and generate the output data of the current layer operation. The invention can effectively improve the utilization ratio of hardware resources for realizing the neural network.

【技术实现步骤摘要】
运算装置、运算执行设备及运算执行方法
本专利技术涉及人工智能
,尤其是涉及一种运算装置、运算执行设备及运算执行方法。
技术介绍
在诸如图像识别、语音识别以及文字识别等领域中,神经网络凭借着其强大的计算能力已得到广泛应用,在诸如抓拍机、人脸识别器等图像处理设备中均应用神经网络对图像进行处理。在将神经网络应用于产品时,神经网络的运行需要借助诸如FPGA(FieldProgrammableGateArray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)等硬件实现。由于神经网络需要涉及到诸如卷积、池化、全连接等多个运算层,每个运算层对应相同或不同的计算逻辑下的网络结构;不同的网络结构均需要对应设计不同的硬件结构,这种对神经网络的实现方式极易造成硬件资源的浪费。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种运算装置、运算执行设备及运算执行方法,能够改善现有技术中实现神经网络的硬件资源容易浪费的技术问题,可有效提升硬件资源利用率。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种运算装置,所述运算装置用于实现复用神经网络架构,所述运算装置包括多种功能运算模块,所述功能运算模块包括以下至少之一:拼接模块、扩充模块、卷积模块和量化模块;多种所述功能运算模块通过组合可连通形成多条运算通路;其中,每条所述运算通路用于实现一种计算逻辑;所述计算逻辑包括以下至少之一:卷积操作、反卷积操作、池化操作、量化操作和全连接操作。进一步,每种所述功能运算模块对应一种或多种运算类型;其中,所述运算类型包括拼接运算、扩充运算、卷积运算、池化运算、量化运算、非线性运算或全连接运算。进一步,所有的所述运算通路均至少包括所述拼接模块和所述卷积模块。进一步,在第一运算通路中还包括所述扩充模块,所述卷积模块接在所述扩充模块之后,以实现反卷积操作。进一步,在第二运算通路中,所述卷积模块包括卷积核大小为1*1的卷积层,以实现全连接操作。进一步,在第三运算通路中还包括量化模块,且所述量化模块设置于所述第三运算通路的末端,以实现量化操作。进一步,在第四运算通路中仅包括所述拼接模块和所述卷积模块,以实现卷积操作。进一步,所述卷积模块包括带跨度的卷积层;当所述卷积层的跨度为1时,所述卷积模块用于实现卷积运算,当所述卷积层的跨度不为1时,所述卷积模块用于实现卷积运算和池化运算。进一步,所述量化模块通过将浮点数值量化为低位的比特值的方式实现参数压缩和非线性运算。进一步,所述功能运算模块还包括反卷积模块、池化模块或全连接模块。第二方面,本专利技术实施例还提供一种运算执行设备,所述运算执行设备包括:控制器、存储器和如第一方面所述的运算装置;所述存储器用于存储预先设置的单指令集合;其中,所述单指令集合包括所述运算装置进行多层运算时,每层运算对应的单指令;每条所述单指令包括模块选择参数和模块运行参数;所述控制器用于从所述存储器中读取所述运算装置所需的当前层运算对应的当前单指令,对所述当前单指令包括的模块选择参数和模块运行参数进行解析,以确定所述当前单指令对应的运算通路;所述控制器还用于给所述运算装置发送控制信号,以使所述运算装置连通所述当前指令对应的运算通路;所述运算装置用于在所述控制器的控制下连通所述当前单指令对应的运算通路,利用所述当前单指令对应的运算通路对所述运算装置在当前层运算中的输入数据进行运算处理,生成所述当前层运算的输出数据;其中,所述当前层运算的输入数据为所述运算装置在上一层运算时得到的输出数据;当所述当前层为第一层时,所述第一层运算的输入数据为待处理图像。进一步,所述单指令携带有参数列表,所述参数列表中逐一陈列有所述模块选择参数和所述模块运行参数。第三方面,本专利技术实施例提供了一种运算执行方法,所述方法应用于第二方面所述的运算执行设备,所述方法由运算执行设备的控制器执行,所述方法包括:当所述运算装置的当前层运算开始时,读取所述当前层运算对应的当前单指令;对所述当前单指令的模块选择参数和模块运行参数进行解析,确定所述当前层运算所需的功能运算模块以及所述功能运算模块对应的模块运行参数;基于所述当前层运算所需的功能运算模块以及所述功能运算模块对应的模块运行参数,确定所述运算装置中的运算通路;其中,所述运算通路由所述当前层运算所需的功能运算模块连通而成;将所述当前层运算的输入数据输入至所述运算装置,以使所述运算装置利用确定的所述运算通路对所述输入数据进行运算处理,生成所述当前层运算的输出数据;其中,所述当前层运算的输入数据为所述运算装置在上一层运算的输出数据;当所述当前层为第一层时,所述第一层运算的输入数据为待处理图像。第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第三方面的方法的步骤。本专利技术实施例提供了一种运算装置,可用于实现复用神经网络架构,该运算装置包括诸如拼接模块、扩充模块、卷积模块和量化模块等多种功能运算模块,多种功能运算模块可通过灵活组合的方式连通形成多条运算通路,从而实现相应的计算逻辑。本实施例提供的这种运算装置,无需每种网络结构都单独搭建对应的硬件结构,这种多功能复用的运算装置非常有效地节约了硬件资源。在运算装置的基础上,本专利技术实施例进一步提供了一种运算执行设备及方法,控制器通过对运算装置所需的当前层运算对应的当前单指令进行解析,可以控制运算装置连通当前单指令对应的运算通路,从而进行当前层的运算处理。这种方式可以基于单指令控制同一运算装置编译形成不同的网络结构,即可实现神经网络所有层的逻辑运算,无需单独为不同的网络结构搭设对应的硬件,极大地节约了硬件资源,有效提升了硬件资源利用率。本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本专利技术实施例所提供的一种电子设备的结构示意图;图2示出了本专利技术实施例所提供的一种运算装置的结构示意图;图3示出了本专利技术实施例所提供的一种量化操作的示意图,图4示出了本专利技术实施例所提供的一种运算执行设备的结构示意图;图5示出了本专利技术实施例所提供的一种运算执行设备的卷积操作示意图;图6示出了本专利技术实施例所提供的一种运算执行设备的反卷积操作示意图;图7示出了本专利技术实施例所提供的一种运算执行设备的全连接操作示意图;图8示出了本专利技术实施例所提供的一种运算执行设备的量化操作示意图;图9示出了本专利技术实施例所提供的一种运算执行方法流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一本文档来自技高网...

【技术保护点】
1.一种运算装置,其特征在于,所述运算装置用于实现复用神经网络架构,所述运算装置包括多种功能运算模块,所述功能运算模块包括以下至少之一:拼接模块、扩充模块、卷积模块和量化模块;多种所述功能运算模块通过组合可连通形成多条运算通路;其中,每条所述运算通路用于实现一种计算逻辑;所述计算逻辑包括以下至少之一:卷积操作、反卷积操作、池化操作、量化操作和全连接操作。

【技术特征摘要】
1.一种运算装置,其特征在于,所述运算装置用于实现复用神经网络架构,所述运算装置包括多种功能运算模块,所述功能运算模块包括以下至少之一:拼接模块、扩充模块、卷积模块和量化模块;多种所述功能运算模块通过组合可连通形成多条运算通路;其中,每条所述运算通路用于实现一种计算逻辑;所述计算逻辑包括以下至少之一:卷积操作、反卷积操作、池化操作、量化操作和全连接操作。2.根据权利要求1所述的装置,其特征在于,每种所述功能运算模块对应一种或多种运算类型;其中,所述运算类型包括拼接运算、扩充运算、卷积运算、池化运算、量化运算、非线性运算或全连接运算。3.根据权利要求1所述的装置,其特征在于,所有的所述运算通路均至少包括所述拼接模块和所述卷积模块。4.根据权利要求3所述的装置,其特征在于,在第一运算通路中还包括所述扩充模块,所述卷积模块接在所述扩充模块之后,以实现反卷积操作。5.根据权利要求3所述的装置,其特征在于,在第二运算通路中,所述卷积模块包括卷积核大小为1*1的卷积层,以实现全连接操作。6.根据权利要求3所述的装置,其特征在于,在第三运算通路中还包括量化模块,且所述量化模块设置于所述第三运算通路的末端,以实现量化操作。7.根据权利要求3所述的装置,其特征在于,在第四运算通路中仅包括所述拼接模块和所述卷积模块,以实现卷积操作。8.根据权利要求2所述的装置,其特征在于,所述卷积模块包括带跨度的卷积层;当所述卷积层的跨度为1时,所述卷积模块用于实现卷积运算,当所述卷积层的跨度不为1时,所述卷积模块用于实现卷积运算和池化运算。9.根据权利要求2所述的装置,其特征在于,所述量化模块通过将浮点数值量化为低位的比特值的方式实现参数压缩和非线性运算。10.根据权利要求1所述的装置,其特征在于,所述功能运算模块还包括反卷积模块、池化模块或全连接模块。11.一种运算执行设备,其特征在于,所述运算执行设备包括:控制器、存储器和如权利要求1至10任一项所述的运算装置;所述存储器用于存储预先设置的单指令集合;其中,所述单指令集合包括所述运算...

【专利技术属性】
技术研发人员:周舒畅胡晨梁喆
申请(专利权)人:北京旷视科技有限公司
类型:发明
国别省市:北京,11

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

1