一种基于强化学习的深度神经网络压缩方法技术

技术编号:23191569 阅读:28 留言:0更新日期:2020-01-24 16:30
本发明专利技术公开了一种基于强化学习的深度神经网络压缩方法,步骤S100:基于已训练完成的卷积神经网络,训练强化学习智能体,所述强化学习智能体用于识别网络稀疏性,采用压缩方法对模型进行压缩;步骤S200:对压缩后的模型再次训练,对模型的参数进行优化,得到最终压缩模型。本发明专利技术将庞大而复杂的深度神经网络模型压缩,使压缩后的模型能够在智能家居设备等硬件资源有限的平台上运行,相较于原模型,压缩后的模型不仅存储空间和运算量需求大幅减少,同时模型性能仍保持在原有水平,有助于实现图像识别技术在日常生活中的广泛应用,对提高生活的便利性和安全性。

A deep neural network compression method based on Reinforcement Learning

【技术实现步骤摘要】
一种基于强化学习的深度神经网络压缩方法
本专利技术涉及图像识别
,具体的说,是一种基于强化学习的深度神经网络压缩方法。
技术介绍
在图像识别以及人脸识别领域,利用深度学习技术和卷积神经网络能够达到非常好的识别效果,其识别准确率远高于传统的图像识别方法。在训练过程中,卷积神经网络接收大量的训练图像样本,利用卷积层逐层提取图像中的特征,并通过方向传播算法对网络中的参数进行调整,从而达到最小化输出误差的目的。由于其极高的准确率,深度卷积神经网络逐渐成为了图像识别领域的主流方法。然而,基于深度学习的图像识别方法也存在一些不足之处。首先,针对图像的多层卷积计算在运算过程中带来了很高的计算量。同时,在一个深度神经网络中包含及大量的参数(神经元间的权重、偏移量以及卷积层的参数等,在复杂网络中其总数量可达百万)。因此,常规深度学习模型对设备的计算能力和存储空间具有较高的要求,而目前的智能家居设备往往不能满足深度学习所需的硬件条件,不能直接运行体积巨大但性能很好的深度神经网络模型的问题,以及存在人工对模型进行压缩过程中耗时、且不够灵活的问题。
技术实现思路
本专利技术的目的在于提供一种基于强化学习的深度神经网络压缩方法,用于解决硬件资源受限的智能家居设备上不能直接运行体积巨大但性能很好的深度神经网络模型的问题,还解决了人工对模型进行压缩过程中耗时、且不够灵活的问题。本专利技术通过下述技术方案解决上述问题:一种基于强化学习的深度神经网络压缩方法,包括:步骤S100:基于已训练完成的卷积神经网络,训练强化学习智能体,所述强化学习智能体用于识别网络稀疏性,采用压缩方法对模型进行压缩;步骤S200:对压缩后的模型再次训练,对模型的参数进行优化,得到最终压缩模型。本方法涉及输入模块,用于读取已训练好的卷积神经网络模型,包括网络结构、变量取值、变量索引等信息,作为下一模块的数据来源;强化学习模块,基于已经训练好的卷积神经网络模型,训练出一个能够识别出网络稀疏性的强化学习智能体;压缩模块,借助强化学习智能体对卷积神经网络模型各层的稀疏性进行判断,并结合多种模型压缩方法从不同角度对模型进行压缩;输出模块,对经过压缩后得到的模型再次训练,从而对模型的参数进一步的调整,提高压缩后的模型的准确率,降低模型压缩对性能的影响。将输出模块最终输出的模型应用于智能家居中的图像识别领域场景,在硬件条件受限的情况下最小化输出误差,保持原有模型的性能。进一步地,所述步骤S100训练强化学习智能体的步骤为:步骤S110:载入已训练好的卷积神经网络模型及其网络结构和参数;步骤S120:初始化训练参数:设置网络总层数L、整个模型的目标压缩比例C0、强化学习智能体的行为即对l层的压缩比例,记为Cl,其中l为强化学习智能体当前所在层;步骤S130:强化学习智能体从第l层开始前向通过网络各层,设置初始值l=1,设置对第一层的压缩比例C1=C0;步骤S140:对l层压缩时,先计算该层中每个神经元的输入权值的平均值,将输入权值的平均值从小到大排序,然后根据该层的压缩比例Cl从平均值最小的神经元开始删去神经元;步骤S150:对卷积核进行低秩分解以及模型参数的低位量化;步骤S160:重复步骤S140-步骤S150,重复次数达到设定次数Y后结束,根据当前智能体所在的层数l和当前网络总体压缩比例选择合适的下一层的压缩比例Cl+1;步骤S170:判断:若l<L,l=l+1,返回步骤S140;否则,进入下一步;步骤S180:整个网络被压缩完一次后,计算该次压缩操作的输出总损失值Loss并记录;步骤S190:利用最优策略对原网络模型进行压缩判断压缩后的模型的体积是否满足要求;若不满足,将压缩后的模型作为新的“待压缩模型”再次进行压缩;若满足,进入步骤S200。训练强化学习智能体在模型压缩过程中自行判断各层网络稀疏性,并预测出接下来所需执行的行动。进一步提高模型压缩方法的自动化程度在模型压缩方法方面,本专利技术针对网络中不同方面的冗余,分别结合网络剪枝、低秩分解以及参数量化等多种技术,使网络模型能够被更大程度地压缩,实现在硬件资源受限的设备上运行的可能。本专利技术与现有技术相比,具有以下优点及有益效果:(1)本专利技术将庞大而复杂的深度神经网络模型压缩,使压缩后的模型能够在智能家居设备等硬件资源有限的平台上运行,相较于原模型,压缩后的模型不仅存储空间和运算量需求大幅减少,同时模型性能仍保持在原有水平,有助于实现图像识别技术在日常生活中的广泛应用,对提高生活的便利性和安全性。(2)本专利技术结合强化学习的模型压缩方法,训练强化学习智能体在模型压缩过程中自行判断各层网络稀疏性,并预测出接下来所需执行的行动,进一步提高模型压缩方法的自动化程度和灵活性,代替人工对网络稀疏性进行判断。(3)本专利技术提出一种复合的模型压缩技术,针对网络中不同方面的冗余,分别结合网络剪枝、低秩分解以及参数量化等多种技术,从多角度分别对模型的计算量和占用存储空间进行压缩,相较于采用单一的压缩技术能在保证模型准确度的情况下提高模型压缩比例,从而使压缩后的模型能在资源受限的设备上运行。具体实施方式首先,在对本申请的具体实施方式进行介绍之前,首先对现有技术中常用的模型压缩方法进行说明:常用的模型压缩方法可归类为网络修剪、低秩分解、迁移/压缩卷积滤波器、知识蒸馏和网络量化等几大类,其中,网络修剪的主要思想为:在一个已经训练好的模型中,根据一定标准判断各个神经元的重要程度,在模型压缩过程中可以将重要性相对较低的神经元从网络中移除,从而得到一个更少神经元的网络,最后再对精简后的网络进行进一步训练,调整余下的参数。低秩分解或低秩近似将权值矩阵分解为多个秩更小的矩阵,即把一个方形矩阵用为两个向量的乘积来近似表示,从而实现减少参数数量的目的。迁移卷积滤波器利用一组基础卷积滤波器构建出网络所需的各个卷积滤波器,因此只需要在系统中保存少量的基本滤波器,模型中所需的卷积滤波器都可以通过基本滤波器的线性组合来近似表示。知识蒸馏参考了迁移学习的思路,在训练结构更加简单的小型网络的过程中,将已训练好的复杂网络的输出作为监督信号,从而实现对小型网络训练过程的“指导”。网络量化主要用于压缩各个权值的表示长度,例如二值量化将浮点数权值均用简单的两个定值(如仅用0和1)来表示,大大减少了存储权值所需的空间。下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例1:一种基于强化学习的深度神经网络压缩方法,包括:步骤S100:基于已训练完成的卷积神经网络,训练强化学习智能体,所述强化学习智能体用于识别网络稀疏性,采用压缩方法对模型进行压缩;步骤S200:对压缩后的模型再次训练,对模型的参数进行优化,得到最终压缩模型。本方法涉及输入模块,用于读取已训练好的卷积神经网络模型,包本文档来自技高网...

