手把手教学训练MTCNN模型(二)解决过拟合问题

解决MTCNN过拟合问题

      • 问题描述
      • 解决思路
        • 优化样本:
        • IOU建立指标评估
        • 在算ROI的loss的时候 不应该会出现ClassifyLoss 的Loss 这个很奇怪:

PS:这篇笔记目前是随笔,根据我解决问题的思路,想到哪些就写哪些

问题描述

训练集上效果很好
手把手教学训练MTCNN模型(二)解决过拟合问题_第1张图片

测试集合上效果,看上去也不错
手把手教学训练MTCNN模型(二)解决过拟合问题_第2张图片

实际图片测试,效果并不好
图片

解决思路

优化样本:

  1. 检查当前样本是否正确,使用nomachine查看
  2. 更改imdb使用分批来以增加更多的样本进来.
    • 我尝试分批一共使用了 pos negtive positive 一共10W:30W:10W的样本,但LOSS上看下降还是不理想
  3. 减去均值以去除光亮度等的影响.
  4. 把学习率调低一个数量级观察
  • 模型处理:
    1. 增加batchnorm
  • 其他处理:
    1. 编写绘制loss曲线的代码.(考虑是否调节学习率)

手把手教学训练MTCNN模型(二)解决过拟合问题_第3张图片
这个loss可以说是很差了,可能和算ROILOSS的时候吧ACC的loss也算出来导致的,

IOU建立指标评估

  • 未作train的随机 ROI的loss 0.0502631
  • 迭代一万次的ROI 0.0415767
  • 迭代50万次ROI 0.033694
  • 正确情况 0.0194816

所以在ROI的回归上存在一些问题,加入更多的样本来做训练,分批训练.

在算ROI的loss的时候 不应该会出现ClassifyLoss 的Loss 这个很奇怪:

手把手教学训练MTCNN模型(二)解决过拟合问题_第4张图片
这个Loss是正常的因为caffe框架中的softmax 0.693147 = - log(0.5)

我把学习率调高一个数量级(*10)在试试

你可能感兴趣的:(深度学习)