一种具有低带宽激活装置的神经网络处理器及其方法制造方法及图纸

技术编号:18713408 阅读:26 留言:0更新日期:2018-08-21 23:03
本发明专利技术提供一种神经网络处理器以及设计和使用方法。所述神经网络处理器,包括卷积装置和激活装置,其特征在于所述激活装置包括:输入接口、激活运算单元、和输出接口;其中,所述输入接口用于接收来自所述卷积装置的待激活神经元,所述输入接口的带宽与所述卷积装置输出待激活神经元的速度相关;所述激活运算单元,用于对来自所述输入接口的待激活神经元进行激活处理,所述激活运算单元的运算速度与所述卷积装置输出待激活神经元的速度相关;所述输出接口,用于输出激活处理的结果,所述输出接口的带宽与所述激活运算单元的运算速度相对应。

A neural network processor with low bandwidth activation device and its method

The invention provides a neural network processor and a design and usage method. The neural network processor, including a convolution device and an activation device, is characterized in that the activation device comprises an input interface, an activation operation unit, and an output interface, wherein the input interface is used to receive an inactivated neuron from the convolution device, and the bandwidth of the input interface and the convolution device. The activation arithmetic unit is used to activate the activation neuron from the input interface, the operation speed of the activation arithmetic unit is related to the speed of the convolution device outputting the activation neuron, and the output interface is used to output the node of the activation process. The bandwidth of the output interface corresponds to the operation speed of the activation operation unit.

