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

大语言模型---Dropout 的定义;Dropout 减少过拟合的原因;Dropout 的实现

文章目录

  • 1. Dropout 的定义
  • 2. Dropout 减少过拟合的原因
  • 3. Dropout 的实现

1. Dropout 的定义

Dropout 是一种简单而有效的正则化技术,通过在每次训练迭代中随机丢弃(即屏蔽)一部分神经元,强制模型在没有某些特定神经元参与的情况下学习,从而降低对特定神经元的依赖性。

  • 机制:
    • 在训练过程中,每个神经元以一定概率 p(如 p=0.5)被随机“丢弃”(设置为 0),即它的输出不会被传播到下一层。
    • 在推理过程中,Dropout 被关闭,所有神经元都参与计算。

2. Dropout 减少过拟合的原因

  • 打破神经元的共适应性(Co-adaptation):
    • 在传统的神经网络中,某些神经元可能会对特定输入特征高度依赖,导致模型在训练数据上的表现很好,但- - 在测试数据上的泛化能力较差。
    • Dropout 随机屏蔽了一部分神经元,迫使网络学会更多的冗余表达和独立特征,从而减少对特定神经元的过度依赖。
  • 类似于集成学习的效果:
    • 每次训练时,Dropout 都会生成一个不同的“子网络”。
    • 因此,最终训练出来的模型可以看作是多个不同子网络的集成,集成学习本身具有较好的泛化能力。
  • 降低参数之间的相互依赖:
    • 随机丢弃参数迫使网络中的每个参数独立发挥作用,避免了模型将过多学习能力集中在少数几个参数上。
  • 增加网络的鲁棒性:
    • Dropout 模型更能适应数据的变化,例如噪声或轻微的分布偏移,因为它在训练过程中已经学会了如何在部分信息缺失的情况下进行预测。

3. Dropout 的实现

  1. 训练阶段:
  • 在训练中,Dropout 随机屏蔽神经元的输出。
  • 数学表示为:
    y ~ = D r o p o u t ( y , p ) \tilde{y} =Dropout(y,p) y~=Dropout(y,p)
    其中:
  • p p p:保留神经元的概率(通常 ( 0.5 ))。
  • y y y:原始输出。
  • y ~ \tilde{y} y~:Dropout 后的输出。
  1. 推理阶段:
    在推理时,不使用 Dropout: y ~ = y \tilde{y} =y y~=y

http://www.kler.cn/a/419013.html

相关文章:

  • 本地学习axios源码-如何在本地打印axios里面的信息
  • springboot信息化在线教学平台的设计与实现(代码+数据库+LW)
  • LinkedList的了解
  • C语言零基础——简单的排序算法(4种)
  • 在 Flutter app 中,通过视频 URL 下载视频到手机相册
  • javaScript数据类型存储
  • 关于js解密中遇到base64时的坑
  • 22智能 图
  • 【docker】8. 镜像仓库实战
  • oracle日期格式查询
  • ajax都有哪些优点和缺点?
  • Python实现有向图及查找
  • 深度学习中的迁移学习:应用与实践
  • 【Linux】gdb / cgdb 调试 + 进度条
  • kubernetes组件ETCD未授权访问
  • TransmittableThreadLocal维护Token中的userId
  • Hexo博客在多个设备同步
  • 数据库原理-期末复习基础知识第二弹
  • 【深度学习】四大图像分类网络之VGGNet
  • 【MySQL】数据库的基本认识和使用
  • 什么是sfp,onu,​为什么PON(​俗称“光猫”​)模块使用SC光纤接口
  • 数据同步、流计算全面强化,TDengine 3.3.4.3 版本正式发布
  • C++高阶算法[汇总]
  • How to monitor Spring Boot apps with the AppDynamics Java Agent
  • Android下载出现open failed: EPERM (Operation not permitted)
  • Vue3 子路由vue如何调用父路由vue中的方法?