【技术保护点】
1.一种基于强化学习的深度神经网络压缩方法,其特征在于,包括:/n步骤S100:基于已训练完成的卷积神经网络,训练强化学习智能体,所述强化学习智能体用于识别网络稀疏性,采用压缩方法对模型进行压缩;/n步骤S200:对压缩后的模型再次训练,对模型的参数进行优化,得到最终压缩模型。/n

【技术特征摘要】
1.一种基于强化学习的深度神经网络压缩方法,其特征在于,包括:
步骤S100:基于已训练完成的卷积神经网络,训练强化学习智能体,所述强化学习智能体用于识别网络稀疏性,采用压缩方法对模型进行压缩;
步骤S200:对压缩后的模型再次训练,对模型的参数进行优化,得到最终压缩模型。


2.根据权利要求1所述的一种基于强化学习的深度神经网络压缩方法,其特征在于,所述步骤S100训练强化学习智能体的步骤为:
步骤S110:载入已训练好的卷积神经网络模型及其网络结构和参数;
步骤S120:初始化训练参数:设置网络总层数L、整个模型的目标压缩比例C0、强化学习智能体的行为即对l层的压缩比例,记为Cl,其中l为强化学习智能体当前所在层;
步骤S130:强化学习智能体从第l层开始前向通过网络各层,设置初始值l=1,设置对第一层的压缩比...

【专利技术属性】
技术研发人员:胡章一彭凝多唐博
申请(专利权)人:四川虹微技术有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1