mobilenet v1
- 将标准卷积改为3x3的深度分离卷积(depthwise) 和 1x1点卷积(pointwise)
-
深度可分离卷积:一个卷积核负责一个通道,一个通道只被一个卷积核卷积。卷积核数量和上一层通道数相同,一一对应。
– 优点:Separable Convolution的参数个数是常规卷积的约1/3。因此,在参数量相同的前提下,采用Separable Convolution的神经网络层数可以做的更深。
– 缺点:没有利用不同通道在相同空间位置上的特征,需要点卷积去组合
– 参数量:1x1x上一层通道数x卷积核个数(输出通道数) -
点卷积:
– 参数量:3x3x上一层通道数
传统卷积参数量:3(上一层通道数) x 3 x 3 x 4(卷积核个数、输出通道数)
mobilenet v2
-
根据流形学习得出结论:ReLU导致的较多的信息损耗。但是不能直接用线性激活代替RELU,所以:在输出通道较少的时候用线性激活函数,其他时候ReLU6
relu6: y= min(max(0,x), 6), 通过实验发现用6最好。图像:
-
根据流形学习得出结论:如果增加通道数量能够减少信息损失就使用更多通道。所以:使用ReLU6的时候,增加通道数为输入通道数的t倍
https://blog.csdn.net/northeastsqure/article/details/88130792
mobilenet v3
- 用MnasNet搜索网络结构;网格搜索中利用两个策略:资源受限的NAS和NetAdapt;
- 用V1的深度可分离;
- 用V2的倒残差线性瓶颈结构;
- 引入SE模块;
- 新的激活函数h-swish(x);
h-swish(x) = x * [RELU6( x + 3)] / 6 - 修改V2最后部分减小计算。
各种激活函数:https://blog.csdn.net/jsk_learner/article/details/102822001
https://zhuanlan.zhihu.com/p/95778474?from_voters_page=true