模型训练经验

1. 模型训练经验

  • ==weights和bias的初始化对训练影响很大==;
  • ==batch_size先拿小的试一下,比如16,8,1等,调大了收敛太慢==;
  • ==学习率不宜过大,初始可设置为1e-3==;

网络不收敛

  1. 数据问题(根本)

数据少,数据分布差,数据质量差;
数据预处理:归一化等;
可以先简化数据,数据弄成“弱智”般的最简单的数据,收敛后再慢慢加数据复杂度;
2. 学习率过大
3. batch size过小或过小

可以先小后大;
过大了权重更新太慢,太小了不容易收敛;

  1. 模型太复杂
    一般是在小的数据集上线训练小网络,确定这种结构work之后再在更大的数据集上train更深的网络;

如何调试

打印权重和梯度,看是不是0梯度

tensorboard中可以看到各权重具体的值的分布