【技术实现步骤摘要】
一种具有低带宽激活装置的神经网络处理器及其方法
本专利技术涉及神经网络处理器的改进,尤其涉及对其激活装置的改进。
技术介绍
深度学习技术在近几年得到了飞速的发展,在解决高级抽象认知问题上,例如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐和智能机器人等领域得到了广泛应用并具有出色的表现,因此成为了学术界和工业界的研究热点。深度神经网络是人工智能领域具有最高发展水平的感知模型之一,该类网络通过建立模型模拟人类大脑的神经连接结构,通过多个变换阶段分层对数据特征进行描述,为图像、视频和音频等大规模数据处理任务带来了突破性进展。近些年来,越来越多的研究者着力于开发针对神经网络的专用处理器,即神经网络处理器。与神经网络的计算过程相匹配地,神经网络处理器需要以硬件装置来实现卷积、激活、池化等操作,使得卷积、激活、池化等操作顺序地由卷积装置、激活装置、和池化装置来完成。在传统的神经网络处理器中,考虑到激活装置以卷积装置的输出作为其输入,为了快速处理卷积装置的输出神经元,常常采用与卷积装置的输出数据量对等的大小以作为激活装置的输入位宽以及激活运算单元的规模,例如假设卷积装置一次性输出1024bit,则将激活装置的输入接口的位宽设置为1024bit,并且激活运算单元的规模也被设置为一次性可以处理1024bit。然而,在实际的使用过程中,由于神经网络中执行卷积操作的计算量巨大,卷积装置并不能保证在每个时间周期内均输出卷积结果以作为激活计算单元的输入,常常出现卷积装置在经过多个时间周期后才一次性输出一定数量的待激活神经元,而这样的间歇性使得激活装置不能连续地接收到待激活神经元。对于上述采用与卷积装置的输出数据量对等大小作为激活装置的规模的现有技术而言,激活装置的硬件存在大量的闲置时间,使得硬件资源的利用率不高。
技术实现思路
因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种神经网络处理器,包括卷积装置和激活装置,其特征在于所述激活装置包括:输入接口、激活运算单元、和输出接口;其中,所述输入接口用于接收来自所述卷积装置的待激活神经元,所述输入接口的带宽与所述卷积装置输出待激活神经元的速度相关;所述激活运算单元,用于对来自所述输入接口的待激活神经元进行激活处理,所述激活运算单元的运算速度与所述卷积装置输出待激活神经元的速度相关;所述输出接口,用于输出激活处理的结果,所述输出接口的带宽与所述激活运算单元的运算速度相对应。优选地,根据所述神经网络处理器,其中所述输入接口的带宽、以及所述激活运算单元的运算速度与所述卷积装置输出待激活神经元的最快输出速度或平均输出速度相对应。优选地,根据所述神经网络处理器,其中所述输入接口的带宽、以及所述激活运算单元的运算速度与所述卷积装置针对神经网络的最快子网络层而输出待激活神经元的速度相对应。优选地,根据所述神经网络处理器,其中所述激活装置还包括:激活控制单元,用于控制所述输入接口、激活运算单元、和输出接口以流水线的方式针对所述卷积装置一次性输出的待激活神经元分别进行接收、处理、和输出操作。优选地,根据所述神经网络处理器,其中所述激活控制单元还用于在所述卷积装置针对神经网络的当前子网络层实际输出待激活神经元的速度慢于所述流水线的处理速度时,暂停所述输入接口、激活运算单元、和输出接口间的数据传输。优选地,根据所述神经网络处理器,其中所述激活控制单元还用于根据所述卷积装置提供待激活神经元的速度、以及所述输入接口的带宽和/或所述激活运算单元的运算速度,控制所述输入接口和/或所述激活运算单元在每个单位时间对所述卷积装置一次性提供的全部待激活神经元中相应部分的待激活神经元进行操作。以及,一种用于所述神经网络处理器的方法,包括:A1)激活控制单元根据所述卷积装置一次性提供待激活神经元的数据量、以及所述输入接口的带宽和/或所述激活运算单元的运算速度,确定需要将所述卷积装置一次性提供的全部待激活神经元分为多少部分;A2)激活控制单元控制所述输入接口、所述激活运算单元、和所述输出接口在每个单位时间以流水线的方式依次针对所划分的各个部分的待激活神经元进行操作,以完成针对所述卷积装置一次性提供的全部待激活神经元的操作。优选地,根据所述方法,其中步骤A1)还包括:激活控制单元根据所述卷积装置针对神经网络的当前子网络层而输出待激活神经元的速度、以及所述输入接口的带宽和/或所述激活运算单元的运算速度,确定当前流水线存在多少单位时间的无效操作;所述步骤A2)还包括:激活控制单元根据所确定的无效操作的单位时间的数量,控制所述输入接口、所述激活运算单元、和所述输出接口在相应的单位时间内暂停它们之间的数据传输。以及,一种神经网络处理器的设计方法,包括:B1)确定卷积装置针对设计所对应的神经网络的最快子网络层而输出待激活神经元的速度;B2)根据所确定的所述速度,确定激活装置的输入接口的带宽、激活装置的激活运算单元的运算速度、激活装置的输出接口的带宽。优选地,根据所述方法,其中步骤B1)还包括:确定卷积装置针对设计所对应的神经网络的最快子网络层而输出待激活神经元的最快输出速度或者平均输出速度;步骤B2)还包括:将所述激活装置的输入接口的带宽、激活装置的激活运算单元的运算速度、激活装置的输出接口的带宽选择为与所述最快输出速度或者平均输出速度相对应。与现有技术相比,本专利技术的优点在于:根据本专利技术的激活装置的输入接口、激活运算单元、和输出接口的硬件规模均小于激活装置采用与卷积装置的输出数据量对等的硬件规模的传统技术,这使得具有这样激活装置的神经网络处理器的能耗更小。本专利技术的激活装置将卷积装置间歇性地产生待激活神经元而造成的闲置时间切割成多个小段,由更小规模的硬件利用这多个小段的时间逐渐地完成对全部待激活神经元的处理,其在不增加处理时长的情况下提高了硬件的复用率,避免使用大规模硬件、并且避免由此带来的硬件空转。附图说明以下参照附图对本专利技术实施例作进一步说明,其中:图1是根据本专利技术的一个实施例的用于神经网络处理器的激活装置的结构的示意图;图2是根据本专利技术的一个实施例由用于神经网络处理器的激活装置以流水线的方式针对卷积装置一次性输出的全部待激活神经元所划分的四个部分进行处理的时序图;图3是根据本专利技术的一个实施例的于神经网络处理器的激活装置的结构图。具体实施方式下面结合附图和具体实施方式对本专利技术作详细说明。如
技术介绍
中所介绍地,现有技术中普遍认为激活装置的输入位宽需要与卷积装置一次性输出的数据量的大小保持一致。然而,基于专利技术人的研究,卷积装置并不能保证在每个单位时间内均输出卷积计算的结果(即需要卷积装置处理的待激活神经元),例如,卷积装置可能在经过了四个单位时间后一次性输出一定量的计算结果以作为待激活神经元输入到激活装置,这使得激活装置需要保持闲置状态直到卷积装置输出了新的计算结果。专利技术人认为,这种情况导致了激活装置的硬件经常处于闲置状态。因此,若是根据卷积装置输出待激活神经元的频率以及一次性产生的待激活神经元的数量,选择较少数量的硬件来实现激活装置,由较小规模的硬件在与卷积装置输出待激活神经元的频率对应的多个单位时间内依次地对一次性产生的待激活神经元进行激活处理,则神经网络处理器就不必为激活装置设置大规模的硬件,并且也改善本文档来自技高网
...

