Mask R-CNN 反向训练

关于Mask R-CNN

Mask R-CNN

忽然发现rpn的训练反向过程有点迷,之前没想这么多也没想这么细,后来发现其实还有很多细节问题,因为对keras和tensorflow机制并不清楚,很多地方还有疑问。

RPN

在外层大Model里嵌套了一个RPN的Model,这个RPN的Model在模型里循环了5次,为了接收不同尺寸的特征图,然后把5次的输出组合在了一起。之前有考虑这个反向过程,是要反5遍?还是反一遍?
后来考虑,5次的输出已经组合在一起了,而且训练的时候,其实分类损失只计算了256个,回归损失只计算了128个,这些个anchor来自哪一层每张图也是不固定的,所以在训练的时候不存在要统一按层训练。损失求的是平均损失,梯度当然也是平均梯度,并不存在循环训练。

Head Network

很多文章讲mask损失是 分类损失+回归损失+mask损失,但其实真正训练的时候,这三个损失并没有真正数值相加,至少在编码阶段没有。之前想的是,既然没有手动相加的操作过程,那训练就是分开依次进行的,有顺序的。
后来一想并非如此
整个训练过程,每训练一次,也就是迭代一次,按mini-batch随机梯度下降法优化,是batch size个样本同时送到网络里,进行相同的算法,求batch size的平均损失,进行一次参数更新,那这样不可能存在有序依次训练。更新的过程中,原始参数和更新的参数都是最后都计算完一次性更新的,过程都需要存储空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值