ShuffleNet V1 两个创新点
分组卷积,比如说红色这个卷积核处理一组,,,
左边这个使用6个卷积核,得到6个feature map。右边这个红色的是有2个卷积核,得到2个红色的feature map。
最后摞在一起,组和组之间没有信息交流。为了解决这个问题,提出了通道重排。
左图就是组与组之间没有交流,中间和右边是一个意思,就是把通道打乱,然后有顺序的重新组合。
先reshape,再transpose,最后再flatten。
(b)图是在a图是基础上演变而来,先组卷积,然后重排,然后dw卷积,最后组卷积,最后逐个元素相加,是在没有下采样的时候用。如果使用下采样,则用c图,最左边是一个池化,最后摞在一起。(b)和©就是ShuffleNet v1里的基本模块。
stage里的repeat是重复个数的意思,每次都先使用下采样模块©,其余使用普通模块(b)。最后加上一个全局平均池化。右边是用了不同的分组的组数的情况。
ShuffleNet v2
4条准则:
element-wise逐个元素操作比如说残差结构最后的逐个元素相加,或者relu。
v2的结构。channel split是把通道分成两半,一半给左边,一半给右边。
v2的模型结构。每个stage一开始都是一个stride=2的下采样模块。