深度学习:神经网络模型的剪枝和压缩简述

深度学习的神经网路的剪枝和压缩,大致的简述,

本次主要采用: network slimming,瘦身网络...

深度学习网络,压缩的主要方式:
1.剪枝,nerwork pruing,
2.稀疏表示,sparse representation,    本是正态分布的,存在稀疏参数0.001等等,将接近0的缩放因子,全部摘除,
3.量化,bit precision,            低精度表示,不用浮点数,用整数,如int8、更少的bit,甚至20毫,
4.知识蒸馏,knowledge distillation,


神经网络,往往过度参数化,会对结果造成干扰和负担,所以要将他减掉,

剪枝技术介绍:
1.权重pt剪枝:    摘掉几个中间的权重,非结构化,不利于部署,  实现困难,硬件gpu也不支持,
2.神经元剪枝:    摘掉几个中间的神经元,不重要的通道,影响较小,可有可无,


network sliming,瘦身网络...    比较经典的网络剪枝方法。

原理:    不同的卷积层 ---->>> 通道缩放因子---->>> 新的卷积层。
网络初始化层中:(结构化的剪枝方法)    (流程简述)
        缩放因子,稀疏正则化,剪枝,微调

1.缩放因子:      参数比例,存在极小比例的缩放因子,如0.001等等,
2.稀疏正则化:    对缩放因子,进行稀疏正则化,可以自动识别不重要的通道,
3.剪枝:        具有较小缩放因子的通道将被剪枝,
4.微调:        剪枝后的紧凑模型(compact network),会精度下降,
                      需要微调达到正常训练网络的恢复,甚至超越!!!

网络瘦身-流程图:

初始化网络-> 通道:稀疏正则化训练 -> 剪除:小缩放因子通道 -> 微调: 剪枝后网络 -> 紧凑模型(compact network)
                 在,            初始化网络->紧凑模型(compact network)                                                                                         之间多次,不断重复流程,迭代多次。

对于跨层链接:
            正则化和预激活正则化来说,如resnet等架构,他们存在跳过的支路,BN在剪枝之前
            剪完后,容易出现通道不匹配现象,不能直接相加,
            必须采用: channel selection,与未被剪枝的后续通道相加,相当于多了一条连接线,

windows输入特殊符号:   win+r,召唤出cmd命令行,    按下charmap,跳出特殊字符表。。。

不同的稀疏正则化,随着缩放因子λ的增大,而越来越稀疏。
但是,缩放因子λ太大会导致精度变差,后续的微调fine-tuning变难。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值