一种面向卷积神经网络的激活类函数表达式生成器及方法与流程

专利2025-05-04  24


本发明属于数字集成电路,特别涉及一种面向卷积神经网络的激活类函数表达式生成器及方法。


背景技术:

1、卷积神经网络(convolutional neural networks,cnn)在人工智能领域中,已被广泛用于图像检测和分类等视觉处理场景中。目前,基于cnn的网络模型种类繁多,yolo、resnet、mobilenet和vggnet等网络模型都已经被广泛使用。

2、激活层是卷积神经网络模型中的必要环节,也是能区分网络模型识别率的重要手段之一。每个网络模型中常见的激活层函数各不相同,如yolo中用relu和sigmoid等函数作为激活层的常用函数,resnet中常用prelu和celu函数作为常用的激活层函数,mobilenet中常用hardswish和hardsigmoid函数作为常用的激活层函数,vggnet中常用elu、leakyrelu和prelu函数作为常用的激活层函数,因此,面向卷积神经网络的不同网络模型在激活层上都会使用不同的激活函数,而市面上的卷积神经网络加速芯片对激活函数的支持种类有限,当新的网络模型出现以后,其激活函数经常会得不到硬件层面的支持,厂家只能将激活层的计算任务放在cpu中运行,从而使运行效率大打折扣。


技术实现思路

1、本发明的目的在于克服现有技术的上述不足,本发明提供一种面向卷积神经网络的激活类函数表达式生成器及方法,可以实现面向卷积神经网络的激活层激活函数的灵活配置,以实现各类卷积神经网络的网络模型中激活层的硬件级加速。

2、为解决上述技术问题,本发明提供了一种面向卷积神经网络的激活类函数表达式生成器,包括:

3、函数配置模块,用于获取并存储上位机软件发送的分段函数段位与分段值信息、以及分段函数中各段位的函数构造配置与操作数信息;且分段函数段位与分段值信息发送到分段函数信息生成模块内的输入值函数段位判断器,分段函数中各段位的函数构造配置与操作数信息发送到函数运算构造模块;

4、分段函数信息生成模块,根据函数配置模块的分段函数段位与分段值信息,对函数的输入值进行判定,生成函数段位信息,并与函数的输入值进行数据组合后输出到函数运算构造模块;

5、函数运算构造模块,通过n个函数运算构造模块进行串联,以实现函数表达式中所需的所有运算步骤;同时每个函数运算构造模块具有使能开关,若使能关闭,则函数运算构造模块被屏蔽,数据从函数运算构造模块的输入端直接转发至输出端;

6、其中,所述函数运算构造模块包括:

7、一级处理单元,用于接收分段函数信息生成模块内段位信息生成器发送的段位信息和函数输入值,并根据段位信息查询函数配置模块中与之匹配的函数构造配置与操作数信息;其中函数构造配置信息决定一级处理单元使用裁剪器、比较器或该一级处理单元不使能直接跳过;

8、二级处理单元,用于接收一级处理单元发送的段位信息和处理结果,并根据段位信息查询函数配置模块中与之匹配的函数构造配置与操作数信息;其中函数构造配置信息决定二级处理单元使用乘法器、除法器或该二级处理单元不使能直接被跳过;

9、三级处理单元,用于接收二级处理单元发送的段位信息和处理结果,并根据段位信息查询函数配置模块中与之匹配的函数构造配置与操作数信息;其中函数构造配置信息决定三级处理单元使用加法器、减法器或该三级处理单元不使能直接被跳过;

10、四级处理单元,用于接收三级处理单元发送的段位信息和处理结果,并根据段位信息查询函数配置模块中与之匹配的函数构造配置与操作数信息;其中函数构造配置信息决定四级处理单元使用倒数器、绝对值器或该四级处理单元不使能直接被跳过;

11、lut查找表运算器,用于接收四级处理单元发送的段位信息和处理结果,并根据段位信息查询函数配置模块中与之匹配的函数构造配置与操作数信息;其中函数构造配置信息决定lut查找表运算器是否被跳过以及lut查找表的表值,lut查找表运算器用于执行幂函数、开根号或三角函数复杂函数的计算。

12、优选的,所述分段函数信息生成模块包括:

13、输入值函数段位判断器,对函数的输入值进行分段函数的分段区间段位判断,输入值函数段位判断器从函数配置模块的分段函数段位与分段值信息中,获取分段函数段位数量n与分段函数的区间分段值,并判断函数输入值所在的段位区间,若在函数的第一段位区间则生成段位区间信息一,并传到段位信息生成器;以此类推,最大段位区间信息为n;

