《深度学习训练日志》

2019-3-20 20:17

问题:在训练YOLO-V2的目标检测模型时,使用resnet18的主网络架构,并利用其预训练权重,在训练的一段时间后,网络出现NAN值?

解决:经各方面验证发现,网络经过几次迭代之后,发生梯度爆炸,导致梯度更新之后,出现NAN值。网上查询了几种梯度爆炸的解决方式,例如什么减小学习率,残差网络,relu激活,bn层等。显然,这些方式,本模型中已经具备。还有一种方式就是利用tf.clip_by_value函数进行截断。截断分两种,一种是模型计算种出现除0的这种情况,对0值进行截断,另一种就是直接对梯度进行截断。我采用的是对梯度进行截断,因为本模型种没有除0的情况。实验表明,这种方式确实能够解决梯度爆炸的问题,但是对模型收敛的速度似乎有点影响。

  后来,收到其他博客的启发,想到冻结训练的方式。我冻结了预训练部分的权重,只训练初始化部分的权重,效果很明显,模型收敛很快,也没有出现NAN值。待模型的loss下降稳定之后,我再开启全局训练,不知道后期的情况如何......待更。。。

2019-3-20 22:35

接着上一个问题,当loss值稳定之后,我进行全局训练并没有出现NAN值,哈哈哈哈,问题解决!!!!!

2019-4-11 01:44

重点:第一,在训练一个回归任务的网络时,发现预测结果趋向于标签的均值,主要问题样本不均衡。第二,输入数据没有去中心化(输入数据全部大于零或小于零)时,模型的收敛速度明显小于输入已经去中心化数据(输入数据有大于零的值,也有小于零的值)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值