一种包括比特转换装置的神经网络处理器及其方法制造方法及图纸

技术编号:18576608 阅读:31 留言:0更新日期:2018-08-01 11:42
本发明专利技术提供一种神经网络处理器,以及采用所述神经网络处理器对神经网络的数据进行比特转换的方法。所述神经网络处理器中包括比特转换装置,该比特转换装置包括:输入接口、控制单元、数据转换单元、和输出接口;其中,所述控制单元用于产生针对所述数据转换单元的控制信号;所述输入接口用于接收原始数据;所述数据转换单元用于根据所述控制信号对所述原始数据进行比特转换,以将所述原始数据转换为采用更少的比特位数进行表达的比特转换结果;所述输出接口用于将所述比特转换结果输出所述比特转换装置。通过本发明专利技术可以减少表达数据所采用的比特位数,降低计算所需的硬件成本、和能耗,提高计算速度。

A neural network processor including bit conversion device and its method

The invention provides a neural network processor and a method for bit conversion of neural network data using the neural network processor. The neural network processor includes a bit conversion device, which includes an input interface, a control unit, a data conversion unit, and an output interface, in which the control unit is used to generate a control signal for the data conversion unit; the input interface is used to receive the original data; the number of the data is used. The conversion unit is used to convert the original data to a bit conversion according to the control signal to convert the original data into a bit conversion result expressed with fewer bits, and the output interface is used to output the bit conversion result to the bit conversion device. The invention can reduce the bits used to express the data, reduce the hardware cost, energy consumption and improve the calculation speed.

【技术实现步骤摘要】
一种包括比特转换装置的神经网络处理器及其方法
本专利技术涉及人工智能领域,尤其涉及对神经网络处理器的改进。
技术介绍
人工智能的深度学习技术在近几年得到了飞速的发展,在解决高级抽象认知问题上,例如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐和智能机器人等领域得到了广泛应用并且被证实了具有出色的表现。这使得对于人工智能技术的开发和改进成为了学术界和工业界的研究热点。深度神经网络是人工智能领域具有最高发展水平的感知模型之一,该类网络通过建立模型来模拟人类大脑的神经连接结构,采用多个变换阶段分层对数据特征进行描述,为图像、视频和音频等大规模数据处理任务带来了突破性进展。深度神经网络的模型属于一种运算模型,其包含大量的节点,这些节点之间采用网状的互连结构,被称作为深度神经网络的神经元。在两个节点之间的连接强度代表信号在该两个节点间的加权值,即权重,以与生物学意义上的神经网络中的记忆相对应。针对神经网络计算的专用处理器,即神经网络处理器也得到了相应的发展。在实际的神经网络计算处理过程中,需要对大量的数据反复地进行卷积、激活、池化等操作,这需要消耗极大量的计算时间,严重影响了用户的使用体验。这使得如何减少神经网络的计算时间成为了针对神经网络处理器的一种改进策略。
技术实现思路
因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种神经网络处理器,该神经网络处理器中包括比特转换装置,该比特转换装置包括:输入接口、控制单元、数据转换单元、和输出接口;其中,所述控制单元用于产生针对所述数据转换单元的控制信号;所述输入接口用于接收原始数据;所述数据转换单元用于根据所述控制信号对所述原始数据进行比特转换,以将所述原始数据转换为采用更少的比特位数进行表达的比特转换结果;所述输出接口用于将所述比特转换结果输出所述比特转换装置。优选地,根据所述神经网络处理器,其中所述控制单元用于根据设置的参数或者输入的参数确定执行比特转换的规则,以产生所述控制信号;其中,所述参数包括与所述原始数据的比特位数以及所述比特转换结果的比特位数相关的信息。优选地,根据所述神经网络处理器,其中所述数据转换单元用于根据所述控制信号,确定所述原始数据中的保留位以及截断位,并且根据所述原始数据的保留位以及所述原始数据的截断位中的最高位确定所述比特转换结果。优选地,根据所述神经网络处理器,其中所述数据转换单元用于根据所述控制信号,确定所述原始数据中的保留位以及截断位,并且将所述原始数据中的保留位作为所述比特转换结果。优选地,根据所述神经网络处理器,其中所述数据转换单元用于根据所述控制信号对所述原始数据进行比特转换,以原始数据转化为采用原本一半的比特位数进行表达的比特转换结果。一种采用上述任意一项所述的神经网络处理器对神经网络的数据进行比特转换的方法,包括:1)所述控制单元产生针对数据转换单元的控制信号;2)所述输入接口接收来自所述比特转换装置外部的需要执行比特转换的原始数据;3)所述数据转换单元根据所述控制信号对所述原始数据进行比特转换,以将所述原始数据转换为采用更少的比特位数进行表达的比特转换结果;4)所述输出接口将所述比特转换结果输出所述比特转换装置。优选地,根据所述方法,其中步骤1)包括:1-1)所述控制单元根据设置的参数或者输入的参数确定执行比特转换的规则;1-2)所述控制单元产生与所述规则对应的控制信号;其中,所述参数包括与所述原始数据的比特位数以及所述比特转换结果的比特位数相关的信息。优选地,根据所述方法,其中步骤3)包括:所述数据转换单元根据所述控制信号,基于所述原始数据的保留位以及所述原始数据的截断位中的最高位确定所述比特转换结果。优选地,根据所述方法,其中步骤3)包括:所述数据转换单元根据所述控制信号,将所述原始数据中的保留位作为所述比特转换结果。优选地,根据所述方法,在已完成对神经网络数据的缓存、并且尚未完成卷积运算时,将缓存的神经网络数据输入所述比特转换装置以执行步骤1)-4),或者在已完成对数据的卷积运算、并且尚未完成激活运算时,将卷积运算的结果输入所述比特转换装置以执行步骤1)-4)。一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序在被执行时用于实现上述任意一项所述的方法。与现有技术相比,本专利技术的优点在于:本专利技术提供一种用于神经网络处理器的比特转换装置,其可被用于在神经网络的各种计算过程中对表达数据所采用的比特位数进行调整。通过减少表达数据所采用的比特位数,可以降低计算所需的硬件成本、提高计算速度、减少神经网络处理器对数据存储空间的需要、并且降低执行神经网络计算的能耗。附图说明以下参照附图对本专利技术实施例作进一步说明,其中:图1示出了根据本专利技术的一个实施例的比特转换装置的模块图;图2是根据本专利技术的一个实施例的比特转换装置中各个单元的连接关系图;图3是根据本专利技术的一个实施例的采用如图1所示出的比特转换装置对神经网络数据进行比特转换的方法流程;图4a是根据本专利技术的一个实施例在比特转换装置的数据转换单元中用于在“四舍五入模式”下执行比特转换的硬件结构图;图4b是根据本专利技术的一个实施例在比特转换装置的数据转换单元中用于在“直接截断模式”下执行比特转换的硬件结构图。具体实施方式下面结合附图和具体实施方式对本专利技术作详细说明。如前文中所述,在设计神经网络处理器时,希望能够减少神经网络的计算时间。对此,专利技术人认为可以通过适当地减少参与到神经网络计算的数据的比特位数,例如采用更少的比特位来代表原本需要较多比特位来表示的数据,降低运算量以减少神经网络的计算时间。这是由于,专利技术人在对现有技术的研究中发现,神经网络的算法对于计算的中间结果存在相对较高的容错性,即便采用更少的比特位来代表原本需要较多比特位来表示的数据的做法会改变参与计算的数据的精度从而影响所获得的中间结果的准确性,然而这并不会对神经网络最终输出的结果造成较大的影响。在本专利技术中,将这种缩减计算所使用的数据的比特位的方式称作为对数据的“裁剪操作”。并且,将对表达数值所需的二进制比特位数进行调整的过程称作为“比特转换”。例如,针对十进制的数值0.5,采用Q7定点数据进行表示的结果为01000000(这里Q7采用8比特中的最左侧第一个比特位作为符号位,采用其余7个比特位表示小数部分,由此来表示-1到1之间的精度为7的小数),在进行比特转换时,可以将原本采用Q7表示的结果修改为采用Q3进行表示,获得结果0100(与Q7相类似地,Q3同样采用最左侧第一个比特作为符号位,不同的是其采用3个比特位表示小数部分,可以表示-1到1之间的精度为3的小数)。基于上述分析,本专利技术提出了一种用于神经网络处理器的比特转换装置。通过所述比特转换装置可以根据设置的或者基于用户输入的参数确定执行比特转换的规则,以对数据执行比特转换。通过这样的转换,神经网络处理器可以对相对较少量的数据进行处理,并由此提升处理速度、降低神经网络处理器的能耗。专利技术人认为,在逻辑组合电路中,数据运算的速度与数值表达的比特位数成反比;数据运算的能耗与数值表达的比特位成正比;故对数据进行比特转换后,可达到加速计算与降低功耗的效果。图1示出了根据本专利技术的一个实施例的比特转换装置101,包括:作为输入接口的输入总线单元102、数本文档来自技高网...

