CN113657592A - 一种软件定义卫星自适应剪枝模型压缩方法 - Google Patents
一种软件定义卫星自适应剪枝模型压缩方法 Download PDFInfo
- Publication number
- CN113657592A CN113657592A CN202110867988.1A CN202110867988A CN113657592A CN 113657592 A CN113657592 A CN 113657592A CN 202110867988 A CN202110867988 A CN 202110867988A CN 113657592 A CN113657592 A CN 113657592A
- Authority
- CN
- China
- Prior art keywords
- pruning
- ith
- network model
- pruned
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013138 pruning Methods 0.000 title claims abstract description 260
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000006835 compression Effects 0.000 title claims abstract description 37
- 238000007906 compression Methods 0.000 title claims abstract description 37
- 230000002787 reinforcement Effects 0.000 claims abstract description 100
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 59
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 230000003044 adaptive effect Effects 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 239000004576 sand Substances 0.000 claims description 2
- 230000001133 acceleration Effects 0.000 abstract description 2
- 230000009471 action Effects 0.000 description 32
- 239000003795 chemical substances by application Substances 0.000 description 23
- 238000013461 design Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000002567 autonomic effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
本申请实施例提供一种软件定义卫星自适应剪枝模型压缩方法,该方法包括:获取第i待剪枝深度网络模型;获取第i待剪枝深度网络模型中各层的初始状态,其中,初始状态表示第i次循环对应的各层的属性特征,输入层对应的初始状态至少与预设的初始剪枝比相关,各剩余层中初始状态至少与确定的上一层的剪枝比相关;将初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比;重复上述过程直至满足循环终止条件,得到各层的目标剪枝比;基于目标剪枝比对待剪枝深度网络模型进行压缩,获得目标深度网络模型,能够实现自动设置剪枝比来压缩模型,从而实现加快模型的计算速度。
Description
技术领域
本申请实施例涉及深度网络模型压缩领域,具体涉及一种软件定义卫星自适应剪枝模型压缩方法。
背景技术
相关技术中,在模型压缩的过程中,通常使用剪枝比来对模型进行剪枝,以达到精简模型的目的。在传统的剪枝方法中,将网络模型中的每一层手工设置固定的剪枝比,但随着网络模型层数的增加,以及网络模型越来越复杂的情况下,设置固定的剪枝比已经不能满足要求。
因此,如何使用进一步改善剪枝比来压缩神经网络模型成为亟待解决的问题。
发明内容
本申请实施例提供一种软件定义卫星自适应剪枝模型压缩方法,通过本申请的一些实施例至少能够实现为深度网络模型中的多层自动设置差异化的剪枝比来压缩模型,从而实现在保证训练得到的深度网络的模型精度的同时提高运算速度和运算效率,降低存储剪枝后得到的目标深度网络模型的存储空间。
第一方面,本申请实施例提供一种软件定义卫星自适应剪枝模型压缩方法,所述方法包括:获取第i待剪枝深度网络模型,其中,i的取值范围为[1,N],N为预先设定的最大循环次数;获取所述第i待剪枝深度网络模型中各层的初始状态,其中,所述初始状态表示第i次循环对应的各层的属性特征,所述第i待剪枝深度网络模型包括:输入层和各剩余层,所述输入层对应的初始状态至少与预设的初始剪枝比相关,所述各剩余层中初始状态至少与确定的上一层的剪枝比相关;将所述初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比;重复上述过程直至满足循环循环终止条件,得到所述各层的目标剪枝比;基于所述目标剪枝比对所述待剪枝深度网络模型进行压缩,获得目标深度网络模型。
因此,本申请实施例通过强化学习剪枝模型,能够自动学习出待剪枝深度网络模型中各层的目标剪枝比,相对于现有技术中手工设计固定的剪枝比而言,本申请实施例能够在保证待剪枝深度网络模型精度和运算效率的同时,实现对待剪枝深度网络模型的自动压缩,从而能够提升运算效率,降低存储空间。
结合第一方面,在一种实施方式中,所述将所述初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比之后,所述方法还包括:根据所述第i剪枝比和奖赏函数,获得第i奖赏值;根据所述强化学习剪枝模型和所述第i奖赏值确定第i+1剪枝比;或者,确认所述第i奖赏值满足所述循环循环终止条件,则将所述第i剪枝比作为所述目标剪枝比。
因此,本申请实施例根据第i剪枝比和奖赏函数获取得到第i奖赏值,进而使得强化学习剪枝模型能够根据第i奖赏值调整下次输出的动作(即下次的剪枝比),修正强化学习剪枝模型输出的动作(即每次循环中各层的剪枝比),直至获得各层目标剪枝比。
结合第一方面,在一种实施方式中,所述根据所述第i剪枝比和奖赏函数,获得第i奖赏值,包括:根据所述第i剪枝比对所述第i待剪枝深度网络模型进行剪枝,获得第i+1待剪枝深度网络模型;根据验证数据集对所述第i+1待剪枝深度网络模型进行验证,获得所述第i+1待剪枝深度网络模型对应的第i精度;至少根据所述第i精度和所述奖赏函数,获得所述第i奖赏值。
因此,本申请实施例通过对循环中剪枝完成的第i+1待剪枝深度网络模型的精度进行验证,能够满足对精度要求较高的网络剪枝操作,从而保证被剪枝后的目标深度网络模型的精度。
结合第一方面,在一种实施方式中,所述奖赏函数与所述第i精度和所述第i+1待剪枝深度网络模型的总浮点运算次数相关。
因此,本申请实施例通过第i精度和第i+1待剪枝深度网络模型的总浮点运算次数来计算第i奖赏值,能够在既对模型精度要求较高且计算资源受限的场景中的网络模型进行剪枝,从而保证被剪枝后的目标深度网络模型的精度和减低总浮点运算次数,从而能够提升运算效率,降低存储空间。
结合第一方面,在一种实施方式中,所述第i精度与所述第i奖赏值呈正比,且所述第i+1待剪枝深度网络模型的总浮点运算次数与所述第i奖赏值呈反比。
因此,本申请实施例中,使第i精度与第i奖赏值呈正比,能够保证第i奖赏值与第i精度处于一个趋势(即精度上升的同时,第i奖赏值也处于增强的奖励机制),使总浮点运算次数与第i奖赏值呈反比,能够保证第i奖赏值与总浮点运算次数处于相反趋势(即总浮点运算次数降低时,第i奖赏值处于增强的奖励机制)。
结合第一方面,在一种实施方式中,所述奖赏函数由如下公式(1)表示:
R=-α(1-acc)×log(FLOPs×β) (1)
其中,R表示所述第i奖赏值,acc表示所述第i精度,表示所述第i+1待剪枝深度网络模型的总浮点运算次数,表示统一精度数量级的第一常数,表示统一所述总浮点运算次数数量级的第二常数。
因此,本申请实施例通过公式(1),计算得到既能够保证精度又能够降低总浮点运算次数的第i奖赏值,从而能够提升运算效率,降低存储空间,同时,由于第i精度和第i+1待剪枝深度网络模型的总浮点运算次数的数量级相差较大,为保证计算得到的第i奖赏值能够同时保证模型的精度和运算效率,所以在公式(1)中使用第一常数和第二常数统一数量级。
结合第一方面,在一种实施方式中,通过所述强化学习剪枝模型获取的所述第i剪枝比的范围位于[0.2,0.8]。
因此,本申请实施例通过为第i剪枝比设定范围,能够实现同时保证模型的精度和运算效率。
结合第一方面,在一种实施方式中,第j层的初始状态还包括:第j层对应的层数编号、输入所述第j层的卷积核个数、所述第j层的输出卷积核个数、所述第j层的卷积核量级和所述第j层的浮点运算次数,其中,j的取值范围数据[1,K],K为所述第i待剪枝深度网络模型的总层数。
因此,本申请实施例通过初始状态中特征,用于表达各层网络的信息,同时深度网络模型中的信息需要通过初始状态中的特征去确定。
结合第一方面,在一种实施方式中,所述强化学习剪枝模型的是基于深度确定性策略梯度DDPG算法实现的。
因此,本申请实施例通过设计DDPG的深度网络,将Actor作为策略函数,使用深度网络Critic作为价值函数,能够改善强化学习难收敛的问题。
第二方面,本申请实施例提供一种软件定义卫星自适应剪枝模型压缩装置,所述装置包括:待剪枝模型获取单元,被配置为获取第i待剪枝深度网络模型,其中,i的取值范围为[1,N],N为预先设定的最大循环次数;初始状态获取单元,被配置为获取所述第i待剪枝深度网络模型中各层的初始状态,其中,所述初始状态表示第i次循环对应的各层的属性特征,所述第i待剪枝深度网络模型包括:输入层和各剩余层,所述输入层对应的初始状态至少与预设的初始剪枝比相关,所述各剩余层中初始状态至少与确定的上一层的剪枝比相关;剪枝比计算单元,被配置为将所述初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比;循环终止单元,被配置为重复上述过程直至满足循环循环终止条件,得到所述各层的目标剪枝比;模型压缩单元,被配置为基于所述目标剪枝比对所述待剪枝深度网络模型进行压缩,获得目标深度网络模型。
结合第二方面,在一种实施方式中,所述剪枝比计算单元还被配置为:根据所述第i剪枝比和奖赏函数,获得第i奖赏值;根据所述强化学习剪枝模型和所述第i奖赏值确定第i+1剪枝比;或者,确认所述第i奖赏值满足所述循环循环终止条件,则将所述第i剪枝比作为所述目标剪枝比。
结合第二方面,在一种实施方式中,所述剪枝比计算单元还被配置为:根据所述第i剪枝比对所述第i待剪枝深度网络模型进行剪枝,获得第i+1待剪枝深度网络模型;根据验证数据集对所述第i+1待剪枝深度网络模型进行验证,获得所述第i+1待剪枝深度网络模型对应的第i精度;至少根据所述第i精度和所述奖赏函数,获得所述第i奖赏值。
结合第二方面,在一种实施方式中,所述奖赏函数与所述第i精度和所述第i+1待剪枝深度网络模型的总浮点运算次数相关。
结合第二方面,在一种实施方式中,所述第i精度与所述第i奖赏值呈正比,且所述第i+1待剪枝深度网络模型的总浮点运算次数与所述第i奖赏值呈反比。
结合第二方面,在一种实施方式中,所述奖赏函数由如下公式(1)表示:
R=-α(1-acc)×log(FLOPs×β) (1)
其中,R表示所述第i奖赏值,acc表示所述第i精度,表示所述第i+1待剪枝深度网络模型的总浮点运算次数,表示统一精度数量级的第一常数,表示统一所述总浮点运算次数数量级的第二常数。
结合第二方面,在一种实施方式中,通过所述强化学习剪枝模型获取的所述第i剪枝比的范围位于[0.2,0.8]。
结合第二方面,在一种实施方式中,所述初始状态还包括:第j层的初始状态还包括:第j层对应的层数编号、输入所述第j层的卷积核个数、所述第j层的输出卷积核个数、所述第j层的卷积核量级和所述第j层的浮点运算次数,其中,j的取值范围数据[1,K],K为所述第i待剪枝深度网络模型的总层数。
结合第二方面,在一种实施方式中,所述强化学习剪枝模型的是基于深度确定性策略梯度DDPG算法实现的。
第三方面,一种软件定义卫星自适应剪枝模型压缩方法,所述方法包括:获取根据第一方面及其实施方式中任一项所述的目标深度网络模型;将所述目标深度网络模型上注至目标卫星。
第四方面,一种软件定义卫星自适应剪枝模型压缩装置,所述装置包括:第一获取单元,被配置为获取根据第一方面及其实施方式中任一项所述的目标深度网络模型;上注单元,将所述目标深度网络模型上注至目标卫星。
第五方面,一种软件定义卫星自适应剪枝模型压缩方法,所述方法包括:获取根据第一方面及其实施方式中任一项所述的目标深度网络模型对应的上注数据;根据所述上注数据将所述目标深度网络模型在目标卫星上进行部署。
第六方面,一种软件定义卫星自适应剪枝模型压缩装置,所述装置包括:第二获取单元,被配置为获取根据第一方面及其实施方式中任一项所述的目标深度网络模型对应的上注数据;部署单元,被配置为根据所述上注数据将所述目标深度网络模型在目标卫星上进行部署。
第七方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线;所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如第一方面及实施方式中任一项所述方法。
第八方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时用于实现如第一方面及实施方式中任一项所述方法。
附图说明
图1为本申请实施例示出的剪枝模型压缩方法应用场景图;
图2为本申请实施例示出的剪枝模型压缩方法实施流程;
图3为本申请实施例示出的一种DDPG算法的选择过程;
图4为本申请实施例示出的剪枝模型压缩装置;
图5为本申请实施例示出的一种电子设备。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对附图中提供的本申请的实施例的详情描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护范围。
相关技术的深度网络模型剪枝的方法虽然能够达到模型压缩的目的,但是基于手工设计的剪枝比的压缩方法不够智能化。由于深度网络模型的每一层具有不同的结构,不应该使用统一的规则去压缩每一层,不同的网络层应该使用不同的规则。除此之外,对于层数较多的深度网络模型,如果手动设计模型每一层的压缩规则,显然是耗时的,而且表现是次优的。因此本申请的一些实施例提出一种自动化的压缩方式对深度网络模型进行压缩,以提高模型的工程效率。随着深度网络模型的层数增加,设计空间具有指数复杂度,这是无法通过手工设计的基于规则的方法解决的。
针对上述问题,本申请的一些实施例旨在寻找出一种自适应的压缩策略适用于任意的网络。与手工设计规则相比,本申请一些实施例提供的自适应的压缩策略具有更高的精度,可以节省更多的内存空间,提高深度网络模型的计算效率和节省深度网络模型传输时间。本申请的一些实施例将强化学习(即强化学习剪枝模型)与剪枝相结合,在保证模型精度不受损失的情况下提高模型压缩效率,加快模型的运算速度并减小模型的存储空间。
在本申请一些实施例提供的强化学习剪枝模型算法中,强化学习相比于监督学习和无监督学习具有不可代替的作用,它可用于自主决策问题,智能体agent输入状态St和奖赏值reward,智能体会自主学习并返回动作action。强化学习在模型压缩领域具有很好的应用前景,利用强化学习自主设计一套有效的压缩策略用于剪枝,这种基于强化学习学习出的压缩策略(即剪枝比),要优于基于手动设计的压缩策略。本申请的一些实施例通过引入强化学习的方法,将基于手工设计的剪枝比改为基于强化学习自动学习的剪枝比。
下面结合附图详细描述本申请实施例中的方法步骤。
本申请实施例可以应用于多种模型剪枝的场景中,例如,如图1所示,这些场景包括地面电子设备110在对第i待剪枝深度网络模型进行剪枝后,将目标深度网络模型上注到卫星120上的场景。例如,卫星120需要地面电子设备110上注的深度网络模型进行图像识别,由于卫星120的存储空间有限且计算资源有限,那么需要将待剪枝深度网络模型在地面电子设备110进行剪枝后,再部署到卫星120。之后卫星120再使用目标深度网络模型进行图像识别。
至少为了解决上述问题,本申请实施例提供一种使用强化学习剪枝模型学习得到的目标剪枝比,对待剪枝深度网络模型进行压缩,获得目标深度网络模型的方法,能够在保证待剪枝深度网络模型精度和运算效率的同时,实现自动压缩模型,从而能够提升运算效率,降低存储空间。可以理解的是,本申请实施例的应用场景不限于此。
下文将描述由地面装置(例如,地面上部署的多台电子设备)执行的一种模型剪枝的方法,如图2所示,模型剪枝的方法包括:S210,获取第i待剪枝深度网络模型;S220,获取第i待剪枝深度网络模型中各层的初始状态;S230,将初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比;S240,重复上述过程直至满足循环循环终止条件,得到各层的目标剪枝比;S250,基于目标剪枝比对待剪枝深度网络模型进行压缩,获得目标深度网络模型。
下文示例阐述S210。
S210,获取第i待剪枝深度网络模型。
可以理解的是,在开始第1次循环的时候,对应的第1待剪枝深度网络模型是已经训练完成的具备某一任务执行能力的深度网络模型,其中,第1待剪枝深度网络模型的层数、各层的参数和属性以及执行任务的精度均已获得。例如,训练得到的用于目标识别的第1待剪枝深度网络模型,或者目标跟踪的第1待剪枝深度网络模型。
需要说明的是,第1待剪枝深度网络模型可以是具有任何功能的网络模型,可以是语义识别深度网络模型,可以是图像识别深度网络模型,也可以是图像分割深度网络模型。本申请实施例不限于此。
在开始第2次、第3次直至第N次循环的时候,分别对应获取的第2待剪枝深度网络模型、第3待剪枝深度网络模型直至第N待剪枝深度网络模型,均是根据上一次循环中各层的剪枝比,剪枝完成的深度网络模型。
由于S210涉及的待剪枝网络模型需要在存储空间、计算资源均首先的星上部署,因此需要对训练得到的深度网络模型进行以下剪枝操作。
下文示例性阐述S220。
S220,获取第i待剪枝深度网络模型中各层的初始状态。
在一种实施方式中,初始状态表示第i次循环对应的各层的属性特征,包括:输入层和各剩余层,输入层对应的初始状态至少与预设的初始剪枝比相关,各剩余层的初始状态至少与确定的上一层的剪枝比相关。
在一种实施方式中,第j层的初始状态还包括:第j层对应的层数编号、输入所述第j层的卷积核个数、所述第j层的输出卷积核个数、所述第j层的卷积核量级和所述第j层的浮点运算次数,其中,j的取值范围数据[1,K],K为所述第i待剪枝深度网络模型的总层数。
在每次循环开始时,电子设备获取待剪枝深度网络模型中各层(即输入层、所有隐藏层和输出层)的初始状态St。作为一种实施例,St=(t,cin.cout,w,h,keranl,FLOPscur,FLOPsbef,FLOPsrest,at-1),其中,t表示第j层对应的层数编号,j的范围为[1,K],cin表示输入所述第j层的卷积核个数,cout表示第j层的输出卷积核个数,kernal表示第j层的卷积核量级,卷积核的量级为kernal*kernal,FLOPscur表示第j层的浮点运算次数,FLOPsbef表示在第j层之前所有层的浮点运算次数累加,FLOPsrest表示第j层之后所有层的,at-1表示上一层的剪枝比。
作为一种实施例,在第1次循环开始的时候,获取第i待剪枝深度网络模型中各层的初始状态,包括:获取第1待剪枝深度网络模型中各层的初始状态。具体的,若第1待剪枝深度网络模型包括3层网络(即j=3),那么获取的第1层的初始状态中的属性特征包括:第1层(即输入层)对应的层数编号1、输入第1层的卷积核个数3、第1层的输出卷积核个数2、第1层的卷积核量级1×1,第1层的浮点运算次数10E3,在第1层之前所有层的浮点运算次数累加0,第2层和第3层浮点运算次数的和,上一层的剪枝比0.8(由于第1层没有上一层,所以第一层的at-1为预设的值)。
获取的第2层的初始状态中的属性特征包括:第2层(即剩余层中的隐藏层)对应的层数编号2、输入第2层的卷积核个数3、第2层的输出卷积核个数2、第2层的卷积核量级1×1,第2层的浮点运算次数10E2,在第2层之前所有层的浮点运算次数累加10E3(即第1层的浮点运算次数),第3层浮点运算次数,上一层的剪枝比0.2(即第1层的剪枝比0.2)。
获取的第3层的初始状态中的属性特征包括:第3层(即剩余层中的输出层)对应的层数编号3、输入第3层的卷积核个数3、第3层的输出卷积核个数2、第3层的卷积核量级1×1,第3层的浮点运算次数10E2,在第3层之前所有层的浮点运算次数累加10E3+10E2(即第1层和第2层的浮点运算次数之和),上一层的剪枝比0.5(即第2层的剪枝比0.5)。
需要说明的是,输入层对应的初始状态包括两种示例。第一种示例,第1次循环时,输入层对应的初始状态包括预设的初始剪枝比(例如:预设的初始剪枝比为0.8);第二种示例,对于第2次、第3次直至第N次循环时输入层的初始状态是根据上一次循环确定的本层的剪枝比(例如:上一次循环最后一层的剪枝比为0.2,那么本次循环输入层的剪枝比就为0.2),可以理解的是,执行第N次循环后能够获得各层的目标剪枝比,N为系统设置的最大循环次数。
剩余层包括所有隐藏层和输出层(例如:10层隐藏层和一层输出层),各剩余层中初始状态至少与本次循环确定的上一层的剪枝比相关。具体为,第i次循环对应的初始状态是通过强化学习剪枝模型经过第i次循环确定的上一层的剪枝比,例如:第三隐藏层是与第二隐藏层相邻的层,那么第二隐藏层是第三隐藏层的上一层,第三隐藏层的初始状态包括的上一层剪枝比,就等于第二隐藏层的剪枝比。
初始状态中包括的属性特征主要用于区别各层的信息,各层的信息需要通过初始状态中的属性特征表示。
作为一种实施例,在第1次循环中(此时i=1),输入层的初始状态中的at-1=0.8(即预设的初始剪枝比),经过强化学习剪枝模型获得第一隐藏层的推荐剪枝比(在第M次循环中各层得到的剪枝比,M为大于或等于1且小于N的整数)=0.3,那么,在获取第二隐藏层的初始状态的时候,第二隐藏层的at-1=0.3,即第二隐藏层的初始状态与上一层(第一隐藏层)的剪枝比相关。
作为另一种实施例,在第1次循环中最后一层的剪枝比为0.5,在第2次循环中(此时i=2),输入层的初始状态中的at-1=0.5(与第1次循环中最后一层的剪枝比相同),经过强化学习剪枝模型获得第一隐藏层的推荐剪枝比为0.4,那么,在获取第二隐藏层的初始状态的时候,第二隐藏层的at-1=0.4。
需要说明的是,对于初始状态,为了强化学习智能体的收敛,在本申请的一些实施例中需要将初始状态中的各属性量化到[0,1]之间。
下文示例性阐述S230的实施方式。
S230,将初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比。
需要说明的是,第i剪枝比实际上是一个集合,包括了经过第i次循环后得到的各层的剪枝比。
在一种实施方式中,S230之后包括:根据第i剪枝比和奖赏函数,获得第i奖赏值;根据强化学习剪枝模型和第i奖赏值确定第i+1剪枝比;或者,确认第i奖赏值满足循环循环终止条件,则将第i剪枝比作为目标剪枝比。
在一种实施方式中,根据第i剪枝比对第i待剪枝深度网络模型进行剪枝,获得第i+1待剪枝深度网络模型;根据验证数据集对第i+1待剪枝深度网络模型进行验证,获得第i+1待剪枝深度网络模型对应的第i精度;至少根据第i精度和奖赏函数,获得第i奖赏值。
在根据S220中描述的方法获得初始状态之后,在第i次循环中,将各层的初始状态输入强化学习剪枝模型中,获得第i待剪枝深度网络模型的所有层对应的第i剪枝比,使用第i剪枝比对各层进行剪枝,获得第i+1待剪枝深度网络模型,再使用验证集对第i+1待剪枝深度网络模型进行验证,得到第i+1待剪枝深度网络模型的第i精度,将第i精度带入到奖赏函数中,获得第i次循环对应的第i奖赏值,此时进入下次循环,使用第i奖赏值调整强化学习剪枝模型输出的动作,以获得第i+1剪枝比,直至循环次数达到预设值(即满足循环终止条件)。
作为一种实施例,初始状态对应第i次循环输入,一次循环可以获取待剪枝网络模型中包括所有层的推荐剪枝比,经过N次循环后得到的推荐剪枝比就是所有层的目标剪枝比,其中,N是预先设定的最大循环次数。
作为一种实施例,在第1次循环中,将获取得到输入层的第1初始状态输入强化学习剪枝模型中,得到输入层的推荐剪枝比为0.4,此时获取第一隐藏层的第1初始状态,其中,第一隐藏层的第1初始状态中at-1=0.4(即输入层的推荐剪枝比),由此,获得各层对应的第1推荐剪枝比,使用第1推荐剪枝比对第1待剪枝深度网络模型进行剪枝,获得剪枝后的第2待剪枝深度网络模型。
在获得第2待剪枝深度网络模型之后,使用验证集对第2待剪枝深度网络模型进行验证,得到第2待剪枝深度网络模型的第1精度,同时计算第2待剪枝深度网络模型的第1总浮点运算次数,将第1精度和第1总浮点运算次数带入到奖赏函数中,获得第1次循环对应的第1奖赏值,使用第1奖赏值调整强化学习剪枝模型,此时进入下次循环,直至循环次数达到2000次(即满足循环终止条件),结束循环。
作为一种实施例,在使用第i奖赏值对强化学习剪枝模型进行更新的过程可以是:假设网络层数有20层,st表示第t层的初始状态,那么存在各层的初始状态S1……S20,预先设置更新强化学习剪枝模型的时机(即循环次数到达m或m的倍数之后更新,m为大于或等于1的整数),当循环次数到达m或m的倍数时,更新强化学习剪枝模型。下面详细介绍训练一轮的详细过程。
在第i次循环中,将第i奖赏值、当前层的第i状态、下一层的第i状态和是否更新(可以标注为0或1,还可以标注为False或True)存入中间数组中,由于第i奖赏值是根据各层剪枝之后,才能够计算得到,所以在每次循环的最后根据模型精度才能求出第i奖赏值。所以第i奖赏值在前19层时的值为0,直到第20层学习完成,第i奖赏值会被计算出来,然后把之前的0值更新为最后计算的第i奖赏值。在循环次数达到预设的m轮之后,将中间数组中表示是否更新的False变更为True,此时,使用当前的第i奖赏值对强化学习剪枝模型进行更新。
需要说明的是,第i奖赏值是基于第i剪枝比对待剪枝深度网络模型进行剪枝处理后得到的,可以根据第i+1待剪枝深度网络模型的特征(例如,精度以及总浮点运算次数)得到的奖赏值;求解第i精度的过程中,也可以根据第i+1待剪枝深度网络模型的压缩比和第i+1待剪枝深度网络模型的精度求得;第i精度用于表征,第i+1待剪枝深度网络模型在执行任务时的准确率,例如:识别图像的准确率。
首次循环定义为第1次循环,第1次循环所输入的待剪枝深度网络模型为第1待剪枝深度网络模型,经过第1次循环后得到的是第1奖赏值和第1剪枝比。
设置的循环次数的预设值可以是循环1000次,也可以是循环2000次;满足循环终止条件可以是满足上述循环次数,也可以是第i精度满足精度阈值,精度阈值可以是准确率大于98.5%或大于99%。
在一种实施方式中,奖赏函数与第i精度和第i+1待剪枝深度网络模型的总浮点运算次数相关。
在计算第i奖赏值时,将第i+1待剪枝深度网络模型的第i精度和第i总浮点运算次数,输入到奖赏函数中进行计算。
在一种实施方式中,第i精度与第i奖赏值呈正比,且第i+1待剪枝深度网络模型的总浮点运算次数与第i奖赏值呈反比。
奖赏函数由如下公式(1)表示:
R=-α(1-acc)×log(FLOPs×β) (1)
其中,R表示第i奖赏值,acc表示第i精度,FLOPs表示第i+1待剪枝深度网络模型的总浮点运算次数,α表示统一精度数量级的第一常数,β表示统一所述总浮点运算次数数量级的第二常数。
由于奖赏函数是根据第i精度和第i+1待剪枝深度网络模型的总浮点运算次数决定的,在本申请实施例中希望在保证第i精度不受影响的情况下,减小总浮点运算次数(即提高运算速度),因此,使得第i精度与第i奖赏值呈正比,第i+1待剪枝深度网络模型的总浮点运算次数与第i奖赏值呈反比。
由于acc的数量级与FLOPs的数量级相差较大,如果acc过大则学习策略将专注于模型的准确性而忽略模型的运算速度,反之如果FLOPs过大则学习策略将专注于模型的运算速度而忽略模型的准确性,因此,选择第一常数α和第二常数β来平衡数量级,其中,α可以等于0.01或0.1,β可以等于10E-6或10E-7。
在一种实施方式中,通过强化学习剪枝模型获取的第i剪枝比(即强化学习剪枝模型的动作)的范围位于[0.2,0.8],若剪枝率过低,将影响第i+1待剪枝深度网络模型的运算速度;若剪枝率过高,将影响第i+1待剪枝深度网络模型的精度。
在一种实施方式中,强化学习剪枝模型是基于深度确定性策略梯度(DeepDeterministic Policy Gradient,DDPG)算法实现的。
作为一种实施例,本申请实施例是将强化学习方法融入到剪枝模型中,形成强化学习待剪枝模型,如何选择一个合适的智能体作为本申请实施例中强化学习的智能体至关重要。接下来对强化学习智能体的选择进行具体分析。
如图3所示,该图提供了本申请一些实施例的确定强化学习智能体(即强化学习剪枝模型)的过程,该过程包括:S310,从传统强化学习和深度强化学习中选择深度强化学习算法;S320,基于深度强化学习,选择价值函数和策略函数相结合的强化学习智能体;S330,基于价值函数和策略函数,选择包括确定性策略的智能体;S340,选择DDPG算法作为强化学习智能体。
S310,从传统强化学习和深度强化学习中选择深度强化学习算法。
本申请实施例在传统强化学习和深度强化学习中,选择了深度强化学习。传统的强化学习算法使用的状态都是离散的有限个状态集合,比如动态规划,蒙特卡洛,时序差分等算法。而本申请中需要输入强化学习剪枝模型的初始状态规模较大,对于各层网络都需要获取一个初始状态,且初始状态是由一系列的特征进行组合,不适合使用传统的强化学习算法。当使用强化学习进行剪枝时,由于初始状态中各特征规模较大,需要采取价值函数的近似表示。价值函数的近似表示有多种方法,利用深度网络来近似表示价值函数效果较好,所以本申请实施例中采用深度强化学习的方法作为强化学习的智能体。
S320,基于深度强化学习,选择价值函数和策略函数相结合的强化学习智能体。
本申请实施例在S310中选择深度强化学习的基础上,进一步的选择了价值函数和策略函数相结合的强化学习智能体。基于价值函数的强化学习方法典型代表为深度Q网络(deep Q-network,DQN)以及基于DQN改进的一系列算法。对于DQN来说,输入的是状态的特征向量,输出是所有动作在该状态下的动作价值函数Q。而对于本申请中强化学习剪枝模型的动作是剪枝比,即本申请输出的动作是连续状态的,如果使用DQN类方法,输出所有动作的价值函数Q是非常困难的。因此,本申请实施例采用基于价值函数和策略函数相结合的方法解决问题,设计双网络架构,一个是用深度网络Actor作为策略函数,另一个用深度网络Critic作为价值函数,Actor网络直接生成动作并和环境进行交互,解决了对连续动作输出所有动作的价值函数Q值的难题。Critic网络负责评估Actor的表现,并指导Actor下一循环的动作。
S330,基于价值函数和策略函数,选择包括确定性策略的智能体。
本申请实施例在S320中选择价值函数和策略函数相结合的强化学习智能体的基础上,选择包括确定性策略的智能体。下文对确定性策略和随机性策略进行简单介绍。作为随机性策略,在同一状态处,采用的动作是基于一个概率分布的,所以动作的选择是不确定的。而确定性策略对于动作的选择是确定的,确定性策略是不考虑概率分布的,在动作的选择中只取概率最大的对应动作,虽然在同一个状态处,采用的动作概率不同,但是概率最大的只有一个。因此,对于空间维度极大的动作,不适合用随机性策略,如果使用随机性策略,需要非常大的样本量才能计算出各个可能的动作的价值,在这种情况下,使用确定性策略会更加简洁有效。由于本申请的样本量有限而且动作是连续的,直接采取基于随机性策略的强化学习进行研究,不利于计算所有可能的动作价值。为了简化问题,本申请中采取确定性策略。
S340,选择DDPG算法作为强化学习智能体。
本申请实施例基于上述选择,最终选择DDPG算法作为强化学习智能体。将强化学习应用于剪枝模型中,首先考虑强化学习的状态St,在强化学习剪枝模型中,状态St是由当前层一系列特征进行组合,规模比较大,不适合传统的强化学习。然后再考虑强化学习的动作Action,本申请中指各层的剪枝比。在强化学习剪枝模型中,Action是连续的,不适应于基于价值函数的强化学习算法。
在强化学习剪枝模型中,给定一个状态St,有很多种动作可以选择,动作的空间维度极大,如果使用随机性策略,需要非常大的样本量才可以计算各个可能的动作的价值,在这种情况下使用确定性策略会更加简洁有效。所以本申请采用确定性策略作为强化学习的智能体。异步优势动作评价算法(Asynchronous Advantage Actor-critic,A3C)和DDPG是两种基于确定性策略函数的强化学习算法,A3C解决经验回放池中相关性过强的问题,适合异步并发的学习模型,不适合本申请的剪枝模型。DDPG是将基于价值函数和基于策略函数的方法相结合,采用双网络和经验回放,并且加入了一些其他优化,改善了强化学习难收敛的问题,是一个比较成熟的算法。所以本申请选择强化学习DDPG作为智能体。
下文将描述S240的实施方式。
S240,重复上述过程直至满足循环循环终止条件,得到各层的目标剪枝比。
如上述步骤,在得到第i奖赏值之后确认第i奖赏值满足循环终止条件(即确认第i奖赏值是最大循环次数时获得的奖赏值),将第i剪枝比作为所述目标剪枝比,或直接判断循环次数是否在最大循环次数之内,若当前循环次数小于最大循环次数,则继续重复上述步骤;若当前循环次数等于最大循环次数,则将第i剪枝比作为目标剪枝比。
S250,基于目标剪枝比对待剪枝深度网络模型进行压缩,获得目标深度网络模型。
作为一种实施例,若循环终止条件为循环2000次,那么在强化学习剪枝模型在执行的第2000次循环的时候,获得各层的第2000剪枝比,并且将各层的第2000剪枝比作为各层的目标剪枝比,使用各层的目标剪枝比对第2000待剪枝深度网络模型进行剪枝,获得目标深度网络模型。
因此,对于上文描述的模型剪枝的方法总结如下:
传统的模型剪枝方法各层网络的剪枝比是基于手工设计的,由于各层网络的结构不同,手工设计各层网络的剪枝比,既耗时又达不到最优。本申请将基于手工设计的策略转为基于强化学习策略。本申请实施例中的方法是对几何中值剪枝(FPGM)进行改进,FPGM中的剪枝是按照固定的剪枝比进行剪枝,FPGM中设置的剪枝比是0.3或者0.4,而本申请引入强化学习,学习出各层网络合适的剪枝比,以达到更好的剪枝效果。
根据上文的技术方案,本申请使用CIFAR-10数据集在残差网络模型(ResNet)系列的模型上进行实验。对于强化学习,本申请使用DDPG方法作为强化学习的智能体。DDPG包含两个网络,分别是Critic网络和Actor网络。Critic网络和Actor网络分别设置了两个隐藏层,每层包含300个单元。最终的输出层是一个归一化(Sigmod)函数,将智能体的动作结果限制在(0,1)。同时,为了让DDPG智能体在学习的过程中增加一些随机性并且增加学习的范围,需要在学习中添加一些噪声,其中,对于前100个epoch,将噪声设置为ρ=0.5,然后在300epoch之后噪音以指数的形式进行衰减。
作为一种实施例,使用RestNet20模型作为待剪枝深度网络模型,在CIFAR-10验证数据集上的实验,实验将软剪枝(SFP)方法,FPGM方法以及本申请实施例的方法进行对比,利用本申请实施例中的方法不仅提升了模型的运行速度,而且模型的精度相比其他剪枝方法也有所提升。我们提出的方法相比于传统的几何中值剪枝方法,本申请实施例在精度上提升了0.04%,FLOPs减少至1.25E7,相比于原始网络FLPOs下降了69.2%。
使用ResNet32模型在CIFAR-10数据集上进行实验时,又加入了卷积网络加速(More is less:A more complicated network with less inference complexity,MIL)的对比实验,本申请提出的模型剪枝的方法相较于MIL在精度上提升1.21%,而且在FLOPs方面减少至2.89E7。在ResNet32的实验中,与传统的几何中值剪枝方法相比,精度提升了0.02%,相比于原始网络FLPOs下降了58.1%。
上文描述了一种软件定义卫星自适应剪枝模型压缩方法,下文将描述一种软件定义卫星自适应剪枝模型压缩装置。
如图4所示,一种软件定义卫星自适应剪枝模型压缩装置400,包括:待剪枝模型获取单元410、初始状态获取单元420、剪枝比计算单元430、循环终止单元440和模型压缩单元450。
在一种实施方式中,本申请实施例提供一种软件定义卫星自适应剪枝模型压缩装置,所述装置包括:待剪枝模型获取单元,被配置为获取第i待剪枝深度网络模型,其中,i的取值范围为[1,N],N为预先设定的最大循环次数;初始状态获取单元,被配置为获取所述第i待剪枝深度网络模型中各层的初始状态,其中,所述初始状态表示第i次循环对应的各层的属性特征,所述第i待剪枝深度网络模型包括:输入层和各剩余层,所述输入层对应的初始状态至少与预设的初始剪枝比相关,所述各剩余层中初始状态至少与确定的上一层的剪枝比相关;剪枝比计算单元,被配置为将所述初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比;循环终止单元,被配置为重复上述过程直至满足循环终止条件循环终止条件,得到所述各层的目标剪枝比;模型压缩单元,被配置为基于所述目标剪枝比对所述待剪枝深度网络模型进行压缩,获得目标深度网络模型。
在一种实施方式中,所述剪枝比计算单元还被配置为:根据所述第i剪枝比和奖赏函数,获得第i奖赏值;根据所述强化学习剪枝模型和所述第i奖赏值确定第i+1剪枝比;或者,确认所述第i奖赏值满足所述循环终止条件循环终止条件,则将所述第i剪枝比作为所述目标剪枝比。
在一种实施方式中,所述剪枝比计算单元还被配置为:根据所述第i剪枝比对所述第i待剪枝深度网络模型进行剪枝,获得第i+1待剪枝深度网络模型;根据验证数据集对所述第i+1待剪枝深度网络模型进行验证,获得所述第i+1待剪枝深度网络模型对应的第i精度;至少根据所述第i精度和所述奖赏函数,获得所述第i奖赏值。
在一种实施方式中,所述奖赏函数与所述第i精度和所述第i+1待剪枝深度网络模型的总浮点运算次数相关。
在一种实施方式中,所述第i精度与所述第i奖赏值呈正比,且所述第i+1待剪枝深度网络模型的总浮点运算次数与所述第i奖赏值呈反比。
在一种实施方式中,所述奖赏函数由如下公式(1)表示:
R=-α(1-acc)×log(FLOPs×β) (1)
其中,R表示所述第i奖赏值,acc表示所述第i精度,表示所述第i+1待剪枝深度网络模型的总浮点运算次数,表示统一精度数量级的第一常数,表示统一所述总浮点运算次数数量级的第二常数。
在一种实施方式中,通过所述强化学习剪枝模型获取的所述第i剪枝比的范围位于[0.2,0.8]。
在一种实施方式中,所述初始状态还包括:第j层的初始状态还包括:第j层对应的层数编号、输入所述第j层的卷积核个数、所述第j层的输出卷积核个数、所述第j层的卷积核量级和所述第j层的浮点运算次数,其中,j的取值范围数据[1,K],K为所述第i待剪枝深度网络模型的总层数。
在一种实施方式中,所述强化学习剪枝模型的是基于深度确定性策略梯度算法DDPG算法实现的。
在一种实施方式中,一种软件定义卫星自适应剪枝模型压缩方法,所述方法包括:获取根据第一方面及其实施方式中任一项所述的目标深度网络模型;将所述目标深度网络模型上注至目标卫星。
在一种实施方式中,一种软件定义卫星自适应剪枝模型压缩装置,所述装置包括:第一获取单元,被配置为获取根据第一方面及其实施方式中任一项所述的目标深度网络模型;上注单元,将所述目标深度网络模型上注至目标卫星。
在一种实施方式中,一种软件定义卫星自适应剪枝模型压缩方法,所述方法包括:获取根据第一方面及其实施方式中任一项所述的目标深度网络模型对应的上注数据;根据所述上注数据将所述目标深度网络模型在目标卫星上进行部署。
在一种实施方式中,一种软件定义卫星自适应剪枝模型压缩装置,所述装置包括:第二获取单元,被配置为获取根据第一方面及其实施方式中任一项所述的目标深度网络模型对应的上注数据;部署单元,被配置为根据所述上注数据将所述目标深度网络模型在目标卫星上进行部署。
在本申请实施例中,图4所示模块能够实现图1、图2和图3方法实施例中的各个过程。图4中的各个模块的操作和/或功能,分别为了实现图1、图2和图3中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
如图5所示,本申请实施例提供一种电子设备500,包括:处理器510、存储器520和总线530,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述所有实施例中任一项所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
其中,总线用于实现这些组件直接的连接通信。其中,本申请实施例中处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,可以执行上述实施例中所述的方法。
可以理解,图5所示的结构仅为示意,还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时实现上述所有实施方式中任一所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种软件定义卫星自适应剪枝模型压缩方法,其特征在于,所述方法包括:
获取第i待剪枝深度网络模型,其中,i的取值范围为[1,N],N为预先设定的最大循环次数;
获取所述第i待剪枝深度网络模型中各层的初始状态,其中,所述初始状态表示第i次循环对应的各层的属性特征,所述第i待剪枝深度网络模型包括:输入层和各剩余层,所述输入层对应的初始状态至少与预设的初始剪枝比相关,所述各剩余层中初始状态至少与确定的上一层的剪枝比相关;
将所述初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比;
重复上述过程直至满足循环终止条件,得到所述各层的目标剪枝比;
基于所述目标剪枝比对所述待剪枝深度网络模型进行压缩,获得目标深度网络模型。
2.根据权利要求1所述的方法,其特征在于,所述将所述初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比之后,所述方法还包括:
根据所述第i剪枝比和奖赏函数,获得第i奖赏值;
根据所述强化学习剪枝模型和所述第i奖赏值确定第i+1剪枝比;或者,确认所述第i奖赏值满足所述循环终止条件,则将所述第i剪枝比作为所述目标剪枝比。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第i剪枝比和奖赏函数,获得第i奖赏值,包括:
根据所述第i剪枝比对所述第i待剪枝深度网络模型进行剪枝,获得第i+1待剪枝深度网络模型;
根据验证数据集对所述第i+1待剪枝深度网络模型进行验证,获得所述第i+1待剪枝深度网络模型对应的第i精度;
至少根据所述第i精度和所述奖赏函数,获得所述第i奖赏值。
4.根据权利要求3所述的方法,其特征在于,
所述奖赏函数与所述第i精度和所述第i+1待剪枝深度网络模型的总浮点运算次数相关。
5.根据权利要求4所述的方法,其特征在于,所述第i精度与所述第i奖赏值呈正比,且所述第i+1待剪枝深度网络模型的总浮点运算次数与所述第i奖赏值呈反比。
6.根据权利要求5所述的方法,其特征在于,所述奖赏函数由如下公式(1)表示:
R=-α(1-acc)×log(FLOPs×β) (1)
其中,R表示所述第i奖赏值,acc表示所述第i精度,FLOPs表示所述第i+1待剪枝深度网络模型的总浮点运算次数,α表示统一精度数量级的第一常数,β表示统一所述总浮点运算次数数量级的第二常数。
7.根据权利要求1-6任一项所述的方法,其特征在于,通过所述强化学习剪枝模型获取的所述第i剪枝比的范围位于[0.2,0.8]。
8.根据权利要求1-6任一项所述的方法,其特征在于,第j层的初始状态还包括:第j层对应的层数编号、输入所述第j层的卷积核个数、所述第j层的输出卷积核个数、所述第j层的卷积核量级和所述第j层的浮点运算次数,其中,j的取值范围数据[1,K],K为所述第i待剪枝深度网络模型的总层数。
9.根据权利要求1-6任一项所述的方法,其特征在于,所述强化学习剪枝模型的是基于深度确定性策略梯度DDPG算法实现的。
10.一种软件定义卫星自适应剪枝模型压缩装置,其特征在于,所述装置包括:
待剪枝模型获取单元,被配置为获取第i待剪枝深度网络模型,其中,i的取值范围为[1,N],N为预先设定的最大循环次数;
初始状态获取单元,被配置为获取所述第i待剪枝深度网络模型中各层的初始状态,其中,所述初始状态表示第i次循环对应的各层的属性特征,所述第i待剪枝深度网络模型包括:输入层和各剩余层,所述输入层对应的初始状态至少与预设的初始剪枝比相关,所述各剩余层中初始状态至少与确定的上一层的剪枝比相关;
剪枝比计算单元,被配置为将所述初始状态输入强化学习剪枝模型中进行计算,获得第i剪枝比;
循环终止单元,被配置为重复上述过程直至满足循环循环终止条件,得到所述各层的目标剪枝比;
模型压缩单元,被配置为基于所述目标剪枝比对所述待剪枝深度网络模型进行压缩,获得目标深度网络模型。
11.一种软件定义卫星自适应剪枝模型压缩方法,其特征在于,所述方法包括:
获取根据权利要求1-9任一项权利要求所述的目标深度网络模型;
将所述目标深度网络模型上注至目标卫星。
12.一种软件定义卫星自适应剪枝模型压缩方法,其特征在于,所述方法包括:
获取根据权利要求1-9任一项权利要求所述的目标深度网络模型对应的上注数据;
根据所述上注数据将所述目标深度网络模型在目标卫星上进行部署。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如权利要求1-9任一项所述方法。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时实现如权利要求1-9任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110867988.1A CN113657592B (zh) | 2021-07-29 | 2021-07-29 | 一种软件定义卫星自适应剪枝模型压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110867988.1A CN113657592B (zh) | 2021-07-29 | 2021-07-29 | 一种软件定义卫星自适应剪枝模型压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113657592A true CN113657592A (zh) | 2021-11-16 |
CN113657592B CN113657592B (zh) | 2024-03-05 |
Family
ID=78490900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110867988.1A Active CN113657592B (zh) | 2021-07-29 | 2021-07-29 | 一种软件定义卫星自适应剪枝模型压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113657592B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229646A (zh) * | 2017-08-08 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络模型压缩方法、装置、存储介质和电子设备 |
CN109858613A (zh) * | 2019-01-22 | 2019-06-07 | 鹏城实验室 | 一种深度神经网络的压缩方法、系统及终端设备 |
CN109978135A (zh) * | 2019-03-04 | 2019-07-05 | 清华大学 | 基于量化的神经网络压缩方法及系统 |
CN110163367A (zh) * | 2018-09-29 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种模型压缩方法和装置 |
CN110289902A (zh) * | 2018-12-29 | 2019-09-27 | 中国科学院软件研究所 | 一种星上软件的更新系统 |
CN110490323A (zh) * | 2019-08-20 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 网络模型压缩方法、装置、存储介质和计算机设备 |
CN110728361A (zh) * | 2019-10-15 | 2020-01-24 | 四川虹微技术有限公司 | 一种基于强化学习的深度神经网络压缩方法 |
CN111275190A (zh) * | 2020-02-25 | 2020-06-12 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法及装置、图像处理方法及处理器 |
CN111340219A (zh) * | 2020-02-25 | 2020-06-26 | 北京百度网讯科技有限公司 | 神经网络模型搜索方法及装置、图像处理方法及处理器 |
CN111340227A (zh) * | 2020-05-15 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 通过强化学习模型对业务预测模型进行压缩的方法和装置 |
CN111507472A (zh) * | 2020-04-03 | 2020-08-07 | 厦门大学 | 一种基于重要性剪枝的精度估计参数搜索方法 |
US20200272905A1 (en) * | 2019-02-26 | 2020-08-27 | GE Precision Healthcare LLC | Artificial neural network compression via iterative hybrid reinforcement learning approach |
CN111738401A (zh) * | 2019-03-25 | 2020-10-02 | 北京三星通信技术研究有限公司 | 模型优化方法、分组压缩方法、相应的装置、设备 |
CN111860779A (zh) * | 2020-07-09 | 2020-10-30 | 北京航空航天大学 | 一种深度卷积神经网络快速自动压缩方法 |
US20210097394A1 (en) * | 2019-09-27 | 2021-04-01 | Baidu Usa Llc | Method and apparatus for compressing deep learning model |
CN113011588A (zh) * | 2021-04-21 | 2021-06-22 | 华侨大学 | 一种卷积神经网络的剪枝方法、装置、设备和介质 |
WO2021143070A1 (zh) * | 2020-01-16 | 2021-07-22 | 北京智芯微电子科技有限公司 | 深度神经网络模型的压缩方法、装置及存储介质 |
-
2021
- 2021-07-29 CN CN202110867988.1A patent/CN113657592B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229646A (zh) * | 2017-08-08 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络模型压缩方法、装置、存储介质和电子设备 |
CN110163367A (zh) * | 2018-09-29 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种模型压缩方法和装置 |
CN110289902A (zh) * | 2018-12-29 | 2019-09-27 | 中国科学院软件研究所 | 一种星上软件的更新系统 |
CN109858613A (zh) * | 2019-01-22 | 2019-06-07 | 鹏城实验室 | 一种深度神经网络的压缩方法、系统及终端设备 |
US20200272905A1 (en) * | 2019-02-26 | 2020-08-27 | GE Precision Healthcare LLC | Artificial neural network compression via iterative hybrid reinforcement learning approach |
CN109978135A (zh) * | 2019-03-04 | 2019-07-05 | 清华大学 | 基于量化的神经网络压缩方法及系统 |
CN111738401A (zh) * | 2019-03-25 | 2020-10-02 | 北京三星通信技术研究有限公司 | 模型优化方法、分组压缩方法、相应的装置、设备 |
CN110490323A (zh) * | 2019-08-20 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 网络模型压缩方法、装置、存储介质和计算机设备 |
US20210097394A1 (en) * | 2019-09-27 | 2021-04-01 | Baidu Usa Llc | Method and apparatus for compressing deep learning model |
CN110728361A (zh) * | 2019-10-15 | 2020-01-24 | 四川虹微技术有限公司 | 一种基于强化学习的深度神经网络压缩方法 |
WO2021143070A1 (zh) * | 2020-01-16 | 2021-07-22 | 北京智芯微电子科技有限公司 | 深度神经网络模型的压缩方法、装置及存储介质 |
CN111275190A (zh) * | 2020-02-25 | 2020-06-12 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法及装置、图像处理方法及处理器 |
CN111340219A (zh) * | 2020-02-25 | 2020-06-26 | 北京百度网讯科技有限公司 | 神经网络模型搜索方法及装置、图像处理方法及处理器 |
CN111507472A (zh) * | 2020-04-03 | 2020-08-07 | 厦门大学 | 一种基于重要性剪枝的精度估计参数搜索方法 |
CN111340227A (zh) * | 2020-05-15 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 通过强化学习模型对业务预测模型进行压缩的方法和装置 |
CN111860779A (zh) * | 2020-07-09 | 2020-10-30 | 北京航空航天大学 | 一种深度卷积神经网络快速自动压缩方法 |
CN113011588A (zh) * | 2021-04-21 | 2021-06-22 | 华侨大学 | 一种卷积神经网络的剪枝方法、装置、设备和介质 |
Non-Patent Citations (5)
Title |
---|
WENMING WANG 等: "An Automatic Clustering Algorithm Leveraging Reinforcement Learning for Model Compression", 《 ICNC-FSKD 2020》, vol. 3348, pages 323 * |
YANG HE 等: "Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration", 《ARXIV》, 14 July 2019 (2019-07-14), pages 1 - 10 * |
YIHUI HE 等: "AMC: AutoML for Model Compression and Acceleration on Mobile Devices", 《ECCV 2018》, 6 October 2018 (2018-10-06), pages 815 - 832, XP047488271, DOI: 10.1007/978-3-030-01234-2_48 * |
YIHUI HE 等: "AMC: AutoML for Model Compression and Acceleration on Mobile Devices", 《ECCV 2018》, pages 815 - 832 * |
刘会东 等: "基于强化学习的无标签网络剪枝", 《模式识别与人工智能》, vol. 34, no. 3, pages 214 - 222 * |
Also Published As
Publication number | Publication date |
---|---|
CN113657592B (zh) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gomez et al. | Learning sparse networks using targeted dropout | |
WO2021259090A1 (zh) | 联邦学习的方法、装置和芯片 | |
Gheisari et al. | Bnc-pso: structure learning of bayesian networks by particle swarm optimization | |
US11461626B2 (en) | Brain-like computing chip and computing device | |
Bell | The co-information lattice | |
US20180322368A1 (en) | System an method for batch-normalized recurrent highway networks | |
US20150006444A1 (en) | Method and system for obtaining improved structure of a target neural network | |
US20220147877A1 (en) | System and method for automatic building of learning machines using learning machines | |
CN114422382B (zh) | 网络流量预测方法、计算机装置、产品及存储介质 | |
CN109766259B (zh) | 一种基于复合蜕变关系的分类器测试方法及系统 | |
Moreno et al. | Neural recursive belief states in multi-agent reinforcement learning | |
CN114004383A (zh) | 时间序列预测模型的训练方法、时间序列预测方法及装置 | |
CN111242274B (zh) | 用于分析神经网络参数集合的方法 | |
CN117665627A (zh) | 基于优化神经网络的锂电池剩余使用寿命预测方法及系统 | |
CN109711543B (zh) | 一种可重构的深度置信网络实现系统 | |
CN113657592B (zh) | 一种软件定义卫星自适应剪枝模型压缩方法 | |
Astrid et al. | Rank selection of CP-decomposed convolutional layers with variational Bayesian matrix factorization | |
Xu et al. | Improving quantal cognitive hierarchy model through iterative population learning | |
CN112308197B (zh) | 一种卷积神经网络的压缩方法、装置及电子设备 | |
CN107145949A (zh) | 一种多核实时规则推理方法 | |
Sarkar et al. | An incremental pruning strategy for fast training of CNN models | |
CN113011578A (zh) | 使用神经网络选择计算内核变量 | |
KR102557273B1 (ko) | 성능 보존이 가능한 정보 흐름 기반 신경망 모델 자동 경량화 방법 및 장치 | |
CN113313236B (zh) | 基于时序神经通路的深度强化学习模型中毒检测方法及其装置 | |
US20230125436A1 (en) | Method for generating neural network architecture and computing apparatus executing the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |