参数复用与一次前向结果的复用
课堂上下文:从哪个问题来
同一个 CNN 权重处理多个裁剪,仍可能重复计算共同像素。整图共享改变的是一次推理的计算组织,与预训练参数迁移分开。共享之后每个区域仍需要自己的坐标和读出;计算重排并不保证与原来的裁剪路线数学等价。
两张重叠裁剪都使用同一个 CNN,已经共享了参数,但仍分别执行卷积。假如它们都包含杯沿和桌面,这些像素会参与两次运算。SPP-net 和 Fast R-CNN 的路线把较重的卷积移到整图:先计算 ,每个候选再用自己的框 读取 。
这里有两种复用。预训练让新的任务借用过去学到的参数;整图共享则让同一次推理中的多个区域借用已算出的中间结果。前者减少从头学习的需要,后者减少重复工作,不能用同一个“迁移”概念含糊带过。
若有 N 个候选,逐区域成本近似为 N 次卷积加区域预测;共享方式近似为一次整图卷积加 N 次轻量读取与预测。这是计算组织的估算,不是实测加速倍数,因为整图与裁剪的分辨率不同,内存、候选产生和预测头也占时间。
先裁再编码与先编码再读取不严格相等:前者改变对象尺度并裁去上下文;后者的感受野可能跨出 RoI。方法的贡献是在这样的取舍下找到能训练、有效率的共享接口。
共享的是整张图的 F;两个候选仍有各自的读出。 查看对应图解状态
- 先裁区域:重叠内容反复编码
- CNN
- CNN
- 先算全图:再按区域读取
- 预训练复用的是过去学到的参数;这里复用的是当前图片已经算出的特征。