【目标检测】为什么SPP-Net无法fine-tune卷积层?

一、问题的提出

fast rcnn中提到SPP-Net无法fine-tune spp pooling层之前那些卷积层,原文如下所示:
【目标检测】为什么SPP-Net无法fine-tune卷积层?_第1张图片

二、问题的解答

严格说,SPP-Net也可以反向传播,但是会复杂很多,所以用connot update the convolutional layers其实是不算太准确的说法。

何凯明大神原文如下:

【目标检测】为什么SPP-Net无法fine-tune卷积层?_第2张图片

没有指出不能微调卷积层,只是说只微调了全连接层。

Ross大神在Fast R-CNN中给出的解释是:SPP训练样本来自不同图像导致反向传播效率低下。

我的理解是:SPP-Net中fine-tuning的样本是来自所有图像的所有RoI打散后均匀采样的,即RoI-centric sampling,这就导致SGD的每个batch的样本来自不同的图像,需要同时计算和存储这些图像的Feature Map,过程变得expensive. Fast R-CNN采用分层采样思想,先采样出N张图像(image-centric sampling),在这N张图像中再采样出R个RoI,具体到实际中,N=2,R=128,同一图像的RoI共享计算和内存,也就是只用计算和存储2张图像,消耗就大大减少了。

你可能感兴趣的:(目标检测经典论文导读,目标检测,深度学习,人工智能,SPPNet,Fast,R-CNN)