循环神经网络的量化推理方法及装置、电子设备、存储介质与流程
- 国知局
- 2024-07-31 23:14:50
本技术涉及神经网络,特别涉及一种循环神经网络的量化推理方法及装置、电子设备、计算机可读存储介质。
背景技术:
1、随着技术的发展,循环神经网络在自然语言处理、机器翻译、语音识别等领域得到广泛的应用。当循环神经网络在嵌入式设备中运行时,往往由于其量化推理过程过于复杂,难以同时保证循环神经网络的量化精度和推理速度。
2、针对上述问题,相关方案中一般通过将循环神经网络拆分为基础模块,然后分别对每个模块单独进行量化,使用全定点运算完成循环神经网络的计算过程。
3、然而,相关方案需要统计循环神经网络中各个模块的输入scale(缩放因子)、输出scale和权重scale(部分模块包含权重),且每个模块在定点计算后还需要与对应的scale进行计算,以对数据进行重量化,整个量化推理过程非常复杂。此外,虽然使用全定点运算可以减少耗时,但是对各个模块的数据重量化过程仍然比较耗时,且在某些场景下“定点+重量化”的方式可能比直接使用浮点运算更加耗时,此时,当输入特征的维度较大时,整个循环神经网络的推理速度难以满足需求。
技术实现思路
1、本技术实施例的目的在于提供一种循环神经网络的量化推理方法及装置、电子设备、存储介质,用于减少循环神经网络在计算过程中的重量化步骤,从而简化量化推理过程,降低计算耗时,提高计算效率。
2、一方面,本技术提供了一种循环神经网络的量化推理方法,包括:
3、将t时刻的定点输入参数输入第一全连接层,获得第一全连接结果;其中,t为正整数,所述第一全连接层的第一权重和第一偏置为定点数;
4、基于循环神经网络的输入缩放因子、所述第一全连接层的权重缩放因子和第一指定常数,将所述第一全连接结果重量化为第一定点数;其中,所述第一指定常数作为所述第一全连接层的输出缩放因子;
5、将t-1时刻的定点隐藏状态输入第二全连接层,获得第二全连接结果;其中,所述第二全连接结果的第二权重和第二偏置为定点数;
6、基于循环神经网络的输出缩放因子、所述第二全连接层的权重缩放因子和第二指定常数,将所述第二全连接结果重量化为第二定点数;其中,所述第二指定常数作为所述第二全连接层的输出缩放因子;
7、将所述第一定点数和所述第二定点数进行融合处理,获得t时刻的定点隐藏状态;
8、每当t时刻为循环神经网络的输出时刻,将t时刻的定点隐藏状态反量化为浮点隐藏状态,作为t时刻的输出结果。
9、在一实施例中,所述循环神经网络为rnn,所述将所述第一定点数和所述第二定点数进行融合处理,获得t时刻的定点隐藏状态,包括:
10、将所述第一定点数和所述第二定点数相加,得到目标定点数;
11、通过查表法以激活函数对所述目标定点数进行计算,得到t时刻的定点隐藏状态。
12、在一实施例中,所述循环神经网络为gru,所述第一定点数包括第一重置参数、第一更新参数和第一新鲜参数,所述第二定点数包括第二重置参数、第二更新参数和第二新鲜参数;
13、所述将所述第一定点数和所述第二定点数进行融合处理,获得t时刻的定点隐藏状态,包括:
14、将所述第一重置参数与所述第二重置参数相加,得到第一中间定点数;
15、将所述第一更新参数与所述第二更新参数相加,得到第二中间定点数;
16、根据所述第一中间定点数、所述第二中间定点数、所述第一新鲜参数和所述第二新鲜参数,确定第一子状态和第二子状态;
17、将所述第一子状态和所述第二子状态相加,得到t时刻的定点隐藏状态。
18、在一实施例中,所述根据所述第一中间定点数、所述第二中间定点数、所述第一新鲜参数和所述第二新鲜参数,确定第一子状态和第二子状态,包括:
19、通过查表法以激活函数对第一中间定点数进行计算,得到第一定点函数值;
20、通过查表法以激活函数对第二中间定点数进行计算,得到第二定点函数值;
21、根据所述第一定点函数值和所述第二新鲜参数,确定第三中间定点数;
22、根据所述第三中间定点数和所述第一新鲜参数,确定第四中间定点数;
23、根据所述第四中间定点数、所述第二定点函数值和t-1时刻的定点隐藏状态,确定第一子状态和第二子状态。
24、在一实施例中,所述根据所述第四中间定点数、所述第二定点函数值和t-1时刻的定点隐藏状态,确定第一子状态和第二子状态,包括:
25、通过查表法以激活函数对第四中间定点数进行计算,得到第三定点函数值;
26、根据所述第二定点函数值和所述第三定点函数值,确定第一子状态;
27、根据所述第二定点函数值和t-1时刻的定点隐藏状态,确定第二子状态。
28、在一实施例中,所述第一全连接结果包括第一全连接重置值、第一全连接更新值、第一全连接新鲜值;
29、所述基于循环神经网络的输入缩放因子、所述第一全连接层的权重缩放因子和第一指定常数,将所述第一全连接结果重量化为第一定点数,包括:
30、根据所述输入缩放因子、所述第一全连接层的权重缩放因子和第一指定常数,将所述第一全连接重置值重量化为第一重置参数;
31、根据所述输入缩放因子、所述第一全连接层的权重缩放因子和第一指定常数,将所述第一全连接更新值重量化为第一更新参数;
32、根据所述输入缩放因子、所述第一全连接层的权重缩放因子和第一指定常数,将所述第一全连接新鲜值重量化为第一新鲜参数。
33、在一实施例中,所述第二全连接结果包括第二全连接重置值、第二全连接更新值、第二全连接新鲜值;
34、所述基于循环神经网络的输出缩放因子、所述第二全连接层的权重缩放因子和第二指定常数,将所述第二全连接结果重量化为第二定点数,包括:
35、根据所述输出缩放因子、所述第二全连接层的权重缩放因子和第二指定常数,将所述第二全连接重置值重量化为第二重置参数;
36、根据所述输出缩放因子、所述第二全连接层的权重缩放因子和第二指定常数,将所述第二全连接更新值重量化为第二更新参数;
37、根据所述输出缩放因子、所述第二全连接层的权重缩放因子和第二指定常数,将所述第二全连接新鲜值重量化为第二新鲜参数。
38、另一方面,本技术提供了一种循环神经网络的量化推理装置,包括:
39、第一全连接模块,用于将t时刻的定点输入参数输入第一全连接层,获得第一全连接结果;其中,t为正整数,所述第一全连接层的第一权重和第一偏置为定点数;
40、第一重量化模块,用于基于循环神经网络的输入缩放因子、所述第一全连接层的权重缩放因子和第一指定常数,将所述第一全连接结果重量化为第一定点数;其中,所述第一指定常数作为所述第一全连接层的输出缩放因子;
41、第二全连接模块,用于将t-1时刻的定点隐藏状态输入第二全连接层,获得第二全连接结果;其中,所述第二全连接结果的第二权重和第二偏置为定点数;
42、第二重量化模块,用于基于循环神经网络的输出缩放因子、所述第二全连接层的权重缩放因子和第二指定常数,将所述第二全连接结果重量化为第二定点数;其中,所述第二指定常数作为所述第二全连接层的输出缩放因子;
43、融合模块,用于将所述第一定点数和所述第二定点数进行融合处理,获得t时刻的定点隐藏状态;
44、反量化模块,用于每当t时刻为循环神经网络的输出时刻,将t时刻的定点隐藏状态反量化为浮点隐藏状态,作为t时刻的输出结果。
45、进一步的,本技术提供了一种电子设备,所述电子设备包括:
46、处理器;
47、用于存储处理器可执行指令的存储器;
48、其中,所述处理器被配置为执行上述循环神经网络的量化推理方法。
49、此外,本技术提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述循环神经网络的量化推理方法。
50、本技术方案,循环神经网络全定点运行的过程中,只在计算第一定点数和第二定点数的过程中存在少数量化和重量化计算,这种情况下仅需获取循环神经网络的输入缩放因子和输出缩放因子、以及第一全连接的权重缩放因子和第二全连接的权重缩放因子,无需关注其它计算过程中的缩放因子,大大简化了量化推理过程,降低了计算耗时,从而可以提高计算效率。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196618.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。