轻量化模型架构
1、MobileNet
V1
创新点:引入深度可分离卷积
存在的问题:Depthwise Convolution存在潜在问题,训练后部分信息丢失,导致部分kernel的权值为0。
V2
创新点:1、Inverted Residuals 倒残差结构;2、Linear Bottlenecks;
Q1:MobileNetv2这样设计的思路?
Q2:为什么叫倒残差结构?
看完下面的博文就有答案:详解MobileNetV2 ⭐
尝试引入 Residuals 模块并针对 ReLU 激活函数进行研究,动机相当明确,故事也很清晰。
MobileNet V2 论文初读 相对一般
轻量化网络:MobileNet-V2 参数解释很棒,根据下表可以直接写出对应的网络结构
代码实现
拆解出来的代码结构
直接从已有包中导入
from torchvision.models import mobilenet_v2
完整可训练测试网络
2、ShuffleNet
3、GhostNet
CVPR 2020:华为GhostNet,超越谷歌MobileNet,已开源 官方解释
GhostNet论文解析:Ghost Module
经典回顾:GhostNet 非常精炼的多方资料总结的博文
创新点:通过普通卷积产生一组特征图,然后通过简单的线性变换产生更多的特征图。
好处:不改变输入输出特征图的前提下,大幅减少模型的参数量和计算量。
核心代码理解
构建自己的GhostNet网络(PyTorch) ⭐代码结构讲解到位
GhostNet详解及代码实现 完整非官方代码,可读性更好
GhostNet官方代码
1、_make_divisible函数能够保证输出通道的数目能够被4整除
2、GhostBottleneck模块构成