Dropout

news/2025/9/27 14:13:10/文章来源:https://www.cnblogs.com/lidadudu/p/19115068

Dropout(丢弃法)是一种在神经网络训练中广泛使用的正则化(Regularization)技术。它的主要作用是防止模型在训练集上过拟合(Overfitting),从而提高模型在未见过数据(测试集)上的泛化能力。


Dropout 类的作用和工作原理

如果你要在你的面向对象的神经网络框架中实现一个 Dropout 类,它会像 SigmoidLinear 层一样,拥有 forwardbackward 方法,但其内部操作非常独特:

1. 训练阶段(forward 方法):随机“失活”

在训练时,Dropout 层的 forward 操作会随机地将该层的一部分神经元设置为零(失活)

步骤 操作 目的
1. 生成掩码 (Mask) 根据设定的丢弃概率 $p$(例如 $p=0.5$),生成一个与输入数据同形状的随机布尔矩阵(掩码)。 决定哪些神经元应该被临时“删除”。
2. 丢弃 将输入数据与这个掩码相乘,使得被选中丢弃的神经元的输出变为 0 实现随机失活,打破神经元之间的共适应性。
3. 缩放 (Scaling) 将剩下的未失活神经元的输出除以 $1-p$(保持概率)。 “反向缩放”。这是为了保证下一层神经元的输入总和的期望值与没有 Dropout 时保持一致。

2. 测试/验证阶段(forward 方法):不做任何事

在测试、验证或实际部署模型时,Dropout 层不执行任何随机丢弃操作,它只是简单地传递输入数据

  • 原因: 如果在测试时也随机丢弃神经元,会引入不确定性,导致每次运行的结果不同。由于训练时的缩放已经补偿了神经元减少的影响,测试时无需再做处理。

3. 反向传播(backward 方法):传递梯度

在反向传播时,Dropout 层只对在前向传播中被保留下来的神经元传递梯度。

  • 它将上游传来的梯度(G)与训练时生成的掩码相乘,实现梯度传递。
  • 同时,梯度也需要被 $1-p$ 缩放,保持与前向传播的一致性。

Dropout 的价值:正则化

Dropout 的核心思想是,通过随机“折磨”模型,使其变得更加健壮:

  1. 防止特征共适应性: 强制要求每个神经元不能完全依赖于前一层特定的某些神经元,因为它不知道下一次训练时哪些神经元会“存活”。这迫使神经元学习到更通用、更具鲁棒性的特征。
  2. 集成学习: 每次训练迭代都相当于在一个稍微不同的网络上进行,Dropout 最终效果类似于训练了一个庞大的集成模型(Ensemble Model)
  3. 简化网络: 由于它的作用,通常可以在使用 Dropout 的情况下使用更大的网络规模,而不用担心过拟合。
# 定义Dropout类
class Dropout(Module):def __init__(self, p=0.3):super().__init__()self.info += f"**    Dropout(p={p})"  # 打印信息self.p = pdef forward(self, x):r = np.random.rand(*x.shape) # 矩阵r与x的shape相同,值在0-1之间随机生成self.nagtive=r<self.px[self.nagtive]=0return xdef backward(self, G):G[self.nagtive]=0return G

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费做的英文网站微信 小程序

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容&#xff0c;同时会提供相应的实际案例及资源下载。关注OpenWeb开发者&#xff0c;回复“设计指南”&#xff0c;即可获取已发布资源。 设计原则之高级精致 简洁并不等于粗糙没有细节&#x…

经典排序算法深度解析 - 实践

经典排序算法深度解析 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

做图软件ps下载网站有哪些内容成都的网站设计公司价格

参考&#xff1a;https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html 在GIS&#xff08;地理信息管理系统&#xff09;中&#xff0c;判断一个坐标是否在多边形内部是个经常要遇到的问题。乍听起来还挺复杂。根据W. Randolph Franklin 提出的PNPoly算法&#xff0c;…

深入解析:阿里云推出全球首个全模态AI模型Qwen3-Omni,实现文本、图像、音视频端到端处理

深入解析:阿里云推出全球首个全模态AI模型Qwen3-Omni,实现文本、图像、音视频端到端处理2025-09-27 13:58 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !importan…

第十篇:模块一总结与答疑:如何养成良好的编码习惯和调试思维 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Java网络编程(七):NIO实战构建高性能Socket服务器 - 实践

Java网络编程(七):NIO实战构建高性能Socket服务器 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

