一种无乘法神经网络自动设计的边缘设备

文档序号:37464795发布日期:2024-03-28 18:47阅读:8来源:国知局
一种无乘法神经网络自动设计的边缘设备

本发明涉及一种用于神经网络计算的一种边缘设备。


背景技术:

1、边缘设备是指在边缘侧运行神经网络进行训练、推理等计算的设备,其能源和算力都非常有限,在其上运行的神经网络必须要求轻量化、低功耗。现有的边缘神经网络大都通过对标准神经网络进行剪枝、量化等操作来降低参数量,但其底层仍是乘法运算。乘法运算在常见的边缘计算设备安装的芯片(如单片机、fpga等)上执行效率低下,远低于加法、逻辑等运算的执行效率,因此现有的边缘神经网络效率不高,能耗居高不下。为了提高边缘神经网络的执行效率,不得不在边缘计算设备上安装gpu芯片,不但成本高昂,而且体积大、能耗高,无法在能源和空间都有限的场景中应用。

2、为了降低边缘神经网络的计算复杂度和能耗,可以考虑设计不包含乘法等复杂运算符的神经网络,称之为无乘法神经网络。无乘法神经网络层是将输入特征x与网络层权重w进行某种无乘法复合运算,以得到网络层输出y的过程,可表示为

3、

4、其中是一种复合运算,其中不包含乘法运算符,可包含但不限于加法、减法、取符号、最大值、最小值、绝对值、逻辑运算等运算符。通过将无乘法网络层进行堆叠,即可构造边缘无乘法神经网络。由此可见,关键是要设计无乘法复合运算符。

5、已经有一些研究将加法、绝对值、取符号位等运算符组合起来替代乘法运算符,并证明了在保证神经网络精度的前提下可有效降低神经网络的能耗。然而,这些神经网络依赖于人工设计,其前向运算和反向梯度传播公式均需要人工推导,当前成功的案例非常少见。此外,人工设计的无乘法神经网络是否最优也无法判断。

6、由此可见,如何自动化设计高效的无乘法神经网络,并在边缘设备上进行电路实现及部署,当前尚未出现有效的解决方案。


技术实现思路

1、本申请提出一种在边缘设备中应用的无乘法神经网络自动搜索系统,用于对神经网络参数进行优化。首先通过构建无乘法的可扩展运算符搜索空间并对该空间进行搜索获得符号化程序,并且,为了能够进一步提高搜索效率和计算的速度,采用哈希加速算法对搜索获得的符号化程序进行优化,以获得最优的符号化程序;最后在边缘设备中基于优化结果并行电路设计并实现无乘法计算功能。本申请能够提高神经网络在边缘设备中的计算效率以及适应性,能够降低智能算法对于硬件设备的要求并提高算法的适用性。

2、一种边缘设备,包括:无乘法神经网络自动搜索模块和第一运算模块;

3、无乘法神经网络自动搜索模块用于对神经网络参数进行优化,具体包括:

4、第一计算模块,用于构建无乘法神经网络的可扩展运算符搜索空间;

5、第二计算模块,与第一计算模块连接,用于对第一计算模块中构建的可扩展运算符搜索空间结果进行弹性符号化搜索,自动获得用于构建无乘法复合运算符的符号化程序语句;

6、第三计算模块,与第二计算模块连接,使用第一优化算法对弹性符号化搜索结果进行优化,获得第一优化结果;

7、在第三计算模块中还具有第四计算模块,所述第四计算模块中具有第二优化算法,所述第二优化算法对第一优化算法进行加速;

8、第一运算模块用于构建无乘法神经网络及部署边缘设备,包括第五计算模块和第六计算模块,第五计算模块基于所述第一优化结果对其所涉及的运算建立并行电路;第六计算模块用于使用第一优化结果来替换神经网络中的乘法运算以在边缘设备中进行无乘法神经网络运算。

