当前位置: 首页 > 专利查询>清华大学专利>正文

一种应用于卷积神经网络的处理器制造技术

技术编号:18895725 阅读:46 留言:0更新日期:2018-09-08 11:32
本发明专利技术提供一种应用于卷积神经网络的处理器,所述处理器包括:包括:多个处理单元,各所述处理单元包括数据处理器和索引处理器;其中,所述数据处理器用于对卷积神经网络中各层输出的各特征图和所述卷积神经网络中各卷积核进行卷积,获取卷积结果;所述索引处理器用于根据各所述特征图的索引和各所述卷积核的索引获取所述卷积结果的索引;当各所述特征图为稀疏状态时,各所述特征图的索引为各所述特征图中非零特征元素的索引;当各所述卷积核为稀疏状态时,各所述卷积核的索引为各所述卷积核中非零权重元素的索引。本发明专利技术减少存储空间和运算量,同时适用于稀疏状态和稠密状态的卷积神经网络的处理。

A processor for convolution neural networks

A processor for a convolutional neural network is provided, which comprises: a plurality of processing units, each of which comprises a data processor and an index processor, wherein the data processor is used for each characteristic graph output from each layer of the convolutional neural network and in the convolutional neural network. Each convolution core is convoluted to obtain the convolution result; the index processor is used to obtain the index of the convolution result according to the index of each characteristic graph and the index of each convolution core; when each characteristic graph is in a sparse state, the index of each characteristic graph is the index of non-zero feature elements in each characteristic graph; When each convolution kernel is in a sparse state, the indexes of each convolution kernel are indexes of non-zero weight elements in each convolution kernel. The invention reduces storage space and computation, and is suitable for processing convolutional neural networks in sparse and dense states.

