zoukankan      html  css  js  c++  java
  • 训练优化:降低loss

    概念:

    通常机器学习每一个算法中都会有一个目标函数,算法的求解过程是通过对这个目标函数优化的过程。在分类或者回归问题中,通常使用损失函数(代价函数)作为其目标函数。损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。

    refer:https://blog.csdn.net/weixin_37933986/article/details/68488339

    ________________________________________________________________________________________________

    以下的结果是针对模型(faster_rcnn_inception_resnet_v2_atrous_coco)训练多个分类且不同分类的样本集不均匀的实践

     

    让loss快速下降方式

    训练集:

    Config设置:

    a、采用dropout

    use_dropout: true #false
    dropout_keep_probability: 0.6
    

    b、多阶段学习率,开始设置很高且尽量让其迭代到loss足够的低

    initial_learning_rate: 0.003 
              schedule {
                step: 0
                learning_rate: .003 
              }
              schedule {
                step: 30000 
                learning_rate: .0003 
              }
              schedule {
                step: 45000 
                learning_rate: .00003 
              }
    ......
    

    c、为了发现更多的box,对IOC阈值进行调整(与loss没什么关系)

    first_stage_nms_iou_threshold: 0.4
    second_stage_post_processing {
          batch_non_max_suppression {
            score_threshold: 0.0
            iou_threshold: 0.5 
            max_detections_per_class: 100
            max_total_detections: 100
          }
          score_converter: SOFTMAX
        }
    

    效果:

    本博客所有内容均为原创,转载请注明出处!谢谢
  • 相关阅读:
    对眼睛有利的屏幕颜色
    C++的动态联编与静态联编【转载】
    关于虚析构函数
    虚析构函数的使用(转载!)
    c/c++内存机制(转)
    delete this
    PhpStorm环境配置
    flutter之路由与导航
    flutter之Widget
    Flutter项目初步认识
  • 原文地址:https://www.cnblogs.com/hepc/p/8965744.html
Copyright © 2011-2022 走看看