完整教程:【大模型理论篇】用于时间序列预测的纯解码器基础模型TimesFM-2.5

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做卡盟网站教程wordpress 翻页

输入&#xff1a;df_Grp&#xff0c;类型是pandas.core.groupby.generic.DataFrameGroupBy 我们先来学习一下如何将分组后的其中一个分组给转换成DataFrame类型&#xff1a; tmp dict(list(df_Grp)) tmpname[] tmpname [i for i,j in df_Grp] #下面这行代码其实就转化成Dat…

Unigine整合Myra UI Library全纪录(3):整合与优化

MyraIntegration 当Texture2DManager,MyraRenderer和MyraPlatform都实现了之后,就可以将它们整合起来了。 首先,IMyraPlatform.Renderer返回实现好的MyraRenderer,而IMyraRenderer.TextureManager则返回实现好的Te…

MOS管 SI2302 KX2302 集成上下拉电阻,优化线路电路,降低物料成本

MOS管 SI2302 KX2302 集成上下拉电阻,优化线路电路,降低物料成本20VDS/+10VGSN沟道增强型MOSFET 功能VDS=20伏 RDS(ON)=64.1MQ(MAX.)@VGS=10V,ID=3A RDS(ON)=80.2MQ(MAX.)@VGS=4.5VID=3A EXCELLENT GATE CHARGEXRDS…

企业网站建设预算地方门户网站怎么赚钱

信号&#xff1a;事件 槽&#xff1a;事件处理函数 信号与槽&#xff08;Signal & Slot&#xff09;是 Qt 编程的基础&#xff0c;也是 Qt 的一大创新。因为有了信号与槽的编程机制&#xff0c;在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。 信号&#xff0…

Tita 项目经营一体化建筑业企业解决方案

一、建筑行业项目经营管理痛点剖析 (一)项目目标与企业战略脱节 建筑企业承接项目众多,各项目目标常孤立制定,与企业长期战略关联不紧密。例如企业战略聚焦绿色建筑领域拓展,某新建住宅项目却未将绿色环保施工指标…

CD78.【C++ Dev】以AVL任务的bug讲讲调试技巧

CD78.【C++ Dev】以AVL任务的bug讲讲调试技巧pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

网站建设 落地页搭建网站需要的软件下载

1.vim输入中文乱码 在/etc/vimrc最下面输入以下代码 set fileencodingsutf-8,gb2312,gbk,gb18030 set termencodingutf-8 set fileformatsunix set encodingprc 2.vim复制的时候如果有#号&#xff0c;下面的代码开头都会有#号 在编辑模式输入:set paste 再进行粘贴即可 3…

怎样做网站公司做百度推广的业务员电话

kubeadm安装k8s1.25版本集群步骤 环境说明实验环境规划集群搭建规划 初始化安装k8s集群的实验环境安装虚拟机更新yum源和操作系统配置机器主机名配置主机hosts文件&#xff0c;相互之间通过主机名互相访问配置主机之间无密码登录关闭交换分区swap&#xff0c;提升性能修改机器内…

登封网站建设公司设备网站模板

一、类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。但是空类中并不是真的什么都没有&#xff0c;任何类在什么都不写的时候&#xff0c;编译器会自动生成以下 6 个默认成员函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会生成…

实用指南:AI 时代的安全防线:国产大模型的数据风险与治理路径

实用指南:AI 时代的安全防线:国产大模型的数据风险与治理路径pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

写给自己的年终复盘以及未来计划

写完这篇文章,这个系列就告一段落了,忽然间感觉好轻松啊。 依然是理财小白,到底什么时候才能脱离韭菜的队伍?还需要不停的投入精力学习才行,继续努力💪。 2020年的年终复盘 股票篇 年初加入韭菜大军,一路坚持…

最近难得的一点思考

大部分时候,我们是不需要思考的,可是也有那么一两天,你需要思考,如果你不想思考,那么反问自己一些问题,给出问题的答案。大部分情况下,写文章不是一件快乐的事情,但是为什么还要写呢? 这是一个好问题。你怎么…

快递网站模板企业网站建设市场前景

uni.chooseImage的返回值在H5平台和其他平台的返回值有所差异&#xff0c;具体差异看下图 根据图片可以看出要想判断上传的文件类型是不能直接使用type进行判断的&#xff0c;所以我使用截取字符串的形式来判断&#xff0c;当前上传图片的后缀名是否符合所需要求。 要求&#…