预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN110837624A(43)申请公布日2020.02.25(21)申请号201911104123.9(22)申请日2019.11.13(71)申请人南京大学地址210046江苏省南京市栖霞区仙林大道163号(72)发明人潘红兵秦子迪邱禹欧王宇宣(74)专利代理机构江苏法德东恒律师事务所32305代理人李媛媛(51)Int.Cl.G06F17/17(2006.01)权利要求书1页说明书5页附图1页(54)发明名称一种针对sigmoid函数的近似计算装置(57)摘要本发明公开了一种针对sigmoid函数的近似计算装置,包括负数输入转换单元、常数乘法单元、移位单元、特殊值产生单元、进位保留加法器和负数结果转换单元。负数输入转换单元用于对输入的负值x取绝对值,并输出其绝对值的二进制原码;常数乘法单元计算1.4375×x的值并输出运算结果的整部部分k和小数部分p;移位单元用于对输入p进行移位操作;特殊值产生单元用于产生λ=sigmoid(kln2)的近似值;进位保留加法器用于实现三个数的加法;负数结果转换单元实现输入x为负数时相应结果的转换功能。本发明的装置能够实现sigmoid函数的近似计算,在保持较高近似精度的同时,极大地降低运算延时、功耗及减小面积开销。CN110837624ACN110837624A权利要求书1/1页1.一种针对sigmoid函数的近似计算装置,其特征在于,包括负数输入转换单元、常数乘法单元、移位单元、特殊值产生单元、进位保留加法器和负数结果转换单元;所述负数输入转换单元,用于在输入的自变量x<0时,将自变量x变换到正数区间,其中,自变量x的取值范围为(-8,8);所述常数乘法单元,用于计算负数输入转换单元的输出值a与ln2的近似值即1.4375的乘积,并输出乘积结果的整数部分k值与小数部分p值;其中,整数k表示自变量x处于区间(kln2,(k+1)ln2),而小数p表示x-kln2的值;所述特殊值产生单元,用于根据由常数乘法单元输入的整数k值产生λ=sigmoid(kln2)的近似值;所述移位单元,用于根据由常数乘法单元输入的整数k值将小数p的值进行两次移位,分别得到p1=p×2-m1和p2=p×2-m2两个值;其中m1和m2为正整数,表示对小数p进行右移的移位位数;所述进位保留加法器,用于计算λ+p1+p2的值,得到自变量x>0时的sigmoid(x)的近似值,并输出给负数结果转换单元;其中,p1+p2用于近似计算sigmoid((k+1)ln2)-sigmoid(kln2)的值;所述负数结果转换单元,用于根据自变量x的符号位输出计算结果;当x<0时,将sigmoid(-x)的值变换到相应的负数区间输出。2.根据权利要求1所述的一种针对sigmoid函数的近似计算装置,其特征在于,所述负数输入转换单元,在自变量x<0时通过半加器阵列计算x的补码,即将自变量x的二进制值取反后加1,然后将补码结果作为输出值。3.根据权利要求1所述的一种针对sigmoid函数的近似计算装置,其特征在于,所述常数乘法单元计算二进制a×1.0111的积,并通过“加加减”操作将二进制1.0111转换为二进制1+0.1-0.0001后进行运算。4.根据权利要求1所述的一种针对sigmoid函数的近似计算装置,其特征在于,所述特殊值产生单元中,λ的值是根据整数k的各比特位的组合逻辑映射产生相应的λ的各比特位。5.根据权利要求1所述的一种针对sigmoid函数的近似计算装置,其特征在于,所述进位保留加法器由两级全加器阵列构成;首先将三个输入的各比特位作为全加器阵列的第一级输入,计算得出每一位的和以及进位;第二级全加器的输入为第一级全加器低一位的进位、第一级全加器当前位的和以及第二级全加器低一位的进位;第二级全加器的输出即为三个输入数的和。6.根据权利要求1所述的一种针对sigmoid函数的近似计算装置,其特征在于,如果自变量x<0,所述负数结果转换单元将进位保留加法器输出结果的各个比特位取反加1后输出;其中,取反加1的运算是通过半加器阵列实现;如果自变量x>0,则通过复选器选择上一级的进位保留加法器的结果作为sigmoid(x)的值。2CN110837624A说明书1/5页一种针对sigmoid函数的近似计算装置技术领域[0001]本发明属于超大规模集成电路设计领域,尤其涉及一种针对sigmoid函数的近似计算装置。背景技术[0002]Sigmoid函数是一种广泛应用在数字信号处理和深度神经网络中的非线性函数。Sigmoid函数由于具有非线性的特点,很难在硬件上进行快速的实现并保持高拟合精度。以往出现了很多sigmoid函数拟合方法,但是这些方法需要较多的硬件资源开