正常初始Loss为2.4左右,该模型初始Loss为2.32,处于正常范围。
取batch_size为256的10个mini_batch, 在该数据上拟合,567次迭代后准确率达到0.954,说明该模型对于cifar-10数据集是有效的。
选取learning_rate为1e-1, 1e-2, 1e-3, 1e-4, 对所有batch迭代一个epoch,结果如下:
可以看到,当lr为0.1时,Loss下降的最快,但是波动比较大,而lr为0.01时,Loss稳定下降。当lr为1e-3和1e-4时,Loss下降的十分缓慢。
由上一步我们可以看到,比较合适的学习率为0.1或0.01,因此我们设置学习率为这两个参数,再组合weight_decay为1e-4, 1e-5, 0训练5个epoch,结果如下:
learning_rate | weight_decay | acc |
---|---|---|
1e-1 | 1e-4 | 70.4 |
1e-1 | 1e-5 | 71.1 |
1e-1 | 0 | 71.5 |
1e-2 | 1e-4 | 44.3 |
1e-2 | 1e-5 | 42.7 |
1e-2 | 0 | 45.3 |
可以看到,当lr为0.1,weight_decay为0时,模型的准确率最高。
可见,训练集的准确率曲线与验证集的准确率曲线较为拟合。