14、段位信息生成器,将输入值函数段位判断器发送的函数区间段位信息附加在函数输入值前部,并组成新的数据通过分段函数信息生成模块的输出端发送到与其相连的函数运算构造模块。

15、优选的,所述一级处理单元包括:

16、模式选择器,从分段函数信息生成模块获取到函数输入值的段位信息后,通过函数配置模块选择并获取与输入值段位匹配的函数构造配置与操作数信息,然后对裁剪器和比较器二选一使能或均不使能,均不使能时直接跳过一级处理单元;

17、裁剪器,在被使能时,从模式选择器获取裁剪器专用操作数a和操作数b,若输入值在操作数a和操作数b之间,则直接将段位信息和输入值转发输出到二级处理单元,若输入值大于操作数a,则将段位信息和操作数a输出到二级处理单元,若输入值大于操作数b,则将段位信息和操作数b输出到二级处理单元;

18、比较器,在被使能时,从模式选择器获取比较器专用操作数,若比较器处于最大值模式,则操作数和输入值取二者的最大值输出到二级处理单元,若比较器处于最小值模式,则操作数和输入值取二者的最小值输出到二级处理单元。

19、优选的,所述一级处理单元内裁剪器,用于实现激活类函数clip的表达式:

20、;

21、其中,y是裁剪器处理后输出到二级处理单元的结果,min是裁剪器专用操作数a,max是裁剪器专用操作数b,max是取最大值函数,min是取最小值函数。

22、优选的,所述一级处理单元内比较器,用于实现算术逻辑类函数max或min的表达式,max为比较器专用操作数与函数输入值比较取最大值输出到二级处理单元,min为比较器专用操作数与函数输入值比较取最小值输出到二级处理单元,max和min两种函数模式在比较器内二选一选通,当函数表达式不需要clip、max或min函数表达式时,一级处理单元能够将输入值直接转发到二级处理单元,一级处理单元内的裁剪器和比较器二选一选通,被选中时会将段位信息附加在数值结果头部并发送到二级处理单元。

23、优选的,所述二级处理单元包括:

24、模式选择器,从一级处理单元获取到段位信息后,通过函数配置模块选择并获取与输入值段位匹配的函数构造配置与操作数信息,然后对乘法器和除法器二选一使能或均不使能,均不使能时直接跳过二级处理单元;

25、乘法器,在被使能时,从模式选择器获取乘法器专用操作数,操作数与一级计算值相乘,得到的乘法结果与段位信息一起输出到三级处理单元;

26、除法器,在被使能时,从模式选择器获取除法器专用操作数,操作数与输入值相除,得到的除法结果与段位信息一起输出到三级处理单元。

27、优选的,所述三级处理单元包括:

28、模式选择器,从二级处理单元获取到段位信息后,通过函数配置模块选择并获取与输入值段位匹配的函数构造配置与操作数信息,然后对加法器和减法器二选一使能或均不使能,均不使能时直接跳过三级处理单元;

29、加法器,在被使能时,从模式选择器获取加法器专用操作数,操作数与二级计算值相加,得到的加法结果与段位信息一起输出到四级处理单元;

30、减法器,在被使能时,从模式选择器获取减法器专用操作数,操作数与输入值相减,得到的减法结果与段位信息一起输出到四级处理单元。

31、优选的,所述四级处理单元包括:

32、模式选择器,从三级处理单元获取到函数输入值的段位信息后,通过函数配置模块选择并获取与输入值段位匹配的函数构造配置与操作数信息,然后对倒数器和绝对值器二选一使能或均不使能,均不使能时直接跳过四级处理单元;

33、倒数器,在被使能时,将三级处理单元发送的计算结果进行倒数处理后与段位信息一起输出到lut查找表运算器;

34、绝对值器,在被使能时,将三级处理单元发送的计算结果进行绝对值处理后与段位信息一起输出到lut查找表运算器。

35、本发明还提供了一种面向卷积神经网络的激活类函数表达式生成方法,用以实现各类卷积神经网络的网络模型中激活层的硬件级加速,采用如上述所述的一种面向卷积神经网络的激活类函数表达式生成器,包括如下步骤:

