SiLU激活函数的硬件实现方法、装置及计算设备与流程

文档序号:34815657发布日期:2023-07-19 18:29阅读:143来源:国知局
SiLU激活函数的硬件实现方法、装置及计算设备与流程

本发明涉及深度学习,尤其是涉及一种silu激活函数的硬件实现方法、装置及计算设备。


背景技术:

1、在硬件算力和海量数据的支持下,深度神经网络迅速发展,其凭借出色的特征提取能力被广泛应用于图像识别、工业故障检测以及无人驾驶等领域,激活函数作为神经网络的重要组成部分,其功能是提高神经网络模型的鲁棒性以及非线性表达能力。

2、silu函数是一种常见的人工智能神经网络的激活函数,具有可以避免过拟合、正则化效果优秀、易训练等特点。然而在硬件上实现silu函数时,不仅需要消耗大量逻辑资源,而且计算较慢。


技术实现思路

1、本发明的目的在于提供一种silu激活函数的硬件实现方法、装置及计算设备,以在保证silu函数的精确度的情况下,减少silu函数计算时的硬件消耗和计算时间。

2、第一方面,本发明实施例提供了一种silu激活函数的硬件实现方法,应用于目标神经网络的激活层,所述激活层为silu函数;所述silu激活函数的硬件实现方法包括:

3、获取待处理的目标数据;其中,所述目标数据为所述目标神经网络对原始数据进行处理时,所述激活层的输入数据;

4、当所述目标数据属于第一区间时,确定第一目标拟合算法为第一正比例函数;其中,所述第一区间为大于或等于预设的第一分段值的区间;

5、当所述目标数据属于第二区间时,确定第一目标拟合算法为第二正比例函数;其中,所述第二区间为大于或等于预设的第二分段值,且小于所述第一分段值的区间;

6、当所述目标数据属于第三区间时,确定第一目标拟合算法为均匀补偿查表算法;其中,所述第三区间为大于或等于0,且小于所述第二分段值的区间;

7、当所述目标数据属于第四区间时,确定第一目标拟合算法为基于绝对值的拟合算法;其中,所述第四区间为小于0的区间;

8、采用所述第一目标拟合算法,计算得到所述目标数据对应的silu函数值。

9、进一步地,所述第三区间为sigmoid函数变化较快的非负区间,所述均匀补偿查表算法指通过地址补偿在预设存储表中查找相应sigmoid函数值来计算silu函数值,所述预设存储表通过地址索引存储有与所述第三区间对应的预设数量个sigmoid函数值。

10、进一步地,所述第一正比例函数为:

11、f(x)=x;

12、所述第二区间包括多个子区间,每个所述子区间对应不同的第二正比例函数。

13、进一步地,所述第二区间包括由预设的第三分段值拆分得到的两个子区间,所述第二正比例函数包括:

14、

15、其中,k1、k2均为预设的参数值,a1为所述第一分段值,a2为所述第三分段值,a3为所述第二分段值。

16、进一步地,所述预设存储表使用预设位数的二进制的地址索引,所述地址索引的第0位为补偿位,所述地址索引的其他位为有效位;所述采用所述第一目标拟合算法,计算得到所述目标数据对应的silu函数值,包括:

17、当所述第一目标拟合算法为均匀补偿查表算法时,将所述目标数据转换为二进制的初始索引地址值;

18、根据所述初始索引地址值中补偿位的值,对所述初始索引地址值进行修正,得到目标索引地址值;

19、根据所述目标索引地址值,在所述预设存储表中查找得到相应sigmoid函数值;

20、根据所述相应sigmoid函数值,计算得到所述目标数据对应的silu函数值。

21、进一步地,所述根据所述相应sigmoid函数值,计算得到所述目标数据对应的silu函数值,包括:

22、将所述相应sigmoid函数值带入如下公式,计算得到所述目标数据对应的silu函数值:

23、f(x)=x·s(x),x∈[0,a3);

24、其中,s(x)为所述相应sigmoid函数值。

25、进一步地,所述采用所述第一目标拟合算法,计算得到所述目标数据对应的silu函数值,包括:

26、当所述第一目标拟合算法为基于绝对值的拟合算法时,计算得到所述目标数据的绝对值;

27、基于所述目标数据的绝对值所属的区间,确定第二目标拟合算法;其中,所述第二目标拟合算法包括所述第一正比例函数、所述第二正比例函数或所述均匀补偿查表算法;

28、采用所述第二目标拟合算法,计算得到所述目标数据的绝对值对应的silu函数值;

29、根据所述目标数据的绝对值对应的silu函数值,计算得到所述目标数据对应的silu函数值。

