应用于循环神经网络的激活函数的可重构电路制造技术

技术编号:28296757 阅读:29 留言:0更新日期:2021-04-30 16:21
本发明专利技术提供了一种用于循环神经网络的激活函数的可重构电路,包括原码转换电路、一比特移位器、二比特移位器、第一选择器、第一反相器、误差补偿单元、乘法器单元、第二选择器、第二反相器和镜像电路;本发明专利技术采用重构复用的方式,以同一套电路结构,实现两种不同的激活函数,节省了硬件资源。本发明专利技术针对8比特数据位宽,进行误差补偿设计,可实现更高的计算精度。本发明专利技术的循环神经网络激活函数不占用片上存储资源,面积小,功耗低,可用于大规模网络加速器的设计中。

【技术实现步骤摘要】
应用于循环神经网络的激活函数的可重构电路
本专利技术涉及集成电路
,尤其涉及一种应用于循环神经网络的激活函数的可重构电路。
技术介绍
为提高人工神经网络的计算效率,ASIC(专用集成电路)硬件实现是对其加速的主要途径。双曲函数(Tanh和Sigmoid)是常用的神经网络激活函数,特别是在处理具有时序信息的循环神经网络(RNN)以及它的变种网络:长短期记忆网络(LSTM)和循环门控单元(GRU)中。但因为双曲函数中包含幂运算和除法运算,使其成循环神经网络硬件化过程中的难点之一。现有的双曲函数硬件化方法主要有:查找表(LUT)法、CORDIC法、分段线性近似(PWL)法、分段非线性近似法以及混合法。查找表法是最直接的方法,但要实现高精度。则需要较大的存储空间,在大规模的网络加速中迫于片上存储压力,LUT并不适用。CORDIC法使用的硬件资源少,但需要多个周期的迭代计算才可获得高精度。两种分段近似的方法具有相似性,分段数越多,近似函数精度越高。相比于分段线性,分段非线性近似法由于其非线性特性,具有分段少、精度高的优点,但其消耗硬件资源多。在实现本专利技术构思的过程中,专利技术人发现相关技术中至少存在如下问题:现有技术的这些方法在实现Tanh函数和Sigmoid函数时,均要针对两种函数设计两套不同的电路,不能实现二者的重构复用,徒增硬件资源和设计成本。并且当前循环神经网络硬件加速中多采用8比特数据,网络推理精度对激活函数精度敏感。一个高精度适用于8比特循环神经网络加速器的,激活函数硬件实现方案是有必要的
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种应用于循环神经网络的激活函数的可重构电路,以期部分地解决上述技术问题中的至少之一。为了实现上述目的,本专利技术提供了一种应用于循环神经网络的激活函数的可重构电路,包括原码转换电路、一比特移位器、二比特移位器、第一选择器、第一反相器、误差补偿单元、乘法器单元、第二选择器、第二反相器和镜像电路;其中,待处理数据输入所述原码转换电路,输出为输入数据的二进制原码形式,将原码转换电路的输出数据输入所述一比特移位器和所述二比特移位器,将两个比特移位器的输出数据输入所述第一选择器,根据模式选择信号Select选择数据的移动位数;在所述第一选择器之后采用所述第一反相器对数据进行取反操作,经过第一反相器之后的数据输入所述乘法器单元,计算经过第一反相器之后的数据的平方值;接着,输入所述第二选择器,根据模式选择信号Select选择所述乘法器单元计算结果的移动位数,在所述第二选择器之后用所述第二反相器对数据进行取反操作;最后将上述最终结果输入所述镜像电路,用于镜像计算函数自变量负半轴的函数值,进而获得完整的定义域上的函数值。其中,所述可重构电路适用于8比特循环神经网络加速器的高精度激活函数计算电路。其中,所述误差补偿单元用于根据原码所在值域范围对函数计算值进行误差补偿,补偿值以达到提高精度的目的。其中,所述一比特移位器是将输入值右移一比特;所述二比特移位器是将输入值右移二比特。其中,所述第一选择器包括两种计算模式的选择;如果模式选择信号Select为1,选择Sigmoid函数计算模式,数据向右移动2比特;如果模式选择信号Select为0,选择Tanh函数计算模式,数据向右移动1比特。其中,所述第二选择器包括两种计算模式的选择;如果模式选择信号Select为1,选择Sigmoid计算模式,数据向右移动1比特;如果模式选择信号Select为0,选择Tanh计算模式,数据不移动。其中,所述镜像电路包括具有奇函数性质的Tanh函数镜像和类奇函数的Sigmoid函数镜像。其中,所述误差补偿单元包括依据精度要求的误差补偿区间划分方式。其中,以二阶近似为基础的硬件友好的Sigmoid函数近似表达式如下式所示:其中,以二阶近似为基础的硬件友好的Tanh函数近似表达式如下式所示:基于上述技术方案可知,本专利技术的可重构电路相对于现有技术至少具有如下有益效果的一部分:(1)本专利技术采用重构复用的方式,以同一套电路结构,实现两种不同的激活函数,节省了硬件资源。(2)本专利技术针对8比特数据位宽,进行误差补偿设计,可实现更高的计算精度。(3)本专利技术的循环神经网络激活函数不占用片上存储资源,面积小,功耗低,可用于大规模网络加速器的设计中。附图说明图1为本专利技术实施例提供的应用于循环神经网络的激活函数可重构设计结构示意图;图2为本专利技术实施例提供的镜像电路的结构示意图;图3为本专利技术实施例提供的Sigmoid函数和Tanh函数正半轴近似电路结构对比图;图4为本专利技术实施例提供的误差补偿区间划分示意图;图5为本专利技术实施例提供的Sigmoid近似函数图像及误差曲线;图6为本专利技术实施例提供的Tanh近似函数图像及误差曲线。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术作进一步的详细说明。本专利技术公开了一种用于循环神经网路的激活函数的可重构电路,是适用于8比特循环神经网络加速器的高精度激活函数计算电路,本专利技术结构简单,硬件资源消耗少,精度高,易于直接嵌入循环神经网络加速器中。如图1所示,为应用于循环神经网络的激活函数可重构设计结构示意图;使用电路设计中的分时复用技术,对循环神经网络中的激活函数进行可重构设计。其包含:原码转换电路、一比特移位器、二比特移位器、第一选择器、误差补偿单元、乘法器单元、第二选择器、镜像电路和必要的反相器。原码转换电路:将输入值转换成二进制原码形式,即对于互为相反数的自变量值,只有符号位不同。一比特移位器:将输入值右移一比特,即计算2-1x。二比特移位器:将输入值右移二比特,即计算2-2x。第一选择器:根据模式选择信号Select选择数据的移动位数,亦是计算模式的选择。如果模式选择信号Select为1,选择Sigmoid函数计算模式,数据向右移动2比特;如果模式选择信号Select为0,选择Tanh函数计算模式,数据向右移动1比特。在第一选择器之后用反相器对数据进行取反操作,这里的取反操作是代替了(1-2-nx)(n=1或2)中的减法操作,以减少硬件资源的消耗;乘法器单元:用于计算经过反相器之后的数据的平方值。第二选择器:根据模式选择信号Select选择乘法器单元计算结果的移动位数,亦是计算模式的选择。如果模式选择信号Select为1,选择Sigmoid计算模式,数据向右移动1比特,即计算2-1(1-2-2x)2;如果模式选择信号Select为0,选择Tanh计算模式,数据不移动。在第二选择器之后用反相器对数据再次进行取反操作。即计算1-2-m(1-2-nx)2(m=1或0,n=1或2)。至此完成的是Sigmoid函数和Tanh函数自变量正半轴的电路结设计。本实施例的循环神经本文档来自技高网
...