36、步骤一:根据激活类函数表达式的段位数量,通过上位机软件向函数配置模块发送函数表达式的分段函数段位信息和函数分段临界点的分段值信息,然后根据每个段位的函数表达式计算步骤,配置函数构造配置与操作数信息;

37、步骤二:分段函数信息生成模块通过函数配置模块的分段函数段位与分段值信息对函数的输入值进行判定,生成函数段位信息,并与函数的输入值进行数据组合后输出到函数运算构造模块;

38、步骤三:函数运算构造模块通过解析分段函数信息生成模块发送的组合数据,获取函数的输入值及输入值对应的函数段位信息,内部的一级处理单元、二级处理单元、三级处理单元、四级处理单元和lut查找表运算器根据函数段位信息,查询并获取函数配置模块内与段位相匹配的函数构造配置与操作数信息,函数运算构造模块能够实现n个函数运算构造模块进行串联,以实现函数表达式中所需的所有运算步骤。

39、本发明还提供了一种计算机设备,用于存储并执行如上述所述的一种面向卷积神经网络的激活类函数表达式生成器中的上位机软件,所述上位机软件用于向函数配置模块发送激活函数的构造信息。

40、本发明与现有技术相比,具有如下有益效果:

41、本发明公开一种面向卷积神经网络的激活类函数表达式生成器及生成方法,包括:函数配置模块,用于生成分段函数段位与分段值信息,并对函数运算构造模块发送函数构造配置信息与操作数信息;分段函数信息生成模块根据函数配置模块的信息对函数的输入值生成函数段位信息,并与函数的输入值进行组合后输出到函数运算构造模块;函数运算构造模块可实现n个模块进行串联,实现函数表达式中所需的所有运算步骤,同时,每个函数运算构造模块具有使能开关,若使能关闭,则模块被屏蔽。本发明可以实现面向卷积神经网络的激活层激活函数的灵活配置,通过对三段函数的支持和多函数运算构造模块的级联,可以实现1到3段函数的分段,同时,各段函数的表达式在函数运算构造模块的级联下,可以灵活构造出多样的函数的表达式,以此实现各类卷积神经网络的网络模型中激活层的硬件级加速。


技术特征:

1.一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,包括:

2.如权利要求1所述的一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,所述分段函数信息生成模块包括:

3.如权利要求1所述的一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,所述一级处理单元包括:

4.如权利要求3所述的一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,所述一级处理单元内裁剪器,用于实现激活类函数clip的表达式:

5.如权利要求3所述的一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,所述一级处理单元内比较器,用于实现算术逻辑类函数max或min的表达式,max为比较器专用操作数与函数输入值比较取最大值输出到二级处理单元,min为比较器专用操作数与函数输入值比较取最小值输出到二级处理单元,max和min两种函数模式在比较器内二选一选通,当函数表达式不需要clip、max或min函数表达式时,一级处理单元能够将输入值直接转发到二级处理单元,一级处理单元内的裁剪器和比较器二选一选通,被选中时会将段位信息附加在数值结果头部并发送到二级处理单元。

6.如权利要求1所述的一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,所述二级处理单元包括:

7.如权利要求1所述的一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,所述三级处理单元包括:

8.如权利要求1所述的一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,所述四级处理单元包括:

9.一种面向卷积神经网络的激活类函数表达式生成方法,用以实现各类卷积神经网络的网络模型中激活层的硬件级加速,采用如权利要求1~8任一项所述的一种面向卷积神经网络的激活类函数表达式生成器,其特征在于,包括如下步骤:

10.一种计算机设备,其特征在于,用于存储并执行如权利要求1~8任一项所述的一种面向卷积神经网络的激活类函数表达式生成器中的上位机软件,所述上位机软件用于向函数配置模块发送激活函数的构造信息。


技术总结
本发明公开一种面向卷积神经网络的激活类函数表达式生成器及方法,包括:函数配置模块,用于生成分段函数段位与分段值信息,并对函数运算构造模块发送函数构造配置信息与操作数信息;分段函数信息生成模块根据函数配置模块的信息对函数的输入值生成函数段位信息,并与函数的输入值进行组合后输出到函数运算构造模块;函数运算构造模块可实现N个模块进行串联,实现函数表达式中所需的所有运算步骤,同时,每个函数运算构造模块具有使能开关,若使能关闭,则模块被屏蔽。本发明可以实现面向卷积神经网络的激活层激活函数的灵活配置。

技术研发人员:张辛未,王少华,王凯,杨亮
受保护的技术使用者:中电科申泰信息科技有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-24144.html