旷视科技近日公开了一篇CNN结构设计优化的文章(已被ECCV2018收录),分享下自己的阅读笔记。
文章提出:FLOPs虽然可以反映计算复杂度,但不能体现计算的速度和延迟(latency),最直观的例子就是MobileNet v2和NASNET-A具有相当的FLOPs,但前者的计算速度更快。作者分析形成差异的原因有两点:
a.MAC(Meomry Access Cost)即内存访问代价的不同
b.相同的FLOPs规模在不同平台速度表现不同(作者举例cudnn7.0对3x3卷积的优化)
结论:1.评测不仅考虑FLOPs,也要考虑运算速度
2.使用特定的平台
作者提出了设计网络时的四项基本原则:
G1:输入输出通道相同,减少MAC
1x1的卷积核,特征图的尺寸为h*w,输入特征channel为,输出特征channel为,FLOPs为:
MAC的值为: