1、为什么要学习轻量化网络
- 神经网络效果好 应用广泛
- 移动端上模型部署的迫切需求:自动驾驶、机器人视觉、无人机、人脸识别、目标识别检测
- 高频面试问题、薪资高
- 完善知识结构体系
- 个人学术研究:特征信息交流
2、轻量化网络发展历程与前进方向
- 模型精度与算力、存储空间的矛盾
- 网络模型结构设计、知识蒸馏、剪枝、量化、低秩分解
- 2017:squeezeNet、MobileNet、ShuffleNet、Xception
- 2018:MobileNetv2、ShuffleNetv2
- 2019:MobileNetv3、MixNet、ThunderNet
- 2020:GhostNet、MoGA
3、剪枝
- 从静态组粗暴剪枝到动态搜索剪枝
- 明确:在计算机中一个一个的卷积核,就是我们说的网络;我们说的网络的权重就是卷积核汇总的一个个参数。
4、知识蒸馏
简历“教师-学生”网络模型,小模型模仿大模型,不断深入模仿。
5、前进方向
在保证模型精度的基础上,构建更轻量化的模型
- 参数量更少,运算速度更快
- 利于部署到移动设备,嵌入式设备
- 网络结构自动化搜索,自监督学习,减少手工设计
6、技术演化路径
深度可分离卷积Depthwise Seperabel Convolution:空间信息和通道信息
Network in Network:1*1 卷积实现空间信息分离,只包含通道信息
Channel Shuffle:
SqueezeNet:构建了Fire Module、以此为基础,构建了轻量级网络SqueezeNet
Xception:Deep Learning with Depthwise Separable Convolutions
MobileNets:Efficient Convolutional neural Networks for Mobile Vision Applications
MobileNetv2
MobileNetv3
ShuffleNet:
ShuffleNetv2