这样做的好处就是:
文章插图
正样本:概率越小 , 表示hard , 损失越大; 负样本:概率越大 , 表示hard , 损失越大 。
这样 , (正样本)当对于简单样本 , Pt会比较大 , 所以权重自然减小了 。针对hard , Pt比较小 , 则权重比较大 , 让网络倾向于利用这样的样本来进行参数的更新(可参考上图思考) 。且这个权重是动态变化的 , 如果复杂的样本逐渐变得好分 , 则它的影响也会逐渐的下降 。
gamma调节简单样本权重降低的速率 , 当gamma为0时即为交叉熵损失函数 , 当gamma增加时 , 调整因子的影响也在增加 。实验发现gamma为2是最优 。
3、Focal Loss的生成
最终 , 我们把这两种单独的改进进行合并 , 最终Focal Loss的形式为:
既做到了解决正负样本不平衡 , 也做到了解决easy与hard样本不平衡的问题 。
这里的两个参数α和γ协调来控制 , 论文采用α=0.25 , γ=2效果最好 。
三、Caffe实现
修改:
layer {name: "mbox_loss"type: "MultiBoxFocalLoss" #change the typebottom: "mbox_loc"bottom: "mbox_conf"bottom: "mbox_priorbox"bottom: "label"top: "mbox_loss"include {phase: TRAIN}propagate_down: truepropagate_down: truepropagate_down: falsepropagate_down: falseloss_param {normalization: VALID}focal_loss_param { #set the alpha and gamma, default is alpha=0.25, gamma=2.0alpha: 0.25gamma: 2.0}multibox_loss_param {loc_loss_type: SMOOTH_L1conf_loss_type: SOFTMAXloc_weight: 1.0num_classes: 2share_location: truematch_type: PER_PREDICTIONoverlap_threshold: 0.5use_prior_for_matching: truebackground_label_id: 0use_difficult_gt: trueneg_pos_ratio: 3.0neg_overlap: 0.5code_type: CENTER_SIZEignore_cross_boundary_bbox: falsemining_type: NONE #do not use OHEM(online hard example miniing)}}
参考链接:https://blog.csdn.net/LeeWanzhi/article/details/80069592caffe相关配置:https://blog.csdn.net/wfei101/article/details/79477542Focal Loss的Caffe源码:https://download.csdn.net/download/duan19920101/12150017
- 清朝覆灭后何物让中国损失很大?
- Excel学习笔记:P31-这个函数的功能强到像万能瑞士军刀?
- 史上规模最大的内战:激战十四年,人口损失七千万以上 中国历史损失人口之最
- 这个灰扒的损失惨重!唐玄宗这样扒了杨玉环
- 关羽失荆州:令蜀汉在此战中损失了多少人才
- 1923年日本损失了340万人以后对中国做了什么?
- 全球十部经典电影推荐,绝对是珍藏中的经典,少看一部都是损失! 世界十大著名电影
- 【损失函数】Keras Loss Function
- python的os.walk函数的使用及对于root,dirs
- 俄乌冲突一周年的5个数字:超2万平民伤亡,全球损失破万亿 俄乌战争导弹数量历史之最