30、进一步地,所述根据所述目标数据的绝对值对应的silu函数值,计算得到所述目标数据对应的silu函数值,包括:

31、将所述目标数据的绝对值对应的silu函数值带入如下公式,计算得到所述目标数据对应的silu函数值:

32、f(x)=f(|x|)-|x|,x∈(-∞,0,);

33、其中,f(|x|)为|x|对应的silu函数值,|x|为x的绝对值。

34、第二方面,本发明实施例还提供了一种silu激活函数的硬件实现装置,应用于目标神经网络的激活层,所述激活层为silu函数;所述silu激活函数的硬件实现装置包括:

35、数据获取模块,用于获取待处理的目标数据;其中,所述目标数据为所述目标神经网络对原始数据进行处理时,所述激活层的输入数据;

36、算法确定模块,用于当所述目标数据属于第一区间时,确定第一目标拟合算法为第一正比例函数;其中,所述第一区间为大于或等于预设的第一分段值的区间;当所述目标数据属于第二区间时,确定第一目标拟合算法为第二正比例函数;其中,所述第二区间为大于或等于预设的第二分段值,且小于所述第一分段值的区间;当所述目标数据属于第三区间时,确定第一目标拟合算法为均匀补偿查表算法;其中,所述第三区间为大于或等于0,且小于所述第二分段值的区间;当所述目标数据属于第四区间时,确定第一目标拟合算法为基于绝对值的拟合算法;其中,所述第四区间为小于0的区间;

37、拟合计算模块,用于采用所述第一目标拟合算法,计算得到所述目标数据对应的silu函数值。

38、第三方面,本发明实施例还提供了一种计算设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的silu激活函数的硬件实现方法。

39、本发明实施例提供的silu激活函数的硬件实现方法、装置及计算设备,对目标数据进行silu激活函数计算时,采用了分段拟合的函数简化方式,包括部分近似、追加补偿的均匀补偿查表算法,因此在保证silu函数的精确度的情况下,减少了silu函数计算时的硬件消耗和计算时间。



技术特征:

1.一种silu激活函数的硬件实现方法,其特征在于,应用于目标神经网络的激活层,所述激活层为silu函数;所述silu激活函数的硬件实现方法包括:

2.根据权利要求1所述的silu激活函数的硬件实现方法,其特征在于,所述第三区间为sigmoid函数变化较快的非负区间,所述均匀补偿查表算法指通过地址补偿在预设存储表中查找相应sigmoid函数值来计算silu函数值,所述预设存储表通过地址索引存储有与所述第三区间对应的预设数量个sigmoid函数值。

3.根据权利要求1所述的silu激活函数的硬件实现方法,其特征在于,所述第一正比例函数为:

4.根据权利要求3所述的silu激活函数的硬件实现方法,其特征在于,所述第二区间包括由预设的第三分段值拆分得到的两个子区间,所述第二正比例函数包括:

5.根据权利要求2所述的silu激活函数的硬件实现方法,其特征在于,所述预设存储表使用预设位数的二进制的地址索引,所述地址索引的第0位为补偿位,所述地址索引的其他位为有效位;所述采用所述第一目标拟合算法,计算得到所述目标数据对应的silu函数值,包括:

6.根据权利要求5所述的silu激活函数的硬件实现方法,其特征在于,所述根据所述相应sigmoid函数值,计算得到所述目标数据对应的silu函数值,包括:

7.根据权利要求1所述的silu激活函数的硬件实现方法,其特征在于,所述采用所述第一目标拟合算法,计算得到所述目标数据对应的silu函数值,包括:

8.根据权利要求7所述的silu激活函数的硬件实现方法,其特征在于,所述根据所述目标数据的绝对值对应的silu函数值,计算得到所述目标数据对应的silu函数值,包括:

9.一种silu激活函数的硬件实现装置,其特征在于,应用于目标神经网络的激活层,所述激活层为silu函数;所述silu激活函数的硬件实现装置包括:

10.一种计算设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-8中任一项所述的silu激活函数的硬件实现方法。


技术总结
本发明提供了一种SiLU激活函数的硬件实现方法、装置及计算设备,涉及深度学习技术领域,本发明对目标数据进行SiLU激活函数计算时,采用了分段拟合的函数简化方式,包括部分近似、追加补偿的均匀补偿查表算法,因此在保证SiLU函数的精确度的情况下,减少了SiLU函数计算时的硬件消耗和计算时间。

技术研发人员:刘玉宣,丁昊杰,王慧渊
受保护的技术使用者:杭州菲数科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1