神经网络的轻量化方法、电子设备及可读存储介质与流程

文档序号:37355059发布日期:2024-03-18 18:39阅读:13来源:国知局
神经网络的轻量化方法、电子设备及可读存储介质与流程

本技术涉及人工智能,尤其涉及一种神经网络的轻量化方法、电子设备及可读存储介质。


背景技术:

1、随着人工智能技术的快速发展,神经网络模型在目标分类、目标识别等计算机视觉领域有着广泛的应用。例如,在相机感知模块中,通过主体检测网络可以感知当前被拍摄对象的属性,例如感知被拍摄对象的类别,类别包括人体、动物、植物或文本等。在神经网络模型的应用过程中,神经网络模型的精度在不断提高,相应的,神经网络模型的复杂度也在逐渐增大,所需的储存空间和运行时间也不断增加,运行效率较低。


技术实现思路

1、本技术提供一种神经网络的轻量化方法、电子设备及可读存储介质。本技术提供的方案可以减少被轻量化神经网络的参数量,即降低其复杂度,节省被轻量化神经网络所需的存储空间,提高被轻量化神经网络运行速度和效率。

2、为达到上述目的,本技术采用如下技术方案:

3、第一方面,提供了一种神经网络的轻量化方法,该方法包括:获取第一神经网络;基于第一神经网络获取第二神经网络,第二神经网络的参数量小于第一神经网络的参数量,第二神经网络的权重基于第一神经网络的权重确定;训练第二神经网络。

4、基于上述方案,第二神经网络的参数量小于第一神经网络,即第二神经网络的复杂度比第一神经网络低,将训练后的第二神经网络部署到端侧可以节省储存空间,第二神经网络在端侧的运行速度和效率也会有所提高。第一神经网络可以是已经训练到收敛的,且精度满足要求的神经网络,因此第二神经网络的权重基于第一神经网络的权重确定,可以使得被训练后的第二神经网络在端侧运行的精度、性能或功耗等满足要求的可能性更大。

5、一种可能的实施方式,第一神经网络包括n个网络块,n大于或等于1;基于第一神经网络获取第二神经网络包括:从n个网络块中采样得到m个神经子网络,m小于或等于n,每个神经子网络的权重基于神经子网络对应的网络块的权重确定,至少一个神经子网络的参数量小于神经子网络对应的网络块的参数量;训练第二神经网络包括:训练m个神经子网络,在训练m个神经子网络时,依次将m个神经子网络中的每个神经子网络同第三神经网络一起训练,第三神经网络为第一神经网络中除被训练的神经子网络对应的网络块之外的其他网络块的集合。

6、基于上述方案,可以设定采样条件从n个网络块中采样得到m个神经子网络,m个神经子网络即第二神经网络,因此获取第二神经网络的速度更快。并且采样到的任一神经子网络是和网络块一起训练,相对于对每个神经子网络都从头开始训练相比,能够降低训练量。第一神经网络可以是第一次被采样的网络,即做轻量化处理前被训练到收敛的神经网络,也可以是在训练一个或多个轮次后,再次被采样的网络,在训练过程中,被训练网络的权重会更新,因此采样到的神经子网络的权重基于被采样的网络块的权重确定的方案,相对于对每个神经子网络都从头开始训练,并在训练过程中更新权重的方案而言,被训练后的神经子网络在端侧部署后运行的精度、性能或功耗要求被满足的可能性更大。

7、一种可能的实施方式,采样得到的m个神经子网络满足以下条件:m个神经子网络中至少有一个神经子网络的层数小于或等于该神经子网络对应的网络块的层数;m个神经子网络中至少有一个神经子网络的通道数小于或等于该神经子网络对应的网络块的通道数;m个神经子网络的输入分辨率与第一神经网络的输入分辨率的比值小于1;m个神经子网络的每秒浮点运算次数flops小于第一神经网络的flops。

