CN110163342A - 一种模型压缩方法、装置、设备及存储介质 - Google Patents

一种模型压缩方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110163342A
CN110163342A CN201910309246.XA CN201910309246A CN110163342A CN 110163342 A CN110163342 A CN 110163342A CN 201910309246 A CN201910309246 A CN 201910309246A CN 110163342 A CN110163342 A CN 110163342A
Authority
CN
China
Prior art keywords
model
convolution filter
scalar
convergence
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.)
Granted
Application number
CN201910309246.XA
Other languages
English (en)
Other versions
CN110163342B (zh
Inventor
吴保元
李团辉
杨余久
樊艳波
张勇
刘威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910309246.XA priority Critical patent/CN110163342B/zh
Publication of CN110163342A publication Critical patent/CN110163342A/zh
Application granted granted Critical
Publication of CN110163342B publication Critical patent/CN110163342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)为 第二模型的输出概率,进而可以将目标函数设定为以下形式: s.t.1Tvl=kl 其中,是指第二模型的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)和反向传播算法对该第二模型进行 训练。
具体的,服务器可以通过以下方式将二值约束转换为连续约 束:其中,表示连续约束,表示一个-sphere约束;根据-Box ADMM算法的 求解步骤,本申请在训练第二模型的过程中引入两个额外的变量z1和z2来分 解连续约束,引入额外的变量后,用于优化训练目标函数的具体表现形式如 下: s.t.此处的
需要说明的是,对于含有连续约束的第二模型,服务器仍然不能直接调 用标准的反向传播算法如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 ScorePropagation)和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%的剪枝比例。其 中,Top1Reference%是指在图像数据集上,网络模型对所有输入图片预测输 出的最大值的类别和真实分类标签相同的比例,Top1↓%表示压缩后的模型 的分类精度相对于Top1Reference%下降的比例;Top5Reference%是指在图像 数据集上,网络模型对所有输入图片预测输出的最大的五个值对应的类别当 中包含真实分类标签的比例,Top5↓%表示压缩后的模型的分类精度相对于 Top5Reference%的下降比例。
在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还可以通过无线通信与网络和其他设备通信。上述无线通信可以 使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General PacketRadio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带 码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进 (Long TermEvolution,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-Only Memory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制; 尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应 当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案 的本质脱离本申请各实施例技术方案的精神和范围。

Claims (14)

1.一种模型压缩方法,其特征在于,包括:
获取待压缩的第一模型,所述第一模型中包括卷积层;
利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;
基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;
根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型,包括:
针对所述满足收敛条件的所述第二模型,删除标量为零的所述分解卷积滤波器,并针对剩余的所述分解卷积滤波器剔除其对应的标量部分,根据剩余的卷积滤波器和其他网络参数组合生成所述第一模型对应的压缩后的紧凑模型。
3.根据权利要求1所述的方法,其特征在于,所述根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型,包括:
针对所述满足收敛条件的所述第二模型,将标量为零的所述分解卷积滤波器配置为零,得到所述第一模型对应的压缩后的稀疏模型。
4.根据权利要求1所述的方法,其特征在于,基于目标函数通过训练集对所述第二模型进行训练,包括:
将所述目标函数中的二值约束转换成连续约束,并基于交替方向乘子法和反向传播算法对所述第二模型进行训练。
5.根据权利要求4所述的方法,其特征在于,按照如下方式对所述第二模型进行训练:
固定当前卷积层中各个分解卷积滤波器中卷积滤波器对应的标量,采用所述梯度下降算法更新各个卷积滤波器的参数;
固定当前卷积层中各个卷积滤波器的参数,采用所述交替方向乘子法更新各个卷积滤波器对应的标量和连续约束中的变量。
6.根据权利要求1所述的方法,其特征在于,所述收敛条件包括:
当前训练批次数达到预设最大批次数;或者,
当前标量与零的差值的绝对值小于预设阈值,或者当前标量与一的差值的绝对值小于预设阈值。
7.根据权利要求1所述的方法,其特征在于,所述第一模型是网络参数初始化的卷积神经网络模型。
8.一种模型压缩装置,其特征在于,包括:
获取模块,用于获取待压缩的第一模型,所述第一模型中包括卷积层;
建模模块,用于利用标量和所述卷积层中的卷积滤波器进行点乘运算生成分解卷积滤波器,根据所述分解卷积滤波器生成第二模型;
训练模块,用于基于目标函数通过训练集对所述第二模型进行训练,获得满足收敛条件的所述第二模型;所述目标函数为带基数约束和二值约束的损失函数,所述基数约束用于约束剪枝后剩余的卷积滤波器数量,所述二值约束用于约束所述标量呈现二值化;
确定模块,用于根据所述满足收敛条件的所述第二模型,确定所述第一模型对应的压缩后的模型。
9.根据权利要求8所述的装置,其特征在于,所述确定模块具体用于:
针对所述满足收敛条件的所述第二模型,删除标量为零的所述分解卷积滤波器,并针对剩余的所述分解卷积滤波器剔除其对应的标量部分,根据剩余的卷积滤波器和其他网络参数组合生成所述第一模型对应的压缩后的紧凑模型。
10.根据权利要求8所述的装置,其特征在于,所述确定模块具体用于:
针对所述满足收敛条件的所述第二模型,将标量为零的所述分解卷积滤波器配置为零,得到所述第一模型对应的压缩后的稀疏模型。
11.根据权利要求8所述的装置,其特征在于,所述训练模块具体用于:
将所述目标函数中的二值约束转换成连续约束,并基于交替方向乘子法和反向传播算法对所述第二模型进行训练。
12.根据权利要求11所述的装置,其特征在于,所述训练模块具体用于:
固定当前卷积层中各个分解卷积滤波器中卷积滤波器对应的标量,采用所述梯度下降算法更新各个卷积滤波器的参数;
固定当前卷积层中各个卷积滤波器的参数,采用所述交替方向乘子法更新各个卷积滤波器对应的标量和连续约束中的变量。
13.一种设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1至7任一项所述的模型压缩方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1至7任一项所述的模型压缩方法。
CN201910309246.XA 2019-04-17 2019-04-17 一种模型压缩方法、装置、设备及存储介质 Active CN110163342B (zh)

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 true CN110163342A (zh) 2019-08-23
CN110163342B 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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110969240A (zh) * 2019-11-14 2020-04-07 北京达佳互联信息技术有限公司 一种深度卷积神经网络的剪枝方法、装置、设备及介质
CN111325342A (zh) * 2020-02-19 2020-06-23 深圳中兴网信科技有限公司 模型的压缩方法、装置、目标检测设备和存储介质
CN111369559A (zh) * 2020-04-16 2020-07-03 福州海豚世纪科技有限公司 妆容评估方法、装置、化妆镜和存储介质
CN113011567A (zh) * 2021-03-31 2021-06-22 深圳精智达技术股份有限公司 一种卷积神经网络模型的训练方法及装置
CN113033779A (zh) * 2021-03-18 2021-06-25 联想(北京)有限公司 一种基于设备参数的模型处理方法及电子设备
CN113673694A (zh) * 2021-05-26 2021-11-19 阿里巴巴新加坡控股有限公司 数据处理方法及装置、电子设备和计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050265618A1 (en) * 2002-12-26 2005-12-01 The Trustees Of Columbia University In The City Of New York Ordered data compression system and methods
CN102510486A (zh) * 2011-09-23 2012-06-20 中山大学 一种几何图像的处理方法及其装置
US20180075622A1 (en) * 2016-09-13 2018-03-15 Dassault Systemes Compressing a signal that represents a physical attribute
CN108846445A (zh) * 2018-06-26 2018-11-20 清华大学 一种基于相似性学习的卷积神经网络滤波器剪枝技术
CN108921294A (zh) * 2018-07-11 2018-11-30 浙江大学 一种用于神经网络加速的渐进式块知识蒸馏方法
CN109557540A (zh) * 2018-10-29 2019-04-02 西安电子科技大学 基于目标散射系数非负约束的全变差正则化关联成像方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050265618A1 (en) * 2002-12-26 2005-12-01 The Trustees Of Columbia University In The City Of New York Ordered data compression system and methods
CN102510486A (zh) * 2011-09-23 2012-06-20 中山大学 一种几何图像的处理方法及其装置
US20180075622A1 (en) * 2016-09-13 2018-03-15 Dassault Systemes Compressing a signal that represents a physical attribute
CN108846445A (zh) * 2018-06-26 2018-11-20 清华大学 一种基于相似性学习的卷积神经网络滤波器剪枝技术
CN108921294A (zh) * 2018-07-11 2018-11-30 浙江大学 一种用于神经网络加速的渐进式块知识蒸馏方法
CN109557540A (zh) * 2018-10-29 2019-04-02 西安电子科技大学 基于目标散射系数非负约束的全变差正则化关联成像方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110969240A (zh) * 2019-11-14 2020-04-07 北京达佳互联信息技术有限公司 一种深度卷积神经网络的剪枝方法、装置、设备及介质
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 联想(北京)有限公司 一种基于设备参数的模型处理方法及电子设备
CN113011567A (zh) * 2021-03-31 2021-06-22 深圳精智达技术股份有限公司 一种卷积神经网络模型的训练方法及装置
CN113011567B (zh) * 2021-03-31 2023-01-31 深圳精智达技术股份有限公司 一种卷积神经网络模型的训练方法及装置
CN113673694A (zh) * 2021-05-26 2021-11-19 阿里巴巴新加坡控股有限公司 数据处理方法及装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN110163342B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
CN110163342A (zh) 一种模型压缩方法、装置、设备及存储介质
CN110163367B (zh) 一种终端部署方法和装置
CN108230232B (zh) 一种图像处理的方法以及相关装置
CN109241431A (zh) 一种资源推荐方法和装置
CN108268366B (zh) 测试用例执行方法及装置
CN108073856A (zh) 噪音信号的识别方法及装置
CN105320701B (zh) 功能点测试实现方式的筛选方法、装置及终端
CN110515626A (zh) 深度学习计算框架的代码编译方法及相关产品
CN113284142B (zh) 图像检测方法、装置、计算机可读存储介质及计算机设备
CN109934512A (zh) 一种预测模型的训练方法及系统
CN108334539A (zh) 对象推荐方法、移动终端及计算机可读存储介质
CN109550249A (zh) 一种目标对象的控制方法以及相关装置
CN110069715A (zh) 一种信息推荐模型训练的方法、信息推荐的方法及装置
CN105975833A (zh) 一种指纹解锁方法及终端
CN108989887A (zh) 移动终端和推送视频的方法、装置
CN112052841A (zh) 一种视频摘要的生成方法以及相关装置
CN109992367A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN110163045A (zh) 一种手势动作的识别方法、装置以及设备
CN110334124A (zh) 压缩算法选择方法、装置以及设备
CN109376781A (zh) 一种图像识别模型的训练方法、图像识别方法和相关装置
CN109886408A (zh) 一种深度学习方法及装置
CN109545221A (zh) 参数调整方法、移动终端及计算机可读存储介质
CN113723159A (zh) 场景识别模型训练方法、场景识别方法及模型训练装置
CN108230104A (zh) 应用类特征生成方法、移动终端以及可读存储介质
CN110347858A (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