Dropout在训练阶段和测试阶段的工作原理详解
创作时间:
作者:
@小白创作中心
Dropout在训练阶段和测试阶段的工作原理详解
引用
CSDN
1.
https://blog.csdn.net/m0_67708072/article/details/138686511
Dropout是深度学习中常用的一种正则化技术,用于防止模型过拟合。本文将详细介绍dropout在训练阶段和测试阶段的工作原理,并通过PyTorch代码示例展示其具体实现。
训练阶段
在训练阶段,dropout会随机地以概率$p$将输入的某些元素置为0,以模拟神经元的随机失活。具体来说,在前向传播过程中,对于输入的每个数,dropout模块会以概率$p$将其置为0,如果该数未被置0,则将其乘以$\frac{1}{1-p}$作为输出。反向传播阶段,即求导数阶段,dropout的行为如下图所示:
下面通过代码验证一下dropout的工作原理。
前向过程
首先,我们创建一个dropout层,设置丢弃概率$p=0.3$:
dp = torch.nn.Dropout(0.3)
创建一个包含3个随机数的张量:
torch.manual_seed(10)
x = torch.randn(3, requires_grad=True)
x
输出结果为:
tensor([-1.2277, 0.9198, -0.3485], requires_grad=True)
通过dropout层处理:
y = dp(x)
y
输出结果为:
tensor([-1.7538, 1.3140, -0.0000], grad_fn=<MulBackward0>)
可以看出,第三个数被置为0。以第一个数为例,它未被置为0,输出是输入的$\frac{1}{1-p}$倍:
-1.2277 * (1 / (1 - 0.3))
计算结果为:
-1.753857142857143
这与实际输出-1.7538相符。
反向传播,即求导
反向传播过程也分为两种情况:
- 如果前向输出被置为0,则输出$y$对输入$x$的导数为0;
- 否则,输出$y$对输入$x$的导数为$\frac{1}{1-p}$。
通过代码验证:
y.sum().backward() # 求导
x.grad
输出结果为:
tensor([1.4286, 1.4286, 0.0000])
这表明第三个数的导数为0,而其他两个数的导数为$\frac{1}{1-0.3}=1.4285714285714286$。
另一种验证方式:
y = dp(x) # y三维向量
y.backward(torch.tensor([1.0, 1.0, 1.0]))
x.grad
输出结果同样为:
tensor([1.4286, 1.4286, 0.0000])
测试阶段
在测试阶段,dropout相当于被关闭,经过dropout层得到的输出等于输入。例如:
dp.eval() # 测试阶段
y = dp(x)
y
输出结果为:
tensor([-1.2277, 0.9198, -0.3485], requires_grad=True)
验证输入输出是否相等:
y == x
输出结果为:
tensor([True, True, True])
这表明在测试阶段,dropout层不会对输入进行任何修改。
训练阶段和测试阶段的切换
一个模型默认处于训练模式。可以通过以下方式切换模型的训练和测试模式:
dp = torch.nn.Dropout(0.3)
dp.training # 是否是训练模式
输出结果为:
True
切换到测试模式:
dp.eval()
dp.training
输出结果为:
False
切换回训练模式:
dp.train()
dp.training
输出结果为:
True
通过这种方式,可以灵活地控制模型在不同阶段的行为。
热门推荐
国庆打卡兵马俑:门票预约、交通及实用攻略全解析
致所有人的早安心语,经典走心,拿去发朋友圈!
政策支持加科技创新,我国秸秆综合利用迈上新台阶
天津科技大学全球排名跃升121位,轻工与食品科学跻身世界前列
夏季防暑神器十滴水,你真的会用吗?
玩转南昆山:瀑布、温泉、美食,周末度假的理想选择
专家建议:雨生红球藻虾青素每日摄入量应控制在4-12毫克
包青天对后世子孙影响力有多大?历经千年,第29代孙成船王
解码鲸鱼喷水:既是生理需求,也是社交语言
漫画基础教程:面部构造、身体比例到动作表达全解析
“租女友”服务春节走俏,专家提醒:小心违法诈骗
冬季感染病高发,土霉素使用指南:遵医嘱服用,避免耐药性
厦门至贵州自驾游全攻略:1400公里自然人文之旅
别再让手机整夜充电,牢记这几点电池更健康
专家提醒:低钠盐适合高血压患者,但这些人要当心
无实际意义值班增多,基层干部呼吁优化节假日值班制度
面相学揭秘:你的脸透露了什么?
999感冒灵:中西药结合的常见感冒药,成分功效与安全使用指南
全球5G基站部署超594万个,2029年市场规模将破440亿美元
红圈加斜杠的威力:禁止通行标志的规范使用与处罚标准
研发管理团队如何管理员工
留学生不可错过的英国著名景点全攻略!伦敦体验篇、特色娱乐篇、自然风光篇!
布达佩斯周边八大特色小镇:从艺术村落到葡萄酒之乡
青藏公路:日月山驶向繁荣的“快车道”
从化米埗村:最美乡村一日游
光速测量:从伽利略到诺贝尔奖的科技之旅
常喝三杯水,一杯疏肝气、一杯降肝火、一杯补肝血,肝或越来越好
眼眶眉弓胀痛可能是青光眼信号?
涠洲岛全攻略:火山海景、浪漫日落,还比三亚便宜
房地产市场供大于求,房价全面上涨难再现