【技术实现步骤摘要】
一种应用于卷积神经网络的处理器
本专利技术属于运算处理
,更具体地,涉及一种应用于卷积神经网络的处理器。
技术介绍
卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种前馈神经网络,其人工神经元可以响应一部分覆盖范围内的周围单元,适用于对大型图像的处理。卷积神经网络广泛应用于图像识别、语音识别等领域,但计算量非常大。由于卷积神经网络中的激活函数ReLU(Rectifiedlinearunit,修正线性单元)会造成大量稀疏的(featuremap);同时,采用剪枝等方法训练卷积神经网络会造成大量稀疏的权重数据(weightdata)。利用和权重数据的稀疏性可以大幅提高卷积神经网络的计算效率。目前,已有很多方法基于卷积神经网络中和权重数据的稀疏性提高计算速度。这些方法大致可以分为两类,一类着眼于跳过0值。例如有的方法去除输入中的0值,从而减少输入为0的无效计算。另一类采取忽略零值的方法。例如有的方法在输入数据为0时,不执行乘法操作,从而减少运算。但这些方法都着眼于处理稀疏神经网络本身,假定神经网络稀疏是前提。然而实际上卷积神经网络中各层输出可能是稀疏的,可能是非稀疏的。而目前的处理器只能处理稀疏的卷积神经网络,无法同时处理稀疏和非稀疏的卷积神经网络。
技术实现思路
为克服上述现有技术无法同时处理稀疏和非稀疏的卷积神经网络的问题或者至少部分地解决上述问题,本专利技术提供了一种应用于卷积神经网络的处理器。根据本专利技术的一方面,提供一种应用于卷积神经网络的处理器,包括:多个处理单元,各所述处理单元包括数据处理器和索引处理器;其中,所述数据处理器用于对卷积神经网络中各层输出的各特征图和所述卷积神经网络中各卷积核进行卷积,获取卷积结果;所述索引处理器用于根据各所述特征图的索引和各所述卷积核的索引获取所述卷积结果的索引;当各所述特征图为稀疏状态时,各所述特征图的索引为各所述特征图中非零特征元素的索引;当各所述卷积核为稀疏状态时,各所述卷积核的索引为各所述卷积核中非零权重元素的索引。具体地,所述处理单元还包括特征数据屏蔽信号、权重数据屏蔽信号、处理单元屏蔽信号和与门;其中,当各所述特征图为中间状态时,所述特征数据屏蔽信号打开;当各所述特征图中的特征元素为0时,所述特征数据屏蔽信号为0;当各所述卷积核为中间状态时,所述权重数据屏蔽信号打开;当各所述卷积核中的权重元素为0时,所述权重数据屏蔽信号为0;所述特征数据屏蔽信号和所述权重数据屏蔽信号通过所述与门输出处理单元屏蔽信号;当所述特征数据屏蔽信号为0或所述权重数据屏蔽信号为0时,所述处理单元屏蔽信号为0,所述数据处理器和所述索引处理器不运行。具体地,各所述处理单元还包括累加器;其中,所述累加器用于存储各所述处理单元输出的卷积结果和所述卷积结果的索引;多个所述处理单元共享所述累加器。具体地,还包括冲突检测器;其中,所述冲突检测器用于在根据任意相邻两个所述处理单元输出的卷积结果的索引,将所述卷积结果的索引对应的卷积结果路由到同一个所述累加器时,此次不将所述卷积结果的索引对应的卷积结果存储到所述累加器中。具体地,还包括存储单元;其中,所述存储单元包括第一存储模块、第二存储模块和第三存储模块;所述第一存储模块用于存储各所述特征图;所述第二存储模块用于存储各所述卷积核;所述第三存储模块用于存储各所述特征图的位置,所述位置包括各所述特征图存储的起始地址和各所述特征图中非零元素的个数。具体地,所述第一存储模块和所述第二存储模块分别包括多个存储器;所述第一存储模块中的存储器通过外部控制信号和多路选择器进行重构,用于存储不同状态的所述特征图;所述第二存储模块中的存储器通过外部控制信号和多路选择器进行重构,用于存储不同状态的所述卷积核。具体地,所述第一存储模块中的存储器包括第一存储器、第二存储器和第三存储器;当各所述特征图为稀疏状态时,所述第一存储器用于存储各所述特征图中的非零特征元素,所述第二存储器用于存储所述特征图中非零特征元素的索引,所述第三存储器关闭;当各所述特征图为中间状态时,所述第一存储器和所述第二存储器用于存储各所述特征图中的所有特征元素,所述第三存储器打开,用于存储所述特征图中各特征元素的标识,所述标识用于标记特征元素0;当各所述特征图为稠密状态时,所述第一存储器和所述第二存储器用于存储所述特征图中的所有特征元素,所述第三存储器关闭。具体地,所述第二存储模块中的存储器包括第四存储器、第五存储器和第六存储器;当各所述卷积核为稀疏状态时,所述第四存储器用于存储各所述卷积核中的非零权重元素,所述第五存储器用于存储所述卷积核中非零权重元素的索引,所述第六存储器关闭;当各所述卷积核为中间状态时,所述第四存储器和所述第五存储器用于存储各所述卷积核中的所有权重元素,所述第六存储器打开,用于存储所述卷积核中各权重元素的标识,所述标识用于标记权重元素0;当各所述卷积核为稠密状态时,所述第四存储器和所述第五存储器用于存储所述卷积核中的所有权重元素,所述第六存储器关闭。具体地,各所述处理单元以阵列形式排列;其中,每一列所述处理单元对应相同的特征元素;每一行所述处理单元对应相同的权重元素。具体地,所述第一存储模块中的存储器包括第一存储器和第二存储器,所述第二存储模块中的存储器包括第四存储器和第五存储器;当各所述特征图为稀疏状态时,所述第一存储器用于存储各所述特征图中的非零特征元素,所述第二存储器用于存储所述特征图中非零特征元素的索引;当各所述特征图为稠密状态时,所述第一存储器和所述第二存储器用于存储所述特征图中的所有特征元素;当各所述卷积核为稀疏状态时,所述第四存储器用于存储各所述卷积核中的非零权重元素,所述第五存储器用于存储所述卷积核中非零权重元素的索引;当各所述卷积核为稠密状态时,所述第四存储器和所述第五存储器用于存储所述卷积核中的所有权重元素。本专利技术提供一种应用于卷积神经网络的处理器,该处理器通过数据处理器对卷积神经网络中各层输出的各特征图和卷积神经网络中的各卷积核进行卷积计算,通过索引处理器对特征图的索引和卷积核的索引进行计算,从而获取卷积结果和卷积结果的索引,当特征图或卷积核为稀疏状态时,仅对非零元素设置索引,从而减少存储空间和运算量,同时适用于稀疏状态和非稀疏状态的卷积神经网络的处理。附图说明图1为本专利技术实施例提供的应用于卷积神经网络的处理器整体结构示意图;图2为本专利技术实施例提供的应用于卷积神经网络的处理器中存储单元整体结构示意图;图3为本专利技术实施例提供的应用于卷积神经网络的处理器中处理单元排列架构示意图;图4为本专利技术实施例提供的应用于卷积神经网络的处理器中访问量对比示意图;图5为本专利技术实施例提供的应用于卷积神经网络的处理器中芯片面积对比示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。在本专利技术的一个实施例中提供一种应用于卷积神经网络的处理器,本专利技术实施例的卷积神经网络由三部分构成,第一部分为输入层,第二部分由卷积层层组成,其中每个卷积层后接一个池化层或不接池化层,第三部分由一个全连接的多层感知机分类器构成。由于卷积神经网络中卷积层的层数较多,且每一个卷积层对应有多个卷本文档来自技高网...

