01月30, 2020

深度学习总结 (八) 调参经验

  • 观察loss胜于观察准确率,Loss设计要合理,对比训练集和验证集的loss;
  • Relu可以很好的防止梯度弥散问题,当然最后一层的激活函数千万慎用relu,如果是分类的用softmax;
  • Batchnorm可以大大加快训练速度和模型性能;
  • Dropout防止过拟合,可直接设置为0.5,即一半一半,测试的时候把dropout关掉;
  • 选择Adam 优化函数,收敛速度非常快的一个优化函数;
  • Loss选择。一般来说分类就是Softmax, 回归就是L2的loss. 但是要注意loss的错误范围(主要是回归), 你预测一个label是10000的值, 模型输出0, 你算算这loss多大;
  • 准确率虽然是评测指标, 但是训练过程中还是要注意loss的. 你会发现有些情况下, 准确率是突变的, 原来一直是0, 可能保持上千迭代, 然后突然变1。而loss是不会有这么诡异的情况发生的, 毕竟优化目标是loss;
  • Learning Rate设置合理。太大: loss爆炸, 或者nan,太小: 半天loss没反映;
  • 对比训练集和验证集的loss。判断过拟合, 训练是否足够, 是否需要early stop的依据。

本文链接:http://57km.cc/post/parameter optimize.html

-- EOF --

Comments