因为乌鸦像写字台
2019-04-07 11:32
采纳率: 50%
浏览 10.2k

训练时,loss一直变大是哪里错了?

self.loss2 = tf.losses.mean_squared_error(reward,pred)
self.lr2 = tf.train.exponential_decay(self.lr2_start, self.global_step2, self.lr2_decay_step,self.lr2_decay_rate, staircase=False, name="learning_rate2")
self.opt2 = tf.train.RMSPropOptimizer(learning_rate=self.lr2,name='opt2')
self.grads2 = self.opt2.compute_gradients(self.loss2,var_list=tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES,scope="critic"))
self.grads2 = [(tf.clip_by_value(grad, -1., 1.), var) for grad, var in self.grads2 if grad is not None]
self.train_step2 = self.opt2.apply_gradients(self.grads2,global_step=self.global_step2)

这个loss2的值会一直向负无穷变化,是我哪里写错了么

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2019-04-07 11:36
    已采纳

    是一开始就向负无穷变大,还是训练一段时间后变大,前者可能是你的训练集和验证集的数据不匹配,或者归一化量纲不对。或者模型错误。或者参数问题,比如self.lr2这个学习率设置的多少。
    后者就是过拟合了。

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题