【技术保护点】
1.一种应用于卷积神经网络的处理器,其特征在于,包括:多个处理单元,各所述处理单元包括数据处理器和索引处理器;其中,所述数据处理器用于对卷积神经网络中各层输出的各特征图和所述卷积神经网络中各卷积核进行卷积,获取卷积结果;所述索引处理器用于根据各所述特征图的索引和各所述卷积核的索引获取所述卷积结果的索引;当各所述特征图为稀疏状态时,各所述特征图的索引为各所述特征图中非零特征元素的索引;当各所述卷积核为稀疏状态时,各所述卷积核的索引为各所述卷积核中非零权重元素的索引。

【技术特征摘要】
1.一种应用于卷积神经网络的处理器,其特征在于,包括:多个处理单元,各所述处理单元包括数据处理器和索引处理器;其中,所述数据处理器用于对卷积神经网络中各层输出的各特征图和所述卷积神经网络中各卷积核进行卷积,获取卷积结果;所述索引处理器用于根据各所述特征图的索引和各所述卷积核的索引获取所述卷积结果的索引;当各所述特征图为稀疏状态时,各所述特征图的索引为各所述特征图中非零特征元素的索引;当各所述卷积核为稀疏状态时,各所述卷积核的索引为各所述卷积核中非零权重元素的索引。2.根据权利要求1所述的处理器,其特征在于,所述处理单元还包括特征数据屏蔽信号、权重数据屏蔽信号、处理单元屏蔽信号和与门;其中,当各所述特征图为中间状态时,所述特征数据屏蔽信号打开;当各所述特征图中的特征元素为0时,所述特征数据屏蔽信号为0;当各所述卷积核为中间状态时,所述权重数据屏蔽信号打开;当各所述卷积核中的权重元素为0时,所述权重数据屏蔽信号为0;所述特征数据屏蔽信号和所述权重数据屏蔽信号通过所述与门输出处理单元屏蔽信号;当所述特征数据屏蔽信号为0或所述权重数据屏蔽信号为0时,所述处理单元屏蔽信号为0,所述数据处理器和所述索引处理器不运行。3.根据权利要求1所述的处理器,其特征在于,各所述处理单元还包括累加器;其中,所述累加器用于存储各所述处理单元输出的卷积结果和所述卷积结果的索引;多个所述处理单元共享所述累加器。4.根据权利要求3所述的处理器,其特征在于,还包括冲突检测器;其中,所述冲突检测器用于在根据任意相邻两个所述处理单元输出的卷积结果的索引,将所述卷积结果的索引对应的卷积结果路由到同一个所述累加器时,此次不将所述卷积结果的索引对应的卷积结果存储到所述累加器中。5.根据权利要求1-4任一所述的处理器,其特征在于,还包括存储单元;其中,所述存储单元包括第一存储模块、第二存储模块和第三存储模块;所述第一存储模块用于存储各所述特征图;所述第二存储模块用于存储各所述卷积核;所述第三存储模块用于存储各所述特征图的位置,所述位置包括各所述特征图存储的起始地址和各所述特征图中非零元素的个数。6.根据权利要求5所述的处理器,其特征在于,所述第一存储模块和所述第二存储模块分别包括多个存储器;所述第一存储模块中的存储器通过外部控制信号和多路选择器进行重构,用于存储不同状态的所述特征图;所述第二...

【专利技术属性】
技术研发人员:刘勇攀袁哲岳金山杨华中李学清王智博
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

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

1