请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么每次的训练结果都不一样呢?

我看到2-4节的分类模型,老师用了两种写法(add或传数组)去构建模型,为什么会跑出来不同的结果?实际上哪怕是一种写法多跑几次,每次训练后的loss也不完全一样。我看代码中也没有随机的地方,是因为SGD算法吗?

另外,如果是这种情况,对于同样的模型和超参,每次训练结果不同,比如准确率有时候80,有时候60,那这个模型还有什么意义啊?

正在回答 回答被采纳积分+3

2回答

闪闪一年 2020-04-23 22:00:03

如果你觉得loss训练好多个epoch还是震荡很大的话,可以更换优化方法,调整learning rate等等方法来改进。

0 回复 有任何疑惑可以回复我~
  • 比如选择动量梯度,比如Adam
    回复 有任何疑惑可以回复我~ 2020-04-23 22:00:54
  • 提问者 plastic_dream #2
    我的第二个问题没问好,实际上是想问:从宏观来看,一个完整的深度学习的思路是怎样的?我原以为对于相同的模型+超参,训练结果会是一样的,这样一来,我们要做的就是调整模型+超参,寻找一个最优解,就可以固化下来,作为我们predict的方案了。如此看来,可能我的理解是不够全面的,针对相同模型+超参训练多次结果不同的情况,我们究竟是该在这N次不同中找一个最优情况,还是说继续调整模型+超参,使得每次训练的结果尽可能的稳定下来呢?
    回复 有任何疑惑可以回复我~ 2020-04-24 13:06:52
闪闪一年 2020-04-23 21:57:07

我也很菜,我试着回答下,不一定是对的。权值矩阵有初始化值的,这个是随机的。然后SGD是随机梯度下降法。本来就是要训练很多,知道loss趋于稳定,不在减小变化为止。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信