轻量模型之ShuffleNet
课程总结:
1.ShuffleNet创新点
分组点卷积,通道重排
2.分组点卷积
通道分组进行卷积
3.通道重排
4.ShuffleNet结构
5.ShuffleNetV2等改进点
总结:
深度可分离卷积和分组卷积之间的异同:
https://zhuanlan.zhihu.com/p/65377955
分组卷积是把特征图通道分组,分别用对应一小段卷积核进行卷积然后在通道上相加
深度可分离卷积将卷积操作中的滤波和维数变换分开成两组卷积,先在特征图上卷积,然后再分别在每个1x1小块所有的通道上点卷积
作业题:
1.通道重排(channel shuffle)意在解决什么问题?
在分组点卷积中,某个通道的输出仅来自一小部分输入通道,阻止了信息流动,特征表示。而通道重排可以使我们从不同组中获取输入数据,使构建具有多个组卷积层的更强大的网络结构成为可能。使得各个通道的信息能够融合,关联全局特征
2.文字回答:通道重排具体步骤是什么?
假定某卷积层分为g组,输出特征通道数为gxn
(1)reshape:将gn个通道数变为维度为(g,n)
(2)transpose:将上述转置维度转置为(n,g)
(3)flatten:展开作为下一组卷积输入
3.代码实践,利用pytorch复现分组数为4的shufflenet网络模型。
程序运行结果:
Training Epoch: 99 [50000/50000] Loss: 0.1599 Accuracy: 96.250000
Test set: Average loss: 0.0023, Accuracy: 0.9131
每天进步一点点