【技术保护点】
1.一种神经网络处理器,包括卷积装置和激活装置,其特征在于所述激活装置包括:输入接口、激活运算单元、和输出接口;其中,所述输入接口用于接收来自所述卷积装置的待激活神经元,所述输入接口的带宽与所述卷积装置输出待激活神经元的速度相关;所述激活运算单元,用于对来自所述输入接口的待激活神经元进行激活处理,所述激活运算单元的运算速度与所述卷积装置输出待激活神经元的速度相关;所述输出接口,用于输出激活处理的结果,所述输出接口的带宽与所述激活运算单元的运算速度相对应。

【技术特征摘要】
1.一种神经网络处理器,包括卷积装置和激活装置,其特征在于所述激活装置包括:输入接口、激活运算单元、和输出接口;其中,所述输入接口用于接收来自所述卷积装置的待激活神经元,所述输入接口的带宽与所述卷积装置输出待激活神经元的速度相关;所述激活运算单元,用于对来自所述输入接口的待激活神经元进行激活处理,所述激活运算单元的运算速度与所述卷积装置输出待激活神经元的速度相关;所述输出接口,用于输出激活处理的结果,所述输出接口的带宽与所述激活运算单元的运算速度相对应。2.根据权利要求1所述的神经网络处理器,其中所述输入接口的带宽、以及所述激活运算单元的运算速度与所述卷积装置输出待激活神经元的最快输出速度或平均输出速度相对应。3.根据权利要求1所述的神经网络处理器,其中所述输入接口的带宽、以及所述激活运算单元的运算速度与所述卷积装置针对神经网络的最快子网络层而输出待激活神经元的速度相对应。4.根据权利要求1-3中任意一项所述的神经网络处理器,其中所述激活装置还包括:激活控制单元,用于控制所述输入接口、激活运算单元、和输出接口以流水线的方式针对所述卷积装置一次性输出的待激活神经元分别进行接收、处理、和输出操作。5.根据权利要求4所述的神经网络处理器,其中所述激活控制单元还用于在所述卷积装置针对神经网络的当前子网络层实际输出待激活神经元的速度慢于所述流水线的处理速度时,暂停所述输入接口、激活运算单元、和输出接口间的数据传输。6.根据权利要求4所述的神经网络处理器,其中所述激活控制单元还用于根据所述卷积装置提供待激活神经元的速度、以及所述输入接口的带宽和/或所述激活运算单元的运算速度,控制所述输入接口和/或所述激活运算单元在每个单位时间对所述卷积装置一次...

【专利技术属性】
技术研发人员:韩银和闵丰许浩博王颖
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

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

1