8、基于上述方案,在采样的过程中,可以通过减少至少一个网络块的层数和通道数来减少第一神经网络的参数量,以简化第一神经网络的结构,还可以通过降低输入分辨率减少第一神经网络的参数量,这样采样得到的m个神经子网络的flops小于第一神经网络。

9、一种可能的实施方式,若网络块的通道数大于或等于32的倍数,则网络块对应的神经子网络的通道数为32的倍数,这样可以满足某些硬件(例如高通硬件)对通道数的支持;若网络块的通道数小于32,则网络块对应的神经子网络的通道数与网络块的通道数相等。

10、一种可能的实施方式,m大于或等于2,m个神经子网络包括第一神经子网络和第二神经子网络,训练m个神经子网络,包括:在一次迭代(iteration)训练中,将批量大小(batchsize)的训练样本输入第一神经子网络和第一神经网络中除该第一神经子网络对应的网络块之外的其他网络块的集合训练,并将同样的批量大小的训练样本输入第二神经子网络和第一神经网络中除该第二神经子网络对应的网络块之外的其他网络块的集合训练。

11、一种可能的实施方式,该方法还包括:构建强化学习模块,该强化学习模块用于生成从训练后的n个网络块中再次采样m个神经子网络的策略,强化学习模块的状态空间包括被训练过的神经子网络、该神经子网络对应的精度以及该神经子网络对应的推理时延;从n个网络块中采样得到m个神经子网络包括:基于强化学习模块生成的采样策略从训练后的n个网络块中采样得到m个神经子网络。

12、基于上述方案,可以根据训练后的m个神经子网络、训练后的m个神经子网络的精度以及训练后的m个神经子网络的推理时延构建强化学习模块,通过强化学习模块生成采样神经子网络的策略,可以降低训练量。

13、一种可能的实施方式,在构建强化学习模块之前,该方法还包括:训练多个轮次(epoch)后,将训练后的m个神经子网络部署到端侧;向端侧获取被训练后的m个神经子网络的推理时延;评估被训练后的m个神经子网络的精度。

14、基于上述方案,当评估发现训练后的m个神经子网络的推理时延和精度满足要求时,可以将训练好的m个神经子网络部署到端侧使用,当评估发现训练后的m个神经子网络的推理时延和/或精度不满足要求时,可以基于采样策略和上述采样条件进行下一次采样,得到m个神经子网络,继续训练。

15、一种可能的实施方式,强化学习模块包括执行者(actor)网络和评价者(critic)网络,actor网络和critic网络都采用全连接网络结构,actor网络用于将状态空间映射到动作空间,critic网络用于将状态空间映射到值。

16、基于上述方案,状态空间为向量形式,因此采用全连接网络结构,可以使得强化学习模块中的actor网络和critic网络在训练过程中更容易收敛。

17、一种可能的实施方式,全连接网络结构的层数为3。

18、一种可能的实施方式,强化学习模块采用近端策略优化ppo算法。

19、一种可能的实施方式,该方法还包括:在被训练后的m个神经子网络的精度和推理时延满足要求的情况下,将被训练后的m个神经子网络部署到端侧。

20、一种可能的实施方式,该方法还包括:在被训练后的m个神经子网络的精度和/或推理时延不满足要求的情况下,基于被训练后的m个神经子网络的精度和推理时延构建上述状态空间。

21、基于上述方案,若采样得到的m个神经子网络(例如第一次,或前几次采样得到的m个神经子网络)在训练后,若精度和推理时延不满足要求,可以基于得到的精度数据和推理时延数据构建强化学习模块的状态空间,用于强化学习模块生成采样策略,以降低训练量。

22、第二方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时执行第一方面或第一方面中任一种实现方式中进行处理的步骤。

23、第三方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,使处理器执行第一方面或第一方面中任一种方法中进行处理的步骤。

24、第四方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码被电子设备运行时,使得该电子设备执行第一方面或第一方面中任一种方法中进行处理的步骤。

25、其中,第二方面至第四方面的有益效果可以参照第一方面,在此不做赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1