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

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

主要采用: 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变难。

相关推荐
王哈哈^_^29 分钟前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
是瑶瑶子啦44 分钟前
【深度学习】论文笔记:空间变换网络(Spatial Transformer Networks)
论文阅读·人工智能·深度学习·视觉检测·空间变换
wangyue42 小时前
c# 深度模型入门
深度学习
川石课堂软件测试2 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
985小水博一枚呀2 小时前
【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer
985小水博一枚呀3 小时前
【深度学习滑坡制图|论文解读2】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer·迁移学习
数据与后端架构提升之路3 小时前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
深度学习实战训练营4 小时前
基于CNN-RNN的影像报告生成
人工智能·深度学习
孙同学要努力11 小时前
全连接神经网络案例——手写数字识别
人工智能·深度学习·神经网络
sniper_fandc13 小时前
深度学习基础—循环神经网络的梯度消失与解决
人工智能·rnn·深度学习