当前位置: 首页 > news >正文

绥化建设网站有哪些档案网站

绥化建设网站,有哪些档案网站,php开发网站,软件开发服务方案8. dropout 深度学习中的 Dropout#xff1a;原理、公式与实现解析 在神经网络训练中#xff0c;模型往往倾向于“记住”训练数据的细节甚至噪声#xff0c;导致模型在新数据上的表现不佳#xff0c;即过拟合。为了解决这一问题#xff0c;Dropout 应运而生。通过在训练…8. dropout 深度学习中的 Dropout原理、公式与实现解析 在神经网络训练中模型往往倾向于“记住”训练数据的细节甚至噪声导致模型在新数据上的表现不佳即过拟合。为了解决这一问题Dropout 应运而生。通过在训练过程中随机丢弃一部分神经元Dropout 能减少模型对特定神经元的依赖从而提升泛化能力今天我们将深入讲解 Dropout 的原理并用代码实现它 为什么需要 Dropout 在没有正则化的情况下神经网络可能会过于依赖于某些特定的神经元这种现象容易导致过拟合。Dropout 通过随机丢弃神经元避免模型过度依赖某些特征使得模型在新数据上表现更好。 Dropout 的工作原理 1. Dropout 的训练过程 假设我们有一个输入向量 x [ x 1 , x 2 , … , x n ] x [x_1, x_2, \dots, x_n] x[x1​,x2​,…,xn​] Dropout 在训练时会遵循以下步骤 设置丢弃概率 p p p 通常在 0.1 到 0.5 之间表示每个神经元被丢弃的概率。生成随机掩码 m m m 对每个神经元生成一个随机值。如果随机值小于 p p p 该神经元输出置为 0即丢弃。如果随机值大于等于 p p p 该神经元输出保持不变。 应用掩码将掩码与输入相乘丢弃部分神经元输出。 在测试时我们不再随机丢弃神经元而是将每个神经元的输出缩小 1 − p 1 - p 1−p 倍以保持与训练时相同的输出期望值。 Dropout 的数学公式 在训练时Dropout 可以用以下公式表示 output x ⋅ m \text{output} x \cdot m outputx⋅m 其中 m m m 是随机掩码0 表示丢弃1 表示保留。训练时为了保持输出一致性我们会将结果除以 1 − p 1 - p 1−p output x ⋅ m 1 − p \text{output} \frac{x \cdot m}{1 - p} output1−px⋅m​ 在测试时我们不再随机丢弃而是将每个神经元的输出乘以 1 − p 1 - p 1−p output x ⋅ ( 1 − p ) \text{output} x \cdot (1 - p) outputx⋅(1−p) 这样可以确保训练和测试时的输出分布一致。 自己实现一个 Dropout 类 为了帮助大家理解 Dropout 的实现原理我们可以用 Python 和 PyTorch 实现一个简单的 Dropout 类。 import torch import torch.nn as nnclass CustomDropout(nn.Module):def __init__(self, p0.5):super(CustomDropout, self).__init__()self.p p # 丢弃概率def forward(self, x):if self.training:# 生成与 x 形状相同的随机掩码mask (torch.rand_like(x) self.p).float()return x * mask / (1 - self.p)else:# 推理时直接缩放输出return x * (1 - self.p) 代码解析 初始化我们定义了 p 表示丢弃的概率。p 越大丢弃的神经元越多。前向传播 在训练模式下生成一个与输入张量形状相同的随机掩码对每个神经元随机保留或丢弃。在测试模式下不再随机丢弃而是将输出乘以 1 − p 1 - p 1−p 确保输出分布一致。 测试代码 我们可以使用以下代码测试自定义 Dropout 的效果。 # 输入张量 x x torch.ones(5, 5) # 一个简单的 5x5 全 1 张量# 实例化自定义 Dropout dropout CustomDropout(p0.5)# 训练模式 dropout.train() output_train dropout(x) print(训练模式下的输出\\n, output_train)# 推理模式 dropout.eval() output_eval dropout(x) print(推理模式下的输出\\n, output_eval) 解释测试结果 训练模式输出中会有一部分元素被随机置为 0其余的值会放大除以 1 − p 1 - p 1−p 。推理模式所有元素值会被缩小到 1 − p 1 - p 1−p 倍以确保训练和推理阶段输出分布一致。 为什么训练和测试阶段需要缩放 在训练时Dropout 随机丢弃一部分神经元使得实际参与计算的神经元变少。这样训练时的输出总量会降低因此我们需要对保留下来的神经元进行缩放除以 1 − p 1 - p 1−p 。在测试时我们则对输出进行整体缩放乘以 1 − p 1 - p 1−p 以确保训练和测试阶段的输出期望值一致从而保证模型在不同阶段表现一致。 总结 Dropout 是一种防止过拟合的正则化方法通过随机丢弃神经元来提升模型的泛化能力。在训练时随机丢弃神经元并缩放剩余神经元的输出。在推理时直接缩放整个输出以保持训练和推理的分布一致。 希望这篇文章能帮助你理解 Dropout 的工作原理和实现过程。如果有任何疑问欢迎留言讨论
http://www.dnsts.com.cn/news/269368.html

相关文章:

  • 北京建设网站的公司wordpress的标签是什么
  • 如何给网站配色宁波比较好的外贸公司
  • 商城网站建设的优点网站推广营销的意义
  • 贵州省冶金建设有限公司网站北京网页设计公司哪儿济南兴田德润简介
  • 九江建设局网站企业网站建设大概费用
  • 网站建设及维护费用苏州建设建设信息网站
  • 打开百度自动app优化下载
  • 网站建设和技术服务合同企业网站东莞网站建设制作
  • 购物节优惠卷网站怎么做中国建设银行企业信息门户网站
  • 空包网网站怎么做的wordpress xml文件分割器
  • 学生作业 制作一个网站西峡微网站开发
  • 一鸿建设设计网站中信建设有限责任公司盐城高铁城
  • 建设公司网站的会计分录安阳做网站
  • 咸宁网站定制发展速度迅猛 具有丰富的网站建设经验
  • 做网站图片wordpress标题转英文
  • 怎么查询网站的备案号ps教程自学网
  • 宁波高质量品牌网站设计厂家昆山网站建设第一品牌
  • 青岛网站设计哪家便宜非响应式网站优点
  • 贵阳有做网站的公司吗wordpress网站图片
  • 企业网站建设的基本原则为黄骅港赶海时间表
  • 莫名接到网站建设电话网站做接口排线方法
  • 做电影下载网站需要什么软件国内网站建设哪家好
  • 高端网站建设机构网站由哪些部分组成部分
  • 找人做网站如何担保创意设计图案
  • 台州网站优化wordpress search sql
  • t型网站域名和版面驻马店网站开发
  • 网站建设合同模板91075如何将自己做的网站推广出去
  • 做名片用哪个网站工程建设项目网站
  • 网站建设材料汇报公众号微信小程序是什么
  • 什么企业做网站比较好什么是商城网站建设