【技术保护点】
1.一种神经网络处理器,该神经网络处理器中包括比特转换装置,该比特转换装置包括:输入接口、控制单元、数据转换单元、和输出接口;其中,所述控制单元用于产生针对所述数据转换单元的控制信号;所述输入接口用于接收原始数据;所述数据转换单元用于根据所述控制信号对所述原始数据进行比特转换,以将所述原始数据转换为采用更少的比特位数进行表达的比特转换结果;所述输出接口用于将所述比特转换结果输出所述比特转换装置。

【技术特征摘要】
1.一种神经网络处理器,该神经网络处理器中包括比特转换装置,该比特转换装置包括:输入接口、控制单元、数据转换单元、和输出接口;其中,所述控制单元用于产生针对所述数据转换单元的控制信号;所述输入接口用于接收原始数据;所述数据转换单元用于根据所述控制信号对所述原始数据进行比特转换,以将所述原始数据转换为采用更少的比特位数进行表达的比特转换结果;所述输出接口用于将所述比特转换结果输出所述比特转换装置。2.根据权利要求1所述的神经网络处理器,其中所述控制单元用于根据设置的参数或者输入的参数确定执行比特转换的规则,以产生所述控制信号;其中,所述参数包括与所述原始数据的比特位数以及所述比特转换结果的比特位数相关的信息。3.根据权利要求2所述的神经网络处理器,其中所述数据转换单元用于根据所述控制信号,确定所述原始数据中的保留位以及截断位,并且根据所述原始数据的保留位以及所述原始数据的截断位中的最高位确定所述比特转换结果。4.根据权利要求2所述的神经网络处理器,其中所述数据转换单元用于根据所述控制信号,确定所述原始数据中的保留位以及截断位,并且将所述原始数据中的保留位作为所述比特转换结果。5.根据权利要求1所述的神经网络处理器,其中所述数据转换单元用于根据所述控制信号对所述原始数据进行比特转换,以原始数据转化为采用原本一半的比特位数进行表达的比特转换结果。6.一种采用如权利要求1-5中任意一项所述的神经网络处理器对神经网络的数据进行比特转换的方法,...

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

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

1