ShuffleNet是Face++为了产品落地而做的。主要的贡献在于:
大幅砍削了浮点计算次数。
作者注意到,像Xception、ResNeXt这么好的网络结构,一旦被压缩为小网络,就会性能低下。这也导致了这类先进的网络结构无法被落地到移动设备上。
究其原因,发现是因为 密集的1×11×11\times 1卷积 耗费了大量的计算资源。
对应的,作者发明了ShuffleNet。
使用pointwise group convolution来替换原本的1×11×11\times 1卷积,并通过channel shuffle操作来克服替换所带来的副作用。
在浮点数计算仅约40MFLOPs的计算开销下,在ImageNet top-1 error 单项上吊打第二名7.8个点。
这篇文章就扫了一眼,没细看。主要还是拓宽了知识面吧。
[1] ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices