神经网络训练出来的模型输出的结果都是相同的值

作为一个pytorch的初学者,开始进行实战时,会遇到很多问题。
在进行学习时,你一定对learnig rate这个概念有很深的影响,但我在刚开始进行练习时总是忘了这个概念,直到这次在一个训练了很久的模型在验证集上的却总是输出同一个数,我不知道哪里出错了,刚开始觉得是神经网络组建的有问题,换了种常规的形式在训练了若干次之后又只输出一个定值了。我便进入了漫长的debug,发现了loss在呈周期性变化,过了一段时间,想起来lr设置过大便可能会造成这种结果,所以调小了lr,并减少了训练次数(我觉得也有过拟合的嫌疑),得到的结果就是比较满意的,泛型化较好的模型了
最近训练一个神经网络,发现各个维度的输出相同,debug后发现是loss太大了,达到了无穷数nan,所以更新时导致网络的权重更新了一个过大的值,而导致所有维度的权重近似相同;解决方法:可以线性减小输入的值,初始化网络时赋予较小的权重,也可以加batchnormal层。

  • 26
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 29
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值