【技术保护点】
1.一种用于循环神经网络的激活函数的可重构电路,其特征在于,包括原码转换电路、一比特移位器、二比特移位器、第一选择器、第一反相器、误差补偿单元、乘法器单元、第二选择器、第二反相器和镜像电路;其中,/n待处理数据输入所述原码转换电路,输出为输入数据的二进制原码形式,将原码转换电路的输出数据输入所述一比特移位器和所述二比特移位器,将两个比特移位器的输出数据输入所述第一选择器,根据模式选择信号Select选择数据的移动位数;在所述第一选择器之后采用所述第一反相器对数据进行取反操作,经过第一反相器之后的数据输入所述乘法器单元,计算经过第一反相器之后的数据的平方值;接着,输入所述第二选择器,根据模式选择信号Select选择所述乘法器单元计算结果的移动位数,在所述第二选择器之后用所述第二反相器对数据进行取反操作;最后将上述最终结果输入所述镜像电路,用于镜像计算函数自变量负半轴的函数值,进而获得完整的定义域上的函数值。/n

【技术特征摘要】
1.一种用于循环神经网络的激活函数的可重构电路,其特征在于,包括原码转换电路、一比特移位器、二比特移位器、第一选择器、第一反相器、误差补偿单元、乘法器单元、第二选择器、第二反相器和镜像电路;其中,
待处理数据输入所述原码转换电路,输出为输入数据的二进制原码形式,将原码转换电路的输出数据输入所述一比特移位器和所述二比特移位器,将两个比特移位器的输出数据输入所述第一选择器,根据模式选择信号Select选择数据的移动位数;在所述第一选择器之后采用所述第一反相器对数据进行取反操作,经过第一反相器之后的数据输入所述乘法器单元,计算经过第一反相器之后的数据的平方值;接着,输入所述第二选择器,根据模式选择信号Select选择所述乘法器单元计算结果的移动位数,在所述第二选择器之后用所述第二反相器对数据进行取反操作;最后将上述最终结果输入所述镜像电路,用于镜像计算函数自变量负半轴的函数值,进而获得完整的定义域上的函数值。


2.根据权利要求1所述的可重构电路,其特征在于,所述可重构电路适用于8比特循环神经网络加速器的高精度激活函数计算电路。


3.根据权利要求1所述的可重构电路,其特征在于,所述误差补偿单元用于根据原码所在值域范围对函数计算值进行误差补偿,补偿值以达到提高精度的目的。


4.根据权利要求1所述的可重构电路,其特征在于...

【专利技术属性】
技术研发人员:张博文陈刚鲁华祥
申请(专利权)人:中国科学院半导体研究所
类型:发明
国别省市:北京;11

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

1