深度学习回归任务要谨慎使用Dropout

在回归问题中,直接应用Dropout可能导致模型在验证时损失震荡不收敛。这是因为Dropout改变了输出的方差,影响非线性层的输出均值,导致回归值的偏移。分类问题对这种变化不那么敏感,但在回归问题中,由于输出是绝对值,对模型性能影响较大。因此,回归任务中应谨慎使用dropout,特别是在网络中间层,而在输出层前使用可能影响较小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 回归问题要谨慎使用Dropout的原因

在做NLP的回归任务时,若直接套用做分类问题的代码,仅仅修改损失函数,会发现验证损失一直在震荡波动,不收敛,但别人的代码loss却能够稳定下降,最终下降到0.1左右,而这个却一直飘,最终只能下降到0.14如下图:
验证loss图
通过对比别人的代码,发现主要是有两行代码的差异:
代码差异
于是,尝试把bert内部的dropout全部关掉,最终得到以下的一个loss,对比可得,这个loss下降就非常平稳,模型收敛。
可是,dropout相当于ensemble,能随机砍掉一些结果,按理应该是能够防止过拟合,增加模型稳健性得,为什么这里用了dropout反而性能损失这么大?

原文:
为什么回归问题不能用Dropout

二. 原因阐述

回顾dropout用法:

dropout在训练时会以 p 的概率将隐藏层的神经元设置为0,同时会将其他神经元乘以 1/1-p, 保证输出期望的一致性。

然后推导一下dropout输出值的均值和方差,可以发现其经过dropout后,
均值并没有发生变化,而方差发生了变化。

由于经过dropout的输出还要经

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值