-
开始测试程序时,最好用Adam优化器,SGD优化器虽然到后期在参数调好的情况下会比Adam优化器效果好,但是SGD的速度慢,在初期验证是否程序能实现需求的时候,一般选Adam会好点,这样不至于速度过慢,收敛状态也不会太差。
-
当batchsize增大时,一般也需要适当的增大学习率,但两者也不宜过大。具体调参情况,取决于你个人的经验积累和工程实践需求了。
-
当你所跑的实验不对劲时,首先检测数据集的数据读入、处理、读出是否有误;然后检查你的代码是否有逻辑错误;接着将你设计的网络替换成已经成熟的网络,看是否正常;最后检查各种超参数是否合适。
-
当测试设计的网络是否能够对数据集正常学习时,首先在训练的时候给少量的数据集让模型过拟合,并在这个过程中调节超参数,如果模型能够过拟合,那么在送入全部数据集进行训练。
-
模型训练的过程中,loss震荡是正常的,只要下降的大趋势正常,那就没问题。如果loss下降震荡的厉害,可以检查一下是不是batchsize太小了;有些极端的震荡也是有问题的,比如突然有一个epoch的loss急剧上升,下一个epoch就降回来了,这个可能是你数据集有一个较大的离散样本,你可以找到它并删掉它,或者也可以在loss里面进行编程过滤。
-
待补充,这种东西不遇上一下子还真的是难想到啊。
深度学习(进阶)- 毒丹师的一些炸炉心得
最新推荐文章于 2024-10-11 21:03:22 发布