AI模型压缩算法汇总

AI模型压缩算法汇总

  • 最新新闻
    2019-06-29 新闻原文:CVPR 2019:北邮提出新AI模型压缩算法,显著降低计算复杂度

    论文:http://openaccess.thecvf.com/content_CVPR_2019/papers/Li_OICSR_Out-In-Channel_Sparsity_Regularization_for_Compact_Deep_Neural_Networks_CVPR_2019_paper.pdf

    GitHub: https://github.com/dsfour/OICSR

  • 主要内容
    本研究提出了一种新的结构正则化形式Out-In-Channel Sparsity Regularization (OICSR)来克服分离式结构正则化的缺陷。OICSR充分考虑了网络中连续层之间的关联关系,将结构正则化同时运用于连续网络层中相互对应的out-channels和in-channels,从而可以在更小的精度损失下移除更多的冗余通道。

    Out-In-Channel结构稀疏正则化

    连续两层网络的关联关系如图1所示,本研究用相同的颜色来标识连续层之间相互对应的out-channel和in-channel。

    连续两层网络中相互对应的输入输出通道在网络运行过程中是相互合作相互依赖的,第l层的输入与第l层中第i个out-channel的权重向量共同生成第l层的第i个输出特征图,紧接着第l层的第i个输出特征图和第l+1层中第i个in-channel的权重向量共同生成第l+1层的输出。

    除此之外,在网络通道剪枝过程中连续层之间对应的out-channel和in-channel会被共同保留或者移除。所以,有理由认为在剪枝工作中,连续层之间对应的out-channels和in-channels应该被共同且平等地考虑。
    0

    图1 连续层网络的关联关系及Out-In-Channel的定义

    分离式结构正则化的缺陷在于仅仅使得第l层网络的out-channels维度的重要程度分离开来,然而第l+1层中对应的in-channels却被忽略了。存在这样的情况,第l层网络的第i个out-channel因为分离式结构正则化,在训练过程变得冗余,因此在通道剪枝过程中被移除。然而被同时移除的l+1层网络中对应的第i个in-channel可能还是相对重要的,这时网络的能力和精度就被严重的破坏了。

    本研究因此提出在应用结构正则化进行剪枝时,应将连续层之间对应的out-channel和in-channel当成一个正则化组out-in-channel来进行结构化约束。在网络训练过程中,带有OICSR的优化目标如公式2和公式3所示:
    1
    其中的符号‘+’表示对第l层和第l+1层中对应输入输出通道的权重向量进行拼接,从而可以对同一个out-in-channel正则化组内的权重向量进行结构化约束。不同于分离式结构正则化,OICSR可以使得神经网络中out-in-channels的重要性分离开来,也就是说,对于连续网络层中共同作用相互对应的out-channels和in-channels,它们将会同时变得重要或者同时变得冗余。因此在对网络进行剪枝时,可以在更小的精度损失下,移除更多冗余的out-in-channels.

    OICSR是一种通用的结构正则化形式,很多结构正则化项GroupLasso [4], GrOWL regularization [5]等都可以拓展OICSR的形式。例如Group Lasso拓展成OICSR的形式如公式4所示:
    2

    图2 迭代剪枝流程

    本研究的迭代剪枝流程如图2所示。在通道剪枝过程中,涉及到冗余通道选取的问题。当前的很多工作仅仅使用第l层的统计信息来选择第l层和第l+1层之间的冗余通道,然而第l+1层中的统计信息又被忽略了。沿用out-in-channel的思想,认为应当同时利用连续两层网络的统计信息来选取两层网络间冗余的out-in-channels。为了简洁性表示,本研究使用了通道能量(当然也很有效果)作为通道重要性的评判标准,通道重要性准则如公式5所示:
    3

    实际上神经网络中每一层的冗余程度都不同,当前的很多工作为每一层网络设定均等的剪枝比例或者根据经验人为地设定剪枝比例是不够合理的。因此本研究提出一个全局贪婪剪枝算法(Algorithm 1),来全局地决定每一层网络的剪枝比例。首先根据公式8计算出网络中全部out-in-channels的通道能量,接着对这些通道能量进行全局排序,最后根据预先设定的全局目标剪枝比例,来贪婪地选取网络中的冗余通道,最后每层的剪枝比例因此也被确定下来。

  • 深度学习模型压缩方法

    目前深度学习模型压缩方法的研究主要可以分为以下几个方向:

    1、更精细模型的设计。
    目前的很多网络都具有模块化的设计,在深度和宽度上都很大,这也造成了参数的冗余很多,因此有很多关于模型设计的研究,如SqueezeNet、MobileNet等,使用更加细致、高效的模型设计,能够很大程度的减少模型尺寸,并且也具有不错的性能。

    2、模型裁剪。
    结构复杂的网络具有非常好的性能,其参数也存在冗余,因此对于已训练好的模型网络,可以寻找一种有效的评判手段,将不重要的connection或者filter进行裁剪来减少模型的冗余。

    3、核的稀疏化。
    在训练过程中,对权重的更新进行诱导,使其更加稀疏,对于稀疏矩阵,可以使用更加紧致的存储方式,如CSC,但是使用稀疏矩阵操作在硬件平台上运算效率不高,容易受到带宽的影响,因此加速并不明显。

    除此之外,量化、Low-rank分解、迁移学习等方法也有很多研究,并在模型压缩中起到了非常好的效果。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值