CN110163342B - 一种模型压缩方法、装置、设备及存储介质 - Google Patents
一种模型压缩方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110163342B CN110163342B CN201910309246.XA CN201910309246A CN110163342B CN 110163342 B CN110163342 B CN 110163342B CN 201910309246 A CN201910309246 A CN 201910309246A CN 110163342 B CN110163342 B CN 110163342B
- Authority
- CN
- China
- Prior art keywords
- model
- compressed
- convolution
- scalar
- filter
- 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.)
- Active
Links
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/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/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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请实施例公开了一种模型压缩方法、装置、设备及存储介质,其中,该方法包括:获取待压缩的第一模型,所述第一模型中包括卷积层;利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;基于带基数约束和二值约束的目标函数,利用训练集对该第二模型进行训练,得到满足收敛条件的第二模型;根据该满足收敛条件的第二模型确定该第一模型对应的压缩后的模型。该方法借助分解卷积滤波器将滤波器选择与滤波器学习结合为一体,利用引入的标量自主学习、自主衡量各滤波器的重要性,进而基于如此衡量出的重要性对第一模型做压缩处理,保证压缩后的模型具备较好的模型性能。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种模型压缩方法、装置、设备及存储介质。
背景技术
模型压缩是为了将一个大尺寸的神经网络模型在保证性能不受太大损失的情况下压缩成一个小尺寸的小模型即紧凑模型,如此,一定程度上减少模型的占用资源并节约成本,缩短产品生产周期。
目前主流算法是基于滤波器剪枝的模型压缩算法,该算法本质是先通过对网络结构添加一些人为的约束让网络变得稀疏,然后再根据人为设定的评价标准来对不同层的滤波器参数的重要性进行排序,最后根据排序结果选择出可以去掉的滤波器,最后对网络进行剪枝和微调。
这种算法很难把握这种自定义的评价标准和训练过程之间的平衡,导致在实际应用中压缩效果并不好。
发明内容
本申请实施例提供了一种模型压缩方法、装置、设备及存储介质,将滤波器选择和滤波器训练结合为一体,有效地提高模型的压缩效果。
有鉴于此,本申请第一方面提供了一种模型压缩方法,所述方法包括:
获取待压缩的第一模型,所述第一模型中包括卷积层;
利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;
基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;
根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型。
本申请第二方面提供了一种模型压缩装置,所述装置包括:
获取模块,用于获取待压缩的第一模型,所述第一模型中包括卷积层;
建模模块,用于利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;
训练模块,用于基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;
确定模块,用于根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型。
本申请第三方面提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行如上述第一方面所述的模型压缩方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的模型压缩方法。
本申请第五方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的模型压缩方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种模型压缩方法,其借助分解卷积滤波器将滤波器选择与滤波器学习过程融为一体以得到一种新的网络框架,以在模型训练过程中确定各滤波器的重要性,从而基于该重要性对模型进行压缩处理。具体的,获取待压缩的第一模型,所述第一模型中包括卷积层;利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;然后,基于带基数约束和二值约束的目标函数,利用训练集对该第二模型进行训练,得到满足收敛条件的第二模型;最终,根据该满足收敛条件的第二模型确定该第一模型对应的压缩后的模型。相比现有技术中基于人为设定的评价标准衡量待压缩模型中各滤波器的重要性,并基于该重要性排序对模型进行剪枝处理,本申请实施例提供的方法对待压缩的第一模型重新建模,引入标量衡量各滤波器的重要性,在训练模型的过程中,由各标量自主学习、自主衡量各滤波器的重要性,进而基于如此衡量出的重要性对第一模型做压缩处理,由此有效地保证所衡量的滤波器的重要性客观准确,相应地,能够保证基于该重要性压缩得到的模型具备较好的模型性能。
附图说明
图1为现有技术中模型压缩方法的原理示意图;
图2为本申请实施例提供的模型压缩方法的应用场景示意图;
图3为本申请实施例提供的模型压缩方法的流程示意图;
图4为本申请实施例提供的模型压缩装置的结构示意图;
图5为本申请实施例提供的服务器的结构示意图;
图6为本申请实施例提供的终端设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
参见图1,图1为现有技术中模型压缩方法的原理示意图;如图1所示,待压缩模型中的卷积层Wl包括卷积滤波器对该待压缩模型进行预训练处理得到带约束的模型,在此过程中,卷积层Wl相应地转换为卷积层/>该卷积层/>中包括卷积滤波器/>根据人为设定的评价标准对卷积层/>中各卷积滤波器进行打分,各卷积滤波器各自对应的分数即可表征各卷积滤波器的重要性,进而根据各卷积滤波器的重要性排序结果,对卷积层/>进行剪枝和微调得到卷积层/>如此按照上述方式对待压缩模型中各卷积层进行剪枝处理,即可得到压缩后的模型。
经发明人研究发现,上述模型压缩方法将滤波器训练和滤波器选择作为两个独立的部分实现,这种方式很难把握滤波器选择过程中人为自定义的评价标准与训练过程之间的平衡,如此将导致最终压缩得到的模型的模型性能相比未压缩的模型的模型性能大大降低,模型精度损失较大,模型压缩效果较差。
为了解决上述现有技术存在的问题,本申请实施例提供了一种模型压缩方法,该方法在压缩模型的过程中,对待压缩的模型进行重新建模,引入标量来衡量待压缩的模型中各卷积滤波器的重要性,对该重新建模得到的模型进行训练时,其中的各个标量将自主学习、自主衡量各卷积滤波器的重要性,进而,基于如此衡量出的各卷积滤波器的重要性,对待压缩的模型进行压缩处理得到其对应压缩后的模型。如此,借助分解卷积滤波器将滤波器学习和滤波器选择结合为一体,利用所引入的标量客观准确地衡量模型中各卷积滤波器的重要性,保证基于该重要性对待压缩的模型进行压缩处理得到的模型具备较好的模型性能,相比待压缩的模型的模型精度,该压缩后的模型的模型精度不会产生较大的损失,提高了模型压缩效果。
应理解,本申请实施例提供的模型压缩方法可以应用于具备模型训练能力的设备,该设备具体可以为终端设备或者服务器;其中,终端设备具体可以为计算机、个人数字助理(Personal Digital Assitant,PDA)、平板电脑、智能手机等;服务器具体可以应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。
为了便于理解本申请实施例提供的技术方案,下面以服务器压缩模型为例,对本申请实施例提供的模型压缩方法的应用场景进行介绍。
参见图2,图2为本申请实施例提供的模型压缩方法的应用场景示意图;如图2所示,该应用场景中包括:服务器201和终端设备202;其中,服务器201用于执行本申请实施例提供的模型压缩方法,对待压缩的模型进行压缩处理,得到其对应的压缩后的模型,并将该压缩后的模型发送给终端设备202;终端设备202用于运行该压缩后的模型实现特定的功能。
具体的,服务器201对待压缩的第一模型进行压缩处理时,先对其中的卷积层进行重新建模生成第二模型,如图2所示,服务器201对第一模型中包括有卷积滤波器的卷积层Wl进行重新建模时,引入标量/>(其中,l为卷积层的层标号,i为卷积滤波器的标号),将其与卷积层Wl中的各卷积滤波器/>进行点乘运算,得到分解卷积滤波器/>如此对第一模型中各卷积层进行建模,得到卷积层中包括分解卷积滤波器的第二模型。
然后,服务器201基于带基数约束1Tvl=kl和二值约束的损失函数,采用训练集对上述第二模型进行优化训练,得到满足收敛条件的第二模型;其中,基数约束1Tvl=kl用于约束剪枝后模型中剩余的卷积滤波器的数量为kl∈{1,2,…,Cl},二值约束用于约束第二模型中的标量/>呈现二值化,即约束标量/>为0或者1。
服务器201训练得到满足收敛条件的第二模型后,根据该第二模型的卷积层中各卷积滤波器/>各自对应的标量值/>衡量各卷积滤波器/>的重要性,在该卷积层/>进行压缩处理时,保留对应的标量值为1的卷积滤波器,剔除对应的标量值为0的卷积滤波器,从而得到卷积层/>如此,对第一模型中的各卷积层进行压缩处理,得到该第一模型对应的压缩后的模型。
服务器201压缩处理第一模型得到压缩后的模型后,服务器201可以将该压缩后的模型发送至终端设备202,相比未压缩的第一模型,该压缩后的模型的模型尺寸较小,终端设备202的处理能力足以承载运行该压缩后的模型,进而,终端设备202可以基于该压缩后的模型实现特定的功能。
应理解,上述图2所示的应用场景仅为一种示例,在实际应用中,除了可以利用服务器压缩模型外,还可以利用其它具备模型训练能力的设备如终端设备,对待压缩的模型进行压缩处理;此外,也可以采用除终端设备外的其他设备承载压缩后的模型,在此不对本申请实施例提供的模型压缩方法的应用场景做任何限定。
下面通过实施例对本申请提供的模型压缩方法进行介绍。
参见图3,图3为本申请实施例提供的一种模型压缩方法的流程示意图。为了便于描述,下述实施例以服务器作为执行主体进行描述,应理解,该模型压缩方法的执行主体并不仅限于服务器,还可以为终端设备等其他具备模型训练功能的设备。如图3所示,该模型压缩方法包括以下步骤:
步骤301:获取待压缩的第一模型,所述第一模型中包括卷积层。
步骤302:利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型。
当需要对第一模型进行压缩处理时,服务器可以先获取该第一模型,然后对该待压缩的第一模型中的卷积层进行重新建模得到第二模型,该第二模型的卷积层中包括分解滤波器,分解卷积滤波器实际上是由第一模型中相应位置的卷积滤波器和二值标量通过点乘符号组合生成的。
具体的,假设第一模型中第l层卷积层中的卷积滤波器表示为 其中,Cl为输出通道数,Nl为输入通道数,Wl和Hl分别为卷积核的宽和高;第l层卷积层的常规卷积操作可以表示为:/>其中,/>为第l层的输入响应,/>为第l层的输出响应。
为了能够在训练卷积滤波器参数的同时衡量卷积滤波器的重要性,本申请实施例引入了二值标量,利用该二值标量与卷积滤波器点乘组合得到的分解卷积滤波器;基于分解卷积滤波器的卷积操作可以表示为: 其中, Wl⊙vl表示将vi l和Wi l中每个值相乘,其中,i表示卷积滤波器的标号。
需要说明的是,上述第一模型具体可以为VGGNet(Visual Geometry GroupNetwork)模型、ResNet(Residual Neural Network)模型等经典的分类网络模型,该第一模型也可以为其他包含有卷积层的用于其他任务的网络模型。
在一种可能的实现方式中,上述第一模型可以为已训练完成的卷积神经网络模型,该第一模型中的各网络参数均为通过模型训练过程确定的参数。采用本申请实施例提供的模型压缩方法对该第一模型进行模型压缩,可以保证在不损失第一模型的模型精度的条件下,压缩该第一模型的尺寸。
在另一种可能的实现方式中,上述第一模型可以为待训练的卷积神经网络模型,即该第一模型是网络参数初始化的卷积神经网络模型。采用本申请实施例提供的模型压缩方法对该第一模型进行模型压缩,实际上也能够对该第一模型进行模型训练,即采用本申请实施例提供的模型训练方法可以同时实现对于该第一模型的训练和压缩。
步骤303:基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化。
服务器对待压缩的第一模型重新建模得到第二模型后,可以基于目标函数,利用对应的训练集对该第二模型进行训练,从而得到满足收敛条件的第二模型。具体对第二模型进行训练时,可以对该第二模型中的各分解卷积滤波器施加基数约束和二值约束,构造交叉熵损失函数,其中,基数约束用于约束剪枝后的第二模型中剩余的卷积滤波器的数量,二值约束用于约束对重新建模时所引入的标量呈二值化;进而,服务器可以采用梯度下降(Steepest Gradient Descent,SGD)优化算法训练第二模型,直至该第二模型满足收敛条件。
具体的,假设用于训练第二模型的训练集为定义f(xi,W,v)为第二模型的输出概率,进而可以将目标函数设定为以下形式:其中,/>是指第二模型的L层卷积层中各层的卷积滤波器,/> 是指第二模型的L层卷积层中各卷积滤波器各自对应的标量,此处/>表示损失函数;基数约束1Tvl=kl(kl∈{1,2,…,Cl})表示剪枝后剩余的卷积滤波器的数量,二值约束/>表示标量v为0或者1。
需要说明的是,上述收敛条件包括:当前训练批次数达到预设最大批次数;或者,当前标量与0的差值的绝对值小于预设阈值,或当前标量与1的差值的绝对值小于预设阈值。
在一种可能的实现方式中,为了节省对于第二模型的训练时间,可以预先设置预设最大批次epoch数,当训练epoch数达到该预设最大epoch数时,即认为第二模型此时已满足收敛条件。具体的,使用训练集中的全部样本对第二模型进行一次训练,即可认为完成一个epoch的训练,相应地,使用训练集中的全部样本对第二模型进行预设最大epoch次训练,即可认为第二模型此时已满足收敛条件。
通常情况下,可以将预设最大epoch数设置为30,当达到30个epoch时即可认为第二模型已满足收敛条件,可以结束对于该第二模型的训练;当然,在实际应用中,也可以将预设最大epoch数设置为其他数值,在此不对其做具体限定。
在另一种可能的实现方式中,可以根据当前标量与0的差值的绝对值,或者当前标量与1的差值的绝对值,判断第二模型是否已满足收敛条件。通常情况下,在当前标量与0的差值的绝对值小于预设阈值时,或者,在当前标量与1的差值的绝对值小于预设阈值时,可以认为该第二模型满足收敛条件。
在训练第二模型的过程中,第二模型中各卷积滤波器各自对应的标量将逐渐趋近于0或者1,在判断第二模型是否满足收敛条件时,可以判断趋近于0的标量与0的差值的绝对值是否小于预设阈值,也可以判断趋近于1的标量与1的差值的绝对值是否小于预设阈值,当趋近于0的标量与0的差值的绝对值小于预设阈值时,或者当趋近于1的标量与1的差值的绝对值小于预设阈值时,即可认为该第二模型已满足收敛条件。
需要说明的是,在训练第二模型的过程中,第二模型中各卷积滤波器各自对应的标量均呈现逐渐收敛的趋势,因此,在判断第二模型是否满足收敛条件时,可以从第二模型的各卷积层中选取任意数目的标量,基于所选取的标量判断第二模型的各卷积层是否满足收敛条件,进而判断第二模型是否满足收敛条件,在此不对所选取的标量数目做具体限定。
通常情况下,可以将上述预设阈值设置为10-4,即当标量满足/> 或者满足/>时,可以认为第二模型已满足收敛条件;当然,也可以根据实际需求将该预设阈值设置为其他数值,在此不对该预设阈值的具体数值做任何限定。
应理解,除了可以设置上述两种收敛条件外,还可以根据实际需求,设置其他条件作为收敛条件,在此不对收敛条件做具体限定。
需要说明的是,由于步骤302中提及的目标函数涉及离散约束,即二值约束,因此,服务器通常无法利用常规的反向传播算法,对上述第二模型的网络参数进行优化训练;为了实现对于第二模型的训练,服务器可以将目标函数中的二值约束转换为连续约束,进而基于交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)和反向传播算法对该第二模型进行训练。
具体的,服务器可以通过以下方式将二值约束转换为连续约束:其中,/>表示连续约束,/> 表示一个/>约束;根据/>ADMM算法的求解步骤,本申请在训练第二模型的过程中引入两个额外的变量z1和z2来分解连续约束,引入额外的变量后,用于优化训练目标函数的具体表现形式如下:/> 此处的/>
需要说明的是,对于含有连续约束的第二模型,服务器仍然不能直接调用标准的反向传播算法如SGD、ADAM(Adaptive moment estimation)等,对该第二模型的模型参数进行优化训练,有鉴于此,本申请将ADMM算法引入标准的反向传播算法,以实现对于该第二模型的训练。
具体的,服务器可以按照以下方式对第二模型中当前卷积层的网络参数进行优化:固定当前卷积层中各分解卷积滤波器中卷积滤波器对应的标量,采用梯度下降算法更新各个卷积滤波器的参数;固定当前卷积层中各卷积滤波器的参数,采用交替方向乘子法更新各个卷积滤波器对应的标量和连续约束中的变量。
下面以对第l层卷积层的网络参数进行优化为例,对上述网络参数优化的方法进行介绍:
固定第l层卷积层中各卷积滤波器Wl对应的标量vl,然后采用梯度下降算法更新各卷积滤波器Wl,具体可以按照如下方式对各卷积滤波器Wl进行更新:
固定第l层卷积层中各卷积滤波器Wl,使用ADMM算法更新具体的,可以先构造增强拉格朗日表达式:/> 其中,/> 为指示函数,当满足条件时/>为0,否则/>为无限大;/>和/>为对偶变量,ρl为惩罚参数。对于上述增强拉格朗日表达式进行求解时,可以按照ADMM算法采用迭代更新的方式来处理。
具体的,可以逐一更新vl和/>具体更新/>时,可以依据对/>进行求解,其是一个标准的二项式约束问题,可以直接调用相关二次规划(Quadratic Programming,QP)工具进行求解;可以依据对/>进行求解,对/>进行求解时将其映射至Sp。具体更新vl时,可以采用梯度下降算法求解/>具体更新时,可以对这两个对偶变量采用梯度上升算法进行求解,
应理解,在实际应用中,服务器可以先固定各分解卷积滤波器中的标量,对卷积滤波器的参数进行更新,后固定卷积滤波器的参数,对各个卷积滤波器对应的标量和连续约束中的变量进行更新;也可以先固定卷积滤波器的参数,对各个卷积滤波器对应的标量和连续约束中的变量进行更新,后固定各分解卷积滤波器中的标量,对卷积滤波器的参数进行更新;在此不对卷积滤波器的参数与标量的更新顺序做任何限定。
需要说明的是,在实际应用中,对于第二模型进行训练时,其中各卷积滤波器各自对应的标量通常无法完全转变为0或1,因此,在确定第二模型满足收敛条件后,还需要对各卷积滤波器各自对应的标量/>进行二值化处理,而这个二值化处理的过程可能会对模型的精度造成一定程度的损失,因此,在对第二模型中的标量进行二值化处理时,服务器通常还会相应地对该第二模型做一些微调处理。
步骤304:根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型。
服务器训练第二模型,得到满足收敛条件的第二模型后,进一步根据该满足收敛条件的第二模型,确定第一模型对应的压缩后的模型;具体的,由于第二模型中的各标量可以相应地表征其对应的卷积滤波器的重要性,因此,服务器在确定第一模型对应的压缩后的模型时,可以基于第二模型中的标量,确定需要保留的卷积滤波器和需要剔除的卷积滤波器,从而实现对第一模型的压缩处理。
在一种可能的实现方式中,服务器可以针对满足收敛条件的第二模型进行剪枝处理,从而得到第一模型对应的紧凑模型。具体的,服务器可以针对满足收敛条件的第二模型,删除标量为零的分解卷积滤波器,并针对剩余的分解卷积滤波器剔除其对应的标量部分,进而,根据剩余的卷积滤波器和其他网络参数组合生成第一模型对应的压缩后的紧凑模型。
服务器可以根据满足收敛条件的第二模型中各卷积层中的标量,对每层卷积层进行剪枝处理;具体的,服务器可以根据卷积滤波器对应的标量/>的值,判断是否需要保留卷积滤波器/>若其对应的标量/>为1,则保留该卷积滤波器/>反之,若其对应的标量为0,则剔除该卷积滤波器/>在确定出该第二模型中所有需要保留的卷积滤波器后,剔除这些需要保留的卷积滤波器的标量部分,进而,根据剩余的卷积滤波器和该第二模型中的其他网络参数,组合得到第一模型对应的紧凑模型。
在另一种可能的实现方式中,服务器可以直接通过赋值的方式,生成第一模型对应的稀疏模型。具体的,服务器可以针对满足收敛条件的第二模型,将标量为零的分解卷积滤波器直接配置为零,从而得到第一模型对应的压缩后的稀疏模型。
具体的,对于ResNet等网络结构,由于标量参数的存储空间几乎可以忽略不计,因此,服务器不再需要对满足收敛条件的第二模型进行剪枝处理,可以直接用零来替代需要被剔除的卷积滤波器,由此得到第一模型对应的压缩后的稀疏模型。
应理解,在实际应用中,除了可以通过上述两种方式确定第一模型对应的压缩后的模型外,还可以根据实际需求采用其他方式确定第一模型对应的压缩后的模型,在此不对确定压缩后的模型的方式做任何限定。
上述模型压缩方法在压缩模型的过程中,对待压缩的模型进行重新建模,引入标量来衡量待压缩的模型中各卷积滤波器的重要性,对该重新建模得到的模型进行训练时,其中的各个标量将自主学习、自主衡量各卷积滤波器的重要性,进而,基于如此衡量出的各卷积滤波器的重要性,对待压缩的模型进行压缩处理得到其对应的压缩后的模型。如此,借助分解卷积滤波器将滤波器学习和滤波器选择结合为一体,利用所引入的标量客观准确地衡量模型中各卷积滤波器的重要性,保证基于该重要性对待压缩的模型进行压缩处理得到的模型具备较好的模型性能,相比待压缩的模型的模型精度,该压缩后的模型的模型精度不会产生较大的损失,提高了模型压缩效果。
为了评估本申请实施例提供的模型压缩方法的压缩效果,发明人选取了两个基准图像数据集CIFAR-10和ImageNet,采用较为常用的ResNet网络结构作为测试模型,对现有的模型压缩方法与本申请提供的模型压缩方法的压缩效果进行对比测试,为了便于描述,下面将本申请提供的模型压缩方法表示为CNN-FCF。
对比测试时,在图像数据集CIFAR-10上分别测试了ResNet-20、ResNet-32、ResNet-56和ResNet-110,将本申请提供的模型压缩方法的压缩效果,与现有技术中的SNLI(Smaller Norm Less Information)、SFP、NISP(Neuron Importance Score Propagation)和Pruning的压缩效果进行对比。在图像数据集ImageNet上分别测试了ResNet-34和ResNet-50,将本申请实施例提供的模型压缩方法的压缩效果,与现有技术中的SFP、NISP、Pruning、SSS(Sparse Structure Selection)、ThiNet和Channel pruning的压缩效果进行对比。
对比测试时,选择了用于代表参数数量减少百分比的Param.↓%、用于代表浮点运算数减少百分比的FLOPS↓%以及用于代表精度减少百分比的Acc.↓%,作为对比测试的测试指标。在对比测试的过程中,预先为每层卷积层设定相同的剪枝比例,进而对比经各模型压缩算法压缩处理后的模型精度下降百分比。
经对比测试,得到如表1和表2所示的对比测试结果;其中,表1所示为针对图像数据集CIFAR-10的对比测试结果,表2所示为针对图像数据集ImageNet的对比测试结果。
表1
/>
如表1所示,在针对图像数据集CIFAR-10进行对比测试的过程中,针对ResNet-20、ResNet-32、ResNet-56和ResNet-110,分别实施了43%和69%的的剪枝比例。在ResNet-20上,当剪枝掉43%左右的参数时,本申请提供的模型压缩方法获得了最少的精度下降百分比1.07%,相比之下,采用SNLI方法进行模型压缩模型精度下降了1.1%,并且,SNLI方法的模型参数数量下降的百分比37.22%,也少于本申请提供的模型压缩方法的模型参数数量下降的百分比42.75%;SFP方法的模型参数数量下降百分比虽然与本申请提供的模型压缩方法的模型参数数量下降百分比相同,但是SFP方法的模型精度下降百分比1.37%明显高于本申请提供的模型压缩方法的模型精度下降百分比1.07%。当剪枝掉69%左右的参数时,本申请提供的模型压缩方法也明显比SNLI具备更好的效果,即本申请提供的模型压缩方法的模型精度下降百分比2.67%小于SNLI的模型精度下降百分比3.20%。
如表1所示,在ResNet-32、ResNet-56和ResNet-110模型上,本申请实施例提供的模型压缩方法同样也取得了很好的压缩效果,此处不再详细介绍,具体参见表1中的相关数据。
表2
/>
如表2所示,在针对图像数据集ImageNet进行对比测试的过程中,针对ResNet-34和ResNet-50,分别实施了27%、43%、55%和67%的剪枝比例。其中,Top1 Reference%是指在图像数据集上,网络模型对所有输入图片预测输出的最大值的类别和真实分类标签相同的比例,Top1↓%表示压缩后的模型的分类精度相对于Top1 Reference%下降的比例;Top5 Reference%是指在图像数据集上,网络模型对所有输入图片预测输出的最大的五个值对应的类别当中包含真实分类标签的比例,Top5↓%表示压缩后的模型的分类精度相对于Top5 Reference%的下降比例。
在ResNet-34上,采用本申请提供的模型压缩方法剪枝掉27%左右的参数时,模型的Top1精度提升了0.25%,而采用NISP方法的模型的Top1精度下降了0.28%;当剪枝掉43%左右的参数时,本申请提供的模型压缩方法的Top1精度下降了0.51%,而采用NISP方法的模型的Top1精度下降了0.92%;当剪枝掉55%和67%的参数时,本申请提供的模型压缩方法的Top1精度也只下降了1.97%和3.59%。
如表2所示,在ResNet-50上,和其他现有技术的方法相比,本申请提供的模型压缩方法也取得了较好的模型压缩效果。
针对上文描述的模型压缩方法,本申请还提供了对应的模型压缩装置,以使上述模型压缩方法在实际中得以应用和实现。
参见图4,图4是与上文图2所示的模型压缩方法对应的一种模型压缩装置400的结构示意图,该模型压缩装置400包括:
获取模块401,用于获取待压缩的第一模型,所述第一模型中包括卷积层;
建模模块402,用于利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;
训练模块403,用于基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;
确定模块404,用于根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型。
可选的,在图4所示的模型压缩装置的基础上,所述确定模块404具体用于:
针对所述满足收敛条件的所述第二模型,删除标量为零的所述分解卷积滤波器,并针对剩余的所述分解卷积滤波器剔除其对应的标量部分,根据剩余的卷积滤波器和其他网络参数组合生成所述第一模型对应的压缩后的紧凑模型。
可选的,在图4所示的模型压缩装置的基础上,所述确定模块404具体用于:
针对所述满足收敛条件的所述第二模型,将标量为零的所述分解卷积滤波器配置为零,得到所述第一模型对应的压缩后的稀疏模型。
可选的,在图4所示的模型压缩装置的基础上,所述训练模块403具体用于:
将所述目标函数中的二值约束转换成连续约束,并基于交替方向乘子法和反向传播算法对所述第二模型进行训练。
可选的,在图4所示的模型压缩装置的基础上,所述训练模块403具体用于:
固定当前卷积层中各个分解卷积滤波器中卷积滤波器对应的标量,采用所述梯度下降算法更新各个卷积滤波器的参数;
固定当前卷积层中各个卷积滤波器的参数,采用所述交替方向乘子法更新各个卷积滤波器对应的标量和连续约束中的变量。
可选的,在图4所示的模型压缩装置的基础上,所述收敛条件包括:
当前训练批次数达到预设最大批次数;或者,
当前标量与零的差值的绝对值小于预设阈值,或者当前标量与一的差值的绝对值小于预设阈值。
可选的,在图4所示的模型压缩装置的基础上,所述第一模型是网络参数初始化的卷积神经网络模型。
上述模型压缩装置在压缩模型的过程中,对待压缩的模型进行重新建模,引入标量来衡量待压缩的模型中各卷积滤波器的重要性,对该重新建模得到的模型进行训练时,其中的各个标量将自主学习、自主衡量各卷积滤波器的重要性,进而,基于如此衡量出的各卷积滤波器的重要性,对待压缩的模型进行压缩处理得到其对应的压缩后的模型。如此,借助分解卷积滤波器将滤波器学习和滤波器选择结合为一体,利用所引入的标量客观准确地衡量模型中各卷积滤波器的重要性,保证基于该重要性对待压缩的模型进行压缩处理得到的压缩后的模型具备较好的模型性能,相比待压缩的模型的模型精度,该压缩后的模型的模型精度不会产生较大的损失,提高了模型压缩效果。
本申请还提供了一种用于压缩模型的设备,该设备具体可以为服务器,参见图5,图5是本申请实施例提供的一种用于压缩模型的服务器结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图5所示的服务器结构。
其中,CPU 522用于执行如下步骤:
获取待压缩的第一模型,所述第一模型中包括卷积层;
利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;
基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;
根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型。
可选的,CPU522还可以执行图3所示的模型压缩方法任一具体实现方式的方法步骤。
本申请实施例还提供了另一种用于压缩模型的设备,该设备具体可以为终端设备,如图6所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、销售终端(Point of Sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图6示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图6,手机包括:射频(Radio Frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器680还具有以下功能:
获取待压缩的第一模型,所述第一模型中包括卷积层;
利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;
基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;
根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型。
可选的,处理器680还可以执行图3所示的模型压缩方法任一具体实现方式的方法步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种模型压缩方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种模型压缩方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种模型压缩方法,其特征在于,包括:
服务器获取待压缩的第一模型,所述第一模型中包括卷积层;
所述服务器对所述待压缩的第一模型的卷积层重新建模得到第二模型,具体包括:所述服务器利用二值标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成所述第二模型,所述第二模型的卷积层中包括分解滤波器;
所述服务器基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;其中,所述服务器基于目标函数通过训练集对所述第二模型进行训练,具体包括:所述服务器固定所述第二模型中当前卷积层中各分解卷积滤波器中卷积滤波器对应的标量,采用梯度下降算法更新各个卷积滤波器的参数;所述服务器固定所述第二模型中当前卷积层中各卷积滤波器的参数,采用交替方向乘子法更新各个卷积滤波器对应的标量和连续约束中的变量;
所述服务器根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型,并将所述压缩后的模型发送到终端设备,使所述终端设备的处理能力能够承载运行所述压缩后的模型;所述服务器通过所述标量生成动态衡量卷积滤波器重要性的所述第二模型,根据所述第二模型对不同模型进行压缩,提高所述服务器对不同模型压缩的进行压缩的灵活性和效率,且所述压缩后的模型还用于减少模型在服务器中占用的资源,提高所述服务器资源的利用率;
所述终端设备利用所述压缩后的模型对所有输入图片预测输出最大值的类别,以提高所述压缩后的模型对所述输入图片的分类精度。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型,包括:
针对所述满足收敛条件的所述第二模型,删除标量为零的所述分解卷积滤波器,并针对剩余的所述分解卷积滤波器剔除其对应的标量部分,根据剩余的卷积滤波器和其他网络参数组合生成所述第一模型对应的压缩后的紧凑模型。
3.根据权利要求1所述的方法,其特征在于,所述服务器根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型,包括:
针对所述满足收敛条件的所述第二模型,将标量为零的所述分解卷积滤波器配置为零,得到所述第一模型对应的压缩后的稀疏模型。
4.根据权利要求1所述的方法,其特征在于,所述服务器基于目标函数通过训练集对所述第二模型进行训练,包括:
将所述目标函数中的二值约束转换成连续约束,并基于交替方向乘子法和反向传播算法对所述第二模型进行训练。
5.根据权利要求1所述的方法,其特征在于,所述收敛条件包括:
当前训练批次数达到预设最大批次数;或者,
当前标量与零的差值的绝对值小于预设阈值,或者当前标量与一的差值的绝对值小于预设阈值。
6.根据权利要求1所述的方法,其特征在于,所述第一模型是网络参数初始化的卷积神经网络模型。
7.一种模型压缩装置,其特征在于,包括:
获取模块,用于获取待压缩的第一模型,所述第一模型中包括卷积层;
建模模块,用于对所述待压缩的第一模型的卷积层重新建模得到第二模型;
所述建模模块,具体用于利用二值标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成所述第二模型,所述第二模型的卷积层中包括分解滤波器;
训练模块,用于基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;
确定模块,用于根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型,并将所述压缩后的模型发送到终端设备,使所述终端设备的处理能力能够承载运行所述压缩后的模型,由所述终端设备利用所述压缩后的模型对所有输入图片预测输出最大值的类别,以提高所述压缩后的模型对所述输入图片的分类精度;通过所述标量生成动态衡量卷积滤波器重要性的所述第二模型,根据所述第二模型对不同模型进行压缩,提高服务器对不同模型压缩的进行压缩的灵活性和效率,且所述压缩后的模型还用于减少模型在服务器中占用的资源,提高所述服务器资源的利用率;
所述训练模块具体用于:固定所述第二模型中当前卷积层中各分解卷积滤波器中卷积滤波器对应的标量,采用梯度下降算法更新各个卷积滤波器的参数;固定所述第二模型中当前卷积层中各卷积滤波器的参数,采用交替方向乘子法更新各个卷积滤波器对应的标量和连续约束中的变量。
8.根据权利要求7所述的装置,其特征在于,所述确定模块具体用于:
针对所述满足收敛条件的所述第二模型,删除标量为零的所述分解卷积滤波器,并针对剩余的所述分解卷积滤波器剔除其对应的标量部分,根据剩余的卷积滤波器和其他网络参数组合生成所述第一模型对应的压缩后的紧凑模型。
9.根据权利要求7所述的装置,其特征在于,所述确定模块具体用于:
针对所述满足收敛条件的所述第二模型,将标量为零的所述分解卷积滤波器配置为零,得到所述第一模型对应的压缩后的稀疏模型。
10.根据权利要求7所述的装置,其特征在于,所述训练模块具体用于:
将所述目标函数中的二值约束转换成连续约束,并基于交替方向乘子法和反向传播算法对所述第二模型进行训练。
11.一种设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1至6任一项所述的模型压缩方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1至6任一项所述的模型压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910309246.XA CN110163342B (zh) | 2019-04-17 | 2019-04-17 | 一种模型压缩方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910309246.XA CN110163342B (zh) | 2019-04-17 | 2019-04-17 | 一种模型压缩方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110163342A CN110163342A (zh) | 2019-08-23 |
CN110163342B true CN110163342B (zh) | 2023-07-25 |
Family
ID=67639473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910309246.XA Active CN110163342B (zh) | 2019-04-17 | 2019-04-17 | 一种模型压缩方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110163342B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110969240B (zh) * | 2019-11-14 | 2022-12-09 | 北京达佳互联信息技术有限公司 | 一种深度卷积神经网络的剪枝方法、装置、设备及介质 |
CN111325342A (zh) * | 2020-02-19 | 2020-06-23 | 深圳中兴网信科技有限公司 | 模型的压缩方法、装置、目标检测设备和存储介质 |
CN111369559A (zh) * | 2020-04-16 | 2020-07-03 | 福州海豚世纪科技有限公司 | 妆容评估方法、装置、化妆镜和存储介质 |
CN113033779A (zh) * | 2021-03-18 | 2021-06-25 | 联想(北京)有限公司 | 一种基于设备参数的模型处理方法及电子设备 |
CN113011567B (zh) * | 2021-03-31 | 2023-01-31 | 深圳精智达技术股份有限公司 | 一种卷积神经网络模型的训练方法及装置 |
CN113673694A (zh) * | 2021-05-26 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | 数据处理方法及装置、电子设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510486A (zh) * | 2011-09-23 | 2012-06-20 | 中山大学 | 一种几何图像的处理方法及其装置 |
CN108846445A (zh) * | 2018-06-26 | 2018-11-20 | 清华大学 | 一种基于相似性学习的卷积神经网络滤波器剪枝技术 |
CN108921294A (zh) * | 2018-07-11 | 2018-11-30 | 浙江大学 | 一种用于神经网络加速的渐进式块知识蒸馏方法 |
CN109557540A (zh) * | 2018-10-29 | 2019-04-02 | 西安电子科技大学 | 基于目标散射系数非负约束的全变差正则化关联成像方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004061702A1 (en) * | 2002-12-26 | 2004-07-22 | The Trustees Of Columbia University In The City Of New York | Ordered data compression system and methods |
EP3293702B1 (en) * | 2016-09-13 | 2020-04-29 | Dassault Systèmes | Compressing a signal that represents a physical attribute |
-
2019
- 2019-04-17 CN CN201910309246.XA patent/CN110163342B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510486A (zh) * | 2011-09-23 | 2012-06-20 | 中山大学 | 一种几何图像的处理方法及其装置 |
CN108846445A (zh) * | 2018-06-26 | 2018-11-20 | 清华大学 | 一种基于相似性学习的卷积神经网络滤波器剪枝技术 |
CN108921294A (zh) * | 2018-07-11 | 2018-11-30 | 浙江大学 | 一种用于神经网络加速的渐进式块知识蒸馏方法 |
CN109557540A (zh) * | 2018-10-29 | 2019-04-02 | 西安电子科技大学 | 基于目标散射系数非负约束的全变差正则化关联成像方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110163342A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163342B (zh) | 一种模型压缩方法、装置、设备及存储介质 | |
CN110163367B (zh) | 一种终端部署方法和装置 | |
CN107944555B (zh) | 神经网络压缩和加速的方法、存储设备和终端 | |
US10956783B2 (en) | Image processing method and apparatus | |
CN106919918B (zh) | 一种人脸跟踪方法和装置 | |
CN110069715B (zh) | 一种信息推荐模型训练的方法、信息推荐的方法及装置 | |
CN103414488A (zh) | 一种移动设备天线的控制方法、装置和设备 | |
CN107146616A (zh) | 设备控制方法及相关产品 | |
CN103472756A (zh) | 一种实现人工智能的方法、服务器和设备 | |
US10663521B2 (en) | Method and device for ascertaining required charging time | |
CN110334124A (zh) | 压缩算法选择方法、装置以及设备 | |
CN110597793A (zh) | 数据管理方法及装置、电子设备和计算机可读存储介质 | |
CN105447583A (zh) | 一种预测用户离网的方法及装置 | |
CN110910964A (zh) | 一种分子间的结合活性预测方法及装置 | |
CN113284142A (zh) | 图像检测方法、装置、计算机可读存储介质及计算机设备 | |
CN111913848A (zh) | 一种数据监测分析方法及相关设备 | |
CN110969240B (zh) | 一种深度卷积神经网络的剪枝方法、装置、设备及介质 | |
CN112948763B (zh) | 件量预测方法、装置、电子设备及存储介质 | |
CN112131482A (zh) | 一种时效确定方法和相关装置 | |
CN110781395B (zh) | 题目推荐方法、装置及终端设备 | |
CN111275170B (zh) | 一种模型训练方法和相关装置 | |
CN111382335B (zh) | 一种数据拉取方法、装置及存储介质 | |
CN116450808B (zh) | 一种数据的处理方法、装置以及存储介质 | |
CN109151154A (zh) | 功耗控制方法、及移动终端 | |
CN116912352B (zh) | 一种图片生成方法、装置、电子设备及存储介质 |
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 |