9、可选地,所构建的可运算符搜索空间包括但不限于加法、减法、取符号、最大值、最小值、绝对值、逻辑运算等。

10、可选地,第二计算模块进行的弹性符号化搜索,利用计算机自动搜索获得数量弹性可变的无乘法复合运行程序语句。

11、可选地,第三计算模块中使用的第一优化算法为进化算法,第四计算模块中使用的第二优化算法为适应第一优化算法的哈希加速算法。

12、可选地,第六计算模块中使用优化结果替换神经网络中的乘法运算包含但不限于:使用已有卷积神经网络并使用替换卷积层、使用已有transformer网络并使用替换矩阵乘法运算符、使用已有递归神经网络并使用替换矩阵乘法运算符等。

13、本申请的无乘法神经网络自动搜索系统,能够进一步提高搜索效率和计算的速度,能够提高神经网络在边缘设备中的计算效率以及适应性,能够降低智能算法对于硬件设备的要求并提高算法的适用性。



技术特征:

1.一种边缘设备,其特征在于,所述边缘设备包括:无乘法神经网络自动搜索模块和第一运算模块;

2.根据权利要求1所述的边缘设备,所述可扩展运算符搜索空间包括加法、减法、取符号、最大值、最小值、绝对值、逻辑运算。

3.根据权利要求1所述的边缘设备,所述可扩展运算符搜索空间中所包括的程序数量是弹性可变的。

4.根据权利要求1所述的边缘设备,第三计算模块中使用的所述第一优化算法为进化算法。

5.根据权利要求1所述的边缘设备,第四计算模块中使用的所述第二优化算法为适应所述第一优化算法的哈希加速算法。

6.根据权利要求1所述的边缘设备,所述边缘设备中包括fpga。

7.根据权利要求1所述的边缘设备,所述第六计算模块中使用优化结果替换神经网络中的乘法运算包含:使用已有卷积神经网络并使用替换卷积层、使用已有transformer网络并使用替换矩阵乘法运算符、使用已有递归神经网络并使用替换矩阵乘法运算。

8.根据权利要求1所述的边缘设备,所述并行电路包括:将所执行的程序语句划分执行程序,在先执行的其层次越高,并判断相同执行层次中的程序语句是否可以并行,将可并行的程序语句映射为fpga的并行电路结构。

9.一种使用如权利要求1所述边缘设备的神经网络优化方法,其特征在于,第三计算模块中使用的所述第一优化算法为进化算法,第四计算模块中使用的所述第二优化算法为适应所述第一优化算法的哈希加速算法,所述进化算法包括:

10.根据权利要求9所述的神经网络优化方法,适应所述第一优化算法的哈希加速算法包括:首先随机生成一对x和w,并在整个哈希加速过程中保持不变;对于每个程序,将x和w输入程序中,将计算得到的y作为程序的哈希值,并评估得到其loss值,将哈希值和对应的loss值共同存入哈希表中;对于新生成的程序,首先将x和w输入程序中计算哈希值,并在哈希表中搜索是否有相同的哈希值;如果不存在相同哈希值,则重新训练网络来计算loss值,并添加进哈希表中;如果存在相同哈希值,则将存储的对应loss值取出用来评估程序性能。


技术总结
本申请提出一种无乘法神经网络自动设计的边缘设备,在边缘设备中应用无乘法神经网络进行自动搜索,用于对神经网络参数进行优化。首先通过构建无乘法的可扩展运算符搜索空间并对该空间进行搜索获得符号化程序,并且,为了能够进一步提高搜索效率和计算的速度,采用哈希加速算法对搜索获得的符号化程序进行优化,以获得最优的符号化程序;最后在边缘设备中基于优化结果并行电路设计并实现无乘法计算功能。本申请能够提高神经网络在边缘设备中的计算效率以及适应性,能够降低智能算法对于硬件设备的要求并提高算法的适用性。

技术研发人员:孙彪
受保护的技术使用者:天津大学
技术研发日:
技术公布日:2024/3/27
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1