1、为什么小模型的作为backbone效果会差?
在深度学习目标检测(图像分割)领域,我们发现当我们使用层数越深,并且在imagenet上表现越好的分类网络作为backbone时,它的检测和分割效果越好效果越好。比如我们使用resnet101作为backbone时候,faster_rcnn在coco2017检测数据集上的mAP可以达到40.1,而使用resnet50作为backbone时候,mAP只达到37.1。而ssd使用resnet50作为backbone时候,mAP达到30.6,使用mobilenet作为backbone只达到21.7。参看gluoncv公布的训练结果。
那为什么使用mobilenet这种小网络会比resnet101这种大网络效果差这么多呢?主流的想法是小网络的容量小、表现效果差,等等。
那到底是那么原因呢?我们可以观察gluoncv官网的ssd_mobilenet[1]和ssd_resnet50[2]在coco上的训练log。我们发现ssd_resnet50[2]的CrossEntropy和SmoothL1最终收敛到2.14+,和1.22+左右,而ssdmobilenet 的CrossEntropy和SmoothL1最终收敛到2.84+,和3.29+左右